A widget that displays a Chart.js chart.
@callback chart_data(assigns :: map()) :: %{labels: [String.t()], datasets: [map()]}
@callback chart_options() :: map()
@callback chart_type() :: :line | :bar | :pie | :doughnut