react-cheminfo 0.45.0 → 0.47.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 (97) hide show
  1. package/lib/chart/core/chartDomain.d.ts +30 -5
  2. package/lib/chart/core/chartDomain.d.ts.map +1 -1
  3. package/lib/chart/core/chartDomain.js +1 -0
  4. package/lib/chart/core/chartDomain.js.map +1 -1
  5. package/lib/chart/core/index.d.ts +1 -1
  6. package/lib/chart/core/index.d.ts.map +1 -1
  7. package/lib/chart/core/index.js +1 -1
  8. package/lib/chart/core/index.js.map +1 -1
  9. package/lib/chart/core/selectionGeometry.d.ts +8 -5
  10. package/lib/chart/core/selectionGeometry.d.ts.map +1 -1
  11. package/lib/chart/core/selectionGeometry.js +8 -5
  12. package/lib/chart/core/selectionGeometry.js.map +1 -1
  13. package/lib/chart/core/zoomDomain.d.ts +39 -4
  14. package/lib/chart/core/zoomDomain.d.ts.map +1 -1
  15. package/lib/chart/core/zoomDomain.js +90 -22
  16. package/lib/chart/core/zoomDomain.js.map +1 -1
  17. package/lib/chart/ui/SelectionRect.d.ts.map +1 -1
  18. package/lib/chart/ui/SelectionRect.js +1 -1
  19. package/lib/chart/ui/SelectionRect.js.map +1 -1
  20. package/lib/chart/ui/chartGestures.d.ts +26 -1
  21. package/lib/chart/ui/chartGestures.d.ts.map +1 -1
  22. package/lib/chart/ui/chartGestures.js +21 -0
  23. package/lib/chart/ui/chartGestures.js.map +1 -1
  24. package/lib/chart/ui/index.d.ts +1 -1
  25. package/lib/chart/ui/index.d.ts.map +1 -1
  26. package/lib/chart/ui/index.js +1 -1
  27. package/lib/chart/ui/index.js.map +1 -1
  28. package/lib/chart/ui/useChartZoom.d.ts.map +1 -1
  29. package/lib/chart/ui/useChartZoom.js +17 -1
  30. package/lib/chart/ui/useChartZoom.js.map +1 -1
  31. package/lib/i18n/core/chromeCatalog.d.ts +1 -1
  32. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
  33. package/lib/ir/core/irMode.d.ts.map +1 -1
  34. package/lib/ir/core/irMode.js +6 -1
  35. package/lib/ir/core/irMode.js.map +1 -1
  36. package/lib/locales/de.json +1 -0
  37. package/lib/locales/en.json +1 -0
  38. package/lib/locales/es.json +1 -0
  39. package/lib/locales/fr.json +1 -0
  40. package/lib/locales/it.json +1 -0
  41. package/lib/periodic/core/index.d.ts +1 -1
  42. package/lib/periodic/core/index.d.ts.map +1 -1
  43. package/lib/periodic/core/layout.d.ts +11 -0
  44. package/lib/periodic/core/layout.d.ts.map +1 -1
  45. package/lib/periodic/core/layout.js.map +1 -1
  46. package/lib/periodic/ui/ElementCell.d.ts +6 -2
  47. package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
  48. package/lib/periodic/ui/ElementCell.js +2 -2
  49. package/lib/periodic/ui/ElementCell.js.map +1 -1
  50. package/lib/periodic/ui/PeriodicTable.d.ts +12 -3
  51. package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
  52. package/lib/periodic/ui/PeriodicTable.js +5 -3
  53. package/lib/periodic/ui/PeriodicTable.js.map +1 -1
  54. package/lib/periodic/ui/PeriodicTableChrome.d.ts +13 -3
  55. package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
  56. package/lib/periodic/ui/PeriodicTableChrome.js +18 -6
  57. package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
  58. package/lib/split/ui/SplitColumn.d.ts +30 -0
  59. package/lib/split/ui/SplitColumn.d.ts.map +1 -0
  60. package/lib/split/ui/SplitColumn.js +20 -0
  61. package/lib/split/ui/SplitColumn.js.map +1 -0
  62. package/lib/split/ui/SplitRow.d.ts +15 -53
  63. package/lib/split/ui/SplitRow.d.ts.map +1 -1
  64. package/lib/split/ui/SplitRow.js +9 -90
  65. package/lib/split/ui/SplitRow.js.map +1 -1
  66. package/lib/split/ui/index.d.ts +3 -0
  67. package/lib/split/ui/index.d.ts.map +1 -1
  68. package/lib/split/ui/index.js +1 -0
  69. package/lib/split/ui/index.js.map +1 -1
  70. package/lib/split/ui/splitPanes.d.ts +73 -0
  71. package/lib/split/ui/splitPanes.d.ts.map +1 -0
  72. package/lib/split/ui/splitPanes.js +128 -0
  73. package/lib/split/ui/splitPanes.js.map +1 -0
  74. package/package.json +1 -1
  75. package/src/chart/core/chartDomain.ts +31 -5
  76. package/src/chart/core/index.ts +2 -0
  77. package/src/chart/core/selectionGeometry.ts +8 -5
  78. package/src/chart/core/zoomDomain.ts +109 -26
  79. package/src/chart/ui/SelectionRect.tsx +4 -0
  80. package/src/chart/ui/chartGestures.ts +41 -1
  81. package/src/chart/ui/index.ts +1 -1
  82. package/src/chart/ui/useChartZoom.ts +25 -1
  83. package/src/ir/core/irMode.ts +6 -1
  84. package/src/locales/de.json +1 -0
  85. package/src/locales/en.json +1 -0
  86. package/src/locales/es.json +1 -0
  87. package/src/locales/fr.json +1 -0
  88. package/src/locales/it.json +1 -0
  89. package/src/periodic/core/index.ts +1 -1
  90. package/src/periodic/core/layout.ts +12 -0
  91. package/src/periodic/ui/ElementCell.tsx +8 -4
  92. package/src/periodic/ui/PeriodicTable.tsx +23 -5
  93. package/src/periodic/ui/PeriodicTableChrome.tsx +28 -4
  94. package/src/split/ui/SplitColumn.tsx +36 -0
  95. package/src/split/ui/SplitRow.tsx +17 -208
  96. package/src/split/ui/index.ts +3 -0
  97. package/src/split/ui/splitPanes.tsx +267 -0
@@ -72,18 +72,29 @@ export declare const DEFAULT_Y_AXIS_RULES: Required<YAxisRules>;
72
72
  * between forty and sixty percent", so a drag narrows the horizontal axis and
73
73
  * leaves the height alone unless it is released past the baseline.
74
74
  *
75
+ * `dual` is the same reading gesture with a gate a reader can predict: a drag
76
+ * kept level narrows the horizontal axis alone, and one taken far enough up or
77
+ * down brings the height with it. It is what `xAxis` cannot be on a chart whose
78
+ * vertical axis has no baseline to cross — a titration curve climbing from pH 2
79
+ * to pH 12, a speciation diagram drawn over decades — where "has the pointer
80
+ * passed zero" is a question about the margin rather than about the data, and
81
+ * the answer to it is no for every drag made inside the plot. Here both windows
82
+ * are asked for where the curve is, and the preview changes shape as the
83
+ * threshold is crossed, so the rectangle is found by the hand that was already
84
+ * drawing one.
85
+ *
75
86
  * `box` is the tool: while it is chosen, the rectangle dragged out is the window,
76
87
  * both axes at once. It is a mode rather than a modifier because it is used in
77
88
  * runs — a baseline being examined is examined several times over — and a
78
89
  * modifier held down through each of them is a worse gesture than a tool pressed
79
90
  * once.
80
91
  *
81
- * The two are named apart from the whole of `DragMode` so that a chart offering
82
- * nothing but zoom tools can say so in its own signature — which is what stops
83
- * `select`, the one drag that moves no axis, from reaching a chart with no
84
- * handler for it.
92
+ * The three are named apart from the whole of `DragMode` so that a chart
93
+ * offering nothing but zoom tools can say so in its own signature — which is
94
+ * what stops `select`, the one drag that moves no axis, from reaching a chart
95
+ * with no handler for it.
85
96
  */
86
- export type ZoomDragMode = 'xAxis' | 'box';
97
+ export type ZoomDragMode = 'xAxis' | 'dual' | 'box';
87
98
  /**
88
99
  * What a drag across the plot asks for.
89
100
  *
@@ -141,6 +152,20 @@ export interface ZoomGestures {
141
152
  * @default true
142
153
  */
143
154
  wheel?: boolean;
155
+ /**
156
+ * Whether the chart answers `f` with a window fitted to everything drawn.
157
+ *
158
+ * The same thing the double click does, reachable without a pointer — and the
159
+ * one gesture a reader cannot discover by trying, which is why the key is the
160
+ * same `f` on every chart of the family rather than each one choosing.
161
+ *
162
+ * Turned off by a viewer that already owns its keys: the infrared shell runs
163
+ * `f` through its own command table, where the key is listed in a toolbar
164
+ * tooltip and in the documentation panel, and fits every pane of a stack
165
+ * rather than the one chart the pointer is on.
166
+ * @default true
167
+ */
168
+ keys?: boolean;
144
169
  }
145
170
  /** What the gestures come to when a viewer states none of them. */
146
171
  export declare const DEFAULT_ZOOM_GESTURES: Required<ZoomGestures>;
@@ -1 +1 @@
1
- {"version":3,"file":"chartDomain.d.ts","sourceRoot":"","sources":["../../../src/chart/core/chartDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpB,kFAAkF;IAClF,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAIrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE/C,gEAAgE;AAChE,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAGxD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,GAChB,OAAO,CAOT"}
1
+ {"version":3,"file":"chartDomain.d.ts","sourceRoot":"","sources":["../../../src/chart/core/chartDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpB,kFAAkF;IAClF,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAIrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE/C,gEAAgE;AAChE,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAIxD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,GAChB,OAAO,CAOT"}
@@ -24,6 +24,7 @@ export const DEFAULT_Y_AXIS_RULES = {
24
24
  export const DEFAULT_ZOOM_GESTURES = {
25
25
  drag: 'xAxis',
26
26
  wheel: true,
27
+ keys: true,
27
28
  };
28
29
  /**
29
30
  * Whether two windows show the same thing, compared by their four numbers.
@@ -1 +1 @@
1
- {"version":3,"file":"chartDomain.js","sourceRoot":"","sources":["../../../src/chart/core/chartDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAoDH,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;CAClB,CAAC;AAoFF,mEAAmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAoB,EACpB,IAAiB;IAEjB,OAAO,CACL,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chartDomain.js","sourceRoot":"","sources":["../../../src/chart/core/chartDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAoDH,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;CAClB,CAAC;AA6GF,mEAAmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAoB,EACpB,IAAiB;IAEjB,OAAO,CACL,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -52,5 +52,5 @@ export { READOUT_GAP, READOUT_LINES, READOUT_WIDTH, readoutPlacement, } from './
52
52
  export type { ViewBox, ViewState, ZoomBounds } from './viewTransform.ts';
53
53
  export { INITIAL_VIEW, MAXIMUM_CONTENT_SCALE, MAXIMUM_ZOOM, MINIMUM_ZOOM, baseViewBox, clampZoom, magnificationOf, panBy, viewBoxAttribute, viewBoxOf, zoomAbout, zoomToAboutCentre, } from './viewTransform.ts';
54
54
  export type { DragBox, ZoomSelection } from './zoomDomain.ts';
55
- export { MINIMUM_DRAG, releasedBeyondBaseline, scaledYAxis, zoomSelection, zoomedDomain, } from './zoomDomain.ts';
55
+ export { DUAL_ZOOM_TRAVEL, MINIMUM_DRAG, draggedBeyondLevel, releasedBeyondBaseline, scaledYAxis, zoomSelection, zoomedDomain, } from './zoomDomain.ts';
56
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart/core/index.ts"],"names":[],"mappings":"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"}
@@ -33,5 +33,5 @@ export { svgPointAt } from "./svgPoint.js";
33
33
  export { areaPath, profilePath, stickPath } from "./tracePath.js";
34
34
  export { READOUT_GAP, READOUT_LINES, READOUT_WIDTH, readoutPlacement, } from "./trackerReadout.js";
35
35
  export { INITIAL_VIEW, MAXIMUM_CONTENT_SCALE, MAXIMUM_ZOOM, MINIMUM_ZOOM, baseViewBox, clampZoom, magnificationOf, panBy, viewBoxAttribute, viewBoxOf, zoomAbout, zoomToAboutCentre, } from "./viewTransform.js";
36
- export { MINIMUM_DRAG, releasedBeyondBaseline, scaledYAxis, zoomSelection, zoomedDomain, } from "./zoomDomain.js";
36
+ export { DUAL_ZOOM_TRAVEL, MINIMUM_DRAG, draggedBeyondLevel, releasedBeyondBaseline, scaledYAxis, zoomSelection, zoomedDomain, } from "./zoomDomain.js";
37
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart/core/index.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,15 @@ export interface SelectionRectangle {
25
25
  /**
26
26
  * The rectangle to draw for a drag being made.
27
27
  *
28
- * A drag that takes the y axis with it is drawn at the height of the drag
29
- * itself, and one that asks for the x axis alone spans the whole plot.
28
+ * A drag that takes the y axis with it is drawn at the height `zoomSelection`
29
+ * worked out — the window the release will take, which is the drag's own height
30
+ * stretched to any baseline the viewer holds — and one that asks for the x axis
31
+ * alone spans the whole plot.
30
32
  * That is the gesture announcing itself before the button is let go: the
31
- * rectangle changing shape as the pointer crosses the baseline is the only
32
- * warning a user gets that the release is about to move both axes, and it is one
33
- * they can still act on.
33
+ * rectangle changing shape — as the pointer crosses the baseline, or as a
34
+ * `dual` drag leaves the level it started on — is the only warning a user gets
35
+ * that the release is about to move both axes, and it is one they can still act
36
+ * on.
34
37
  *
35
38
  * A drag too short to zoom draws nothing at all. Below `MINIMUM_DRAG` the
36
39
  * release does nothing — most clicks made on a trackpad wobble by a pixel or two
@@ -1 +1 @@
1
- {"version":3,"file":"selectionGeometry.d.ts","sourceRoot":"","sources":["../../../src/chart/core/selectionGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,oBAAoB;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,IAAI,EAAE,QAAQ,GACb,kBAAkB,GAAG,IAAI,CAe3B"}
1
+ {"version":3,"file":"selectionGeometry.d.ts","sourceRoot":"","sources":["../../../src/chart/core/selectionGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,oBAAoB;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,IAAI,EAAE,QAAQ,GACb,kBAAkB,GAAG,IAAI,CAe3B"}
@@ -14,12 +14,15 @@ import { MINIMUM_DRAG } from "./zoomDomain.js";
14
14
  /**
15
15
  * The rectangle to draw for a drag being made.
16
16
  *
17
- * A drag that takes the y axis with it is drawn at the height of the drag
18
- * itself, and one that asks for the x axis alone spans the whole plot.
17
+ * A drag that takes the y axis with it is drawn at the height `zoomSelection`
18
+ * worked out — the window the release will take, which is the drag's own height
19
+ * stretched to any baseline the viewer holds — and one that asks for the x axis
20
+ * alone spans the whole plot.
19
21
  * That is the gesture announcing itself before the button is let go: the
20
- * rectangle changing shape as the pointer crosses the baseline is the only
21
- * warning a user gets that the release is about to move both axes, and it is one
22
- * they can still act on.
22
+ * rectangle changing shape — as the pointer crosses the baseline, or as a
23
+ * `dual` drag leaves the level it started on — is the only warning a user gets
24
+ * that the release is about to move both axes, and it is one they can still act
25
+ * on.
23
26
  *
24
27
  * A drag too short to zoom draws nothing at all. Below `MINIMUM_DRAG` the
25
28
  * release does nothing — most clicks made on a trackpad wobble by a pixel or two
@@ -1 +1 @@
1
- {"version":3,"file":"selectionGeometry.js","sourceRoot":"","sources":["../../../src/chart/core/selectionGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAInD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA+B,EAC/B,IAAc;IAEd,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"selectionGeometry.js","sourceRoot":"","sources":["../../../src/chart/core/selectionGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAInD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA+B,EAC/B,IAAc;IAEd,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AAC1D,CAAC"}
@@ -23,6 +23,18 @@ import type { ChartScale } from './chartScale.ts';
23
23
  * hundred down went somewhere.
24
24
  */
25
25
  export declare const MINIMUM_DRAG = 4;
26
+ /**
27
+ * How far a `dual` drag has to travel vertically before it brings the y axis
28
+ * with it, in user units of the SVG.
29
+ *
30
+ * Far enough above `MINIMUM_DRAG` that no drag meant to stay level reaches it by
31
+ * the tremor of a hand or the slope of a trackpad swipe, and near enough that
32
+ * the rectangle a reader wants costs one gesture rather than a reach for the
33
+ * margin. The preview changes shape on the pixel it is crossed, so the number
34
+ * itself never has to be learnt: the first drag that crosses it teaches the
35
+ * gesture, and the first that recrosses it back shows the way out.
36
+ */
37
+ export declare const DUAL_ZOOM_TRAVEL = 24;
26
38
  /** The two corners of a drag, in the user units of the SVG. */
27
39
  export interface DragBox {
28
40
  /** Where the press landed, horizontally. */
@@ -34,7 +46,17 @@ export interface DragBox {
34
46
  /** Where it is vertically. */
35
47
  toY: number;
36
48
  }
37
- /** The drag as it is being made, for the preview rectangle to be drawn from. */
49
+ /**
50
+ * The drag as it is being made, for the preview rectangle to be drawn from.
51
+ *
52
+ * Its **vertical corners are the window the release will take**, not the two
53
+ * places the hand passed through. The two differ by the baseline a viewer's
54
+ * rules hold: on a mirrored chart zero runs across the middle of the plot, so a
55
+ * drag made wholly inside the reflected half crosses the baseline without ever
56
+ * reaching it, and the release stretches the window back to zero. A rectangle
57
+ * drawn at the height of the hand would promise a band between two intensities
58
+ * that letting go does not give.
59
+ */
38
60
  export interface ZoomSelection extends DragBox {
39
61
  /**
40
62
  * Whether letting go here would take the y axis with it, which is what the
@@ -49,9 +71,9 @@ export interface ZoomSelection extends DragBox {
49
71
  * than by the rectangle itself — so what the preview promises and what letting
50
72
  * go actually does are the same test rather than two that have to agree.
51
73
  *
52
- * A `select` drag is therefore always a band, however far past the baseline it
53
- * strays: its answer is two numbers on one axis, so a preview that grew into a
54
- * rectangle would promise a height nobody is ever told about.
74
+ * Which answer a mode gives is `takesYAxis`'s business, so a `select` drag is
75
+ * always a band however far past the baseline it strays, and a `dual` drag
76
+ * becomes a rectangle the moment it has travelled `DUAL_ZOOM_TRAVEL`.
55
77
  * @param drag - The drag being made, `null` when none is.
56
78
  * @param yScale - The y axis as it is currently zoomed.
57
79
  * @param rules - How the y axis behaves and what a drag means, defaulting to a
@@ -59,6 +81,19 @@ export interface ZoomSelection extends DragBox {
59
81
  * @returns The selection to draw, `null` when there is no drag.
60
82
  */
61
83
  export declare function zoomSelection(drag: DragBox | null, yScale: ChartScale, rules?: ZoomRules): ZoomSelection | null;
84
+ /**
85
+ * Whether a drag has left the level it started on by enough to ask for the y
86
+ * axis as well.
87
+ *
88
+ * Measured as the hand made it, before any clamping to the plot: a drag that ran
89
+ * out over the tick labels travelled however far it travelled. Nothing is
90
+ * latched — the answer is read off the two corners and nothing else — so a
91
+ * reader who drifted down and came back up is promised a band again, and the
92
+ * preview says so while the button is still down.
93
+ * @param drag - The drag being made or released, in user units of the SVG.
94
+ * @returns Whether the height comes along.
95
+ */
96
+ export declare function draggedBeyondLevel(drag: DragBox): boolean;
62
97
  /**
63
98
  * Whether a drag let go here asks for the y axis as well.
64
99
  *
@@ -1 +1 @@
1
- {"version":3,"file":"zoomDomain.d.ts","sourceRoot":"","sources":["../../../src/chart/core/zoomDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,IAAI,EACpB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,SAAc,GACpB,aAAa,GAAG,IAAI,CAoBtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,QAAQ,SAAgC,EACxC,UAAU,UAAkC,GAC3C,OAAO,CAIT;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,SAAc,GACpB,WAAW,GAAG,IAAI,CA8CpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,SAAgC,GACvC,WAAW,CAOb"}
1
+ {"version":3,"file":"zoomDomain.d.ts","sourceRoot":"","sources":["../../../src/chart/core/zoomDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,IAAI,EACpB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,SAAc,GACpB,aAAa,GAAG,IAAI,CAqBtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,QAAQ,SAAgC,EACxC,UAAU,UAAkC,GAC3C,OAAO,CAIT;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,SAAc,GACpB,WAAW,GAAG,IAAI,CAyCpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,SAAgC,GACvC,WAAW,CAOb"}
@@ -23,6 +23,18 @@ import { chartPixel, chartValue } from "./chartScale.js";
23
23
  * hundred down went somewhere.
24
24
  */
25
25
  export const MINIMUM_DRAG = 4;
26
+ /**
27
+ * How far a `dual` drag has to travel vertically before it brings the y axis
28
+ * with it, in user units of the SVG.
29
+ *
30
+ * Far enough above `MINIMUM_DRAG` that no drag meant to stay level reaches it by
31
+ * the tremor of a hand or the slope of a trackpad swipe, and near enough that
32
+ * the rectangle a reader wants costs one gesture rather than a reach for the
33
+ * margin. The preview changes shape on the pixel it is crossed, so the number
34
+ * itself never has to be learnt: the first drag that crosses it teaches the
35
+ * gesture, and the first that recrosses it back shows the way out.
36
+ */
37
+ export const DUAL_ZOOM_TRAVEL = 24;
26
38
  /**
27
39
  * The drag as the preview rectangle needs it.
28
40
  *
@@ -30,9 +42,9 @@ export const MINIMUM_DRAG = 4;
30
42
  * than by the rectangle itself — so what the preview promises and what letting
31
43
  * go actually does are the same test rather than two that have to agree.
32
44
  *
33
- * A `select` drag is therefore always a band, however far past the baseline it
34
- * strays: its answer is two numbers on one axis, so a preview that grew into a
35
- * rectangle would promise a height nobody is ever told about.
45
+ * Which answer a mode gives is `takesYAxis`'s business, so a `select` drag is
46
+ * always a band however far past the baseline it strays, and a `dual` drag
47
+ * becomes a rectangle the moment it has travelled `DUAL_ZOOM_TRAVEL`.
36
48
  * @param drag - The drag being made, `null` when none is.
37
49
  * @param yScale - The y axis as it is currently zoomed.
38
50
  * @param rules - How the y axis behaves and what a drag means, defaulting to a
@@ -42,20 +54,36 @@ export const MINIMUM_DRAG = 4;
42
54
  export function zoomSelection(drag, yScale, rules = {}) {
43
55
  if (drag === null)
44
56
  return null;
45
- const { baseline = DEFAULT_Y_AXIS_RULES.baseline, pointsDown = DEFAULT_Y_AXIS_RULES.pointsDown, drag: mode = 'xAxis', } = rules;
57
+ const { baseline = DEFAULT_Y_AXIS_RULES.baseline, keepBaseline = DEFAULT_Y_AXIS_RULES.keepBaseline, pointsDown = DEFAULT_Y_AXIS_RULES.pointsDown, drag: mode = 'xAxis', } = rules;
58
+ const zoomsYAxis = takesYAxis(drag, mode, yScale, baseline, pointsDown);
59
+ // Stretched in pixels rather than in values because the rectangle is drawn in
60
+ // pixels and the mapping is monotonic, so including the baseline's own pixel
61
+ // in the span is including the baseline in the window.
62
+ const held = zoomsYAxis && holdsBaseline(mode, keepBaseline);
63
+ const atBaseline = chartPixel(yScale, baseline);
46
64
  return {
47
65
  fromX: drag.fromX,
48
- fromY: drag.fromY,
66
+ fromY: held ? Math.min(drag.fromY, drag.toY, atBaseline) : drag.fromY,
49
67
  toX: drag.toX,
50
- toY: drag.toY,
51
- // The box tool takes the height always, so the preview is a rectangle from
52
- // the first pixel of the gesture rather than a full-height band that
53
- // suddenly becomes one; a select drag never takes it at all.
54
- zoomsYAxis: mode === 'box' ||
55
- (mode !== 'select' &&
56
- releasedBeyondBaseline(drag.toY, yScale, baseline, pointsDown)),
68
+ toY: held ? Math.max(drag.fromY, drag.toY, atBaseline) : drag.toY,
69
+ zoomsYAxis,
57
70
  };
58
71
  }
72
+ /**
73
+ * Whether a drag has left the level it started on by enough to ask for the y
74
+ * axis as well.
75
+ *
76
+ * Measured as the hand made it, before any clamping to the plot: a drag that ran
77
+ * out over the tick labels travelled however far it travelled. Nothing is
78
+ * latched — the answer is read off the two corners and nothing else — so a
79
+ * reader who drifted down and came back up is promised a band again, and the
80
+ * preview says so while the button is still down.
81
+ * @param drag - The drag being made or released, in user units of the SVG.
82
+ * @returns Whether the height comes along.
83
+ */
84
+ export function draggedBeyondLevel(drag) {
85
+ return Math.abs(drag.toY - drag.fromY) >= DUAL_ZOOM_TRAVEL;
86
+ }
59
87
  /**
60
88
  * Whether a drag let go here asks for the y axis as well.
61
89
  *
@@ -124,21 +152,18 @@ export function zoomedDomain(current, drag, plot, xScale, yScale, rules = {}) {
124
152
  Math.min(firstX, secondX),
125
153
  Math.max(firstX, secondX),
126
154
  ];
127
- // The box tool is asked for the rectangle it was given, wherever it was let
128
- // go; the reading gesture takes the height only when it crossed the baseline.
129
- if (mode !== 'box' &&
130
- !releasedBeyondBaseline(drag.toY, yScale, baseline, pointsDown)) {
155
+ if (!takesYAxis(drag, mode, yScale, baseline, pointsDown)) {
131
156
  return { x, y: current.y };
132
157
  }
133
158
  const fromY = chartValue(yScale, clamp(drag.fromY, plot.top, plot.bottom));
134
159
  const toY = chartValue(yScale, clamp(drag.toY, plot.top, plot.bottom));
135
160
  // Both ends, so a baseline the data runs *down* from — 100 percent
136
- // transmittance — is kept as surely as one it stands on. The box tool holds no
137
- // baseline at all: a rectangle dragged round a feature is a promise about
138
- // exactly that rectangle, and a viewer whose axis rules keep its baseline
139
- // would otherwise see the tool quietly return a taller window than the one
140
- // drawn.
141
- const holdBaseline = keepBaseline && mode !== 'box';
161
+ // transmittance — is kept as surely as one it stands on. Only the reading
162
+ // gesture holds a baseline: a rectangle dragged out deliberately, by the box
163
+ // tool or by a `dual` drag that left its level, is a promise about exactly
164
+ // that rectangle, and a viewer whose axis rules keep its baseline would
165
+ // otherwise see a taller window than the one drawn.
166
+ const holdBaseline = holdsBaseline(mode, keepBaseline);
142
167
  const bottom = holdBaseline
143
168
  ? Math.min(baseline, fromY, toY)
144
169
  : Math.min(fromY, toY);
@@ -172,4 +197,47 @@ export function scaledYAxis(current, factor, baseline = DEFAULT_Y_AXIS_RULES.bas
172
197
  ];
173
198
  return y[1] > y[0] ? { x: current.x, y } : current;
174
199
  }
200
+ /**
201
+ * Whether a drag brings the y axis with it, which is the one question the
202
+ * preview and the release must never answer differently.
203
+ *
204
+ * Asked once, here, rather than by each of them: a rectangle that promises a
205
+ * height the release then refuses teaches a reader that the chart is
206
+ * unreliable, and two copies of this test are how that comes about.
207
+ *
208
+ * The box tool takes the height always, so its preview is a rectangle from the
209
+ * first pixel of the gesture rather than a full-height band that suddenly
210
+ * becomes one. A `select` drag never takes it at all: its answer is two numbers
211
+ * on one axis, and a preview that grew into a rectangle would promise a height
212
+ * nobody is ever told about.
213
+ * @param drag - The drag being made or released, in user units of the SVG.
214
+ * @param mode - What a drag on this chart asks for.
215
+ * @param yScale - The y axis as it is currently zoomed.
216
+ * @param baseline - The value the reading gesture is judged against.
217
+ * @param pointsDown - Whether the data hangs below that baseline.
218
+ * @returns Whether the height comes along.
219
+ */
220
+ /**
221
+ * Whether the window keeps the baseline whatever the drag asked for, which the
222
+ * preview and the release must agree on as surely as they agree on the height.
223
+ *
224
+ * Only the reading gesture holds it. A rectangle dragged out deliberately — by
225
+ * the box tool, or by a `dual` drag that left its level — is a promise about
226
+ * exactly that rectangle.
227
+ * @param mode - What a drag on this chart asks for.
228
+ * @param keepBaseline - Whether the viewer's rules keep it.
229
+ * @returns Whether the baseline stays in the window.
230
+ */
231
+ function holdsBaseline(mode, keepBaseline) {
232
+ return keepBaseline && mode === 'xAxis';
233
+ }
234
+ function takesYAxis(drag, mode, yScale, baseline, pointsDown) {
235
+ if (mode === 'box')
236
+ return true;
237
+ if (mode === 'select')
238
+ return false;
239
+ if (mode === 'dual')
240
+ return draggedBeyondLevel(drag);
241
+ return releasedBeyondBaseline(drag.toY, yScale, baseline, pointsDown);
242
+ }
175
243
  //# sourceMappingURL=zoomDomain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zoomDomain.js","sourceRoot":"","sources":["../../../src/chart/core/zoomDomain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zoomDomain.js","sourceRoot":"","sources":["../../../src/chart/core/zoomDomain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionRect.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/SelectionRect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAgB5E"}
1
+ {"version":3,"file":"SelectionRect.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/SelectionRect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAoB5E"}
@@ -22,7 +22,7 @@ export function SelectionRect(props) {
22
22
  const rectangle = selectionRectangle(selection, plot);
23
23
  if (rectangle === null)
24
24
  return null;
25
- return (_jsx("rect", { x: rectangle.x, y: rectangle.y, width: rectangle.width, height: rectangle.height, pointerEvents: "none", style: selectionStyle }));
25
+ return (_jsx("rect", { "data-testid": "chart-selection", x: rectangle.x, y: rectangle.y, width: rectangle.width, height: rectangle.height, pointerEvents: "none", style: selectionStyle }));
26
26
  }
27
27
  const selectionStyle = {
28
28
  fill: CHART_COLORS.selection,
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionRect.js","sourceRoot":"","sources":["../../../src/chart/ui/SelectionRect.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAUlE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAElC,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,eACE,CAAC,EAAE,SAAS,CAAC,CAAC,EACd,CAAC,EAAE,SAAS,CAAC,CAAC,EACd,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,aAAa,EAAC,MAAM,EACpB,KAAK,EAAE,cAAc,GACrB,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC,SAAS;IAC5B,MAAM,EAAE,YAAY,CAAC,eAAe;CAC5B,CAAC"}
1
+ {"version":3,"file":"SelectionRect.js","sourceRoot":"","sources":["../../../src/chart/ui/SelectionRect.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAUlE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAElC,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,8BAIc,iBAAiB,EAC7B,CAAC,EAAE,SAAS,CAAC,CAAC,EACd,CAAC,EAAE,SAAS,CAAC,CAAC,EACd,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,aAAa,EAAC,MAAM,EACpB,KAAK,EAAE,cAAc,GACrB,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC,SAAS;IAC5B,MAAM,EAAE,YAAY,CAAC,eAAe;CAC5B,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * exactly where it was, and deciding between them in one place is what stops a
14
14
  * gesture reporting a range and a click for the same drag.
15
15
  */
16
- import type { PointerEvent as ReactPointerEvent } from 'react';
16
+ import type { KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent } from 'react';
17
17
  import type { ChartDomain, ZoomRules } from '../core/chartDomain.ts';
18
18
  import type { PlotRect } from '../core/chartGeometry.ts';
19
19
  import type { ChartScale } from '../core/chartScale.ts';
@@ -21,6 +21,7 @@ import type { ChartPoint } from '../core/svgPoint.ts';
21
21
  import type { DragBox } from '../core/zoomDomain.ts';
22
22
  /** One gesture on the SVG, as React hands it over. */
23
23
  type PointerHandler = (event: ReactPointerEvent<SVGSVGElement>) => void;
24
+ type KeyboardHandler = (event: ReactKeyboardEvent<SVGSVGElement>) => void;
24
25
  /**
25
26
  * Which keys were held as a click was let go.
26
27
  *
@@ -45,7 +46,31 @@ export interface ChartZoomHandlers {
45
46
  onPointerUp: PointerHandler;
46
47
  onPointerCancel: PointerHandler;
47
48
  onDoubleClick: () => void;
49
+ onKeyDown: KeyboardHandler;
50
+ /**
51
+ * So the chart can hold the caret, which is what lets a key reach it.
52
+ *
53
+ * In the tab order rather than merely focusable by a click, because the chart
54
+ * is* the widget here: a reader who navigates by keyboard has no other way to
55
+ * reach it, and a chart nobody can focus answers no key at all. A viewer that
56
+ * answers none takes itself back out of the order.
57
+ */
58
+ tabIndex: number;
48
59
  }
60
+ /** The key that fits the window to everything drawn, on every chart. */
61
+ export declare const FIT_KEY = "f";
62
+ /**
63
+ * Whether a key press asks for the window to be fitted.
64
+ *
65
+ * A key pressed with a modifier belongs to the browser or to the page — Ctrl+F
66
+ * is a search, and a chart that swallowed it to fit itself would be a chart
67
+ * people stop typing near — and a key delivered to a field is part of what is
68
+ * being written. Compared case-insensitively, so a capital arriving from a held
69
+ * shift still fits.
70
+ * @param event - The key press, as React delivers it or as the DOM does.
71
+ * @returns Whether the chart should fit its window.
72
+ */
73
+ export declare function asksToFit(event: Pick<KeyboardEvent, 'key' | 'ctrlKey' | 'metaKey' | 'altKey' | 'target'>): boolean;
49
74
  /** What a host asks to be told, beyond the window it is shown anyway. */
50
75
  export interface ChartGestureReports {
51
76
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chartGestures.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/chartGestures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKrD,sDAAsD;AACtD,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC;CACd;AAED,wDAAwD;AACxD,eAAO,MAAM,YAAY,EAAE,mBAAkD,CAAC;AAE9E,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,eAAe,EAAE,cAAc,CAAC;IAChC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAClD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;CAClD;AAED,iEAAiE;AACjE,MAAM,WAAW,IAAK,SAAQ,OAAO;IACnC,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,mBAAmB,EAC5B,SAAS,GAAE,mBAAkC,GAC5C,WAAW,GAAG,IAAI,CAcpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,EACvC,GAAG,EAAE,aAAa,GAAG,IAAI,EACzB,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,SAAS,GAC5D,IAAI,GAAG,IAAI,CAeb;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,EACvC,GAAG,EAAE,aAAa,GAAG,IAAI,GACxB,IAAI,GAAG,IAAI,CAKb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAIzE"}
1
+ {"version":3,"file":"chartGestures.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/chartGestures.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,33 @@
13
13
  * exactly where it was, and deciding between them in one place is what stops a
14
14
  * gesture reporting a range and a click for the same drag.
15
15
  */
16
+ import { isEditingField } from "../../panel/core/isEditingField.js";
16
17
  import { chartValue } from "../core/chartScale.js";
17
18
  import { svgPointAt } from "../core/svgPoint.js";
18
19
  import { MINIMUM_DRAG, zoomedDomain } from "../core/zoomDomain.js";
19
20
  import { isInsidePlot } from "./useChartPointer.js";
20
21
  /** No key held, which is what a plain click reports. */
21
22
  export const NO_MODIFIERS = { shift: false, alt: false };
23
+ /** The key that fits the window to everything drawn, on every chart. */
24
+ export const FIT_KEY = 'f';
25
+ /**
26
+ * Whether a key press asks for the window to be fitted.
27
+ *
28
+ * A key pressed with a modifier belongs to the browser or to the page — Ctrl+F
29
+ * is a search, and a chart that swallowed it to fit itself would be a chart
30
+ * people stop typing near — and a key delivered to a field is part of what is
31
+ * being written. Compared case-insensitively, so a capital arriving from a held
32
+ * shift still fits.
33
+ * @param event - The key press, as React delivers it or as the DOM does.
34
+ * @returns Whether the chart should fit its window.
35
+ */
36
+ export function asksToFit(event) {
37
+ if (event.ctrlKey || event.metaKey || event.altKey)
38
+ return false;
39
+ if (isEditingField(event.target))
40
+ return false;
41
+ return event.key.toLowerCase() === FIT_KEY;
42
+ }
22
43
  /**
23
44
  * What letting go of a drag comes to, told to the host on the way.
24
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chartGestures.js","sourceRoot":"","sources":["../../../src/chart/ui/chartGestures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartGestures.js","sourceRoot":"","sources":["../../../src/chart/ui/chartGestures.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export { SelectionRect } from './SelectionRect.tsx';
34
34
  export type { LegendEntry, TraceLegendProps } from './TraceLegend.tsx';
35
35
  export { TraceLegend } from './TraceLegend.tsx';
36
36
  export type { ChartClickModifiers } from './chartGestures.ts';
37
- export { NO_MODIFIERS } from './chartGestures.ts';
37
+ export { FIT_KEY, NO_MODIFIERS, asksToFit } from './chartGestures.ts';
38
38
  export { chartSurfaceStyle } from './chartSurface.ts';
39
39
  export type { ChartPointer, ChartPointerOptions } from './useChartPointer.ts';
40
40
  export { isInsidePlot, leftChart, nextChartPointer, sameReading, useChartPointer, } from './useChartPointer.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}