Skip to content

v0.3.0

Compare
Choose a tag to compare
@tkonopka tkonopka released this 10 Apr 16:51
· 254 commits to main since this release

Highlights

  • Zoom and pan capabilities for all chart types
  • New package @chsk/polar for pie and doughnut charts
  • New components in existing packages, including for animated text, bars with whiskers, and curved arrows
  • Reduced bundle sizes by omitting external modules
  • Optimized svg exports by omitting redundant css
  • Streamlined typings for increased prop consistency across components, especially for container placement

Contributors

@falsepopsky @tkonopka

Added

  • [band] prop variant for BandSurface to fine-tune the size of background rectangles
  • [examples] venn diagrams with custom text at intersections
  • [set] support for data subsets when drawing set intersection labels
  • [core] component Style to create themed css for arbitrary ancestors
  • [annotation] conversion of rgba colors to hex in svg exports
  • [themes] theme piece buttonTheme with styles for buttons
  • [core] component Toolbar to create generic toolbars with buttons
  • [core] component ViewClip to restrict content to the bounding box of a view
  • [core] component ViewController to manage axes in arbitrary views
  • [core] component Button implementing a generic click-able button
  • [core] support for element-specific transitions, notably for Rectangle
  • [band] support for fade-in and edge animations in BandHighlight
  • [core] default animation states and theming support for MilestoneMotion
  • [annotation] component FlowTypography to reveal text character-by-character
  • [annotation] filter BackgroundColorFilter
  • [core] prop component in Counter to support bespoke displays, for example, as a combination of svg text and tspan elements
  • [polar] examples with pie and doughnut chart
  • [polar] package for charts with polar coordinate systems
  • [band] components BarAndWhisker and LineAndWhiskers to summarize distributions
  • [xy] calculations of mean and standard deviation for histograms
  • [examples] flowchart in the shape of a tree
  • [annotation] css style shaking; svg code produced by cleanSvg now contains only style definitions that are relevant to a specific chart (previously, the output contained all css styles defined in a theme)
  • [examples] histograms with several distributions
  • [examples] quantile chart with bar-and-error-bar components instead of box-and-whisker components
  • [examples] schedule chart with arrows
  • [themes] object darkTheme for charts on a dark background
  • [core] component BluntMarker
  • [annotation] component ArcArrow
  • [matrix] support for fade-in and edge animations in HeatMapHighlight
  • [annotation] component GridStripes

Changed

  • [polar] removed unnecessary prop variant from components Slice and Slices
  • [core] renamed prop in AxisLabel from anchor to align for more consistency with props in typography components
  • [core] changed props in Axis and AxisLabel: prop offset is always an array, and prop distance is orthogonal distance from view boundary
  • [set] changed default color interpolation in venn diagrams to lab space
  • [core] fixed support for props align, anchor, and offset in labels
  • [set] fixed bug in Venn diagram which flipped long/short arcs in some cases
  • [core] changed types and parsing for color schemes to reduce bundle size. The new color scale specs do not accept strings with d3 color scale names (e.g. 'Blues'), but rather accept color arrays, color nested arrays, or interpolator functions. Charts still use d3-scale-chromatic to manage colors, but it is no longer necessary to include the entire d3-scale-chromatic in the dist bundle.
  • [examples] merged example with line chart with area gradient into example with time series
  • [core] replaced prop labelOffset in tick components with labelDistance, and labelTranslate with `labelOffset; now all 'offset' props should be arrays with [x, y] coordinates
  • [core] replaced prop translate with offset to improve naming consistency (using nouns more than verbs); moved the offset prop into ContainerProps
  • [themes] removed theme piece download in favor of piece for buttons
  • [examples] added some icons for view controllers
  • [core] changed implementation of some scales, notably to support invert
  • [core] removed type LinearScaleProps
  • [core] changed API for the useScales hook to prepare support for user-driven adjustments to chart scales, e.g. brush
  • [core] changed motion configuration format in themes to support multiple transition variants. The default motion configuration now should be specified under a 'default' key.
  • [core] removed exports of some milestone utilities
  • [core] moved milestone presets into themes
  • [annotation] fixed bug in FlowPath causing end markers to appear too soon
  • [annotation] changed filter component names so that Filter is the suffix rather than prefix, for consistency with other naming convensions e.g. for boxed labels
  • [core] changed Counter animations to spring for consistency with other components
  • [core] renamed useView hook to useContainer
  • [all] changed view props so that position, positionUnits, size, sizeUnits, padding, and anchor are now nested in a single container prop. This simplifies internal code and docs for add-on views.
  • [core] renamed prop rotate to angle in typography components
  • [core] fixed ResizeObserver management (#3)
  • [core] upgrade d3-shape to v3.2.0
  • [annotation] removed redundant 'px' suffixes in svg exports to reduce size of output
  • [annotation] replaced 'rgb(...)' colors by hex strings in svg exports to reduce size of output
  • [core] removed redundant role attributes (in grid lines and ticks) to reduce size of svg export
  • [core] avoided setting role as 'default' in shapes and text elements
  • [band] renamed prop medianStyle to middleStyle to allow distributions to display means rather than medians
  • [band] renamed components with prefix Quantile to Distribution
  • [core] augmented interface CompleteThemeSpec to support styling tspan components
  • [annotation] fixed bug with svg cleaning that caused some attributes with undefined values being retained in output
  • [themes] simplified theme piece downloadTheme
  • [band] changed numeric interpretation of prop paddingInternal to simplify overlaying multiple views on top of each other
  • [band] added prop variant' to QuantileandStrip` to enable grouped / layered charts
  • [band] changed interpretation of prop variant in Strip; point arrangements now set via new prop jitter
  • [all] changed rollup config to reduce bundle sizes by excluding framer-motion
  • [core] changed a typing on cart context props to simplify tests
  • [core] changed prop role in MilestoneMotion to setRole for consistency with other components, and to enable setting a role by default
  • [core] changed fill opacity for path components in defaultTheme
  • [annotation] fixed bug with BlockArrow rotation
  • [core] simplified typescript type for tick label format in AxisTicks
  • [core] adjusted the default theme to disable pointer events on decorative items, e.g. grid lines
  • [band] updated BandSurface to respond to mouse events and use a customizable 'dataComponent'
  • [themes] refactored organization of the objects in src, stories, and tests
  • [core] moved ArrowMarker and BluntMarker to the annotation package
  • [matrix] changed default animation in HeatMapHighlight to simple fade-in
  • [documentation] edited miscellaneous documentation pages