@fusion.dev/helix-core 0.149.1 → 0.151.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +482 -8
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.d.ts +62 -5
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.js +112 -12
- package/dist/events/details.d.ts +14 -0
- package/dist/events/events.d.ts +6 -2
- package/dist/events/events.js +5 -1
- package/dist/events/names.js +2 -1
- package/dist/events/reading-change.d.ts +14 -0
- package/dist/events/reading-change.js +11 -0
- package/dist/events/reading-press.d.ts +13 -0
- package/dist/events/reading-press.js +11 -0
- package/dist/helix-element/helix-element.js +2 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +3 -2
- package/dist/mixins/mixin-collection/mixin-collection.d.ts +5 -0
- package/dist/mixins/mixin-collection/mixin-collection.js +7 -1
- package/dist/mixins/mixin-picker-editing/mixin-picker-editing.js +34 -0
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.d.ts +3 -2
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.js +1 -0
- package/dist/mixins/mixin-tokens/mixin-tokens.d.ts +8 -0
- package/dist/mixins/mixin-tokens/mixin-tokens.js +73 -0
- package/dist/utils/chord/key-names.d.ts +14 -2
- package/dist/utils/chord/key-names.js +58 -3
- package/dist/utils/date-segments/date-segments.d.ts +5 -4
- package/dist/utils/date-segments/date-segments.js +12 -0
- package/dist/utils/draw-value-axis/draw-value-axis.d.ts +22 -0
- package/dist/utils/draw-value-axis/draw-value-axis.js +9 -0
- package/dist/utils/read-color/read-color.d.ts +24 -8
- package/dist/utils/read-color/read-color.js +20 -8
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
package/custom-elements.json
CHANGED
|
@@ -304,7 +304,7 @@
|
|
|
304
304
|
},
|
|
305
305
|
{
|
|
306
306
|
"kind": "class",
|
|
307
|
-
"description": "Which reading a pointer is nearest, for a chart that draws no markers.\n\n**The anchor is a position and not an element, and that is the whole reason\nthis exists.** A bar and a donut slice are elements a tooltip could be hung\non; a line is one `<path>` for a whole series, because\n`preserveAspectRatio=\"none\"` turns a circle into an ellipse and there is no\nvector-effect that answers for a shape, so `LineChart` deliberately draws no\nper-reading marker. Anchoring per datum works for two charts of four and\ncannot be extended to the third, so the resolution is arithmetic instead.\n\n**It maps along one axis only.** The nearest reading to a pointer is decided\nby x alone in a vertical chart, whatever y is doing, because a reader moving\nacross a chart is asking about a column of it rather than about a point. A\ntrue nearest-point search would make a two-series chart answer differently\ndepending on which line the pointer drifted toward, which is a tooltip that\nchanges its mind while the reader holds still.\n\n**
|
|
307
|
+
"description": "Which reading a pointer is nearest, for a chart that draws no markers.\n\n**The anchor is a position and not an element, and that is the whole reason\nthis exists.** A bar and a donut slice are elements a tooltip could be hung\non; a line is one `<path>` for a whole series, because\n`preserveAspectRatio=\"none\"` turns a circle into an ellipse and there is no\nvector-effect that answers for a shape, so `LineChart` deliberately draws no\nper-reading marker. Anchoring per datum works for two charts of four and\ncannot be extended to the third, so the resolution is arithmetic instead.\n\n**It maps along one axis only.** The nearest reading to a pointer is decided\nby x alone in a vertical chart, whatever y is doing, because a reader moving\nacross a chart is asking about a column of it rather than about a point. A\ntrue nearest-point search would make a two-series chart answer differently\ndepending on which line the pointer drifted toward, which is a tooltip that\nchanges its mind while the reader holds still.\n\n**A touch has no hover, so it moves nothing by passing over.** A tooltip\ndriven by a finger dragging across would appear under the finger. So this\nlistens for `pointermove` and ignores anything whose `pointerType` is not\nfine. **A tap is the touch reader's hover**, for a chart that hears its\nreadings through `onReading`: it shows the reading tapped, as Chart.js does,\nand keeps it until a tap lands elsewhere, outside the chart or on another\nreading. A drag that scrolls the page is no tap and shows nothing.\n\n**The keyboard moves the same reading, which is what makes it the reading\nand not the pointer's.** A chart's plot takes focus (`tabindex=\"0\"` on the\nelement carrying `CHART_PLOT`), and while it has it the arrow keys walk the\nreadings, Home and End go to the first and the last, PageUp and PageDown\nmove a page of readings, and the other pair of arrows walks the series\nwithin a reading. Escape puts the bubble away, as it\ndoes a tooltip. The tooltip follows because it already follows `at`, and the\nchart's readout, a polite live region `drawTooltip` renders, says the\nreading in words. It speaks only for a key: a pointer crossing a chart is a\nsighted reader looking, and a region speaking on every slot it crossed would\ntalk over everything else on the page.\n\nNo peer charting library ships this, which is the reason it is spelled out\nrather than assumed: the table beside the chart has every number, and this\nis for a reader who wants the picture's own order, a reading at a time.",
|
|
308
308
|
"name": "ChartPointerController",
|
|
309
309
|
"members": [
|
|
310
310
|
{
|
|
@@ -378,6 +378,44 @@
|
|
|
378
378
|
"default": "'inline'",
|
|
379
379
|
"description": "Which axis the readings are laid out along.\n\n**An axis and not a boolean, because two of the four charts do not use x.**\nA horizontal bar chart runs its categories *down* the box, so resolving\nevery reading from the pointer's x leaves a move from the first row to the\nlast never changing the answer: measured on four rows, all four reported\nthe third, which is the slot the middle of the box falls in. It looks like\na tooltip that will not follow and is a tooltip reading the wrong axis.\n\n`none` is the ring. Its slices are real elements at every angle, so the\nreading under the pointer is the one the pointer is over, and arithmetic on\neither axis would answer with whichever slice shared a coordinate: at three\no'clock and at nine o'clock, x alone gives the same slice for opposite\nsides. The slices call `set` and this only holds the answer."
|
|
380
380
|
},
|
|
381
|
+
{
|
|
382
|
+
"kind": "field",
|
|
383
|
+
"name": "onReading",
|
|
384
|
+
"type": {
|
|
385
|
+
"text": "((heard: ReadingHeard, detail: ReadingDetail) => void) | undefined"
|
|
386
|
+
},
|
|
387
|
+
"description": "Hears the reading: `change` each time it moves or is put away, and\n`press` when it is clicked, tapped, or pressed with Enter or Space.\n\nSet by a chart that sends `helix-reading-change` and\n`helix-reading-press`, which it does from here so the event classes are\nconstructed in the chart that declares them. A chart that hears its\nreadings also shows one on a tap."
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"kind": "field",
|
|
391
|
+
"name": "by",
|
|
392
|
+
"type": {
|
|
393
|
+
"text": "ReadingDetail['pointerType']"
|
|
394
|
+
},
|
|
395
|
+
"privacy": "private",
|
|
396
|
+
"default": "'mouse'",
|
|
397
|
+
"description": "What last moved the reading, which `onReading` is told."
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"kind": "field",
|
|
401
|
+
"name": "said",
|
|
402
|
+
"type": {
|
|
403
|
+
"text": "object"
|
|
404
|
+
},
|
|
405
|
+
"privacy": "private",
|
|
406
|
+
"default": "{ at: -1, series: -1 }",
|
|
407
|
+
"description": "The reading and the series `onReading` was last told of."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"kind": "field",
|
|
411
|
+
"name": "tapped",
|
|
412
|
+
"type": {
|
|
413
|
+
"text": "boolean"
|
|
414
|
+
},
|
|
415
|
+
"privacy": "private",
|
|
416
|
+
"default": "false",
|
|
417
|
+
"description": "Whether a tap shows the reading, which stays until a tap lands elsewhere."
|
|
418
|
+
},
|
|
381
419
|
{
|
|
382
420
|
"kind": "method",
|
|
383
421
|
"name": "hostConnected",
|
|
@@ -483,6 +521,77 @@
|
|
|
483
521
|
},
|
|
484
522
|
"description": "Tells the tooltip its anchor moved, which nothing else would.\n\nThe mark the tooltip is hung on is one element the chart walks from reading\nto reading with an inline style, and Floating UI's `autoUpdate` watches\nscrolling, resizing and layout shift. Moving an absolutely positioned\nelement by writing `inset` is none of the three, so the bubble is placed\nonce on open and then stays where the first reading was while the mark\ntravels out from under it.\n\nHere rather than in the chart because the reading is this controller's, and\nafter the update rather than in `set` because the mark is still at the old\nposition until the render that follows."
|
|
485
523
|
},
|
|
524
|
+
{
|
|
525
|
+
"kind": "method",
|
|
526
|
+
"name": "announce",
|
|
527
|
+
"privacy": "private",
|
|
528
|
+
"return": {
|
|
529
|
+
"type": {
|
|
530
|
+
"text": "void"
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
"description": "Tells `onReading` the reading moved, once for each move.\n\nAfter the update, from `hostUpdated`, so a listener reading the chart\nfinds it already showing the reading it was told of."
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"kind": "method",
|
|
537
|
+
"name": "detail",
|
|
538
|
+
"privacy": "private",
|
|
539
|
+
"return": {
|
|
540
|
+
"type": {
|
|
541
|
+
"text": "ReadingDetail"
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"description": "The reading as `onReading` is told it."
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"kind": "method",
|
|
548
|
+
"name": "tapTo",
|
|
549
|
+
"return": {
|
|
550
|
+
"type": {
|
|
551
|
+
"text": "void"
|
|
552
|
+
}
|
|
553
|
+
},
|
|
554
|
+
"parameters": [
|
|
555
|
+
{
|
|
556
|
+
"name": "at",
|
|
557
|
+
"type": {
|
|
558
|
+
"text": "number"
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
"description": "Shows the reading at `at` for a tap, and keeps it until a tap lands\noutside the chart. Public for a chart that finds the reading under a\nfinger itself, a scatter's nearest point."
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"kind": "method",
|
|
566
|
+
"name": "untap",
|
|
567
|
+
"privacy": "private",
|
|
568
|
+
"return": {
|
|
569
|
+
"type": {
|
|
570
|
+
"text": "void"
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
"description": "Stops waiting for a tap elsewhere."
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"kind": "field",
|
|
577
|
+
"name": "away",
|
|
578
|
+
"privacy": "private",
|
|
579
|
+
"readonly": true,
|
|
580
|
+
"description": "A press outside the chart puts a tapped reading away."
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"kind": "field",
|
|
584
|
+
"name": "tap",
|
|
585
|
+
"privacy": "private",
|
|
586
|
+
"readonly": true
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"kind": "field",
|
|
590
|
+
"name": "press",
|
|
591
|
+
"privacy": "private",
|
|
592
|
+
"readonly": true,
|
|
593
|
+
"description": "Tells `onReading` a reading was clicked or tapped, where the press landed\non the plot and a reading is shown."
|
|
594
|
+
},
|
|
486
595
|
{
|
|
487
596
|
"kind": "method",
|
|
488
597
|
"name": "box",
|
|
@@ -588,6 +697,25 @@
|
|
|
588
697
|
"privacy": "private",
|
|
589
698
|
"readonly": true
|
|
590
699
|
},
|
|
700
|
+
{
|
|
701
|
+
"kind": "method",
|
|
702
|
+
"name": "resolve",
|
|
703
|
+
"privacy": "private",
|
|
704
|
+
"return": {
|
|
705
|
+
"type": {
|
|
706
|
+
"text": "number | undefined"
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"parameters": [
|
|
710
|
+
{
|
|
711
|
+
"name": "event",
|
|
712
|
+
"type": {
|
|
713
|
+
"text": "PointerEvent"
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
],
|
|
717
|
+
"description": "The reading a pointer is over, by the slot it is in along `axis`, or\n`undefined` with nothing to measure."
|
|
718
|
+
},
|
|
591
719
|
{
|
|
592
720
|
"kind": "field",
|
|
593
721
|
"name": "move",
|
|
@@ -7830,6 +7958,14 @@
|
|
|
7830
7958
|
"module": "./details.js"
|
|
7831
7959
|
}
|
|
7832
7960
|
},
|
|
7961
|
+
{
|
|
7962
|
+
"kind": "js",
|
|
7963
|
+
"name": "ReadingDetail",
|
|
7964
|
+
"declaration": {
|
|
7965
|
+
"name": "ReadingDetail",
|
|
7966
|
+
"module": "./details.js"
|
|
7967
|
+
}
|
|
7968
|
+
},
|
|
7833
7969
|
{
|
|
7834
7970
|
"kind": "js",
|
|
7835
7971
|
"name": "ReconnectDetail",
|
|
@@ -8526,6 +8662,22 @@
|
|
|
8526
8662
|
"module": "src/events/events.ts"
|
|
8527
8663
|
}
|
|
8528
8664
|
},
|
|
8665
|
+
{
|
|
8666
|
+
"kind": "js",
|
|
8667
|
+
"name": "HelixReadingChangeEvent",
|
|
8668
|
+
"declaration": {
|
|
8669
|
+
"name": "HelixReadingChangeEvent",
|
|
8670
|
+
"module": "src/events/events.ts"
|
|
8671
|
+
}
|
|
8672
|
+
},
|
|
8673
|
+
{
|
|
8674
|
+
"kind": "js",
|
|
8675
|
+
"name": "HelixReadingPressEvent",
|
|
8676
|
+
"declaration": {
|
|
8677
|
+
"name": "HelixReadingPressEvent",
|
|
8678
|
+
"module": "src/events/events.ts"
|
|
8679
|
+
}
|
|
8680
|
+
},
|
|
8529
8681
|
{
|
|
8530
8682
|
"kind": "js",
|
|
8531
8683
|
"name": "HelixReconnectEvent",
|
|
@@ -9550,7 +9702,7 @@
|
|
|
9550
9702
|
"type": {
|
|
9551
9703
|
"text": "ReadonlySet<string>"
|
|
9552
9704
|
},
|
|
9553
|
-
"default": "new Set( ( 'action activate aura-fallback band before-activate before-change before-close ' + 'before-collapse before-edit before-move before-open before-panel-resize before-pin ' + 'before-reconnect before-relabel before-reorder before-resize before-split before-toggle ' + 'canvas-edit canvas-pan canvas-view canvas-zoom caret clear collapse complete ' + 'connect console copy copy-error create dismiss edit end expand facet filter ' + 'filtered graph-filter graph-layout graph-pan graph-part-change graph-ready ' + 'graph-signal graph-zoom history load load-more map-cluster map-pan map-part-change ' + 'map-ready map-rotate map-tilt map-zoom move navigate next panel-resize pin press ' + 'preview previous range-change read reconnect reject relabel remove reorder ' + 'reordered resize resized sample-end sample-start scrolled select selected send ' + 'shortcut sort sorted split toggle tour-ask tour-status typing' ) .split(' ') .map((name) => `helix-${name}`), )",
|
|
9705
|
+
"default": "new Set( ( 'action activate aura-fallback band before-activate before-change before-close ' + 'before-collapse before-edit before-move before-open before-panel-resize before-pin ' + 'before-reconnect before-relabel before-reorder before-resize before-split before-toggle ' + 'canvas-edit canvas-pan canvas-view canvas-zoom caret clear collapse complete ' + 'connect console copy copy-error create dismiss edit end expand facet filter ' + 'filtered graph-filter graph-layout graph-pan graph-part-change graph-ready ' + 'graph-signal graph-zoom history load load-more map-cluster map-pan map-part-change ' + 'map-ready map-rotate map-tilt map-zoom move navigate next panel-resize pin press ' + 'preview previous range-change read reading-change reading-press reconnect reject ' + 'relabel remove reorder ' + 'reordered resize resized sample-end sample-start scrolled select selected send ' + 'shortcut sort sorted split toggle tour-ask tour-status typing' ) .split(' ') .map((name) => `helix-${name}`), )",
|
|
9554
9706
|
"description": "Every name this library dispatches.\n\nExported so a runtime check can ask whether a name is one of ours without\nkeeping a second list of them. `HelixElement` uses it to tell a consumer that\nthe handler prop they wrote is attached to nothing.\n\n**Written as strings, in a module of its own, and not read off the\nclasses in `registry`.** Every element carries this set through its React\nprop audit, and a set read off the classes kept every class alive in every\nbundle: a Badge shipped all eighty of them. As strings, a family ships the\nclasses it dispatches and no others. `events.pure.spec.ts` holds this list to\nthe classes, so a class added without its name here fails.\n\n**Without the shared `helix-`, and separated by spaces.** Every element carries this\nlist, and as quoted strings each paid its quotes, its comma and the prefix."
|
|
9555
9707
|
}
|
|
9556
9708
|
],
|
|
@@ -9907,6 +10059,82 @@
|
|
|
9907
10059
|
}
|
|
9908
10060
|
]
|
|
9909
10061
|
},
|
|
10062
|
+
{
|
|
10063
|
+
"kind": "javascript-module",
|
|
10064
|
+
"path": "src/events/reading-change.ts",
|
|
10065
|
+
"declarations": [
|
|
10066
|
+
{
|
|
10067
|
+
"kind": "class",
|
|
10068
|
+
"description": "A chart moved to a reading, or put its reading away: a pointer crossed into\none, a tap or a key landed on one, or the pointer left. Chart.js's\n`onHover`.\n\nSent once for each change, never for a pointer moving within the reading it\nis already on. `index` is `-1` once no reading is shown. Not cancelable,\nsince the chart has already moved. Bubbles and is composed.",
|
|
10069
|
+
"name": "HelixReadingChangeEvent",
|
|
10070
|
+
"members": [
|
|
10071
|
+
{
|
|
10072
|
+
"kind": "field",
|
|
10073
|
+
"name": "eventName",
|
|
10074
|
+
"type": {
|
|
10075
|
+
"text": "string"
|
|
10076
|
+
},
|
|
10077
|
+
"static": true,
|
|
10078
|
+
"readonly": true,
|
|
10079
|
+
"default": "'helix-reading-change'"
|
|
10080
|
+
}
|
|
10081
|
+
],
|
|
10082
|
+
"superclass": {
|
|
10083
|
+
"name": "CustomEvent",
|
|
10084
|
+
"module": "src/events/reading-change.ts"
|
|
10085
|
+
},
|
|
10086
|
+
"helix": {}
|
|
10087
|
+
}
|
|
10088
|
+
],
|
|
10089
|
+
"exports": [
|
|
10090
|
+
{
|
|
10091
|
+
"kind": "js",
|
|
10092
|
+
"name": "HelixReadingChangeEvent",
|
|
10093
|
+
"declaration": {
|
|
10094
|
+
"name": "HelixReadingChangeEvent",
|
|
10095
|
+
"module": "src/events/reading-change.ts"
|
|
10096
|
+
}
|
|
10097
|
+
}
|
|
10098
|
+
]
|
|
10099
|
+
},
|
|
10100
|
+
{
|
|
10101
|
+
"kind": "javascript-module",
|
|
10102
|
+
"path": "src/events/reading-press.ts",
|
|
10103
|
+
"declarations": [
|
|
10104
|
+
{
|
|
10105
|
+
"kind": "class",
|
|
10106
|
+
"description": "A reading of a chart was pressed: clicked, tapped, or Enter or Space on the\nplot while the keys rest on it. Chart.js's `onClick`.\n\nFor a page that opens what a reading stands for, such as the month behind a\ncolumn. Not cancelable, since a chart does nothing of its own on a press.\nBubbles and is composed.",
|
|
10107
|
+
"name": "HelixReadingPressEvent",
|
|
10108
|
+
"members": [
|
|
10109
|
+
{
|
|
10110
|
+
"kind": "field",
|
|
10111
|
+
"name": "eventName",
|
|
10112
|
+
"type": {
|
|
10113
|
+
"text": "string"
|
|
10114
|
+
},
|
|
10115
|
+
"static": true,
|
|
10116
|
+
"readonly": true,
|
|
10117
|
+
"default": "'helix-reading-press'"
|
|
10118
|
+
}
|
|
10119
|
+
],
|
|
10120
|
+
"superclass": {
|
|
10121
|
+
"name": "CustomEvent",
|
|
10122
|
+
"module": "src/events/reading-press.ts"
|
|
10123
|
+
},
|
|
10124
|
+
"helix": {}
|
|
10125
|
+
}
|
|
10126
|
+
],
|
|
10127
|
+
"exports": [
|
|
10128
|
+
{
|
|
10129
|
+
"kind": "js",
|
|
10130
|
+
"name": "HelixReadingPressEvent",
|
|
10131
|
+
"declaration": {
|
|
10132
|
+
"name": "HelixReadingPressEvent",
|
|
10133
|
+
"module": "src/events/reading-press.ts"
|
|
10134
|
+
}
|
|
10135
|
+
}
|
|
10136
|
+
]
|
|
10137
|
+
},
|
|
9910
10138
|
{
|
|
9911
10139
|
"kind": "javascript-module",
|
|
9912
10140
|
"path": "src/events/reconnect.ts",
|
|
@@ -12104,6 +12332,14 @@
|
|
|
12104
12332
|
"module": "./controllers/chart-pointer-controller/chart-pointer-controller.js"
|
|
12105
12333
|
}
|
|
12106
12334
|
},
|
|
12335
|
+
{
|
|
12336
|
+
"kind": "js",
|
|
12337
|
+
"name": "ReadingHeard",
|
|
12338
|
+
"declaration": {
|
|
12339
|
+
"name": "ReadingHeard",
|
|
12340
|
+
"module": "./controllers/chart-pointer-controller/chart-pointer-controller.js"
|
|
12341
|
+
}
|
|
12342
|
+
},
|
|
12107
12343
|
{
|
|
12108
12344
|
"kind": "js",
|
|
12109
12345
|
"name": "ChildrenController",
|
|
@@ -13432,6 +13668,22 @@
|
|
|
13432
13668
|
"module": "./events/events.js"
|
|
13433
13669
|
}
|
|
13434
13670
|
},
|
|
13671
|
+
{
|
|
13672
|
+
"kind": "js",
|
|
13673
|
+
"name": "HelixReadingChangeEvent",
|
|
13674
|
+
"declaration": {
|
|
13675
|
+
"name": "HelixReadingChangeEvent",
|
|
13676
|
+
"module": "./events/events.js"
|
|
13677
|
+
}
|
|
13678
|
+
},
|
|
13679
|
+
{
|
|
13680
|
+
"kind": "js",
|
|
13681
|
+
"name": "HelixReadingPressEvent",
|
|
13682
|
+
"declaration": {
|
|
13683
|
+
"name": "HelixReadingPressEvent",
|
|
13684
|
+
"module": "./events/events.js"
|
|
13685
|
+
}
|
|
13686
|
+
},
|
|
13435
13687
|
{
|
|
13436
13688
|
"kind": "js",
|
|
13437
13689
|
"name": "HelixReconnectEvent",
|
|
@@ -13712,6 +13964,14 @@
|
|
|
13712
13964
|
"module": "./events/events.js"
|
|
13713
13965
|
}
|
|
13714
13966
|
},
|
|
13967
|
+
{
|
|
13968
|
+
"kind": "js",
|
|
13969
|
+
"name": "ReadingDetail",
|
|
13970
|
+
"declaration": {
|
|
13971
|
+
"name": "ReadingDetail",
|
|
13972
|
+
"module": "./events/events.js"
|
|
13973
|
+
}
|
|
13974
|
+
},
|
|
13715
13975
|
{
|
|
13716
13976
|
"kind": "js",
|
|
13717
13977
|
"name": "ReconnectDetail",
|
|
@@ -14856,6 +15116,14 @@
|
|
|
14856
15116
|
"module": "./utils/draw-tooltip/draw-tooltip.js"
|
|
14857
15117
|
}
|
|
14858
15118
|
},
|
|
15119
|
+
{
|
|
15120
|
+
"kind": "js",
|
|
15121
|
+
"name": "drawValueAxis",
|
|
15122
|
+
"declaration": {
|
|
15123
|
+
"name": "drawValueAxis",
|
|
15124
|
+
"module": "./utils/draw-value-axis/draw-value-axis.js"
|
|
15125
|
+
}
|
|
15126
|
+
},
|
|
14859
15127
|
{
|
|
14860
15128
|
"kind": "js",
|
|
14861
15129
|
"name": "elapsedTime",
|
|
@@ -15432,6 +15700,14 @@
|
|
|
15432
15700
|
"module": "./utils/read-color/read-color.js"
|
|
15433
15701
|
}
|
|
15434
15702
|
},
|
|
15703
|
+
{
|
|
15704
|
+
"kind": "js",
|
|
15705
|
+
"name": "ColorBytesAlpha",
|
|
15706
|
+
"declaration": {
|
|
15707
|
+
"name": "ColorBytesAlpha",
|
|
15708
|
+
"module": "./utils/read-color/read-color.js"
|
|
15709
|
+
}
|
|
15710
|
+
},
|
|
15435
15711
|
{
|
|
15436
15712
|
"kind": "js",
|
|
15437
15713
|
"name": "readColor",
|
|
@@ -15440,6 +15716,14 @@
|
|
|
15440
15716
|
"module": "./utils/read-color/read-color.js"
|
|
15441
15717
|
}
|
|
15442
15718
|
},
|
|
15719
|
+
{
|
|
15720
|
+
"kind": "js",
|
|
15721
|
+
"name": "readColorAlpha",
|
|
15722
|
+
"declaration": {
|
|
15723
|
+
"name": "readColorAlpha",
|
|
15724
|
+
"module": "./utils/read-color/read-color.js"
|
|
15725
|
+
}
|
|
15726
|
+
},
|
|
15443
15727
|
{
|
|
15444
15728
|
"kind": "js",
|
|
15445
15729
|
"name": "rgbOf",
|
|
@@ -17498,6 +17782,15 @@
|
|
|
17498
17782
|
"privacy": "protected",
|
|
17499
17783
|
"description": "News the component has for the live region while there are rows and nothing is loading."
|
|
17500
17784
|
},
|
|
17785
|
+
{
|
|
17786
|
+
"kind": "field",
|
|
17787
|
+
"name": "statusSlots",
|
|
17788
|
+
"type": {
|
|
17789
|
+
"text": "boolean"
|
|
17790
|
+
},
|
|
17791
|
+
"privacy": "protected",
|
|
17792
|
+
"description": "Whether the status line is an `empty` or `loading` slot, with the text as\nits fallback. A family that turns it on documents the two slots."
|
|
17793
|
+
},
|
|
17501
17794
|
{
|
|
17502
17795
|
"kind": "method",
|
|
17503
17796
|
"name": "countRows",
|
|
@@ -17704,6 +17997,16 @@
|
|
|
17704
17997
|
"privacy": "protected",
|
|
17705
17998
|
"default": "''",
|
|
17706
17999
|
"description": "What the region says while there are rows and nothing is loading, which\nis nothing unless the component has news of its own.\n\n**One region, so two messages never talk over each other.** Data Table\nsays a sort and a selection here; a second `role=\"status\"` beside this\none would be heard in whichever order the reader happens to queue them.\nLoading and empty win, being the larger news. Set before the render that\nshows it, in `willUpdate`, and not reactive: it changes only when\nsomething else already asked for a render."
|
|
18000
|
+
},
|
|
18001
|
+
{
|
|
18002
|
+
"kind": "field",
|
|
18003
|
+
"name": "statusSlots",
|
|
18004
|
+
"type": {
|
|
18005
|
+
"text": "boolean"
|
|
18006
|
+
},
|
|
18007
|
+
"privacy": "protected",
|
|
18008
|
+
"default": "false",
|
|
18009
|
+
"description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say."
|
|
17707
18010
|
}
|
|
17708
18011
|
],
|
|
17709
18012
|
"attributes": [
|
|
@@ -19688,6 +19991,13 @@
|
|
|
19688
19991
|
"privacy": "private",
|
|
19689
19992
|
"readonly": true
|
|
19690
19993
|
},
|
|
19994
|
+
{
|
|
19995
|
+
"kind": "field",
|
|
19996
|
+
"name": "handleEditKey",
|
|
19997
|
+
"privacy": "private",
|
|
19998
|
+
"readonly": true,
|
|
19999
|
+
"description": "The first key that moves the caret or edits, while the focused field\nshows its rendering, puts the value in the field before the key acts.\n\nPicking hands focus back to a field that shows `August 5, 2026`, which is\nwhat the reader chose. `Intl` formats and does not parse, so a key that\nedited the rendering wrote text no date could be read from. The caret\nkeeps its place at the start, at the end, or around the whole text, and\ngoes to the end otherwise."
|
|
20000
|
+
},
|
|
19691
20001
|
{
|
|
19692
20002
|
"kind": "field",
|
|
19693
20003
|
"name": "handleFocus",
|
|
@@ -20492,7 +20802,7 @@
|
|
|
20492
20802
|
},
|
|
20493
20803
|
{
|
|
20494
20804
|
"kind": "mixin",
|
|
20495
|
-
"description": "Grafts the segmented field React Aria's DateField and TimeField are, and Web\nAwesome's time input has, onto a picker field: one `spinbutton` for each part\nof the date or the time, in the order the locale writes them.\n\n**Typing into a text field asks the reader to know the format.** Date Input\nand Time Input read ISO, `2026-08-04` and `14:30`, because `Intl` formats and\ndoes not parse, and a reader in Germany who types `4.8.2026` is refused. A\nsegment needs no format: the month is a month, set with digits or the arrow\nkeys, and the layout puts it where the locale does, so the field reads\n`04.08.2026` in German and `08/04/2026` in English with nothing to parse.\n\n**What a segment does with a key**, which is React Aria's: digits fill it and\nmove on once it cannot take another, Up and Down step it and wrap, Home and
|
|
20805
|
+
"description": "Grafts the segmented field React Aria's DateField and TimeField are, and Web\nAwesome's time input has, onto a picker field: one `spinbutton` for each part\nof the date or the time, in the order the locale writes them.\n\n**Typing into a text field asks the reader to know the format.** Date Input\nand Time Input read ISO, `2026-08-04` and `14:30`, because `Intl` formats and\ndoes not parse, and a reader in Germany who types `4.8.2026` is refused. A\nsegment needs no format: the month is a month, set with digits or the arrow\nkeys, and the layout puts it where the locale does, so the field reads\n`04.08.2026` in German and `08/04/2026` in English with nothing to parse.\n\n**What a segment does with a key**, which is React Aria's: digits fill it and\nmove on once it cannot take another, Up and Down step it and wrap, Page Up\nand Page Down step it by a page, a week of days, five years or fifteen\nminutes, Home and End go to its ends, Backspace and Delete empty it, Left and Right move between\nsegments along the line of text, and Alt+Down opens the picker. Each segment\nis a tab stop, as each is in React Aria.\n\n**The value is whole or empty.** A date with no year is no date, so the value\nstays empty while any segment is, and the field reports `badInput` as a\nnative date input does with a half-typed date. The arithmetic is\n`date-segments`, so this draws and listens and nothing else.\n\n**Opt-in, with `segmented`**, because the text field is what every example and\nevery form already holds, and a row of segments draws differently.",
|
|
20496
20806
|
"name": "MixinSegmentedField",
|
|
20497
20807
|
"members": [
|
|
20498
20808
|
{
|
|
@@ -21187,6 +21497,17 @@
|
|
|
21187
21497
|
}
|
|
21188
21498
|
},
|
|
21189
21499
|
"description": "What the host does when the last token is asked to go.\n\nThe policy is shared and the mechanism is not: a combobox drops a value out\nof its selection, and a filter field takes a token out of its own list."
|
|
21500
|
+
},
|
|
21501
|
+
{
|
|
21502
|
+
"kind": "method",
|
|
21503
|
+
"name": "tokenElements",
|
|
21504
|
+
"privacy": "protected",
|
|
21505
|
+
"return": {
|
|
21506
|
+
"type": {
|
|
21507
|
+
"text": "HTMLElement[]"
|
|
21508
|
+
}
|
|
21509
|
+
},
|
|
21510
|
+
"description": "The tokens the arrow keys move between, in the order they are shown.\n\nEach is an element whose remove button is its `dismiss` part and whose\n`dismiss()` asks it to go, which `Tag` and `FilterInput.Chip` both are.\nNone by default."
|
|
21190
21511
|
}
|
|
21191
21512
|
],
|
|
21192
21513
|
"helix": {}
|
|
@@ -21315,6 +21636,44 @@
|
|
|
21315
21636
|
}
|
|
21316
21637
|
]
|
|
21317
21638
|
},
|
|
21639
|
+
{
|
|
21640
|
+
"kind": "method",
|
|
21641
|
+
"name": "tokenElements",
|
|
21642
|
+
"privacy": "protected",
|
|
21643
|
+
"return": {
|
|
21644
|
+
"type": {
|
|
21645
|
+
"text": "HTMLElement[]"
|
|
21646
|
+
}
|
|
21647
|
+
}
|
|
21648
|
+
},
|
|
21649
|
+
{
|
|
21650
|
+
"kind": "method",
|
|
21651
|
+
"name": "tokenStops",
|
|
21652
|
+
"privacy": "private",
|
|
21653
|
+
"return": {
|
|
21654
|
+
"type": {
|
|
21655
|
+
"text": "HTMLElement[]"
|
|
21656
|
+
}
|
|
21657
|
+
},
|
|
21658
|
+
"description": "The remove button of each token shown that has one, in order."
|
|
21659
|
+
},
|
|
21660
|
+
{
|
|
21661
|
+
"kind": "field",
|
|
21662
|
+
"name": "tokenControl",
|
|
21663
|
+
"type": {
|
|
21664
|
+
"text": "HTMLInputElement | null"
|
|
21665
|
+
},
|
|
21666
|
+
"privacy": "private",
|
|
21667
|
+
"description": "The host's text field.",
|
|
21668
|
+
"readonly": true
|
|
21669
|
+
},
|
|
21670
|
+
{
|
|
21671
|
+
"kind": "field",
|
|
21672
|
+
"name": "handleTokenKeydown",
|
|
21673
|
+
"privacy": "private",
|
|
21674
|
+
"readonly": true,
|
|
21675
|
+
"description": "The arrow keys between the tokens, and Delete or Backspace on one.\n\nThe arrow toward the end of the line moves to the next token, and past\nthe last into the text with the caret at its start. Delete or Backspace\nasks the focused token to go, as its remove button does, and focus that\nleaves with it comes back to the text."
|
|
21676
|
+
},
|
|
21318
21677
|
{
|
|
21319
21678
|
"kind": "method",
|
|
21320
21679
|
"name": "renderRest",
|
|
@@ -23857,7 +24216,7 @@
|
|
|
23857
24216
|
}
|
|
23858
24217
|
}
|
|
23859
24218
|
],
|
|
23860
|
-
"description": "The labels of a chord's keys on a platform, with `own` labels in place of\nthe platform's, and what goes between two keys.\n\n`parts` are the chord's names as `chordParts` splits them. A name `own`\nholds takes that label, a name the platform knows takes its glyph or word,\nand any other single character is shown in capitals.\n\n**On an Apple keyboard glyphs run together and words are joined with a\nhyphen**, as Apple writes `Command-K`. A label of more than one character\nfrom `own` is a word, so `{\"mod\": \"Command\"}` shows `Command-K` there, where\nnothing between the two ran them into `CommandK`. The platform's own `Esc`\nand `Space` keep running on from a glyph, as `⌘Esc` always has. Everywhere\nelse keys are joined with
|
|
24219
|
+
"description": "The labels of a chord's keys on a platform, with `own` labels in place of\nthe platform's, and what goes between two keys.\n\n`parts` are the chord's names as `chordParts` splits them. A name `own`\nholds takes that label, a name the platform knows takes its glyph or word,\nand any other single character is shown in capitals. **Modifiers come first,\nin the platform's order**, so one `keys` value is right on every platform:\n`mod+shift+p` is `⇧⌘P` on an Apple keyboard and `Ctrl+Shift+P` elsewhere.\n\n**On an Apple keyboard glyphs run together and words are joined with a\nhyphen**, as Apple writes `Command-K`. A label of more than one character\nfrom `own` is a word, so `{\"mod\": \"Command\"}` shows `Command-K` there, where\nnothing between the two ran them into `CommandK`. The platform's own `Esc`\nand `Space` keep running on from a glyph, as `⌘Esc` always has. Everywhere\nelse keys are joined with `+`.\n\n`spoken` says the chord in words where a label is one of the platform's\nglyphs, such as `⌘` or `↑`, which a screen reader reads as a symbol or\nskips. A label from `own` is taken as words already."
|
|
23861
24220
|
}
|
|
23862
24221
|
],
|
|
23863
24222
|
"exports": [
|
|
@@ -25093,7 +25452,7 @@
|
|
|
25093
25452
|
}
|
|
25094
25453
|
}
|
|
25095
25454
|
],
|
|
25096
|
-
"description": "What an editing key does to a segment, or `null` for a key that edits\nnothing.\n\nThe arrows step it and wrap,
|
|
25455
|
+
"description": "What an editing key does to a segment, or `null` for a key that edits\nnothing.\n\nThe arrows step it and wrap, Page Up and Page Down step it by a page, Home\nand End take it to its lowest and highest, Backspace and Delete empty it, a\ndigit is typed as `typeDigit` types it, and on the meridiem a letter picks\nthe half whose word starts with it. `advance` says the segment is full and\nfocus moves on."
|
|
25097
25456
|
},
|
|
25098
25457
|
{
|
|
25099
25458
|
"kind": "function",
|
|
@@ -25615,6 +25974,62 @@
|
|
|
25615
25974
|
}
|
|
25616
25975
|
]
|
|
25617
25976
|
},
|
|
25977
|
+
{
|
|
25978
|
+
"kind": "javascript-module",
|
|
25979
|
+
"path": "src/utils/draw-value-axis/draw-value-axis.ts",
|
|
25980
|
+
"declarations": [
|
|
25981
|
+
{
|
|
25982
|
+
"kind": "function",
|
|
25983
|
+
"name": "drawValueAxis",
|
|
25984
|
+
"return": {
|
|
25985
|
+
"type": {
|
|
25986
|
+
"text": "TemplateResult"
|
|
25987
|
+
}
|
|
25988
|
+
},
|
|
25989
|
+
"parameters": [
|
|
25990
|
+
{
|
|
25991
|
+
"name": "domain",
|
|
25992
|
+
"type": {
|
|
25993
|
+
"text": "readonly [number, number]"
|
|
25994
|
+
},
|
|
25995
|
+
"description": "The scale's lowest and highest values."
|
|
25996
|
+
},
|
|
25997
|
+
{
|
|
25998
|
+
"name": "place",
|
|
25999
|
+
"type": {
|
|
26000
|
+
"text": "(value: number) => number"
|
|
26001
|
+
},
|
|
26002
|
+
"description": "Where a value sits down the plot, from 0 at the top to 100 at the bottom."
|
|
26003
|
+
},
|
|
26004
|
+
{
|
|
26005
|
+
"name": "format",
|
|
26006
|
+
"type": {
|
|
26007
|
+
"text": "(value: number) => string"
|
|
26008
|
+
},
|
|
26009
|
+
"description": "How a value is written, such as a number in the chart's locale."
|
|
26010
|
+
},
|
|
26011
|
+
{
|
|
26012
|
+
"name": "width",
|
|
26013
|
+
"type": {
|
|
26014
|
+
"text": "(widest: number) => string"
|
|
26015
|
+
},
|
|
26016
|
+
"description": "The style the axis carries, from the number of characters in its widest number."
|
|
26017
|
+
}
|
|
26018
|
+
],
|
|
26019
|
+
"description": "The numbers of a chart's value scale, beside its drawing: an `axis` part\nholding a `tick` part at each level `ticks` picks, which are the levels\n`gridlines` rules.\n\nHTML beside the plot, for the reason a chart's reading names are: text\ninside an `<svg>` that fills its box scales with the box. Each tick is placed\nwith `inset-block-start`, as a percentage of the axis, so a stylesheet that\nmakes the axis as tall as the plot puts each number on its level.\n\n`width` builds the axis's style from the number of characters in its widest\nnumber. The ticks are positioned absolutely and give the column no width of\ntheir own, so each family writes its own custom property there, such as\n`--line-chart-axis` in `ch`, and a stylesheet sizes the column from it."
|
|
26020
|
+
}
|
|
26021
|
+
],
|
|
26022
|
+
"exports": [
|
|
26023
|
+
{
|
|
26024
|
+
"kind": "js",
|
|
26025
|
+
"name": "drawValueAxis",
|
|
26026
|
+
"declaration": {
|
|
26027
|
+
"name": "drawValueAxis",
|
|
26028
|
+
"module": "src/utils/draw-value-axis/draw-value-axis.ts"
|
|
26029
|
+
}
|
|
26030
|
+
}
|
|
26031
|
+
]
|
|
26032
|
+
},
|
|
25618
26033
|
{
|
|
25619
26034
|
"kind": "javascript-module",
|
|
25620
26035
|
"path": "src/utils/elapsed-time/elapsed-time.ts",
|
|
@@ -27554,6 +27969,49 @@
|
|
|
27554
27969
|
"kind": "javascript-module",
|
|
27555
27970
|
"path": "src/utils/read-color/read-color.ts",
|
|
27556
27971
|
"declarations": [
|
|
27972
|
+
{
|
|
27973
|
+
"kind": "function",
|
|
27974
|
+
"name": "paintedColor",
|
|
27975
|
+
"return": {
|
|
27976
|
+
"type": {
|
|
27977
|
+
"text": "ColorBytesAlpha | undefined"
|
|
27978
|
+
}
|
|
27979
|
+
},
|
|
27980
|
+
"parameters": [
|
|
27981
|
+
{
|
|
27982
|
+
"name": "context",
|
|
27983
|
+
"type": {
|
|
27984
|
+
"text": "CanvasRenderingContext2D"
|
|
27985
|
+
}
|
|
27986
|
+
},
|
|
27987
|
+
{
|
|
27988
|
+
"name": "value",
|
|
27989
|
+
"type": {
|
|
27990
|
+
"text": "string"
|
|
27991
|
+
}
|
|
27992
|
+
}
|
|
27993
|
+
],
|
|
27994
|
+
"description": "`value` painted onto a clear pixel and read back, alpha and all, or nothing\nwhere the engine does not parse it."
|
|
27995
|
+
},
|
|
27996
|
+
{
|
|
27997
|
+
"kind": "function",
|
|
27998
|
+
"name": "readColorAlpha",
|
|
27999
|
+
"return": {
|
|
28000
|
+
"type": {
|
|
28001
|
+
"text": "ColorBytesAlpha | undefined"
|
|
28002
|
+
}
|
|
28003
|
+
},
|
|
28004
|
+
"parameters": [
|
|
28005
|
+
{
|
|
28006
|
+
"name": "value",
|
|
28007
|
+
"type": {
|
|
28008
|
+
"text": "string"
|
|
28009
|
+
},
|
|
28010
|
+
"description": "A resolved color, as `getComputedStyle` reports one."
|
|
28011
|
+
}
|
|
28012
|
+
],
|
|
28013
|
+
"description": "A computed color as three sRGB bytes and its alpha, or nothing where it\ncannot be read.\n\n**Painting it is the only way to read it.** A color-typed property is\nresolved before it is reported, but resolved is not the same as converted:\nChrome hands back `lab(100 0 0)` for a token built through `oklab`, and\nscraping the first three numbers out of that and calling them red, green and\nblue made white arrive as `rgb(100, 0, 0)`. In light mode the near dots were\n`lab(0 0 0)`, which scrapes to black and looks right, so only dark mode\nshowed it: dark red mixed toward black, on a near-black ground.\n\n**A value the engine does not parse is refused**, so a caller chooses its\nown fallback rather than being handed a color nobody picked. A see-through\ncolor is read with its alpha: `rgb(255 0 0 / 50%)` is `[255, 0, 0, 0.5]`.\nIt was refused too, when the test for parsing was painting over black and\nover white, and Orb drew it gray.\n\nA readback is not free, so the answer is held against the string it came\nfrom, refusals included. The oldest goes when the store is full rather than\nall of them, or a page deriving colors on a slider pays for every frame\ntwice."
|
|
28014
|
+
},
|
|
27557
28015
|
{
|
|
27558
28016
|
"kind": "function",
|
|
27559
28017
|
"name": "readColor",
|
|
@@ -27571,7 +28029,7 @@
|
|
|
27571
28029
|
"description": "A resolved color, as `getComputedStyle` reports one."
|
|
27572
28030
|
}
|
|
27573
28031
|
],
|
|
27574
|
-
"description": "A computed color as three sRGB bytes, or nothing where it cannot be read.\n\n
|
|
28032
|
+
"description": "A computed color as three sRGB bytes, or nothing where it cannot be read or\nis see-through.\n\n`readColorAlpha` is the reading, and this keeps an opaque color only, which\nis what a caller with no use for alpha can draw as it is."
|
|
27575
28033
|
},
|
|
27576
28034
|
{
|
|
27577
28035
|
"kind": "function",
|
|
@@ -27594,6 +28052,22 @@
|
|
|
27594
28052
|
}
|
|
27595
28053
|
],
|
|
27596
28054
|
"exports": [
|
|
28055
|
+
{
|
|
28056
|
+
"kind": "js",
|
|
28057
|
+
"name": "paintedColor",
|
|
28058
|
+
"declaration": {
|
|
28059
|
+
"name": "paintedColor",
|
|
28060
|
+
"module": "src/utils/read-color/read-color.ts"
|
|
28061
|
+
}
|
|
28062
|
+
},
|
|
28063
|
+
{
|
|
28064
|
+
"kind": "js",
|
|
28065
|
+
"name": "readColorAlpha",
|
|
28066
|
+
"declaration": {
|
|
28067
|
+
"name": "readColorAlpha",
|
|
28068
|
+
"module": "src/utils/read-color/read-color.ts"
|
|
28069
|
+
}
|
|
28070
|
+
},
|
|
27597
28071
|
{
|
|
27598
28072
|
"kind": "js",
|
|
27599
28073
|
"name": "readColor",
|
|
@@ -31407,7 +31881,7 @@
|
|
|
31407
31881
|
"type": {
|
|
31408
31882
|
"text": "string"
|
|
31409
31883
|
},
|
|
31410
|
-
"default": "'0.
|
|
31884
|
+
"default": "'0.151.0'",
|
|
31411
31885
|
"description": "The version of the package this file ships in.\n\n**Written by `fusion/scripts/version.mjs`** wherever it writes the package's\n`package.json`, and stamped back into the repository beside it after a\nrelease, so the two never disagree; a spec beside this holds them to it.\nNothing else in the running code knows which release it is."
|
|
31412
31886
|
}
|
|
31413
31887
|
],
|
|
@@ -31967,6 +32441,6 @@
|
|
|
31967
32441
|
],
|
|
31968
32442
|
"helix": {
|
|
31969
32443
|
"package": "@fusion.dev/helix-core",
|
|
31970
|
-
"version": "0.
|
|
32444
|
+
"version": "0.151.0"
|
|
31971
32445
|
}
|
|
31972
32446
|
}
|