Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
required: true,
controlType: 'range',
controlOptions: {
unit: 'px',
min: 100,
max: 1000,
step: 5,
},
},
{
key: 'layout',
group: 'Base',
help: `How to display items.`,
type: 'string',
required: false,
defaultValue: defaults.layout,
controlType: 'radio',
controlOptions: {
choices: [
{ label: 'horizontal', value: 'horizontal' },
{ label: 'vertical', value: 'vertical' },
],
},
},
{
key: 'reverse',
group: 'Base',
help: 'Reverse chart.',
description: `
Reverse chart, starts on top instead of bottom
for vertical layout and right instead of left
for horizontal one.const generateData = () => [
generateBulletData('temp.', shuffle([100, 120, 140])[0]),
generateBulletData('power', 2, { float: true, measureCount: 2 }),
generateBulletData('volume', shuffle([40, 60, 80])[0], { rangeCount: 8 }),
generateBulletData('cost', 500000, { measureCount: 2 }),
generateBulletData('revenue', shuffle([9, 11, 13])[0], { markerCount: 2 }),
]
const initialProperties = {
margin: {
top: 50,
right: 90,
bottom: 50,
left: 90,
},
layout: BulletDefaultProps.layout,
reverse: BulletDefaultProps.reverse,
spacing: 46,
titlePosition: BulletDefaultProps.titlePosition,
titleAlign: 'start',
titleOffsetX: -70,
titleOffsetY: BulletDefaultProps.titleOffsetY,
titleRotation: BulletDefaultProps.titleRotation,
measureSize: 0.2,
markerSize: 0.6,
axisPosition: BulletDefaultProps.axisPosition,
rangeColors: BulletDefaultProps.rangeColors,
measureColors: BulletDefaultProps.measureColors,
markerColors: BulletDefaultProps.markerColors,
animate: true,
motionStiffness: 90,
motionDamping: 12,generateBulletData('volume', shuffle([40, 60, 80])[0], { rangeCount: 8 }),
generateBulletData('cost', 500000, { measureCount: 2 }),
generateBulletData('revenue', shuffle([9, 11, 13])[0], { markerCount: 2 }),
]
export default class Bullet extends Component {
state = {
data: generateData(),
settings: {
margin: {
top: 50,
right: 90,
bottom: 50,
left: 90,
},
layout: BulletDefaultProps.layout,
reverse: BulletDefaultProps.reverse,
spacing: 46,
titlePosition: BulletDefaultProps.titlePosition,
titleAlign: 'start',
titleOffsetX: -70,
titleOffsetY: BulletDefaultProps.titleOffsetY,
titleRotation: BulletDefaultProps.titleRotation,
measureSize: 0.2,
markerSize: 0.6,
axisPosition: BulletDefaultProps.axisPosition,
rangeColors: BulletDefaultProps.rangeColors,
measureColors: BulletDefaultProps.measureColors,
markerColors: BulletDefaultProps.markerColors,
animate: true,
motionStiffness: 90,
motionDamping: 12,