Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
},
{
key: 'borderWidth',
help: 'Slices border width.',
type: 'number',
required: false,
defaultValue: defaults.borderWidth,
controlType: 'lineWidth',
group: 'Style',
},
{
key: 'borderColor',
help: 'Method to compute border color.',
type: 'string | object | Function',
required: false,
defaultValue: defaults.borderColor,
controlType: 'inheritedColor',
group: 'Style',
},
{
key: 'enableRadialLabels',
help: 'Enable/disable radial labels.',
type: 'boolean',
required: false,
defaultValue: defaults.enableRadialLabels,
controlType: 'switch',
group: 'Radial labels',
},
{
key: 'radialLabel',
help: 'Radial label',
description: `
description: `
You can use \`defs\` and \`fill\` properties
to use patterns, see
[dedicated guide](self:/guides/patterns)
for further information.
`,
type: 'boolean',
controlType: 'switch',
group: 'Style',
},
{
key: 'borderWidth',
help: 'Slices border width.',
type: 'number',
required: false,
defaultValue: defaults.borderWidth,
controlType: 'lineWidth',
group: 'Style',
},
{
key: 'borderColor',
help: 'Method to compute border color.',
type: 'string | object | Function',
required: false,
defaultValue: defaults.borderColor,
controlType: 'inheritedColor',
group: 'Style',
},
{
key: 'enableRadialLabels',
help: 'Enable/disable radial labels.',
type: 'boolean',
group: 'Base',
},
{
key: 'margin',
help: 'Chart margin.',
type: 'object',
required: false,
controlType: 'margin',
group: 'Base',
},
{
key: 'colors',
help: 'Defines color range.',
type: 'string | Function | string[]',
required: false,
defaultValue: defaults.colors,
controlType: 'ordinalColors',
group: 'Style',
},
...defsProperties('Style', ['svg', 'api']),
{
key: 'showcase pattern usage',
flavors: ['svg'],
help: 'Patterns.',
description: `
You can use \`defs\` and \`fill\` properties
to use patterns, see
[dedicated guide](self:/guides/patterns)
for further information.
`,
type: 'boolean',
controlType: 'switch',
defaultValue: defaults.padAngle,
controlType: 'range',
group: 'Base',
controlOptions: {
unit: '°',
min: 0,
max: 45,
step: 1,
},
},
{
key: 'cornerRadius',
help: 'Rounded slices.',
type: 'number',
required: false,
defaultValue: defaults.cornerRadius,
controlType: 'range',
group: 'Base',
controlOptions: {
unit: 'px',
min: 0,
max: 45,
step: 1,
},
},
{
key: 'sortByValue',
help: `If 'true', arcs will be ordered according to their associated value.`,
type: 'boolean',
required: false,
defaultValue: defaults.sortByValue,
controlType: 'switch',
},
{
key: 'borderColor',
help: 'Method to compute border color.',
type: 'string | object | Function',
required: false,
defaultValue: defaults.borderColor,
controlType: 'inheritedColor',
group: 'Style',
},
{
key: 'enableRadialLabels',
help: 'Enable/disable radial labels.',
type: 'boolean',
required: false,
defaultValue: defaults.enableRadialLabels,
controlType: 'switch',
group: 'Radial labels',
},
{
key: 'radialLabel',
help: 'Radial label',
description: `
Defines how to get label text,
can be a string (used to access current node data property)
or a function which will receive the actual node data.
`,
type: 'string | Function',
required: false,
defaultValue: 'id',
controlType: 'choices',
group: 'Radial labels',
},
{
key: 'radialLabelsLinkColor',
help: 'Defines how to compute radial label link color.',
type: 'string | object | Function',
required: false,
defaultValue: defaults.radialLabelsLinkColor,
controlType: 'inheritedColor',
group: 'Radial labels',
},
{
key: 'enableSlicesLabels',
help: 'Enable/disable slices labels.',
type: 'boolean',
required: false,
defaultValue: defaults.enableSlicesLabels,
controlType: 'switch',
group: 'Slices labels',
},
{
key: 'sliceLabel',
help:
'Defines how to get label text, can be a string (used to access current node data property) or a function which will receive the actual node data.',
type: 'string | Function',
required: false,
defaultValue: 'value',
controlType: 'choices',
group: 'Slices labels',
controlOptions: {
choices: ['id', 'value', `d => \`\${d.id} (\${d.value})\``].map(choice => ({
label: choice,
value: choice,
defaultValue: defaults.startAngle,
controlType: 'angle',
group: 'Base',
controlOptions: {
unit: '°',
min: -180,
max: 360,
step: 5,
},
},
{
key: 'endAngle',
help: 'End angle, useful to make gauges for example.',
type: 'number',
required: false,
defaultValue: defaults.endAngle,
controlType: 'angle',
group: 'Base',
controlOptions: {
unit: '°',
min: -360,
max: 360,
step: 5,
},
},
{
key: 'fit',
help: `If 'true', pie will be omptimized to occupy more space when using partial pie.`,
type: 'boolean',
required: false,
defaultValue: defaults.fit,
controlType: 'switch',
defaultValue: defaults.endAngle,
controlType: 'angle',
group: 'Base',
controlOptions: {
unit: '°',
min: -360,
max: 360,
step: 5,
},
},
{
key: 'fit',
help: `If 'true', pie will be omptimized to occupy more space when using partial pie.`,
type: 'boolean',
required: false,
defaultValue: defaults.fit,
controlType: 'switch',
group: 'Base',
},
{
key: 'innerRadius',
help: `Donut chart if greater than 0. Value should be between 0~1 as it's a ratio from original radius.`,
type: 'number',
required: false,
defaultValue: defaults.innerRadius,
controlType: 'range',
group: 'Base',
controlOptions: {
min: 0,
max: 0.95,
step: 0.05,
},
},
{
key: 'fit',
help: `If 'true', pie will be omptimized to occupy more space when using partial pie.`,
type: 'boolean',
required: false,
defaultValue: defaults.fit,
controlType: 'switch',
group: 'Base',
},
{
key: 'innerRadius',
help: `Donut chart if greater than 0. Value should be between 0~1 as it's a ratio from original radius.`,
type: 'number',
required: false,
defaultValue: defaults.innerRadius,
controlType: 'range',
group: 'Base',
controlOptions: {
min: 0,
max: 0.95,
step: 0.05,
},
},
{
key: 'padAngle',
help: 'Padding between each pie slice.',
type: 'number',
required: false,
defaultValue: defaults.padAngle,
controlType: 'range',
group: 'Base',
key: 'slicesLabelsTextColor',
help: 'Defines how to compute slice label text color.',
type: 'string | object | Function',
required: false,
defaultValue: defaults.slicesLabelsTextColor,
controlType: 'inheritedColor',
group: 'Slices labels',
},
{
key: 'isInteractive',
flavors: ['svg', 'canvas'],
group: 'Interactivity',
help: 'Enable/disable interactivity.',
type: 'boolean',
required: false,
defaultValue: defaults.isInteractive,
controlType: 'switch',
},
{
key: 'onClick',
flavors: ['svg', 'canvas'],
group: 'Interactivity',
help: 'onClick handler.',
description:
'onClick handler for pie slices, it receives clicked slice data and mouse event.',
type: 'Function',
required: false,
},
{
key: 'tooltip',
flavors: ['svg', 'canvas'],
group: 'Interactivity',