Socket
Socket
Sign inDemoInstall

@devexpress/dx-chart-core

Package Overview
Dependencies
Maintainers
13
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@devexpress/dx-chart-core - npm Package Compare versions

Comparing version 1.11.0-alpha.1 to 1.11.0-beta.1

400

dist/dx-chart-core.es.js
/**
* Bundle of @devexpress/dx-chart-core
* Generated: 2019-03-13
* Version: 1.11.0-alpha.1
* Generated: 2019-04-24
* Version: 1.11.0-beta.1
* License: https://js.devexpress.com/Licensing

@@ -38,2 +38,25 @@ */

function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
/** @internal */

@@ -79,4 +102,14 @@ var HORIZONTAL = 'horizontal';

/** @internal */
var fixOffset = function (scale) {
var offset = getWidth(scale) / 2;
return offset > 0 ? function (value) { return scale(value) + offset; } : scale;
};
/** @internal */
var getValueDomainName = function (name) { return name || VALUE_DOMAIN; };
var floatsEqual = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
/** @internal */
var rangesEqual = function (r1, r2) {
return floatsEqual(r1[0], r2[0]) && floatsEqual(r1[1], r2[1]);
};
/** @internal */
var makeScale = function (_a, range) {

@@ -89,9 +122,175 @@ var factory = _a.factory, domain = _a.domain;

// are encapsulated in this utility file.
//
/** @internal */
var scaleBounds = function (scale, bounds) { return ([scale(bounds[0]), scale(bounds[1]) + getWidth(scale)]); };
var scaleBounds = function (scale, bounds) {
// There is an issue - when range is "inverted" values are scaled incorrectly.
// scaleBand().domain(['a', 'b', 'c']).range([0, 60])('b') === 20
// scaleBand().domain(['a', 'b', 'c']).range([60, 0])('b') === 20 (should be 40)
// Because of it bounds for reversed band scale are scaled wrong.
// Fixing it would introduce an utility "scale" function and complicates the code.
// Since for now we do not have "reversed" band scales the issue is left as-is.
if (scale.bandwidth) {
var cleanScale = scale.copy().paddingInner(0).paddingOuter(0);
return [cleanScale(bounds[0]), cleanScale(bounds[1]) + cleanScale.bandwidth()];
}
return bounds.map(scale);
};
// Because of "scaleBands" issue moving and growing for "reversed" band scales
// are not supported now.
var moveLinearScaleBounds = function (scale, bounds, delta) {
var fullRange = scale.range();
var sign = Math.sign(fullRange[1] - fullRange[0]);
var range = scaleBounds(scale, bounds);
var r0 = range[0] + delta;
var r1 = range[1] + delta;
// Check if new range is outside of the left border.
if (Math.sign(r0 - fullRange[0]) !== sign) {
r0 = fullRange[0];
r1 = r0 + range[1] - range[0];
}
// Check if new range is outside of the right border.
if (Math.sign(fullRange[1] - r1) !== sign) {
r1 = fullRange[1];
r0 = r1 - range[1] + range[0];
}
var newBounds = [scale.invert(r0), scale.invert(r1)];
return rangesEqual(bounds, newBounds) ? bounds : newBounds;
};
// This is pointer "delta" processing specific for "band" scale.
// If pointer delta is significantly smaller than band size (0.3) then movement should be skipped
// and current delta should be added to a next one (from a new "move" event).
// Now there is no code that accumulates deltas.
// In order to allow band scrolling at least somehow the following is applied - if pointer delta
// is at least greater than 30 pixel then minimal movement is performed.
// TODO: Make proper delta accumulation!
var adjustBandScaleMoveStep = function (delta, step) {
var ratio = Math.abs(delta / step);
var sign = Math.sign(delta / step);
if (ratio >= 0.5) {
return sign * Math.round(ratio);
}
if (ratio >= 0.3) {
return sign;
}
if (Math.abs(delta) > 30) {
return sign;
}
return 0;
};
// Band case is processed separately to preserve categories amount in the bounds range.
// If common inversion mechanism is used start and end bounds cannot be inverted independently
// because of rounding issues which may add or remove categories to the new bounds.
var moveBandScaleBounds = function (scale, bounds, delta) {
var domain = scale.domain();
var fullRange = scale.range();
var step = (fullRange[1] - fullRange[0]) / domain.length;
var rangeStep = adjustBandScaleMoveStep(delta, step);
if (rangeStep === 0) {
return bounds;
}
var range = scaleBounds(scale, bounds);
var range0 = Math.round((range[0] - fullRange[0]) / step);
var range1 = range0 + Math.round((range[1] - range[0]) / step) - 1;
var new0 = range0 + rangeStep;
var new1 = range1 + rangeStep;
if (new0 < 0) {
new0 = 0;
new1 = new0 + range1 - range0;
}
if (new1 > domain.length - 1) {
new1 = domain.length - 1;
new0 = new1 - range1 + range0;
}
if (new0 === range0 || new1 === range1) {
return bounds;
}
return [domain[new0], domain[new1]];
};
/** @internal */
var fixOffset = function (scale) {
var offset = getWidth(scale) / 2;
return offset > 0 ? function (value) { return scale(value) + offset; } : scale;
var moveBounds = function (scale, bounds, delta) { return ((scale.bandwidth ? moveBandScaleBounds : moveLinearScaleBounds)(scale, bounds, delta)); };
var growLinearScaleBounds = function (scale, bounds, delta, anchor) {
var fullRange = scale.range();
var sign = Math.sign(fullRange[1] - fullRange[0]);
var range = scaleBounds(scale, bounds);
var t = Math.abs((anchor - range[0]) / (range[1] - range[0]));
var r0 = range[0] + sign * delta * 2 * t;
var r1 = range[1] - sign * delta * 2 * (1 - t);
// Check if new range is outside of the left border.
if (Math.sign(r0 - fullRange[0]) !== sign) {
r0 = fullRange[0];
}
// Check if new range is outside of the right border.
if (Math.sign(fullRange[1] - r1) !== sign) {
r1 = fullRange[1];
}
var minRangeThreshold = (fullRange[1] - fullRange[0]) / 100;
// Check if new range is too small.
if (Math.sign(r1 - r0) !== sign || Math.abs(r1 - r0) < Math.abs(minRangeThreshold)) {
r0 = anchor - minRangeThreshold / 2;
r1 = anchor + minRangeThreshold / 2;
}
var newBounds = [scale.invert(r0), scale.invert(r1)];
return rangesEqual(bounds, newBounds) ? bounds : newBounds;
};
var growBandScaleBounds = function (scale, bounds, delta, anchor) {
var domain = scale.domain();
var fullRange = scale.range();
var step = (fullRange[1] - fullRange[0]) / domain.length;
var range = scaleBounds(scale, bounds);
var range0 = Math.round((range[0] - fullRange[0]) / step);
var range1 = range0 + Math.round((range[1] - range[0]) / step) - 1;
// Let it be always 1 for now.
var rangeStep = Math.sign(delta);
if ((rangeStep === 0) ||
(rangeStep > 0 && range0 === range1) ||
(rangeStep < 0 && range0 === 0 && range1 === domain.length - 1)) {
return bounds;
}
var t = Math.abs((anchor - range[0]) / (range[1] - range[0]));
var new0 = range0 + Math.round(rangeStep * 2 * t);
var new1 = range1 - Math.round(rangeStep * 2 * (1 - t));
if (new0 < 0) {
new0 = 0;
}
if (new1 > domain.length - 1) {
new1 = domain.length - 1;
}
if (new0 > new1) {
if (t <= 0.5) {
new1 = new0;
}
else {
new0 = new1;
}
}
if (new0 === range0 && new1 === range1) {
return bounds;
}
return [domain[new0], domain[new1]];
};
// "scaleBounds" would be a better name but "scale" is already occupied.
/** @internal */
var growBounds = function (scale, bounds, delta, anchor) { return ((scale.bandwidth ? growBandScaleBounds : growLinearScaleBounds)(scale, bounds, delta, anchor)); };
var invertLinearScaleBounds = function (scale, range) {
var fullRange = scale.range();
var match = Math.sign(fullRange[1] - fullRange[0]) === Math.sign(range[1] - range[0]);
return [
scale.invert(range[match ? 0 : 1]),
scale.invert(range[match ? 1 : 0]),
];
};
var matchPointToBand = function (domain, range, p) {
var i = Math.floor(domain.length * (p - range[0]) / (range[1] - range[0]));
return domain[Math.min(i, domain.length - 1)];
};
var invertBandScaleBounds = function (scale, range) {
var domain = scale.domain();
var fullRange = scale.range();
return [
matchPointToBand(domain, fullRange, range[0]),
matchPointToBand(domain, fullRange, range[1]),
];
};
/** @internal */
var invertBoundsRange = function (scale, range) { return ((scale.bandwidth ? invertBandScaleBounds : invertLinearScaleBounds)(scale, range)); };

@@ -118,10 +317,8 @@ var _a;

};
var floatsEqual = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
var mergeContinuousDomains = function (domain, items) {
var newDomain = extent(domain.concat(items));
return floatsEqual(newDomain[0], domain[0]) && floatsEqual(newDomain[1], domain[1])
? domain : newDomain;
var newDomain = extent(__spread(domain, items));
return rangesEqual(newDomain, domain) ? domain : newDomain;
};
var mergeDiscreteDomains = function (domain, items) {
var newDomain = Array.from(new Set(domain.concat(items)));
var newDomain = Array.from(new Set(__spread(domain, items)));
return newDomain.length === domain.length ? domain : newDomain;

@@ -149,3 +346,3 @@ };

var items = series.points.map(getValue);
return series.getPointTransformer.isStartedFromZero ? [0].concat(items) : items;
return series.getPointTransformer.isStartedFromZero ? __spread([0], items) : items;
};

@@ -198,10 +395,11 @@ var updateDomain = function (domain, series, getItem, getDomainItems) { return updateDomainItems(updateDomainFactory(domain, series, getItem), getDomainItems(series)); };

var getTicks = function (scale) { return (scale.ticks ? scale.ticks() : scale.domain()); };
var createTicks = function (scale, callback) {
var getTicks = function (scale, count) { return (scale.ticks ? scale.ticks(count) : scale.domain()); };
var createTicks = function (scale, count, callback) {
var fixedScale = fixOffset(scale);
return getTicks(scale).map(function (tick, index) { return callback(fixedScale(tick), String(index), tick); });
return getTicks(scale, count)
.map(function (tick, index) { return callback(fixedScale(tick), String(index), tick); });
};
var getFormat = function (scale, tickFormat) {
var getFormat = function (scale, count, tickFormat) {
if (scale.tickFormat) {
return tickFormat ? tickFormat(scale) : scale.tickFormat();
return tickFormat ? tickFormat(scale, count) : scale.tickFormat(count);
}

@@ -232,9 +430,17 @@ return function (tick) { return tick; };

};
// Constant is selected to preserve original behavior described in
// https://github.com/d3/d3-scale#continuous_ticks.
var DEFAULT_TICK_COUNT = 10;
var getTickCount = function (scaleRange, paneSize) {
var rangeToPaneRatio = Math.abs(scaleRange[0] - scaleRange[1]) / paneSize || 1;
return Math.round(DEFAULT_TICK_COUNT * rangeToPaneRatio);
};
/** @internal */
var axisCoordinates = function (_a) {
var scaleName = _a.scaleName, scale = _a.scale, position = _a.position, tickSize = _a.tickSize, tickFormat = _a.tickFormat, indentFromAxis = _a.indentFromAxis;
var scaleName = _a.scaleName, scale = _a.scale, position = _a.position, tickSize = _a.tickSize, tickFormat = _a.tickFormat, indentFromAxis = _a.indentFromAxis, paneSize = _a.paneSize;
var isHor = isHorizontal(scaleName);
var options = (isHor ? createHorizontalOptions : createVerticalOptions)(position, tickSize, indentFromAxis);
var formatTick = getFormat(scale, tickFormat);
var ticks = createTicks(scale, function (coordinates, key, tick) { return (__assign({ key: key, x1: coordinates, x2: coordinates, y1: coordinates, y2: coordinates, xText: coordinates, yText: coordinates, text: formatTick(tick) }, options)); });
var tickCount = getTickCount(scale.range(), paneSize[1 - Number(isHor)]);
var formatTick = getFormat(scale, tickCount, tickFormat);
var ticks = createTicks(scale, tickCount, function (coordinates, key, tick) { return (__assign({ key: key, x1: coordinates, x2: coordinates, y1: coordinates, y2: coordinates, xText: coordinates, yText: coordinates, text: formatTick(tick) }, options)); });
return {

@@ -248,3 +454,3 @@ ticks: ticks,

var createTickFilter = function (_a) {
var width = _a[0], height = _a[1];
var _b = __read(_a, 2), width = _b[0], height = _b[1];
return (width > 0

@@ -258,6 +464,7 @@ ? function (tick) { return tick.x1 >= 0 && tick.x1 <= width; }

var getGridCoordinates = function (_a) {
var scaleName = _a.scaleName, scale = _a.scale;
var scaleName = _a.scaleName, scale = _a.scale, paneSize = _a.paneSize;
var isHor = isHorizontal(scaleName);
var tickCount = getTickCount(scale.range(), paneSize[1 - Number(isHor)]);
var options = isHor ? horizontalGridOptions : verticalGridOptions;
return createTicks(scale, function (coordinates, key) { return (__assign({ key: key, x: coordinates, y: coordinates, dx: 0, dy: 0 }, options)); });
return createTicks(scale, tickCount, function (coordinates, key) { return (__assign({ key: key, x: coordinates, y: coordinates, dx: 0, dy: 0 }, options)); });
};

@@ -294,4 +501,4 @@

var argumentScale = _a.argumentScale, valueScale = _a.valueScale, points = _a.points;
var x = Math.max.apply(Math, argumentScale.range()) / 2;
var y = Math.max.apply(Math, valueScale.range()) / 2;
var x = Math.max.apply(Math, __spread(argumentScale.range())) / 2;
var y = Math.max.apply(Math, __spread(valueScale.range())) / 2;
var maxRadius = Math.min(x, y);

@@ -322,3 +529,3 @@ var pieData = pie().sort(null).value(function (d) { return d.value; })(points);

}
return getLinePointTransformer.apply(void 0, args);
return getLinePointTransformer.apply(void 0, __spread(args));
};

@@ -434,3 +641,3 @@ /** @internal */

var seriesColor = props.color || palette[index % palette.length];
return series.concat([__assign({}, props, { index: index, name: getUniqueName(series, props.name), points: createPoints(props, data, __assign({}, restProps, { color: seriesColor }), palette), color: seriesColor })]);
return __spread(series, [__assign({}, props, { index: index, name: getUniqueName(series, props.name), points: createPoints(props, data, __assign({}, restProps, { color: seriesColor }), palette), color: seriesColor })]);
};

@@ -503,3 +710,3 @@ // TODO: Memoization is much needed here by the same reason as in "createPoints".

var points = series.points.map(function (point) {
var _a = dataItems[point.index], value0 = _a[0], value = _a[1];
var _a = __read(dataItems[point.index], 2), value0 = _a[0], value = _a[1];
return __assign({}, point, { value: value, value0: value0 });

@@ -644,2 +851,3 @@ });

};
var getDefaultScatterAnimationOptions = function () { return '1.6s'; };
/** @internal */

@@ -662,3 +870,3 @@ var getAreaAnimationStyle = function (scales) {

var getScatterAnimationStyle = function () {
var options = getDefaultAreaAnimationOptions();
var options = getDefaultScatterAnimationOptions();
return {

@@ -705,5 +913,7 @@ animation: getScatterAnimationName() + " " + options,

/** @internal */
var getRootOffset = function (root) {
var _a = root.getBoundingClientRect(), left = _a.left, top = _a.top;
var pageXOffset = window.pageXOffset, pageYOffset = window.pageYOffset;
var getOffset = function (element) {
var _a = element.getBoundingClientRect(), left = _a.left, top = _a.top;
// Safer way to get window.
var defaultView = element.ownerDocument.defaultView;
var _b = defaultView, pageXOffset = _b.pageXOffset, pageYOffset = _b.pageYOffset;
return [left + pageXOffset, top + pageYOffset];

@@ -733,8 +943,12 @@ };

// so *rootRef.current* can be accessed.
var offset = getRootOffset(rootRef.current);
var offset = getOffset(rootRef.current);
// *getBoundingClientRect* of a real html element is affected by window scrolling.
// *popper.js* subscribes "html -> getBoundingClientRect -> (left, top)" from
// "reference -> getBoundingClientRect" - so here it is added.
var htmlRect = rootRef.current.ownerDocument.documentElement.getBoundingClientRect();
return {
left: rect[0] + offset[0],
top: rect[1] + offset[1],
right: rect[2] + offset[0],
bottom: rect[3] + offset[1],
left: rect[0] + offset[0] + htmlRect.left,
top: rect[1] + offset[1] + htmlRect.top,
right: rect[2] + offset[0] + htmlRect.left,
bottom: rect[3] + offset[1] + htmlRect.top,
width: 0,

@@ -751,15 +965,11 @@ height: 0,

// TODO: Copypaste!
var floatsEqual$1 = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
// Given original scale
// f(domain) = range
// f(subDomain) = subRange
// Find extended scale
// g(domain) = extendedRange
// g(subDomain) = range
// Original "range" is linearly extended so that
// extendedRange : range === range : subRange
// y = p * x + q
// subRange = p * range + q => p, q
// range = p * extendedRange + q => extendedRange
var getArgumentBounds = function (viewport) { return (viewport && viewport.argumentStart !== undefined && viewport.argumentEnd !== undefined
? [viewport.argumentStart, viewport.argumentEnd] : null); };
var getValueBounds = function (viewport) { return (viewport && viewport.valueStart !== undefined && viewport.valueEnd !== undefined
? [viewport.valueStart, viewport.valueEnd] : null); };
var getValueScaleName = function (viewport) { return (getValueDomainName(viewport && viewport.scaleName)); };
var getDefaultBounds = function (scale) {
var domain = scale.domain();
return [domain[0], domain[domain.length - 1]];
};
var proportionallyExtendRange = function (range, subRange) {

@@ -776,6 +986,3 @@ var p = (subRange[0] - subRange[1]) / (range[0] - range[1]);

var subRange = scaleBounds(scale, bounds);
if (floatsEqual$1(subRange[0], range[0]) && floatsEqual$1(subRange[1], range[1])) {
return range;
}
return proportionallyExtendRange(range, subRange);
return rangesEqual(subRange, range) ? range : proportionallyExtendRange(range, subRange);
};

@@ -789,13 +996,64 @@ var update = function (ranges, changes, key, domain, bounds) {

/** @internal */
var adjustLayout = function (domains, ranges, _a) {
var argumentBounds = _a.argumentBounds, scaleName = _a.scaleName, valueBounds = _a.valueBounds;
var adjustLayout = function (domains, ranges, viewport) {
var changes = {};
var argumentBounds = getArgumentBounds(viewport);
if (argumentBounds) {
update(ranges, changes, ARGUMENT_DOMAIN, domains[ARGUMENT_DOMAIN], argumentBounds);
}
var valueBounds = getValueBounds(viewport);
if (valueBounds) {
update(ranges, changes, VALUE_DOMAIN, domains[getValueDomainName(scaleName)], valueBounds);
update(ranges, changes, VALUE_DOMAIN, domains[getValueScaleName(viewport)], valueBounds);
}
return Object.keys(changes).length ? __assign({}, ranges, changes) : ranges;
};
var boundsForScale = function (name, scales, currentBounds, interaction, type, delta, anchor, range) {
if (interaction !== type && interaction !== 'both') {
return null;
}
var scale = scales[name];
var bounds = currentBounds || getDefaultBounds(scale);
var newBounds;
if (type === 'pan') {
newBounds = moveBounds(scale, bounds, delta);
}
else if (type === 'zoom') {
newBounds = range ? invertBoundsRange(scale, range) : growBounds(scale, bounds, delta, anchor);
}
return newBounds !== bounds ? newBounds : null;
};
/** @internal */
var getViewport = function (scales, interactions, type, deltas, anchors, ranges, viewport, onViewportChange) {
var changes = {};
var argumentBounds = boundsForScale(ARGUMENT_DOMAIN, scales, getArgumentBounds(viewport), interactions[0], type, deltas ? deltas[0] : 0, anchors ? anchors[0] : 0, ranges ? ranges[0] : undefined);
var valueBounds = boundsForScale(getValueScaleName(viewport), scales, getValueBounds(viewport), interactions[1], type, deltas ? deltas[1] : 0, anchors ? anchors[1] : 0, ranges ? ranges[1] : undefined);
if (argumentBounds) {
changes.argumentStart = argumentBounds[0];
changes.argumentEnd = argumentBounds[1];
}
if (valueBounds) {
changes.valueStart = valueBounds[0];
changes.valueEnd = valueBounds[1];
}
if (Object.keys(changes).length) {
var newViewport = __assign({}, viewport, changes);
if (onViewportChange) {
onViewportChange(newViewport);
}
return { viewport: newViewport };
}
return null;
};
/** @internal */
var getDeltaForTouches = function (touches) {
var deltaX = touches[0].pageX - touches[1].pageX;
var deltaY = touches[0].pageY - touches[1].pageY;
var delta = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
var center = [
(touches[0].pageX + touches[1].pageX) / 2,
(touches[0].pageY + touches[1].pageY) / 2,
];
return { delta: delta, center: center };
};
/** @internal */
var isKeyPressed = function (event, key) { return event[key + "Key"]; };

@@ -820,3 +1078,3 @@ var getSegmentLength = function (dx, dy) { return Math.sqrt(dx * dx + dy * dy); };

return function (_a) {
var x = _a[0], y = _a[1];
var _b = __read(_a, 2), x = _b[0], y = _b[1];
return ctx.isPointInPath(x, y);

@@ -828,3 +1086,3 @@ };

var getContinuousPointDistance = function (_a, _b) {
var px = _a[0], py = _a[1];
var _c = __read(_a, 2), px = _c[0], py = _c[1];
var x = _b.x, y = _b.y;

@@ -900,4 +1158,4 @@ return getSegmentLength(px - x, py - y);

var createBarHitTester = createPointsEnumeratingHitTesterCreator(function (_a, point) {
var px = _a[0], py = _a[1];
var _b = point, x = _b.x, y = _b.y, y1 = _b.y1, barWidth = _b.barWidth, maxBarWidth = _b.maxBarWidth;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = point, x = _c.x, y = _c.y, y1 = _c.y1, barWidth = _c.barWidth, maxBarWidth = _c.maxBarWidth;
var xCenter = x;

@@ -911,4 +1169,4 @@ var yCenter = (y + y1) / 2;

var createScatterHitTester = createPointsEnumeratingHitTesterCreator(function (_a, obj) {
var px = _a[0], py = _a[1];
var _b = obj, x = _b.x, y = _b.y, point = _b.point;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = obj, x = _c.x, y = _c.y, point = _c.point;
var distance = getSegmentLength(px - x, py - y);

@@ -924,4 +1182,4 @@ return distance <= point.size / 2 ? { distance: distance } : null;

var createPieHitTester = createPointsEnumeratingHitTesterCreator(function (_a, point) {
var px = _a[0], py = _a[1];
var _b = point, x = _b.x, y = _b.y, innerRadius = _b.innerRadius, outerRadius = _b.outerRadius, startAngle = _b.startAngle, maxRadius = _b.maxRadius, endAngle = _b.endAngle;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = point, x = _c.x, y = _c.y, innerRadius = _c.innerRadius, outerRadius = _c.outerRadius, startAngle = _c.startAngle, maxRadius = _c.maxRadius, endAngle = _c.endAngle;
var inner = innerRadius * maxRadius;

@@ -989,6 +1247,6 @@ var outer = outerRadius * maxRadius;

var getEventCoords = function (e) {
var offset = getRootOffset(e.currentTarget);
var offset = getOffset(e.currentTarget);
return [
e.clientX - offset[0],
e.clientY - offset[1],
e.pageX - offset[0],
e.pageY - offset[1],
];

@@ -1023,5 +1281,5 @@ };

if (status) {
targets.push.apply(targets, status.points.map(function (point) { return ({
targets.push.apply(targets, __spread(status.points.map(function (point) { return ({
series: series, order: order, point: point.index, distance: point.distance,
}); }));
}); })));
}

@@ -1067,3 +1325,3 @@ });

export { defaultDomains, addDomain, updateDomainItems, extendDomains, buildScales, bBoxes, getRanges, axisCoordinates, createTickFilter, getGridCoordinates, dArea, dLine, dSpline, getPiePointTransformer, getLinePointTransformer, getScatterPointTransformer, getAreaPointTransformer, getBarPointTransformer, findSeriesByName, dBar, dSymbol, dPie, addSeries, scaleSeriesPoints, getStackedSeries, getStackedDomains, getAreaAnimationStyle, getPieAnimationStyle, getScatterAnimationStyle, buildAnimatedStyleGetter, getParameters, createReference, processHandleTooltip, adjustLayout, createAreaHitTester, createLineHitTester, createSplineHitTester, createBarHitTester, createScatterHitTester, createPieHitTester, changeSeriesState, scaleLinear, scaleBand, isHorizontal, getWidth, getValueDomainName, makeScale, scaleBounds, fixOffset, getLegendItems, buildEventHandlers, processPointerMove, HORIZONTAL, VERTICAL, TOP, BOTTOM, LEFT, RIGHT, MIDDLE, END, START, LINEAR, BAND, ARGUMENT_DOMAIN, VALUE_DOMAIN, HOVERED, SELECTED };
export { defaultDomains, addDomain, updateDomainItems, extendDomains, buildScales, bBoxes, getRanges, axisCoordinates, createTickFilter, getGridCoordinates, dArea, dLine, dSpline, getPiePointTransformer, getLinePointTransformer, getScatterPointTransformer, getAreaPointTransformer, getBarPointTransformer, findSeriesByName, dBar, dSymbol, dPie, addSeries, scaleSeriesPoints, getStackedSeries, getStackedDomains, getAreaAnimationStyle, getPieAnimationStyle, getScatterAnimationStyle, buildAnimatedStyleGetter, getParameters, createReference, processHandleTooltip, adjustLayout, getViewport, getDeltaForTouches, isKeyPressed, createAreaHitTester, createLineHitTester, createSplineHitTester, createBarHitTester, createScatterHitTester, createPieHitTester, changeSeriesState, scaleLinear, scaleBand, isHorizontal, getWidth, fixOffset, getValueDomainName, rangesEqual, makeScale, scaleBounds, moveBounds, growBounds, invertBoundsRange, getLegendItems, buildEventHandlers, processPointerMove, getOffset, HORIZONTAL, VERTICAL, TOP, BOTTOM, LEFT, RIGHT, MIDDLE, END, START, LINEAR, BAND, ARGUMENT_DOMAIN, VALUE_DOMAIN, HOVERED, SELECTED };
//# sourceMappingURL=dx-chart-core.es.js.map
/**
* Bundle of @devexpress/dx-chart-core
* Generated: 2019-03-13
* Version: 1.11.0-alpha.1
* Generated: 2019-04-24
* Version: 1.11.0-beta.1
* License: https://js.devexpress.com/Licensing

@@ -40,2 +40,25 @@ */

function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
/** @internal */

@@ -81,4 +104,14 @@ var HORIZONTAL = 'horizontal';

/** @internal */
var fixOffset = function (scale) {
var offset = getWidth(scale) / 2;
return offset > 0 ? function (value) { return scale(value) + offset; } : scale;
};
/** @internal */
var getValueDomainName = function (name) { return name || VALUE_DOMAIN; };
var floatsEqual = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
/** @internal */
var rangesEqual = function (r1, r2) {
return floatsEqual(r1[0], r2[0]) && floatsEqual(r1[1], r2[1]);
};
/** @internal */
var makeScale = function (_a, range) {

@@ -91,9 +124,175 @@ var factory = _a.factory, domain = _a.domain;

// are encapsulated in this utility file.
//
/** @internal */
var scaleBounds = function (scale, bounds) { return ([scale(bounds[0]), scale(bounds[1]) + getWidth(scale)]); };
var scaleBounds = function (scale, bounds) {
// There is an issue - when range is "inverted" values are scaled incorrectly.
// scaleBand().domain(['a', 'b', 'c']).range([0, 60])('b') === 20
// scaleBand().domain(['a', 'b', 'c']).range([60, 0])('b') === 20 (should be 40)
// Because of it bounds for reversed band scale are scaled wrong.
// Fixing it would introduce an utility "scale" function and complicates the code.
// Since for now we do not have "reversed" band scales the issue is left as-is.
if (scale.bandwidth) {
var cleanScale = scale.copy().paddingInner(0).paddingOuter(0);
return [cleanScale(bounds[0]), cleanScale(bounds[1]) + cleanScale.bandwidth()];
}
return bounds.map(scale);
};
// Because of "scaleBands" issue moving and growing for "reversed" band scales
// are not supported now.
var moveLinearScaleBounds = function (scale, bounds, delta) {
var fullRange = scale.range();
var sign = Math.sign(fullRange[1] - fullRange[0]);
var range = scaleBounds(scale, bounds);
var r0 = range[0] + delta;
var r1 = range[1] + delta;
// Check if new range is outside of the left border.
if (Math.sign(r0 - fullRange[0]) !== sign) {
r0 = fullRange[0];
r1 = r0 + range[1] - range[0];
}
// Check if new range is outside of the right border.
if (Math.sign(fullRange[1] - r1) !== sign) {
r1 = fullRange[1];
r0 = r1 - range[1] + range[0];
}
var newBounds = [scale.invert(r0), scale.invert(r1)];
return rangesEqual(bounds, newBounds) ? bounds : newBounds;
};
// This is pointer "delta" processing specific for "band" scale.
// If pointer delta is significantly smaller than band size (0.3) then movement should be skipped
// and current delta should be added to a next one (from a new "move" event).
// Now there is no code that accumulates deltas.
// In order to allow band scrolling at least somehow the following is applied - if pointer delta
// is at least greater than 30 pixel then minimal movement is performed.
// TODO: Make proper delta accumulation!
var adjustBandScaleMoveStep = function (delta, step) {
var ratio = Math.abs(delta / step);
var sign = Math.sign(delta / step);
if (ratio >= 0.5) {
return sign * Math.round(ratio);
}
if (ratio >= 0.3) {
return sign;
}
if (Math.abs(delta) > 30) {
return sign;
}
return 0;
};
// Band case is processed separately to preserve categories amount in the bounds range.
// If common inversion mechanism is used start and end bounds cannot be inverted independently
// because of rounding issues which may add or remove categories to the new bounds.
var moveBandScaleBounds = function (scale, bounds, delta) {
var domain = scale.domain();
var fullRange = scale.range();
var step = (fullRange[1] - fullRange[0]) / domain.length;
var rangeStep = adjustBandScaleMoveStep(delta, step);
if (rangeStep === 0) {
return bounds;
}
var range = scaleBounds(scale, bounds);
var range0 = Math.round((range[0] - fullRange[0]) / step);
var range1 = range0 + Math.round((range[1] - range[0]) / step) - 1;
var new0 = range0 + rangeStep;
var new1 = range1 + rangeStep;
if (new0 < 0) {
new0 = 0;
new1 = new0 + range1 - range0;
}
if (new1 > domain.length - 1) {
new1 = domain.length - 1;
new0 = new1 - range1 + range0;
}
if (new0 === range0 || new1 === range1) {
return bounds;
}
return [domain[new0], domain[new1]];
};
/** @internal */
var fixOffset = function (scale) {
var offset = getWidth(scale) / 2;
return offset > 0 ? function (value) { return scale(value) + offset; } : scale;
var moveBounds = function (scale, bounds, delta) { return ((scale.bandwidth ? moveBandScaleBounds : moveLinearScaleBounds)(scale, bounds, delta)); };
var growLinearScaleBounds = function (scale, bounds, delta, anchor) {
var fullRange = scale.range();
var sign = Math.sign(fullRange[1] - fullRange[0]);
var range = scaleBounds(scale, bounds);
var t = Math.abs((anchor - range[0]) / (range[1] - range[0]));
var r0 = range[0] + sign * delta * 2 * t;
var r1 = range[1] - sign * delta * 2 * (1 - t);
// Check if new range is outside of the left border.
if (Math.sign(r0 - fullRange[0]) !== sign) {
r0 = fullRange[0];
}
// Check if new range is outside of the right border.
if (Math.sign(fullRange[1] - r1) !== sign) {
r1 = fullRange[1];
}
var minRangeThreshold = (fullRange[1] - fullRange[0]) / 100;
// Check if new range is too small.
if (Math.sign(r1 - r0) !== sign || Math.abs(r1 - r0) < Math.abs(minRangeThreshold)) {
r0 = anchor - minRangeThreshold / 2;
r1 = anchor + minRangeThreshold / 2;
}
var newBounds = [scale.invert(r0), scale.invert(r1)];
return rangesEqual(bounds, newBounds) ? bounds : newBounds;
};
var growBandScaleBounds = function (scale, bounds, delta, anchor) {
var domain = scale.domain();
var fullRange = scale.range();
var step = (fullRange[1] - fullRange[0]) / domain.length;
var range = scaleBounds(scale, bounds);
var range0 = Math.round((range[0] - fullRange[0]) / step);
var range1 = range0 + Math.round((range[1] - range[0]) / step) - 1;
// Let it be always 1 for now.
var rangeStep = Math.sign(delta);
if ((rangeStep === 0) ||
(rangeStep > 0 && range0 === range1) ||
(rangeStep < 0 && range0 === 0 && range1 === domain.length - 1)) {
return bounds;
}
var t = Math.abs((anchor - range[0]) / (range[1] - range[0]));
var new0 = range0 + Math.round(rangeStep * 2 * t);
var new1 = range1 - Math.round(rangeStep * 2 * (1 - t));
if (new0 < 0) {
new0 = 0;
}
if (new1 > domain.length - 1) {
new1 = domain.length - 1;
}
if (new0 > new1) {
if (t <= 0.5) {
new1 = new0;
}
else {
new0 = new1;
}
}
if (new0 === range0 && new1 === range1) {
return bounds;
}
return [domain[new0], domain[new1]];
};
// "scaleBounds" would be a better name but "scale" is already occupied.
/** @internal */
var growBounds = function (scale, bounds, delta, anchor) { return ((scale.bandwidth ? growBandScaleBounds : growLinearScaleBounds)(scale, bounds, delta, anchor)); };
var invertLinearScaleBounds = function (scale, range) {
var fullRange = scale.range();
var match = Math.sign(fullRange[1] - fullRange[0]) === Math.sign(range[1] - range[0]);
return [
scale.invert(range[match ? 0 : 1]),
scale.invert(range[match ? 1 : 0]),
];
};
var matchPointToBand = function (domain, range, p) {
var i = Math.floor(domain.length * (p - range[0]) / (range[1] - range[0]));
return domain[Math.min(i, domain.length - 1)];
};
var invertBandScaleBounds = function (scale, range) {
var domain = scale.domain();
var fullRange = scale.range();
return [
matchPointToBand(domain, fullRange, range[0]),
matchPointToBand(domain, fullRange, range[1]),
];
};
/** @internal */
var invertBoundsRange = function (scale, range) { return ((scale.bandwidth ? invertBandScaleBounds : invertLinearScaleBounds)(scale, range)); };

@@ -120,10 +319,8 @@ var _a;

};
var floatsEqual = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
var mergeContinuousDomains = function (domain, items) {
var newDomain = d3Array.extent(domain.concat(items));
return floatsEqual(newDomain[0], domain[0]) && floatsEqual(newDomain[1], domain[1])
? domain : newDomain;
var newDomain = d3Array.extent(__spread(domain, items));
return rangesEqual(newDomain, domain) ? domain : newDomain;
};
var mergeDiscreteDomains = function (domain, items) {
var newDomain = Array.from(new Set(domain.concat(items)));
var newDomain = Array.from(new Set(__spread(domain, items)));
return newDomain.length === domain.length ? domain : newDomain;

@@ -151,3 +348,3 @@ };

var items = series.points.map(getValue);
return series.getPointTransformer.isStartedFromZero ? [0].concat(items) : items;
return series.getPointTransformer.isStartedFromZero ? __spread([0], items) : items;
};

@@ -200,10 +397,11 @@ var updateDomain = function (domain, series, getItem, getDomainItems) { return updateDomainItems(updateDomainFactory(domain, series, getItem), getDomainItems(series)); };

var getTicks = function (scale) { return (scale.ticks ? scale.ticks() : scale.domain()); };
var createTicks = function (scale, callback) {
var getTicks = function (scale, count) { return (scale.ticks ? scale.ticks(count) : scale.domain()); };
var createTicks = function (scale, count, callback) {
var fixedScale = fixOffset(scale);
return getTicks(scale).map(function (tick, index) { return callback(fixedScale(tick), String(index), tick); });
return getTicks(scale, count)
.map(function (tick, index) { return callback(fixedScale(tick), String(index), tick); });
};
var getFormat = function (scale, tickFormat) {
var getFormat = function (scale, count, tickFormat) {
if (scale.tickFormat) {
return tickFormat ? tickFormat(scale) : scale.tickFormat();
return tickFormat ? tickFormat(scale, count) : scale.tickFormat(count);
}

@@ -234,9 +432,17 @@ return function (tick) { return tick; };

};
// Constant is selected to preserve original behavior described in
// https://github.com/d3/d3-scale#continuous_ticks.
var DEFAULT_TICK_COUNT = 10;
var getTickCount = function (scaleRange, paneSize) {
var rangeToPaneRatio = Math.abs(scaleRange[0] - scaleRange[1]) / paneSize || 1;
return Math.round(DEFAULT_TICK_COUNT * rangeToPaneRatio);
};
/** @internal */
var axisCoordinates = function (_a) {
var scaleName = _a.scaleName, scale = _a.scale, position = _a.position, tickSize = _a.tickSize, tickFormat = _a.tickFormat, indentFromAxis = _a.indentFromAxis;
var scaleName = _a.scaleName, scale = _a.scale, position = _a.position, tickSize = _a.tickSize, tickFormat = _a.tickFormat, indentFromAxis = _a.indentFromAxis, paneSize = _a.paneSize;
var isHor = isHorizontal(scaleName);
var options = (isHor ? createHorizontalOptions : createVerticalOptions)(position, tickSize, indentFromAxis);
var formatTick = getFormat(scale, tickFormat);
var ticks = createTicks(scale, function (coordinates, key, tick) { return (__assign({ key: key, x1: coordinates, x2: coordinates, y1: coordinates, y2: coordinates, xText: coordinates, yText: coordinates, text: formatTick(tick) }, options)); });
var tickCount = getTickCount(scale.range(), paneSize[1 - Number(isHor)]);
var formatTick = getFormat(scale, tickCount, tickFormat);
var ticks = createTicks(scale, tickCount, function (coordinates, key, tick) { return (__assign({ key: key, x1: coordinates, x2: coordinates, y1: coordinates, y2: coordinates, xText: coordinates, yText: coordinates, text: formatTick(tick) }, options)); });
return {

@@ -250,3 +456,3 @@ ticks: ticks,

var createTickFilter = function (_a) {
var width = _a[0], height = _a[1];
var _b = __read(_a, 2), width = _b[0], height = _b[1];
return (width > 0

@@ -260,6 +466,7 @@ ? function (tick) { return tick.x1 >= 0 && tick.x1 <= width; }

var getGridCoordinates = function (_a) {
var scaleName = _a.scaleName, scale = _a.scale;
var scaleName = _a.scaleName, scale = _a.scale, paneSize = _a.paneSize;
var isHor = isHorizontal(scaleName);
var tickCount = getTickCount(scale.range(), paneSize[1 - Number(isHor)]);
var options = isHor ? horizontalGridOptions : verticalGridOptions;
return createTicks(scale, function (coordinates, key) { return (__assign({ key: key, x: coordinates, y: coordinates, dx: 0, dy: 0 }, options)); });
return createTicks(scale, tickCount, function (coordinates, key) { return (__assign({ key: key, x: coordinates, y: coordinates, dx: 0, dy: 0 }, options)); });
};

@@ -296,4 +503,4 @@

var argumentScale = _a.argumentScale, valueScale = _a.valueScale, points = _a.points;
var x = Math.max.apply(Math, argumentScale.range()) / 2;
var y = Math.max.apply(Math, valueScale.range()) / 2;
var x = Math.max.apply(Math, __spread(argumentScale.range())) / 2;
var y = Math.max.apply(Math, __spread(valueScale.range())) / 2;
var maxRadius = Math.min(x, y);

@@ -324,3 +531,3 @@ var pieData = d3Shape.pie().sort(null).value(function (d) { return d.value; })(points);

}
return getLinePointTransformer.apply(void 0, args);
return getLinePointTransformer.apply(void 0, __spread(args));
};

@@ -436,3 +643,3 @@ /** @internal */

var seriesColor = props.color || palette[index % palette.length];
return series.concat([__assign({}, props, { index: index, name: getUniqueName(series, props.name), points: createPoints(props, data, __assign({}, restProps, { color: seriesColor }), palette), color: seriesColor })]);
return __spread(series, [__assign({}, props, { index: index, name: getUniqueName(series, props.name), points: createPoints(props, data, __assign({}, restProps, { color: seriesColor }), palette), color: seriesColor })]);
};

@@ -505,3 +712,3 @@ // TODO: Memoization is much needed here by the same reason as in "createPoints".

var points = series.points.map(function (point) {
var _a = dataItems[point.index], value0 = _a[0], value = _a[1];
var _a = __read(dataItems[point.index], 2), value0 = _a[0], value = _a[1];
return __assign({}, point, { value: value, value0: value0 });

@@ -646,2 +853,3 @@ });

};
var getDefaultScatterAnimationOptions = function () { return '1.6s'; };
/** @internal */

@@ -664,3 +872,3 @@ var getAreaAnimationStyle = function (scales) {

var getScatterAnimationStyle = function () {
var options = getDefaultAreaAnimationOptions();
var options = getDefaultScatterAnimationOptions();
return {

@@ -707,5 +915,7 @@ animation: getScatterAnimationName() + " " + options,

/** @internal */
var getRootOffset = function (root) {
var _a = root.getBoundingClientRect(), left = _a.left, top = _a.top;
var pageXOffset = window.pageXOffset, pageYOffset = window.pageYOffset;
var getOffset = function (element) {
var _a = element.getBoundingClientRect(), left = _a.left, top = _a.top;
// Safer way to get window.
var defaultView = element.ownerDocument.defaultView;
var _b = defaultView, pageXOffset = _b.pageXOffset, pageYOffset = _b.pageYOffset;
return [left + pageXOffset, top + pageYOffset];

@@ -735,8 +945,12 @@ };

// so *rootRef.current* can be accessed.
var offset = getRootOffset(rootRef.current);
var offset = getOffset(rootRef.current);
// *getBoundingClientRect* of a real html element is affected by window scrolling.
// *popper.js* subscribes "html -> getBoundingClientRect -> (left, top)" from
// "reference -> getBoundingClientRect" - so here it is added.
var htmlRect = rootRef.current.ownerDocument.documentElement.getBoundingClientRect();
return {
left: rect[0] + offset[0],
top: rect[1] + offset[1],
right: rect[2] + offset[0],
bottom: rect[3] + offset[1],
left: rect[0] + offset[0] + htmlRect.left,
top: rect[1] + offset[1] + htmlRect.top,
right: rect[2] + offset[0] + htmlRect.left,
bottom: rect[3] + offset[1] + htmlRect.top,
width: 0,

@@ -753,15 +967,11 @@ height: 0,

// TODO: Copypaste!
var floatsEqual$1 = function (a, b) { return Math.abs(a - b) < Number.EPSILON; };
// Given original scale
// f(domain) = range
// f(subDomain) = subRange
// Find extended scale
// g(domain) = extendedRange
// g(subDomain) = range
// Original "range" is linearly extended so that
// extendedRange : range === range : subRange
// y = p * x + q
// subRange = p * range + q => p, q
// range = p * extendedRange + q => extendedRange
var getArgumentBounds = function (viewport) { return (viewport && viewport.argumentStart !== undefined && viewport.argumentEnd !== undefined
? [viewport.argumentStart, viewport.argumentEnd] : null); };
var getValueBounds = function (viewport) { return (viewport && viewport.valueStart !== undefined && viewport.valueEnd !== undefined
? [viewport.valueStart, viewport.valueEnd] : null); };
var getValueScaleName = function (viewport) { return (getValueDomainName(viewport && viewport.scaleName)); };
var getDefaultBounds = function (scale) {
var domain = scale.domain();
return [domain[0], domain[domain.length - 1]];
};
var proportionallyExtendRange = function (range, subRange) {

@@ -778,6 +988,3 @@ var p = (subRange[0] - subRange[1]) / (range[0] - range[1]);

var subRange = scaleBounds(scale, bounds);
if (floatsEqual$1(subRange[0], range[0]) && floatsEqual$1(subRange[1], range[1])) {
return range;
}
return proportionallyExtendRange(range, subRange);
return rangesEqual(subRange, range) ? range : proportionallyExtendRange(range, subRange);
};

@@ -791,13 +998,64 @@ var update = function (ranges, changes, key, domain, bounds) {

/** @internal */
var adjustLayout = function (domains, ranges, _a) {
var argumentBounds = _a.argumentBounds, scaleName = _a.scaleName, valueBounds = _a.valueBounds;
var adjustLayout = function (domains, ranges, viewport) {
var changes = {};
var argumentBounds = getArgumentBounds(viewport);
if (argumentBounds) {
update(ranges, changes, ARGUMENT_DOMAIN, domains[ARGUMENT_DOMAIN], argumentBounds);
}
var valueBounds = getValueBounds(viewport);
if (valueBounds) {
update(ranges, changes, VALUE_DOMAIN, domains[getValueDomainName(scaleName)], valueBounds);
update(ranges, changes, VALUE_DOMAIN, domains[getValueScaleName(viewport)], valueBounds);
}
return Object.keys(changes).length ? __assign({}, ranges, changes) : ranges;
};
var boundsForScale = function (name, scales, currentBounds, interaction, type, delta, anchor, range) {
if (interaction !== type && interaction !== 'both') {
return null;
}
var scale = scales[name];
var bounds = currentBounds || getDefaultBounds(scale);
var newBounds;
if (type === 'pan') {
newBounds = moveBounds(scale, bounds, delta);
}
else if (type === 'zoom') {
newBounds = range ? invertBoundsRange(scale, range) : growBounds(scale, bounds, delta, anchor);
}
return newBounds !== bounds ? newBounds : null;
};
/** @internal */
var getViewport = function (scales, interactions, type, deltas, anchors, ranges, viewport, onViewportChange) {
var changes = {};
var argumentBounds = boundsForScale(ARGUMENT_DOMAIN, scales, getArgumentBounds(viewport), interactions[0], type, deltas ? deltas[0] : 0, anchors ? anchors[0] : 0, ranges ? ranges[0] : undefined);
var valueBounds = boundsForScale(getValueScaleName(viewport), scales, getValueBounds(viewport), interactions[1], type, deltas ? deltas[1] : 0, anchors ? anchors[1] : 0, ranges ? ranges[1] : undefined);
if (argumentBounds) {
changes.argumentStart = argumentBounds[0];
changes.argumentEnd = argumentBounds[1];
}
if (valueBounds) {
changes.valueStart = valueBounds[0];
changes.valueEnd = valueBounds[1];
}
if (Object.keys(changes).length) {
var newViewport = __assign({}, viewport, changes);
if (onViewportChange) {
onViewportChange(newViewport);
}
return { viewport: newViewport };
}
return null;
};
/** @internal */
var getDeltaForTouches = function (touches) {
var deltaX = touches[0].pageX - touches[1].pageX;
var deltaY = touches[0].pageY - touches[1].pageY;
var delta = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
var center = [
(touches[0].pageX + touches[1].pageX) / 2,
(touches[0].pageY + touches[1].pageY) / 2,
];
return { delta: delta, center: center };
};
/** @internal */
var isKeyPressed = function (event, key) { return event[key + "Key"]; };

@@ -822,3 +1080,3 @@ var getSegmentLength = function (dx, dy) { return Math.sqrt(dx * dx + dy * dy); };

return function (_a) {
var x = _a[0], y = _a[1];
var _b = __read(_a, 2), x = _b[0], y = _b[1];
return ctx.isPointInPath(x, y);

@@ -830,3 +1088,3 @@ };

var getContinuousPointDistance = function (_a, _b) {
var px = _a[0], py = _a[1];
var _c = __read(_a, 2), px = _c[0], py = _c[1];
var x = _b.x, y = _b.y;

@@ -902,4 +1160,4 @@ return getSegmentLength(px - x, py - y);

var createBarHitTester = createPointsEnumeratingHitTesterCreator(function (_a, point) {
var px = _a[0], py = _a[1];
var _b = point, x = _b.x, y = _b.y, y1 = _b.y1, barWidth = _b.barWidth, maxBarWidth = _b.maxBarWidth;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = point, x = _c.x, y = _c.y, y1 = _c.y1, barWidth = _c.barWidth, maxBarWidth = _c.maxBarWidth;
var xCenter = x;

@@ -913,4 +1171,4 @@ var yCenter = (y + y1) / 2;

var createScatterHitTester = createPointsEnumeratingHitTesterCreator(function (_a, obj) {
var px = _a[0], py = _a[1];
var _b = obj, x = _b.x, y = _b.y, point = _b.point;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = obj, x = _c.x, y = _c.y, point = _c.point;
var distance = getSegmentLength(px - x, py - y);

@@ -926,4 +1184,4 @@ return distance <= point.size / 2 ? { distance: distance } : null;

var createPieHitTester = createPointsEnumeratingHitTesterCreator(function (_a, point) {
var px = _a[0], py = _a[1];
var _b = point, x = _b.x, y = _b.y, innerRadius = _b.innerRadius, outerRadius = _b.outerRadius, startAngle = _b.startAngle, maxRadius = _b.maxRadius, endAngle = _b.endAngle;
var _b = __read(_a, 2), px = _b[0], py = _b[1];
var _c = point, x = _c.x, y = _c.y, innerRadius = _c.innerRadius, outerRadius = _c.outerRadius, startAngle = _c.startAngle, maxRadius = _c.maxRadius, endAngle = _c.endAngle;
var inner = innerRadius * maxRadius;

@@ -991,6 +1249,6 @@ var outer = outerRadius * maxRadius;

var getEventCoords = function (e) {
var offset = getRootOffset(e.currentTarget);
var offset = getOffset(e.currentTarget);
return [
e.clientX - offset[0],
e.clientY - offset[1],
e.pageX - offset[0],
e.pageY - offset[1],
];

@@ -1025,5 +1283,5 @@ };

if (status) {
targets.push.apply(targets, status.points.map(function (point) { return ({
targets.push.apply(targets, __spread(status.points.map(function (point) { return ({
series: series, order: order, point: point.index, distance: point.distance,
}); }));
}); })));
}

@@ -1103,2 +1361,5 @@ });

exports.adjustLayout = adjustLayout;
exports.getViewport = getViewport;
exports.getDeltaForTouches = getDeltaForTouches;
exports.isKeyPressed = isKeyPressed;
exports.createAreaHitTester = createAreaHitTester;

@@ -1115,9 +1376,14 @@ exports.createLineHitTester = createLineHitTester;

exports.getWidth = getWidth;
exports.fixOffset = fixOffset;
exports.getValueDomainName = getValueDomainName;
exports.rangesEqual = rangesEqual;
exports.makeScale = makeScale;
exports.scaleBounds = scaleBounds;
exports.fixOffset = fixOffset;
exports.moveBounds = moveBounds;
exports.growBounds = growBounds;
exports.invertBoundsRange = invertBoundsRange;
exports.getLegendItems = getLegendItems;
exports.buildEventHandlers = buildEventHandlers;
exports.processPointerMove = processPointerMove;
exports.getOffset = getOffset;
exports.HORIZONTAL = HORIZONTAL;

@@ -1124,0 +1390,0 @@ exports.VERTICAL = VERTICAL;

6

package.json
{
"name": "@devexpress/dx-chart-core",
"version": "1.11.0-alpha.1",
"version": "1.11.0-beta.1",
"description": "Core library for the DevExtreme Reactive Chart component",

@@ -39,3 +39,3 @@ "author": {

"lint": "tslint -p tsconfig.lint.json",
"lint:fix": "yarn run lint -- --fix"
"lint:fix": "yarn lint -- --fix"
},

@@ -63,3 +63,3 @@ "devDependencies": {

},
"gitHead": "04937befc4fe9c5e329039533983c956deb78390"
"gitHead": "972b9b88a1e51db0c0c8c30a009407b2d35a7a4f"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc