Skip to content

Unit Dots

A unit chart: every period is a column of equal-value squares, so one square is always the same amount and nothing can be exaggerated.

$149 once · every Pro piece

Customize

Two series share each column from the baseline, the larger one behind and the smaller lit inside it, with the empty squares above kept as a faint ghost grid that carries the scale. Scrub a column and it becomes a highlight band riding the cursor spring: its squares light up, the primary series in the accent, while every other column steps back. Squares cascade in column by column on a springy overshoot; switching the range re-deals them.

Install

npx shadcn@latest add @obsyde/unit-dots

Needs your licence key · Get Pro

Usage

Import it from where the CLI puts it, or copy the files below by hand.

import { UnitDots } from '@/components/obsyde/ember/unit-dots/UnitDots';

export function Example() {
  return (
    <UnitDots />
  );
}

Files

What you get with Pro: plain React, TypeScript and CSS, with no dependencies.

  • ember/unit-dots/UnitDots.tsxcomponent
  • ember/unit-dots/unit-dots.cssstyles
  • ember/unit-dots/UnitDotsDemo.tsxdemo
  • ember/viz-kit/viz-kit.cssshared
  • ember/viz-kit/Tooltip.tsxshared
  • ember/viz-kit/focus.tsshared
  • ember/viz-kit/patterns.tsxshared
  • ember/viz-kit/roll.tsshared
  • ember/shared/rolling-number.cssshared
  • ember/shared/spring.tsshared
  • ember/shared/accent.tsshared
  • ember/viz-kit/scale.tsshared
  • ember/viz-kit/motion.tsshared
  • ember/viz-kit/chart.tsxshared
  • ember/shared/ember.cssshared
  • ember/viz-kit/touch.tsshared
  • ember/viz-kit/keyboard.tsshared
  • ember/viz-kit/size.tsshared
  • ember/viz-kit/States.tsxshared
  • ember/viz-kit/shape.tsshared
  • ember/viz-kit/Legend.tsxshared
  • ember/viz-kit/Grid.tsxshared
  • ember/viz-kit/demo.tsxshared
  • ember/viz-kit/demo.cssshared
  • ember/viz-kit/Axis.tsxshared

API

PropTypeDefault
accentAccent'ember' | 'volt' | 'arc''ember'
rangeRange'year' | 'quarter''year'
shapeShape'square' | 'round''square'
rowsRowsnumber16
ghostGhost gridbooleantrue
legendLegend'row' | 'none''row'
tooltipTooltip'panel' | 'corner' | 'none''panel'
patternPattern'none' | 'diagonal-up' | 'diagonal-down' | 'dots' | 'vertical' | 'crosshatch''none'
revealReveal'cascade' | 'none''cascade'
statusStatus'ready' | 'loading' | 'empty''ready'
heightHeightnumber300
seedSeednumber4