UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

68 lines (67 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tickFrequencies = void 0; function yearNumber(from, to) { return Math.abs(to.getFullYear() - from.getFullYear()); } function monthNumber(from, to) { return Math.abs(to.getFullYear() * 12 + to.getMonth() - 12 * from.getFullYear() - from.getMonth()); } function dayNumber(from, to) { return Math.abs(to.getTime() - from.getTime()) / (1000 * 60 * 60 * 24); } function hourNumber(from, to) { return Math.abs(to.getTime() - from.getTime()) / (1000 * 60 * 60); } const tickFrequencies = exports.tickFrequencies = { years: { getTickNumber: yearNumber, isTick: (prev, value) => value.getFullYear() !== prev.getFullYear(), format: d => d.getFullYear().toString() }, quarterly: { getTickNumber: (from, to) => Math.floor(monthNumber(from, to) / 3), isTick: (prev, value) => value.getMonth() !== prev.getMonth() && value.getMonth() % 3 === 0, format: new Intl.DateTimeFormat('default', { month: 'short' }).format }, months: { getTickNumber: monthNumber, isTick: (prev, value) => value.getMonth() !== prev.getMonth(), format: new Intl.DateTimeFormat('default', { month: 'short' }).format }, biweekly: { getTickNumber: (from, to) => dayNumber(from, to) / 14, isTick: (prev, value) => (value.getDay() < prev.getDay() || dayNumber(value, prev) > 7) && Math.floor(value.getDate() / 7) % 2 === 1, format: new Intl.DateTimeFormat('default', { day: 'numeric' }).format }, weeks: { getTickNumber: (from, to) => dayNumber(from, to) / 7, isTick: (prev, value) => value.getDay() < prev.getDay() || dayNumber(value, prev) >= 7, format: new Intl.DateTimeFormat('default', { day: 'numeric' }).format }, days: { getTickNumber: dayNumber, isTick: (prev, value) => value.getDate() !== prev.getDate(), format: new Intl.DateTimeFormat('default', { day: 'numeric' }).format }, hours: { getTickNumber: hourNumber, isTick: (prev, value) => value.getHours() !== prev.getHours(), format: new Intl.DateTimeFormat('default', { hour: '2-digit', minute: '2-digit' }).format } };