packages/showcase/showcase-sections/axes-showcase.js (147 lines of code) (raw):
import React from 'react';
import {mapSection} from '../showcase-components/showcase-utils';
import {showCase} from '../index';
const {
AxisOn0,
AxisWithTurnedLabels,
CustomAxes,
CustomAxisChart,
CustomAxesOrientation,
CustomAxisTickFormat,
CustomAxisTickElement,
DecorativeAxisCrissCross,
DynamicComplexEdgeHints,
DynamicCrosshair,
DynamicCrosshairScatterplot,
DynamicHints,
DynamicProgrammaticRightEdgeHints,
DynamicSimpleEdgeHints,
DynamicSimpleTopEdgeHints,
PaddedAxis,
ParallelCoordinatesExample,
StaticCrosshair,
StaticHints
} = showCase;
/* eslint-disable max-len */
const AXES = [
{
name: 'Axis on 0',
component: AxisOn0,
componentName: 'AxisOn0'
},
{
name: 'Custom Axes Orientation',
component: CustomAxesOrientation,
componentName: 'CustomAxesOrientation'
},
{
name: 'Custom Axis',
component: CustomAxisChart,
componentName: 'CustomAxisChart'
},
{
name: 'Custom axis tick format',
component: CustomAxisTickFormat
},
{
name: 'Custom axis tick label element',
component: CustomAxisTickElement
},
{
name: 'Even more Custom Axes',
component: CustomAxes,
componentName: 'CustomAxes'
},
{
name: 'Turned axis labels',
component: AxisWithTurnedLabels,
componentName: 'AxisWithTurnedLabels'
},
{
name: 'Unpadded Axis vs Padded Axis',
component: PaddedAxis,
componentName: 'PaddedAxis'
}
];
const TOOLTIPS = [
{
name: 'Static Hints',
component: StaticHints,
componentName: 'StaticHints'
},
{
name: 'Dynamic Hints',
comment: 'Move mouse over the point to see the hint.',
component: DynamicHints,
componentName: 'DynamicHints'
},
{
name: 'Dynamic Simple Edge Hints',
comment:
'Mouse over point. Hint appears on different edges. Left margin enables first point to show w/o break.',
component: DynamicSimpleEdgeHints,
componentName: 'DynamicSimpleEdgeHints'
},
{
name: 'Dynamic Simple Top Edge Hints',
comment:
'Mouse over point. horizontalAlign=ALIGN.AUTO, verticalAlign=ALIGN.TOP_EDGE Hint pinned to top edge, pole moves along edge, hint box on right of pole for first 2 data points and left otherwise.',
component: DynamicSimpleTopEdgeHints,
componentName: 'DynamicSimpleTopEdgeHints'
},
{
name: 'Dynamic Programmatic Right Edge Hints',
comment:
'Mouse over point. getAlignStyle method returns style object with right and top CSS props set (pinned right edge and at y position)',
component: DynamicProgrammaticRightEdgeHints,
componentName: 'DynamicProgrammaticRightEdgeHints'
},
{
name: 'Dynamic Complex Edge Hints',
comment:
'Mouse over point. Hint uses flex, css to show hint and pole from point to outside plot edge (css for margin values).',
component: DynamicComplexEdgeHints,
componentName: 'DynamicComplexEdgeHints'
},
{
name: 'Static Crosshair',
component: StaticCrosshair,
componentName: 'StaticCrosshair'
},
{
name: 'Dynamic Crosshair',
comment: 'Move your mouse over the chart to see the point.',
component: DynamicCrosshair,
componentName: 'DynamicCrosshair'
},
{
name: 'Dynamic Crosshair Scatterplot',
comment: 'Move your mouse over the chart to see the point.',
component: DynamicCrosshairScatterplot,
componentName: 'DynamicCrosshairScatterplot'
}
];
/* eslint-enable max-len */
const DECORATIVE_AXES = [
{
name: 'Diagonal Axes',
component: DecorativeAxisCrissCross,
componentName: 'DecorativeAxisCrissCross'
},
{
name: 'Parallel Coordinates',
component: ParallelCoordinatesExample,
componentName: 'ParallelCoordinatesExample'
}
];
function AxesShowcase() {
return (
<article id="axes">
<h2>Axes</h2>
{AXES.map(mapSection)}
<h2>Tooltips</h2>
{TOOLTIPS.map(mapSection)}
<h2>DecorativeAxis</h2>
{DECORATIVE_AXES.map(mapSection)}
</article>
);
}
export default AxesShowcase;