* Fix for getLabelAndValue on null controller
I encountered #11315 under the following circumstances:
1. Position the cursor over the chart area, such that it causes a
tooltip to be shown.
2. Move the cursor out of the chart area, such that the tooltip remains
visible.
3. Cause the chart contents to be changed, such that the dataset
referenced by the active tooltip element is no longer valid.
4. Move the mouse again. This triggers an `inChartArea = false` event,
so it reuses the previous, now invalid, active elements.
This fixes#11315 under the circumstances for which I've reproduced it,
but there may be others.
* Further fixes for elements added / changed
This possibly fixes#11365.
* test: new test to reproduce issue #10951
* test: validate the canvas style too
* fix: Avoid reassigning the the chart size. For specific values of pixelRatio the assignment would cause the size to reduce by 1px. Since it's called from the ResizeObserver it will be stuck in a loop that constantly reduce the size of the chart and canvas.
* Revert "fix: Avoid reassigning the the chart size. For specific values of pixelRatio the assignment would cause the size to reduce by 1px. Since it's called from the ResizeObserver it will be stuck in a loop that constantly reduce the size of the chart and canvas."
This reverts commit ed7a34814d.
* fix: Avoid the resize loop by fixing the rounding error in the retinaScale function.
* fix: getMaximumSize was flooring non-integer height values unnecessarily.
* Revert "fix: Avoid the resize loop by fixing the rounding error in the retinaScale function."
This reverts commit 23525abc6a.
* fix: Avoid the resize loop by fixing the rounding error in the retinaScale function.
* test: Add a failing test for single-slice doughnut with offset
* fix: Always draw full arcs and borders for doughnut slices
Fixes#10801
* test: Update existing image
Introduces a colors plugin that provides a color palette
Co-authored-by: Dan Onoshko <danon0404@gmail.com>
Co-authored-by: Jacco van den Berg <jaccoberg2281@gmail.com>
* Fix#10749 - backdrops with rotated labels
* remove translation adjustment
Because backdrop now occurs after translation, we don't want to double-adjust the position.
* increase tolerance slightly due to anti-aliasing
Co-authored-by: Charles McNulty <charles.mcnulty@tasconline.com>
* Use the correct area to clip when stacked scales are used
* adds test cases
* fix CI issue
* apply review
* Update .size-limit.cjs
Co-authored-by: Jacco van den Berg <jaccoberg2281@gmail.com>
Co-authored-by: Jacco van den Berg <jaccoberg2281@gmail.com>
* add warning if filler plugin is used but not registered
* fix lint
* increase size limit
* add test, only put warning in dataset controller
* fix register in docs, remove commented code
* remove other mr
* add documentation
* Apply suggestions from code review
Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>
* Also return false if plugin is disabled by options
* improve warning message
* undo docs changes
* update test
Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>