@elastic/charts 50.0.2 → 50.1.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 (119) hide show
  1. package/README.md +7 -7
  2. package/dist/chart_types/partition_chart/layout/config.d.ts +9 -1
  3. package/dist/chart_types/partition_chart/layout/config.d.ts.map +1 -1
  4. package/dist/chart_types/partition_chart/layout/config.js.map +1 -1
  5. package/dist/chart_types/partition_chart/layout/utils/legend.js +2 -2
  6. package/dist/chart_types/partition_chart/layout/utils/legend.js.map +1 -1
  7. package/dist/chart_types/partition_chart/layout/viewmodel/picked_shapes.js +54 -1
  8. package/dist/chart_types/partition_chart/layout/viewmodel/picked_shapes.js.map +1 -1
  9. package/dist/chart_types/partition_chart/state/selectors/tooltip.js +7 -5
  10. package/dist/chart_types/partition_chart/state/selectors/tooltip.js.map +1 -1
  11. package/dist/chart_types/timeslip/{timeslip → projections}/axis_model.d.ts +0 -0
  12. package/dist/chart_types/timeslip/projections/axis_model.d.ts.map +1 -0
  13. package/dist/chart_types/timeslip/{timeslip → projections}/axis_model.js +13 -6
  14. package/dist/chart_types/timeslip/projections/axis_model.js.map +1 -0
  15. package/dist/chart_types/timeslip/{timeslip → projections}/domain_tween.d.ts +0 -0
  16. package/dist/chart_types/timeslip/projections/domain_tween.d.ts.map +1 -0
  17. package/dist/chart_types/timeslip/{timeslip → projections}/domain_tween.js +1 -1
  18. package/dist/chart_types/timeslip/projections/domain_tween.js.map +1 -0
  19. package/dist/chart_types/timeslip/{timeslip/utils → projections}/scale.d.ts +0 -0
  20. package/dist/chart_types/timeslip/projections/scale.d.ts.map +1 -0
  21. package/dist/chart_types/timeslip/projections/scale.js +17 -0
  22. package/dist/chart_types/timeslip/projections/scale.js.map +1 -0
  23. package/dist/chart_types/timeslip/projections/zoom_pan.d.ts +2 -0
  24. package/dist/chart_types/timeslip/projections/zoom_pan.d.ts.map +1 -0
  25. package/dist/chart_types/timeslip/projections/zoom_pan.js +123 -0
  26. package/dist/chart_types/timeslip/projections/zoom_pan.js.map +1 -0
  27. package/dist/chart_types/timeslip/timeslip/config.d.ts +2 -0
  28. package/dist/chart_types/timeslip/timeslip/config.d.ts.map +1 -0
  29. package/dist/chart_types/timeslip/timeslip/config.js +84 -0
  30. package/dist/chart_types/timeslip/timeslip/config.js.map +1 -0
  31. package/dist/chart_types/timeslip/timeslip/data_fetch.d.ts +8 -0
  32. package/dist/chart_types/timeslip/timeslip/data_fetch.d.ts.map +1 -0
  33. package/dist/chart_types/timeslip/timeslip/data_fetch.js +33 -0
  34. package/dist/chart_types/timeslip/timeslip/data_fetch.js.map +1 -0
  35. package/dist/chart_types/timeslip/timeslip/render/annotations/chart_title.js +4 -4
  36. package/dist/chart_types/timeslip/timeslip/render/annotations/chart_title.js.map +1 -1
  37. package/dist/chart_types/timeslip/timeslip/render/annotations/time_extent.js +2 -2
  38. package/dist/chart_types/timeslip/timeslip/render/annotations/time_extent.js.map +1 -1
  39. package/dist/chart_types/timeslip/timeslip/render/annotations/time_unit.js +5 -5
  40. package/dist/chart_types/timeslip/timeslip/render/annotations/time_unit.js.map +1 -1
  41. package/dist/chart_types/timeslip/timeslip/render/cartesian.d.ts +3 -3
  42. package/dist/chart_types/timeslip/timeslip/render/cartesian.d.ts.map +1 -1
  43. package/dist/chart_types/timeslip/timeslip/render/cartesian.js +8 -10
  44. package/dist/chart_types/timeslip/timeslip/render/cartesian.js.map +1 -1
  45. package/dist/chart_types/timeslip/timeslip/render/column.js +15 -49
  46. package/dist/chart_types/timeslip/timeslip/render/column.js.map +1 -1
  47. package/dist/chart_types/timeslip/timeslip/render/glyphs/bar.js +6 -7
  48. package/dist/chart_types/timeslip/timeslip/render/glyphs/bar.js.map +1 -1
  49. package/dist/chart_types/timeslip/timeslip/render/glyphs/boxplot.js +6 -6
  50. package/dist/chart_types/timeslip/timeslip/render/glyphs/boxplot.js.map +1 -1
  51. package/dist/chart_types/timeslip/timeslip/render/raster.js +98 -22
  52. package/dist/chart_types/timeslip/timeslip/render/raster.js.map +1 -1
  53. package/dist/chart_types/timeslip/timeslip/timeslip_render.d.ts +1 -7
  54. package/dist/chart_types/timeslip/timeslip/timeslip_render.d.ts.map +1 -1
  55. package/dist/chart_types/timeslip/timeslip/timeslip_render.js +127 -315
  56. package/dist/chart_types/timeslip/timeslip/timeslip_render.js.map +1 -1
  57. package/dist/chart_types/timeslip/timeslip_api.d.ts +1 -1
  58. package/dist/chart_types/timeslip/timeslip_api.d.ts.map +1 -1
  59. package/dist/chart_types/timeslip/timeslip_chart.js +1 -0
  60. package/dist/chart_types/timeslip/timeslip_chart.js.map +1 -1
  61. package/dist/chart_types/timeslip/utils/animation.d.ts +2 -0
  62. package/dist/chart_types/timeslip/utils/animation.d.ts.map +1 -0
  63. package/dist/chart_types/timeslip/utils/animation.js +21 -0
  64. package/dist/chart_types/timeslip/utils/animation.js.map +1 -0
  65. package/dist/chart_types/timeslip/{timeslip/utils → utils}/dom.d.ts +0 -0
  66. package/dist/chart_types/timeslip/utils/dom.d.ts.map +1 -0
  67. package/dist/chart_types/timeslip/utils/dom.js +21 -0
  68. package/dist/chart_types/timeslip/utils/dom.js.map +1 -0
  69. package/dist/chart_types/timeslip/{timeslip/utils → utils}/math.d.ts +0 -0
  70. package/dist/chart_types/timeslip/utils/math.d.ts.map +1 -0
  71. package/dist/chart_types/timeslip/{timeslip/utils → utils}/math.js +1 -1
  72. package/dist/chart_types/timeslip/utils/math.js.map +1 -0
  73. package/dist/chart_types/timeslip/utils/multitouch.d.ts +2 -0
  74. package/dist/chart_types/timeslip/utils/multitouch.d.ts.map +1 -0
  75. package/dist/chart_types/timeslip/utils/multitouch.js +69 -0
  76. package/dist/chart_types/timeslip/utils/multitouch.js.map +1 -0
  77. package/dist/chart_types/wordcloud/state/chart_state.js +2 -2
  78. package/dist/chart_types/wordcloud/state/chart_state.js.map +1 -1
  79. package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.d.ts +16 -0
  80. package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.d.ts.map +1 -0
  81. package/dist/chart_types/xy_chart/axes/timeslip/{rasters.js → continuous_time_rasters.js} +118 -132
  82. package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.js.map +1 -0
  83. package/dist/chart_types/xy_chart/axes/timeslip/locale_translations.d.ts +2 -0
  84. package/dist/chart_types/xy_chart/axes/timeslip/locale_translations.d.ts.map +1 -0
  85. package/dist/chart_types/xy_chart/axes/timeslip/{time_unit_translations.js → locale_translations.js} +14 -3
  86. package/dist/chart_types/xy_chart/axes/timeslip/locale_translations.js.map +1 -0
  87. package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js +17 -16
  88. package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js.map +1 -1
  89. package/dist/chart_types/xy_chart/axes/timeslip/numerical_rasters.d.ts +2 -0
  90. package/dist/chart_types/xy_chart/axes/timeslip/numerical_rasters.d.ts.map +1 -0
  91. package/dist/chart_types/xy_chart/axes/timeslip/numerical_rasters.js +87 -0
  92. package/dist/chart_types/xy_chart/axes/timeslip/numerical_rasters.js.map +1 -0
  93. package/dist/common/iterables.js +63 -21
  94. package/dist/common/iterables.js.map +1 -1
  95. package/dist/utils/time_zone.js +2 -0
  96. package/dist/utils/time_zone.js.map +1 -1
  97. package/package.json +1 -1
  98. package/dist/chart_types/partition_chart/layout/viewmodel/tooltip_info.d.ts +0 -2
  99. package/dist/chart_types/partition_chart/layout/viewmodel/tooltip_info.d.ts.map +0 -1
  100. package/dist/chart_types/partition_chart/layout/viewmodel/tooltip_info.js +0 -40
  101. package/dist/chart_types/partition_chart/layout/viewmodel/tooltip_info.js.map +0 -1
  102. package/dist/chart_types/timeslip/timeslip/axis_model.d.ts.map +0 -1
  103. package/dist/chart_types/timeslip/timeslip/axis_model.js.map +0 -1
  104. package/dist/chart_types/timeslip/timeslip/domain_tween.d.ts.map +0 -1
  105. package/dist/chart_types/timeslip/timeslip/domain_tween.js.map +0 -1
  106. package/dist/chart_types/timeslip/timeslip/utils/dom.d.ts.map +0 -1
  107. package/dist/chart_types/timeslip/timeslip/utils/dom.js +0 -29
  108. package/dist/chart_types/timeslip/timeslip/utils/dom.js.map +0 -1
  109. package/dist/chart_types/timeslip/timeslip/utils/math.d.ts.map +0 -1
  110. package/dist/chart_types/timeslip/timeslip/utils/math.js.map +0 -1
  111. package/dist/chart_types/timeslip/timeslip/utils/scale.d.ts.map +0 -1
  112. package/dist/chart_types/timeslip/timeslip/utils/scale.js +0 -16
  113. package/dist/chart_types/timeslip/timeslip/utils/scale.js.map +0 -1
  114. package/dist/chart_types/xy_chart/axes/timeslip/rasters.d.ts +0 -8
  115. package/dist/chart_types/xy_chart/axes/timeslip/rasters.d.ts.map +0 -1
  116. package/dist/chart_types/xy_chart/axes/timeslip/rasters.js.map +0 -1
  117. package/dist/chart_types/xy_chart/axes/timeslip/time_unit_translations.d.ts +0 -2
  118. package/dist/chart_types/xy_chart/axes/timeslip/time_unit_translations.d.ts.map +0 -1
  119. package/dist/chart_types/xy_chart/axes/timeslip/time_unit_translations.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"raster.js","sourceRoot":"","sources":["../../../../../src/chart_types/timeslip/timeslip/render/raster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raster.js","sourceRoot":"","sources":["../../../../../src/chart_types/timeslip/timeslip/render/raster.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,2 @@
1
- import { BoxplotRow } from './render/glyphs/boxplot';
2
- /** @public */
3
- export declare type TimeslipDataRows = Array<{
4
- epochMs: number;
5
- boxplot?: BoxplotRow['boxplot'];
6
- value?: number;
7
- }>;
1
+ export {};
8
2
  //# sourceMappingURL=timeslip_render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeslip_render.d.ts","sourceRoot":"","sources":["../../../../src/chart_types/timeslip/timeslip/timeslip_render.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA0MrD,cAAc;AACd,oBAAY,gBAAgB,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"timeslip_render.d.ts","sourceRoot":"","sources":["../../../../src/chart_types/timeslip/timeslip/timeslip_render.ts"],"names":[],"mappings":""}
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __read = (this && this.__read) || function (o, n) {
14
3
  var m = typeof Symbol === "function" && o[Symbol.iterator];
15
4
  if (!m) return o;
@@ -37,254 +26,84 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
26
  };
38
27
  Object.defineProperty(exports, "__esModule", { value: true });
39
28
  exports.timeslipRender = void 0;
40
- var time_zone_1 = require("../../../utils/time_zone");
41
- var cached_chrono_1 = require("../../xy_chart/axes/timeslip/chrono/cached_chrono");
42
- var multilayer_ticks_1 = require("../../xy_chart/axes/timeslip/multilayer_ticks");
43
- var rasters_1 = require("../../xy_chart/axes/timeslip/rasters");
44
- var axis_model_1 = require("./axis_model");
29
+ var continuous_time_rasters_1 = require("../../xy_chart/axes/timeslip/continuous_time_rasters");
30
+ var numerical_rasters_1 = require("../../xy_chart/axes/timeslip/numerical_rasters");
31
+ var axis_model_1 = require("../projections/axis_model");
32
+ var domain_tween_1 = require("../projections/domain_tween");
33
+ var scale_1 = require("../projections/scale");
34
+ var zoom_pan_1 = require("../projections/zoom_pan");
35
+ var animation_1 = require("../utils/animation");
36
+ var dom_1 = require("../utils/dom");
37
+ var multitouch_1 = require("../utils/multitouch");
38
+ var config_1 = require("./config");
45
39
  var data_1 = require("./data");
46
- var domain_tween_1 = require("./domain_tween");
40
+ var data_fetch_1 = require("./data_fetch");
47
41
  var chart_title_1 = require("./render/annotations/chart_title");
48
42
  var time_extent_1 = require("./render/annotations/time_extent");
49
43
  var time_unit_1 = require("./render/annotations/time_unit");
50
44
  var cartesian_1 = require("./render/cartesian");
51
45
  var debug_box_1 = require("./render/glyphs/debug_box");
52
- var dom_1 = require("./utils/dom");
53
- var math_1 = require("./utils/math");
54
- var scale_1 = require("./utils/scale");
55
- var panOngoing = function (interactionState) { return Number.isFinite(interactionState.dragStartX); };
56
- var initialDarkMode = false;
57
- var drawCartesianBox = false;
58
- var minZoom = 0;
59
- var maxZoom = 35;
60
- var lineThicknessSteps = [0.5, 0.75, 1, 1, 1, 1.25, 1.25, 1.5, 1.5, 1.75, 1.75, 2, 2, 2, 2, 2];
61
- var lumaSteps = [192, 72, 32, 16, 8, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0];
62
- var smallFontSize = 12;
63
- var timeZone = (0, time_zone_1.getValidatedTimeZone)((0, time_zone_1.getZoneFromSpecs)([]));
64
- var themeLight = {
65
- defaultFontColor: 'black',
66
- subduedFontColor: '#393939',
67
- offHourFontColor: 'black',
68
- weekendFontColor: 'darkred',
69
- backgroundColor: { r: 255, g: 255, b: 255 },
70
- lumaSteps: lumaSteps,
71
- };
72
- var themeDark = {
73
- defaultFontColor: 'white',
74
- subduedFontColor: 'darkgrey',
75
- offHourFontColor: 'white',
76
- weekendFontColor: 'indianred',
77
- backgroundColor: { r: 0, g: 0, b: 0 },
78
- lumaSteps: lumaSteps.map(function (l) { return 255 - l; }),
79
- };
80
- var rasterConfig = {
81
- minimumTickPixelDistance: multilayer_ticks_1.MINIMUM_TICK_PIXEL_DISTANCE,
82
- locale: multilayer_ticks_1.DEFAULT_LOCALE,
83
- };
84
- var config = __assign(__assign(__assign({ darkMode: initialDarkMode }, (initialDarkMode ? themeDark : themeLight)), rasterConfig), { sparse: false, implicit: false, maxLabelRowCount: 2, a11y: {
85
- contrast: 'medium',
86
- }, numUnit: 'short', barChroma: { r: 96, g: 146, b: 192 }, barFillAlpha: 0.3, lineThicknessSteps: lineThicknessSteps, domainFrom: (0, cached_chrono_1.cachedZonedDateTimeFrom)({ timeZone: timeZone, year: 2012, month: 1, day: 1 })[cached_chrono_1.timeProp.epochSeconds], domainTo: (0, cached_chrono_1.cachedZonedDateTimeFrom)({ timeZone: timeZone, year: 2022, month: 1, day: 1 })[cached_chrono_1.timeProp.epochSeconds], smallFontSize: smallFontSize, cssFontShorthand: "normal normal 100 ".concat(smallFontSize, "px Inter, Helvetica, Arial, sans-serif"), monospacedFontShorthand: "normal normal 100 ".concat(smallFontSize, "px \"Roboto Mono\", Consolas, Menlo, Courier, monospace"), rowPixelPitch: 16, horizontalPixelOffset: 4, verticalPixelOffset: 6, clipLeft: true, clipRight: true, yTickOverhang: 8, yTickGap: 8 });
87
- var rasterSelector = (0, rasters_1.rasters)(rasterConfig, timeZone);
88
- var ZERO_Y_BASE = true;
89
- var horizontalCartesianAreaPad = [0.04, 0.04];
90
- var verticalCartesianAreaPad = [0.12, 0.12];
91
- var initialZoom = 5.248;
92
- var initialPan = 0.961;
93
- var localeOptions = {
94
- hour12: false,
95
- year: 'numeric',
96
- month: 'short',
97
- day: '2-digit',
98
- hour: '2-digit',
99
- minute: '2-digit',
100
- second: '2-digit',
101
- };
102
- var defaultLabelFormat = new Intl.DateTimeFormat(config.locale, {
103
- weekday: 'short',
104
- hour: 'numeric',
105
- minute: 'numeric',
106
- timeZone: timeZone,
107
- }).format.bind(Intl.DateTimeFormat);
108
- var defaultMinorTickLabelFormat = new Intl.DateTimeFormat(config.locale, {
109
- weekday: 'short',
110
- hour: 'numeric',
111
- minute: 'numeric',
112
- timeZone: timeZone,
113
- }).format.bind(Intl.DateTimeFormat);
114
- var fadeOutPixelWidth = 12;
115
- var chartTopFontSize = config.smallFontSize + 2;
116
- var background = config.backgroundColor;
117
- var backgroundFillStyle = "rgba(".concat(background.r, ",").concat(background.g, ",").concat(background.b, ",1)");
118
- var dragVelocityAttenuation = 0.92;
119
- var wheelPanVelocityDivisor = 1000;
120
- var wheelZoomVelocityDivisor = 250;
121
- var keyZoomVelocityDivisor = 2;
122
- var keyPanVelocityDivisor = 10;
123
- var velocityThreshold = 0.01;
124
- var touchMidpoint = function (multitouch) { return (multitouch[0].x + multitouch[1].x) / 2; };
125
- var isNonNull = function (thing) { return thing !== null; };
126
- var invalid = function (dataState, dataDemand) {
127
- var _a, _b, _c, _d, _e, _f, _g, _h;
128
- return !dataState.valid ||
129
- dataState.binUnit !== dataDemand.binUnit ||
130
- dataState.binUnitCount !== dataDemand.binUnitCount ||
131
- ((_b = (_a = dataDemand.lo) === null || _a === void 0 ? void 0 : _a.timePointSec) !== null && _b !== void 0 ? _b : -Infinity) < ((_d = (_c = dataState.lo) === null || _c === void 0 ? void 0 : _c.timePointSec) !== null && _d !== void 0 ? _d : -Infinity) ||
132
- ((_f = (_e = dataDemand.hi) === null || _e === void 0 ? void 0 : _e.timePointSec) !== null && _f !== void 0 ? _f : Infinity) > ((_h = (_g = dataState.hi) === null || _g === void 0 ? void 0 : _g.timePointSec) !== null && _h !== void 0 ? _h : Infinity);
133
- };
134
- var updateDataState = function (dataState, dataDemand, dataResponse) {
135
- dataState.pending = false;
136
- dataState.valid = true;
137
- dataState.lo = dataDemand.lo;
138
- dataState.hi = dataDemand.hi;
139
- dataState.binUnit = dataDemand.binUnit;
140
- dataState.binUnitCount = dataDemand.binUnitCount;
141
- dataState.dataResponse = dataResponse;
142
- };
143
- var yTickNumberFormatter = new Intl.NumberFormat(config.locale, config.numUnit === 'none'
46
+ var HEADER_ROW_Y_OFFSET = 3;
47
+ var getNullDimensions = function () { return ({
48
+ outerSize: NaN,
49
+ innerLeading: NaN,
50
+ innerTrailing: NaN,
51
+ innerSize: NaN,
52
+ }); };
53
+ var getNullInteractionState = function () { return ({
54
+ horizontalZoomPan: (0, zoom_pan_1.initialZoomPan)(),
55
+ multitouch: (0, multitouch_1.initialMultitouch)(),
56
+ niceDomainMin: NaN,
57
+ niceDomainMax: NaN,
58
+ horizontalScreenDimensions: getNullDimensions(),
59
+ verticalScreenDimensions: getNullDimensions(),
60
+ }); };
61
+ var rasterSelector = config_1.HORIZONTAL_AXIS === 'continuousTime' ? (0, continuous_time_rasters_1.continuousTimeRasters)(config_1.rasterConfig, config_1.timeZone) : (0, numerical_rasters_1.numericalRasters)(config_1.rasterConfig);
62
+ var yTickNumberFormatter = new Intl.NumberFormat(config_1.config.locale, config_1.config.numUnit === 'none'
144
63
  ? {}
145
64
  : {
146
65
  notation: 'compact',
147
- compactDisplay: config.numUnit,
148
- }).format.bind(Intl.NumberFormat);
149
- var zoomMultiplier = function (zoom) { return Math.pow(2, zoom); };
150
- var inCartesianArea = function (screenDimensions, e) {
151
- var x = (0, dom_1.zoomSafePointerX)(e);
152
- var y = (0, dom_1.zoomSafePointerY)(e);
153
- var innerTop = screenDimensions.innerTop, innerBottom = screenDimensions.innerBottom, innerLeft = screenDimensions.innerLeft, innerRight = screenDimensions.innerRight;
154
- return innerLeft <= x && x <= innerRight && innerTop <= y && y <= innerBottom;
155
- };
156
- var getTimeDomain = function (interactionState, fromSec, toSec) {
157
- var fullTimeExtent = toSec - fromSec;
158
- var pan = interactionState.pan;
159
- var zoomedTimeExtent = fullTimeExtent / zoomMultiplier(interactionState.zoom);
160
- var leeway = fullTimeExtent - zoomedTimeExtent;
161
- var domainFrom = fromSec + pan * leeway;
162
- var domainTo = toSec - (1 - pan) * leeway;
163
- return { domainFrom: domainFrom, domainTo: domainTo };
164
- };
165
- var getPanDeltaPerDragPixel = function (interactionState) {
166
- return 1 / ((zoomMultiplier(interactionState.zoom) - 1) * interactionState.screenDimensions.innerWidth);
167
- };
168
- var panFromDeltaPixel = function (interactionState, panStart, delta) {
169
- var panDeltaPerDragPixel = getPanDeltaPerDragPixel(interactionState);
170
- interactionState.pan = Math.max(0, Math.min(1, panStart - panDeltaPerDragPixel * delta)) || 0;
171
- };
172
- var inCartesianBand = function (screenDimensions, y) {
173
- var cartesianTop = screenDimensions.innerTop, cartesianBottom = screenDimensions.innerBottom;
174
- return cartesianTop <= y && y <= cartesianBottom;
175
- };
176
- var zoom = function (interactionState, pointerUnitLocation, newZoom, panDelta) {
177
- if (panDelta === void 0) { panDelta = 0; }
178
- var oldInvisibleFraction = 1 - 1 / zoomMultiplier(interactionState.zoom);
179
- interactionState.zoom = (0, math_1.clamp)(newZoom, minZoom, maxZoom);
180
- var newInvisibleFraction = 1 - 1 / zoomMultiplier(interactionState.zoom);
181
- interactionState.pan =
182
- (0, math_1.unitClamp)((0, math_1.mix)(pointerUnitLocation + panDelta, interactionState.pan, oldInvisibleFraction / newInvisibleFraction)) ||
183
- 0;
184
- };
185
- var zoomAroundX = function (interactionState, centerX, newZoom, panDelta) {
186
- if (panDelta === void 0) { panDelta = 0; }
187
- var _a = interactionState.screenDimensions, cartesianWidth = _a.innerWidth, cartesianLeft = _a.innerLeft;
188
- var unitZoomCenter = Math.max(0, Math.min(cartesianWidth, centerX - cartesianLeft)) / cartesianWidth;
189
- zoom(interactionState, unitZoomCenter, newZoom, panDelta);
190
- };
191
- var pan = function (interactionState, normalizedDeltaPan) {
192
- var deltaPan = normalizedDeltaPan / Math.pow(2, interactionState.zoom);
193
- interactionState.pan = (0, math_1.unitClamp)(interactionState.pan + deltaPan) || 0;
194
- };
195
- var panZoomJump = function (interactionState, panDirection, zoomDirection) {
196
- var panOrZoom = panDirection || zoomDirection;
197
- if (panOrZoom) {
198
- if (panDirection)
199
- pan(interactionState, panDirection / keyPanVelocityDivisor);
200
- if (zoomDirection)
201
- zoom(interactionState, 0.5, interactionState.zoom + zoomDirection / keyZoomVelocityDivisor);
202
- }
203
- return panOrZoom;
204
- };
205
- var dragStartAtX = function (interactionState, startingX) {
206
- interactionState.dragStartX = startingX;
207
- interactionState.lastDragX = startingX;
208
- interactionState.dragVelocity = NaN;
209
- interactionState.flyVelocity = NaN;
210
- interactionState.panStart = interactionState.pan;
211
- };
212
- var zoomOrPan = function (interactionState, panning, centerX, deltaY) {
213
- if (panning) {
214
- pan(interactionState, -deltaY / wheelPanVelocityDivisor);
215
- }
216
- else {
217
- var newZoom = interactionState.zoom - deltaY / wheelZoomVelocityDivisor;
218
- zoomAroundX(interactionState, centerX, newZoom);
219
- }
220
- };
221
- var endDrag = function (interactionState) {
222
- interactionState.flyVelocity = interactionState.dragVelocity;
223
- interactionState.dragVelocity = NaN;
224
- interactionState.dragStartX = NaN;
225
- interactionState.panStart = NaN;
226
- };
227
- var panFromX = function (interactionState, currentX) {
228
- var deltaX = currentX - interactionState.lastDragX;
229
- var dragVelocity = interactionState.dragVelocity;
230
- interactionState.dragVelocity =
231
- deltaX * dragVelocity > 0 && Math.abs(deltaX) < Math.abs(dragVelocity)
232
- ? dragVelocity
233
- : deltaX;
234
- interactionState.lastDragX = currentX;
235
- var delta = currentX - interactionState.dragStartX;
236
- panFromDeltaPixel(interactionState, interactionState.panStart, delta);
237
- return delta;
238
- };
239
- var touches = function (e) {
240
- var _a, _b;
241
- return __spreadArray([], __read(new Array((_b = (_a = e.touches) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0)), false).map(function (n) { return e.touches.item(n); })
242
- .filter(isNonNull)
243
- .map(function (t) { return ({ id: t.identifier, x: t.clientX }); })
244
- .sort(function (_a, _b) {
245
- var a = _a.x;
246
- var b = _b.x;
247
- return a - b;
66
+ compactDisplay: config_1.config.numUnit,
248
67
  });
249
- };
250
- var touchUpdate = function (interactionState, multitouch) {
251
- if (interactionState.multitouch.length === 0 && multitouch.length === 2) {
252
- interactionState.multitouch = multitouch;
253
- interactionState.zoomStart = interactionState.zoom;
254
- var centerX = touchMidpoint(multitouch);
255
- dragStartAtX(interactionState, centerX);
68
+ var yTickNumberFormat = function (value) { return yTickNumberFormatter.format(value); };
69
+ var touchUpdate = function (interactionState, newMultitouch) {
70
+ var multitouch = interactionState.multitouch, zoomPan = interactionState.horizontalZoomPan, horizontalScreenDimensions = interactionState.horizontalScreenDimensions;
71
+ var noPreviousTouch = (0, multitouch_1.zeroTouch)(multitouch);
72
+ var isTwoTouchPinch = (0, multitouch_1.twoTouchPinch)(newMultitouch);
73
+ var center = (0, multitouch_1.touchMidpoint)(newMultitouch);
74
+ var isPinchStart = noPreviousTouch && isTwoTouchPinch;
75
+ if (isPinchStart) {
76
+ (0, multitouch_1.setNewMultitouch)(multitouch, newMultitouch);
77
+ (0, zoom_pan_1.startTouchZoom)(zoomPan);
78
+ (0, zoom_pan_1.markDragStartPosition)(zoomPan, center);
256
79
  }
257
- else if (multitouch.length !== 2 ||
258
- __spreadArray(__spreadArray([], __read(multitouch), false), __read(interactionState.multitouch), false).filter(function (t, i, a) { return a.findIndex(function (tt) { return tt.id === t.id; }) === i; })
259
- .length !== 2) {
260
- interactionState.multitouch = [];
261
- interactionState.zoomStart = NaN;
80
+ else if (!isTwoTouchPinch || !(0, multitouch_1.continuedTwoPointTouch)(multitouch, newMultitouch)) {
81
+ (0, multitouch_1.eraseMultitouch)(multitouch);
82
+ (0, zoom_pan_1.resetTouchZoom)(zoomPan);
262
83
  }
263
- var isPinchZoom = interactionState.multitouch.length === 2;
84
+ var isPinchZoom = (0, multitouch_1.twoTouchPinch)(multitouch);
85
+ var isTouchOngoing = (0, zoom_pan_1.touchOngoing)(zoomPan);
86
+ var isPanOngoing = (0, zoom_pan_1.panOngoing)(zoomPan);
264
87
  if (isPinchZoom) {
265
- var centerX = touchMidpoint(multitouch);
266
- var zoomMultiplierValue = (multitouch[1].x - multitouch[0].x) / (interactionState.multitouch[1].x - interactionState.multitouch[0].x);
267
- var panDelta = 0;
268
- zoomAroundX(interactionState, centerX, interactionState.zoomStart + Math.log2(zoomMultiplierValue), panDelta);
269
- }
270
- return isPinchZoom;
271
- };
272
- var kineticFlywheel = function (interactionState) {
273
- var velocity = interactionState.flyVelocity;
274
- var needsViewUpdate = Math.abs(velocity) > velocityThreshold;
275
- if (needsViewUpdate) {
276
- panFromDeltaPixel(interactionState, interactionState.pan, velocity);
277
- interactionState.flyVelocity *= dragVelocityAttenuation;
88
+ var pinchRatio = (0, multitouch_1.getPinchRatio)(multitouch, newMultitouch);
89
+ var desiredZoomChange = (0, zoom_pan_1.multiplierToZoom)(pinchRatio);
90
+ (0, zoom_pan_1.doZoomAroundPosition)(zoomPan, horizontalScreenDimensions, center, desiredZoomChange, 0, true);
278
91
  }
279
92
  else {
280
- interactionState.flyVelocity = NaN;
93
+ var inCartesianBand_1 = true;
94
+ if (inCartesianBand_1 || isTouchOngoing) {
95
+ if (isPanOngoing) {
96
+ (0, zoom_pan_1.doPanFromPosition)(zoomPan, horizontalScreenDimensions.innerSize, center);
97
+ }
98
+ else {
99
+ (0, zoom_pan_1.markDragStartPosition)(zoomPan, center);
100
+ }
101
+ }
281
102
  }
282
- return needsViewUpdate;
283
- };
284
- var touchstart = function () {
103
+ return isPinchZoom || (isTouchOngoing && isPanOngoing);
285
104
  };
286
- var ensureCanvasResolution = function (canvas, _a, newCanvasWidth, newCanvasHeight) {
287
- var outerWidth = _a.outerWidth, outerHeight = _a.outerHeight;
105
+ var inCartesianBand = function (size, value) { return size.innerLeading <= value && value <= size.innerTrailing; };
106
+ var ensureCanvasResolution = function (canvas, outerWidth, outerHeight, newCanvasWidth, newCanvasHeight) {
288
107
  if (newCanvasWidth !== outerWidth) {
289
108
  canvas.setAttribute('width', String(newCanvasWidth));
290
109
  }
@@ -292,34 +111,18 @@ var ensureCanvasResolution = function (canvas, _a, newCanvasWidth, newCanvasHeig
292
111
  canvas.setAttribute('height', String(newCanvasHeight));
293
112
  }
294
113
  };
295
- var withAnimation = function (renderer) {
296
- var rAF = -1;
297
- return function () {
298
- window.cancelAnimationFrame(rAF);
299
- rAF = window.requestAnimationFrame(renderer);
300
- };
301
- };
302
- var withDeltaTime = function (renderer) {
303
- var prevT = 0;
304
- return function (t) {
305
- var deltaT = t - prevT;
306
- prevT = t;
307
- renderer(deltaT);
308
- };
309
- };
310
114
  var doCartesian = function (ctx, cartesianHeight, interactionState, deltaT, cartesianWidth, timeDomain, dataState, emWidth) {
311
115
  ctx.save();
312
116
  ctx.translate(0, cartesianHeight);
313
117
  var domainLandmarks = __spreadArray([
314
118
  dataState.dataResponse.stats.minValue,
315
119
  dataState.dataResponse.stats.maxValue
316
- ], __read((ZERO_Y_BASE ? [0] : [])), false);
317
- var desiredTickCount = (0, scale_1.getDesiredTickCount)(cartesianHeight, config.smallFontSize, config.sparse);
120
+ ], __read((config_1.ZERO_Y_BASE ? [0] : [])), false);
121
+ var desiredTickCount = (0, scale_1.getDesiredTickCount)(cartesianHeight, config_1.config.smallFontSize, config_1.config.sparse);
318
122
  var _a = (0, axis_model_1.axisModel)(domainLandmarks, desiredTickCount), niceDomainMin = _a.niceDomainMin, niceDomainMax = _a.niceDomainMax, niceTicks = _a.niceTicks;
319
123
  var yTweenOngoing = (0, domain_tween_1.domainTween)(interactionState, deltaT, niceDomainMin, niceDomainMax);
320
- var yUnitScale = (0, scale_1.axisScale)(interactionState.niceDomainMin, interactionState.niceDomainMax);
321
- var yUnitScaleClamped = function (d) { return (0, math_1.unitClamp)(yUnitScale(d)); };
322
- var dataDemand = (0, cartesian_1.renderCartesian)(ctx, config, dataState, defaultMinorTickLabelFormat, emWidth, fadeOutPixelWidth, defaultLabelFormat, yTickNumberFormatter, rasterSelector, cartesianWidth, cartesianHeight, timeDomain, yUnitScale, yUnitScaleClamped, niceTicks);
124
+ var yUnitScale = (0, scale_1.makeLinearScale)(interactionState.niceDomainMin, interactionState.niceDomainMax, 0, 1);
125
+ var dataDemand = (0, cartesian_1.renderCartesian)(ctx, config_1.config, dataState, config_1.defaultMinorTickLabelFormat, emWidth, config_1.fadeOutPixelWidth, config_1.defaultLabelFormat, yTickNumberFormat, rasterSelector, cartesianWidth, cartesianHeight, timeDomain, yUnitScale, niceTicks);
323
126
  ctx.restore();
324
127
  return { yTweenOngoing: yTweenOngoing, dataDemand: dataDemand };
325
128
  };
@@ -328,28 +131,36 @@ var renderChartWithTime = function (ctx, backgroundFillStyle, newCanvasWidth, ne
328
131
  ctx.scale(dpi, dpi);
329
132
  ctx.fillStyle = backgroundFillStyle;
330
133
  ctx.fillRect(0, 0, newCanvasWidth, newCanvasHeight);
331
- (0, chart_title_1.renderChartTitle)(ctx, config.subduedFontColor, chartWidth, cartesianTop);
134
+ (0, chart_title_1.renderChartTitle)(ctx, config.subduedFontColor, chartWidth);
332
135
  ctx.translate(cartesianLeft, cartesianTop);
333
- var timeDomain = getTimeDomain(interactionState, fromSec, toSec);
136
+ var timeDomain = (0, zoom_pan_1.getFocusDomain)(interactionState.horizontalZoomPan, fromSec, toSec);
334
137
  var _a = doCartesian(ctx, cartesianHeight, interactionState, deltaT, cartesianWidth, timeDomain, dataState, emWidth), yTweenOngoing = _a.yTweenOngoing, dataDemand = _a.dataDemand;
335
138
  if (drawCartesianBox) {
336
139
  (0, debug_box_1.renderDebugBox)(ctx, cartesianWidth, cartesianHeight);
337
140
  }
338
- (0, time_unit_1.renderTimeUnitAnnotation)(ctx, config, dataDemand.binUnitCount, dataDemand.binUnit, chartTopFontSize, dataDemand.unitBarMaxWidthPixels);
339
- (0, time_extent_1.renderTimeExtentAnnotation)(ctx, config, localeOptions, timeDomain, cartesianWidth, chartTopFontSize);
141
+ var headerRowOffsetY = -chartTopFontSize * HEADER_ROW_Y_OFFSET;
142
+ (0, time_unit_1.renderTimeUnitAnnotation)(ctx, config, dataDemand.binUnitCount, dataDemand.binUnit, chartTopFontSize, headerRowOffsetY, dataDemand.unitBarMaxWidthPixels);
143
+ (0, time_extent_1.renderTimeExtentAnnotation)(ctx, config, config_1.localeOptions, timeDomain, cartesianWidth, headerRowOffsetY);
340
144
  ctx.restore();
341
145
  return { yTweenOngoing: yTweenOngoing, dataDemand: dataDemand };
342
146
  };
343
147
  var chartWithTime = function (canvas, ctx, config, interactionState, dataState, deltaT, dpi, emWidth) {
344
- var newScreenDimensions = (0, dom_1.elementSizes)(canvas, horizontalCartesianAreaPad, verticalCartesianAreaPad);
345
- var chartWidth = newScreenDimensions.outerWidth, chartHeight = newScreenDimensions.outerHeight, cartesianLeft = newScreenDimensions.innerLeft, cartesianWidth = newScreenDimensions.innerWidth, cartesianTop = newScreenDimensions.innerTop, cartesianHeight = newScreenDimensions.innerHeight;
148
+ var newHorizontalScreenDimensions = (0, dom_1.elementSize)(canvas, true, config_1.horizontalCartesianAreaPad);
149
+ var chartWidth = newHorizontalScreenDimensions.outerSize;
150
+ var cartesianLeft = newHorizontalScreenDimensions.innerLeading;
151
+ var cartesianWidth = newHorizontalScreenDimensions.innerSize;
152
+ var newVerticalScreenDimensions = (0, dom_1.elementSize)(canvas, false, config_1.verticalCartesianAreaPad);
153
+ var chartHeight = newVerticalScreenDimensions.outerSize;
154
+ var cartesianTop = newVerticalScreenDimensions.innerLeading;
155
+ var cartesianHeight = newVerticalScreenDimensions.innerSize;
346
156
  var newCanvasWidth = dpi * chartWidth;
347
157
  var newCanvasHeight = dpi * chartHeight;
348
- ensureCanvasResolution(canvas, interactionState.screenDimensions, newCanvasWidth, newCanvasHeight);
349
- interactionState.screenDimensions = newScreenDimensions;
350
- var _a = renderChartWithTime(ctx, backgroundFillStyle, newCanvasWidth, newCanvasHeight, config, chartWidth, cartesianTop, cartesianLeft, cartesianHeight, interactionState, deltaT, cartesianWidth, drawCartesianBox, chartTopFontSize, dataState, emWidth, dpi, config.domainFrom, config.domainTo), yTweenOngoing = _a.yTweenOngoing, dataDemand = _a.dataDemand;
158
+ ensureCanvasResolution(canvas, interactionState.horizontalScreenDimensions.outerSize, interactionState.verticalScreenDimensions.outerSize, newCanvasWidth, newCanvasHeight);
159
+ interactionState.horizontalScreenDimensions = newHorizontalScreenDimensions;
160
+ interactionState.verticalScreenDimensions = newVerticalScreenDimensions;
161
+ var _a = renderChartWithTime(ctx, config_1.backgroundFillStyle, newCanvasWidth, newCanvasHeight, config, chartWidth, cartesianTop, cartesianLeft, cartesianHeight, interactionState, deltaT, cartesianWidth, config_1.drawCartesianBox, config_1.chartTopFontSize, dataState, emWidth, dpi, config.domainFrom, config.domainTo), yTweenOngoing = _a.yTweenOngoing, dataDemand = _a.dataDemand;
351
162
  var dataArrived = !dataState.pending &&
352
- invalid(dataState, dataDemand) &&
163
+ (0, data_fetch_1.invalid)(dataState, dataDemand) &&
353
164
  dataDemand.lo &&
354
165
  dataDemand.hi &&
355
166
  dataDemand.binUnit &&
@@ -359,61 +170,50 @@ var chartWithTime = function (canvas, ctx, config, interactionState, dataState,
359
170
  }
360
171
  return { dataArrived: dataArrived, yTweenOngoing: yTweenOngoing, dataDemand: dataDemand };
361
172
  };
362
- var getNullInteractionState = function (canvas) { return ({
363
- zoom: initialZoom,
364
- pan: initialPan,
365
- multitouch: [],
366
- dragStartX: NaN,
367
- zoomStart: NaN,
368
- panStart: NaN,
369
- lastDragX: NaN,
370
- dragVelocity: NaN,
371
- flyVelocity: NaN,
372
- niceDomainMin: NaN,
373
- niceDomainMax: NaN,
374
- screenDimensions: (0, dom_1.elementSizes)(canvas, horizontalCartesianAreaPad, verticalCartesianAreaPad),
375
- }); };
376
- var getNullDataState = function () { return ({
377
- valid: false,
378
- pending: false,
379
- lo: { timePointSec: Infinity, nextTimePointSec: Infinity },
380
- hi: { timePointSec: -Infinity, nextTimePointSec: -Infinity },
381
- binUnit: 'year',
382
- binUnitCount: NaN,
383
- dataResponse: { stats: { minValue: NaN, maxValue: NaN }, rows: [] },
384
- }); };
385
173
  var setupEventHandlers = function (canvas, interactionState, timedRender, scheduleChartRender) {
386
174
  var wheel = function (e) {
387
- if (!inCartesianBand(interactionState.screenDimensions, (0, dom_1.zoomSafePointerY)(e)))
175
+ var isPanning = e.metaKey;
176
+ var wheeledDistanceRatio = e.deltaY / interactionState.horizontalScreenDimensions.innerSize;
177
+ if (!inCartesianBand(interactionState.verticalScreenDimensions, (0, dom_1.zoomSafePointerY)(e)))
388
178
  return;
389
- zoomOrPan(interactionState, e.metaKey, (0, dom_1.zoomSafePointerX)(e), e.deltaY);
179
+ if (isPanning) {
180
+ var innerSizeRelativeDelta = wheeledDistanceRatio * config_1.wheelPanVelocity;
181
+ (0, zoom_pan_1.doPanFromJumpDelta)(interactionState.horizontalZoomPan, -innerSizeRelativeDelta);
182
+ }
183
+ else {
184
+ var desiredZoomChange = -wheeledDistanceRatio * config_1.wheelZoomVelocity;
185
+ (0, zoom_pan_1.doZoomAroundPosition)(interactionState.horizontalZoomPan, interactionState.horizontalScreenDimensions, (0, dom_1.zoomSafePointerX)(e), desiredZoomChange, 0, false);
186
+ }
390
187
  scheduleChartRender();
391
188
  };
392
- var dragStart = function (e) { return dragStartAtX(interactionState, (0, dom_1.zoomSafePointerX)(e)); };
189
+ var dragStart = function (e) { return (0, zoom_pan_1.markDragStartPosition)(interactionState.horizontalZoomPan, (0, dom_1.zoomSafePointerX)(e)); };
393
190
  var kineticDragFlywheel = function (t) {
394
- var needsRerender = kineticFlywheel(interactionState);
191
+ var needsRerender = (0, zoom_pan_1.kineticFlywheel)(interactionState.horizontalZoomPan, interactionState.horizontalScreenDimensions.innerSize);
395
192
  if (needsRerender) {
396
193
  timedRender(t);
397
194
  window.requestAnimationFrame(kineticDragFlywheel);
398
195
  }
399
196
  };
400
197
  var dragEnd = function () {
401
- endDrag(interactionState);
198
+ (0, zoom_pan_1.endDrag)(interactionState.horizontalZoomPan);
402
199
  window.requestAnimationFrame(kineticDragFlywheel);
403
200
  };
404
201
  var touchmove = function (e) {
405
- var shouldUpdate = touchUpdate(interactionState, touches(e));
202
+ var shouldUpdate = touchUpdate(interactionState, (0, multitouch_1.touches)(e));
406
203
  if (shouldUpdate)
407
204
  scheduleChartRender();
408
205
  };
409
206
  var mousemove = function (e) {
410
207
  if (e.buttons !== 1)
411
208
  return;
412
- interactionState.multitouch = [];
413
- interactionState.zoomStart = NaN;
414
- if (inCartesianArea(interactionState.screenDimensions, e) || Number.isFinite(interactionState.panStart)) {
415
- if (panOngoing(interactionState)) {
416
- panFromX(interactionState, (0, dom_1.zoomSafePointerX)(e));
209
+ interactionState.multitouch = (0, multitouch_1.initialMultitouch)();
210
+ var zoomPan = interactionState.horizontalZoomPan;
211
+ (0, zoom_pan_1.resetTouchZoom)(zoomPan);
212
+ if ((inCartesianBand(interactionState.horizontalScreenDimensions, (0, dom_1.zoomSafePointerX)(e)) &&
213
+ inCartesianBand(interactionState.verticalScreenDimensions, (0, dom_1.zoomSafePointerY)(e))) ||
214
+ (0, zoom_pan_1.touchOngoing)(zoomPan)) {
215
+ if ((0, zoom_pan_1.panOngoing)(zoomPan)) {
216
+ (0, zoom_pan_1.doPanFromPosition)(zoomPan, interactionState.horizontalScreenDimensions.innerSize, (0, dom_1.zoomSafePointerX)(e));
417
217
  scheduleChartRender();
418
218
  }
419
219
  else {
@@ -421,12 +221,25 @@ var setupEventHandlers = function (canvas, interactionState, timedRender, schedu
421
221
  }
422
222
  }
423
223
  };
424
- var mousedown = function (e) { return inCartesianArea(interactionState.screenDimensions, e) && dragStart(e); };
224
+ var mousedown = function (e) {
225
+ return inCartesianBand(interactionState.horizontalScreenDimensions, (0, dom_1.zoomSafePointerX)(e)) &&
226
+ inCartesianBand(interactionState.verticalScreenDimensions, (0, dom_1.zoomSafePointerY)(e)) &&
227
+ dragStart(e);
228
+ };
425
229
  var keydown = function (e) {
426
230
  var _a, _b;
427
231
  var panDirection = (_a = { ArrowLeft: -1, ArrowRight: 1 }[e.code]) !== null && _a !== void 0 ? _a : 0;
428
232
  var zoomDirection = (_b = { ArrowUp: -1, ArrowDown: 1 }[e.code]) !== null && _b !== void 0 ? _b : 0;
429
- if (panZoomJump(interactionState, panDirection, zoomDirection)) {
233
+ if (panDirection || zoomDirection) {
234
+ if (panDirection) {
235
+ var normalizedDeltaPan = panDirection / config_1.keyPanVelocityDivisor;
236
+ (0, zoom_pan_1.doPanFromJumpDelta)(interactionState.horizontalZoomPan, normalizedDeltaPan);
237
+ }
238
+ if (zoomDirection) {
239
+ var normalizedDeltaZoom = zoomDirection / config_1.keyZoomVelocityDivisor;
240
+ var center = 0.5;
241
+ (0, zoom_pan_1.doZoomFromJumpDelta)(interactionState.horizontalZoomPan, normalizedDeltaZoom, center);
242
+ }
430
243
  e.preventDefault();
431
244
  scheduleChartRender();
432
245
  }
@@ -437,7 +250,6 @@ var setupEventHandlers = function (canvas, interactionState, timedRender, schedu
437
250
  canvas.addEventListener('mousedown', mousedown, { passive: false });
438
251
  canvas.addEventListener('mouseup', dragEnd, { passive: false });
439
252
  canvas.addEventListener('touchmove', touchmove, { passive: false });
440
- canvas.addEventListener('touchstart', touchstart, { passive: false });
441
253
  canvas.addEventListener('touchend', dragEnd, { passive: false });
442
254
  canvas.addEventListener('touchcancel', dragEnd, { passive: false });
443
255
  canvas.addEventListener('keydown', keydown, { passive: false });
@@ -445,17 +257,17 @@ var setupEventHandlers = function (canvas, interactionState, timedRender, schedu
445
257
  var timeslipRender = function (canvas, ctx, getData) {
446
258
  var dpi = window.devicePixelRatio;
447
259
  var emWidth = ctx.measureText('mmmmmmmmmm').width / 10;
448
- var interactionState = getNullInteractionState(canvas);
449
- var dataState = getNullDataState();
260
+ var interactionState = getNullInteractionState();
261
+ var dataState = (0, data_fetch_1.getNullDataState)();
450
262
  var chartWithUpdate = function (t) {
451
- var _a = chartWithTime(canvas, ctx, config, interactionState, dataState, t, dpi, emWidth), dataArrived = _a.dataArrived, yTweenOngoing = _a.yTweenOngoing, dataDemand = _a.dataDemand;
263
+ var _a = chartWithTime(canvas, ctx, config_1.config, interactionState, dataState, t, dpi, emWidth), dataArrived = _a.dataArrived, yTweenOngoing = _a.yTweenOngoing, dataDemand = _a.dataDemand;
452
264
  if (dataArrived)
453
- updateDataState(dataState, dataDemand, (0, data_1.getEnrichedData)(getData(dataDemand)));
265
+ (0, data_fetch_1.updateDataState)(dataState, dataDemand, (0, data_1.getEnrichedData)(getData(dataDemand)));
454
266
  if (dataArrived || yTweenOngoing)
455
267
  scheduleChartRender();
456
268
  };
457
- var timedRender = withDeltaTime(chartWithUpdate);
458
- var scheduleChartRender = withAnimation(timedRender);
269
+ var timedRender = (0, animation_1.withDeltaTime)(chartWithUpdate);
270
+ var scheduleChartRender = (0, animation_1.withAnimation)(timedRender);
459
271
  scheduleChartRender();
460
272
  setupEventHandlers(canvas, interactionState, timedRender, scheduleChartRender);
461
273
  };