master
feat(grid layout): (1) deprecate grid.containLabel. (2) support contain axisName (3) refactor: use the same logic to measure axisLabel/axisName contain and view build. (3) support auto avoid axisLabel and axisName overflow even containLabel is not specified, while also considered axis line alignment between different grids. Introduce `grid.outerBounds` and `grid.outerBoundsContain`.
fix(grid layout): Change the impl and correct "contain axis name" and deprecated `grid.containLabel`. Support `grid.layoutContain.axisName` and `grid.layoutContain.axisLabel`.
ts: let to const. And add eslint rule "prefer-const".
fix: Temporarily fix incorrect stack base dimension selection when both axes are value axes.
fix(lint): Fix according to lint.
tweak: Clarity the previous implements of axis statistics.
refactor&feature: (1) Uniform series data union logic; previous they are implemented in several inconsistent ways and error-prone. And also strict the extent calculation with uniformed utilities. (2) Refactor Scale - uniform the implementation of the numeric transformations (such as axis breaks, logarithm, ordinal related handling) with a decorator pattern and decouple them from Scale class hierarchy. This brings consistent handling for details and enables further extension. (3) Refactor Scale - decouple "axis nice" logic from Scale and make the "axis nice" and "axis align" implemented in the same code style. This removes override (hard to read and maintain), and uniforms the parameters of IntervalScale (previous its parameters can be generated by itself or outside, which is confusing), and reduce scale-type-specified handling (e.g., if (isLogScale) ...) in calculation. (4) Enable "value" axis and "log" axis to render "bar" and "pictorialBar" series without overflowing the axis. Previously only "time" axis enables that on only "bar" series. Introduce "SCALE_EXTENT_KIND_MAPPING" to cover this generalized behavior and use strict "clip" for bar series without extra margin (a previous compromise). And clarify `barGrid` code accordingly, which removes duplicated time-consuming calculation in "bandWidth" calculation. Close #19972. Close #17858. Close #12720. Close #13321. Close #20718. Close #20421. Close #20503.
chore: add license headers and a script of pre-commit
fix&feature: (1) feature: Add option boxplot.clip (2) feature: Enable boxplot and candlestick containShape for "value"/"time"/"log" axis, enable proper shadow axisPointer. (candlestick-case.html, boxplot-multi.html) (3) fix: Fix candlestick ends shapes can not be displayed on "value"/"time" axis. (candlestick-case.html) (4) fix: candlestick shape width is inappropriate when datazoom filterMode is 'none'/'empty'. (candlestick-case.html) (5) fix: In polar coordinate system, support "value"/"time" axis as angle/radius axis, enable propere bandWidth for bar series, enable proper shadow axisPointer. (bar-polar-multi-series-radial.html, bar-polar-multi-series.html)