UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

45 lines (42 loc) 1.36 kB
import { getAngledRectangleWidth } from './CartesianUtils.js'; import { getEveryNth } from './getEveryNth.js'; function getAngledTickWidth(contentSize, unitSize, angle) { var size = { width: contentSize.width + unitSize.width, height: contentSize.height + unitSize.height }; return getAngledRectangleWidth(size, angle); } function getTickBoundaries(viewBox, sign, sizeKey) { var isWidth = sizeKey === 'width'; var { x, y, width, height } = viewBox; if (sign === 1) { return { start: isWidth ? x : y, end: isWidth ? x + width : y + height }; } return { start: isWidth ? x + width : y + height, end: isWidth ? x : y }; } function isVisible(sign, tickPosition, getSize, start, end) { /* Since getSize() is expensive (it reads the ticks' size from the DOM), we do this check first to avoid calculating * the tick's size. */ if (sign * tickPosition < sign * start || sign * tickPosition > sign * end) { return false; } var size = getSize(); return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0; } function getNumberIntervalTicks(ticks, interval) { return getEveryNth(ticks, interval + 1); } export { getAngledTickWidth, getNumberIntervalTicks, getTickBoundaries, isVisible }; //# sourceMappingURL=TickUtils.js.map