JSFiddle - React, Tailwind, and code Playground

HTML

<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>Financial | Chart.js</title>
		<script src="https://cdn.jsdelivr.net/npm/luxon@3.4.4"></script>
		<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon@1.3.1"></script>
		<script>
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('chart.js'), require('chart.js/helpers')) :
	typeof define === 'function' && define.amd ? define(['chart.js', 'chart.js/helpers'], factory) :
	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Chart, global.Chart.helpers));
})(this, (function (chart_js, helpers) { 'use strict';

	/**
	* This class is based off controller.bar.js from the upstream Chart.js library
	*/
	class FinancialController extends chart_js.BarController {

		static overrides = {
			label: '',

			parsing: false,

			hover: {
				mode: 'label'
			},
			animations: {
				numbers: {
					type: 'number',
					properties: ['x', 'y', 'base', 'width', 'open', 'high', 'low', 'close', 'volume']
				}
			},

			scales: {
				x: {
					type: 'timeseries',
					offset: true,
					ticks: {
						major: {
							enabled: true,
						},
						source: 'data',
						maxRotation: 0,
						autoSkip: true,
						autoSkipPadding: 75,
						sampleSize: 100
					},
				},
				y: {
					type: 'linear'
				}
			},

			plugins: {
				tooltip: {
					intersect: false,
					mode: 'index',
					callbacks: {
						label(ctx) {
							const point = ctx.parsed;

							if (!helpers.isNullOrUndef(point.y)) {
								return chart_js.defaults.plugins.tooltip.callbacks.label(ctx);
							}

							const {o, h, l, c, v} = point;

							return `O: ${o}  H: ${h}  L: ${l}  C: ${c} V: ${v}`;
						}
					}
				}
			}
		};

		getLabelAndValue(index) {
			const me = this;
			const parsed...