vue-data-ui
Version:
A user-empowering data visualization Vue 3 components library for eloquent data storytelling
1,716 lines (1,640 loc) • 219 kB
TypeScript
declare module "vue-data-ui" {
import { DefineComponent } from "vue";
export type VueUiUnknownObj = {
[key: string]: unknown;
};
export const VueDataUi: DefineComponent<{
dataset?:
| VueUi3dBarDataset
| VueUiAgePyramidDataset
| VueUiAnnotatorDataset
| Array<Array<string | number>>
| VueUiChestnutDatasetRoot[]
| VueUiDashboardElement[]
| number
| string
| VueUiDonutEvolutionDatasetItem[]
| VueUiDonutDatasetItem[]
| VueUiGaugeDataset
| VueUiHeatmapDatasetItem[]
| VueUiMoleculeDatasetNode[]
| VueUiMoodRadarDataset
| VueUiNestedDonutsDatasetItem[]
| VueUiOnionDatasetItem[]
| VueUiQuadrantDatasetItem[]
| VueUiRadarDataset
| VueUiRatingDataset
| VueUiRelationCircleDatasetItem[]
| VueUiRingsDatasetItem[]
| VueUiScatterDatasetItem[]
| VueUiSparkbarDatasetItem[]
| VueUiSparkgaugeDataset
| VueUiSparkHistogramDatasetItem[]
| VueUiSparklineDatasetItem[]
| VueUiSparkStackbarDatasetItem[]
| VueUiTableSparklineDatasetItem[]
| VueUiTableDataset
| VueUiThermometerDataset
| VueUiTiremarksDataset
| VueUiVerticalBarDatasetItem[]
| VueUiWaffleDatasetItem[]
| VueUiWheelDataset
| VueUiXyDatasetItem[]
| VueUiTreemapDatasetItem[]
| VueUiQuickChartDataset
| number[]
| VueUiStripPlotDataset[]
| VueUiWordCloudDatasetItem[]
| VueUiXyCanvasDatasetItem[]
| VueUiFlowDatasetItem[]
| VueUiParallelCoordinatePlotDatasetItem[]
| VueUiCarouselTableDataset
| VueUiGizmoDataset
| VueUiStackbarDatasetItem[]
| VueUiBulletDataset
| VueUiFunnelDatasetItem[]
| VueUiHistoryPlotDatasetItem[]
| VueUiCirclePackDatasetItem[];
config?:
| VueUi3dBarConfig
| VueUiAgePyramidConfig
| VueUiAnnotatorConfig
| VueUiCandlestickConfig
| VueUiChestnutConfig
| VueUiDashboardConfig
| VueUiDigitsConfig
| VueUiDonutEvolutionConfig
| VueUiDonutConfig
| VueUiGaugeConfig
| VueUiHeatmapConfig
| VueUiMiniLoaderConfig
| VueUiMoleculeConfig
| VueUiMoodRadarConfig
| VueUiNestedDonutsConfig
| VueUiOnionConfig
| VueUiQuadrantConfig
| VueUiRadarConfig
| VueUiRatingConfig
| VueUiRelationCircleConfig
| VueUiRingsConfig
| VueUiScatterConfig
| VueUiScreenshotConfig
| VueUiSkeletonConfig
| VueUiSmileyConfig
| VueUiSparkbarConfig
| VueUiSparkgaugeConfig
| VueUiSparkHistogramConfig
| VueUiSparklineConfig
| VueUiSparkStackbarConfig
| VueUiTableSparklineConfig
| VueUiTableConfig
| VueUiThermometerConfig
| VueUiTiremarksConfig
| VueUiVerticalBarConfig
| VueUiWaffleConfig
| VueUiWheelConfig
| VueUiXyConfig
| VueUiKpiConfig
| VueUiTreemapConfig
| VueUiQuickChartConfig
| VueUiCursorConfig
| VueUiSparkTrendConfig
| VueUiStripPlotConfig
| VueUiDumbbellConfig
| VueUiWordCloudConfig
| VueUiXyCanvasConfig
| VueUiFlowConfig
| VueUiParallelCoordinatePlotConfig
| VueUiTimerConfig
| VueUiCarouselTableConfig
| VueUiGizmoConfig
| VueUiStackbarConfig
| VueUiBulletConfig
| VueUiFunnelConfig
| VueUiHistoryPlotConfig
| VueUiCirclePackConfig;
}>;
export type VueUiPatternName =
| "bubbles"
| "flooring"
| "grid"
| "hexagon-diamond"
| "hexagon-flooring"
| "hexagon-grid"
| "maze"
| "redrum"
| "scales"
| "squares"
| "wave"
| "zig-zag";
export const VueUiPattern: DefineComponent<{
name: VueUiPatternName;
id: string;
fill?: string;
stroke?: string;
strokeWidth?: number;
scale?: number;
}>;
export type ChartTitle = {
text?: string;
color?: string;
fontSize?: number;
bold?: boolean;
textAlign?: TextAlign;
paddingLeft?: number;
paddingRight?: number;
subtitle?: {
color?: string;
text?: string;
fontSize?: number;
bold?: boolean;
};
};
export type ChartComments = {
show?: boolean;
showInTooltip?: boolean;
width?: number;
offsetY?: number;
offsetX?: number;
};
export type ChartPadding = {
top?: number;
right?: number;
bottom?: number;
left?: number;
};
export type ChartBaseLegend = {
color?: string;
show?: boolean;
fontSize?: number;
bold?: boolean;
};
export type ChartUserOptions = {
show?: boolean;
showOnChartHover?: boolean;
keepStateOnChartLeave?: boolean;
position?: "left" | "right";
buttons?: {
animation?: boolean;
annotator?: boolean;
csv?: boolean;
fullscreen?: boolean;
img?: boolean;
labels?: boolean;
pdf?: boolean;
sort?: boolean;
stack?: boolean;
table?: boolean;
tooltip?: boolean;
};
buttonTitles?: {
animation?: string;
annotator?: string;
close?: string;
csv?: string;
fullscreen?: string;
img?: string;
labels?: string;
open?: string;
pdf?: string;
sort?: string;
stack?: string;
table?: string;
tooltip?: string;
};
};
export type ChartTableCell = {
backgroundColor?: string;
color?: string;
outline?: string;
};
export type ChartTooltip = {
show?: boolean;
color?: string;
backgroundColor?: string;
fontSize?: number;
borderRadius?: number;
borderColor?: string;
borderWidth?: number;
backgroundOpacity?: number;
position?: TooltipPosition;
offsetY?: number;
};
export type ZoomMinimap = {
show?: boolean;
smooth?: boolean;
selectedColor?: string;
selectedColorOpacity?: number;
lineColor?: string;
selectionRadius?: number;
indicatorColor?: string;
verticalHandles?: boolean;
};
export type ChartZoom = {
show?: boolean;
color?: string;
highlightColor?: string;
fontSize?: number;
useResetSlot?: boolean;
minimap?: ZoomMinimap;
startIndex?: number | null;
endIndex?: number | null;
enableRangeHandles?: boolean;
enableSelectionDrag?: boolean;
};
export type Theme =
| ""
| "zen"
| "hack"
| "concrete"
| "celebration"
| "celebrationNight";
export type TextAlign = "left" | "center" | "right";
export type TooltipPosition = TextAlign;
export type FontVariantNumeric =
| "normal"
| "slashed-zero"
| "tabular-nums"
| "oldstyle-nums";
export type Shape =
| "circle"
| "triangle"
| "square"
| "diamond"
| "pentagon"
| "hexagon"
| "star";
export type FormatterParams = {
value: number;
config?: any;
};
export type Formatter = null | ((params: FormatterParams) => string | number);
export type VueUiTooltipParams<
TDatapoint,
TSeries,
TConfig,
TBar = any,
TLine = any,
TPlot = any
> = {
seriesIndex?: number;
plotIndex?: number;
series?: TSeries;
datapoint?: TDatapoint;
config?: TConfig;
bars?: TBar;
lines?: TLine;
plots?: TPlot;
};
export type VueUiTreemapDatasetItem = {
name: string;
value: number;
children?: VueUiTreemapDatasetItem[];
parentId?: string;
color?: string;
};
export type VueUiTreemapConfig = {
responsive?: boolean;
theme?: Theme;
customPalette?: string[];
userOptions?: ChartUserOptions;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
height?: number;
width?: number;
padding?: ChartPadding;
layout?: {
sorted?: boolean;
rects?: {
stroke?: string;
strokeWidth?: number;
borderRadius?: number;
colorRatio?: number;
gradient?: {
show?: boolean;
intensity?: number;
};
selected?: {
stroke?: string;
strokeWidth?: number;
unselectedOpacity?: number;
};
};
labels?: {
showDefaultLabels?: boolean;
fontSize?: number;
minFontSize?: number;
hideUnderProportion?: number;
prefix?: string;
suffix?: string;
rounding?: number;
formatter?: Formatter;
};
};
legend?: ChartBaseLegend & {
backgroundColor?: string;
roundingValue?: number;
roundingPercentage?: number;
};
title?: ChartTitle;
tooltip?: ChartTooltip & {
roundingValue?: number;
customFormat?:
| null
| ((
params: VueUiTooltipParams<
VueUiTreemapDatapoint,
VueUiTreemapSeriesItem[],
VueUiTreemapConfig
>
) => string);
};
};
};
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
series?: string;
value?: string;
percentage?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
};
export type VueUiTreemapDatapoint = {
children?: VueUiTreemapDatapoint[];
color: string;
id: string;
name: string;
normalizedValue: number;
parentName?: string;
proportion: number;
value: number;
x0: number;
x1: number;
y0: number;
y1: number;
};
export type VueUiTreemapSeriesItem = {
children?: VueUiTreemapSeriesItem[];
color?: string;
id?: string;
name?: string;
value?: string;
};
export const VueUiTreemap: DefineComponent<{
config?: VueUiTreemapConfig;
dataset: VueUiTreemapDatasetItem[];
}>;
export type VueUiKpiConfig = {
animationFrames?: number;
animationValueStart?: number;
backgroundColor?: string;
fontFamily?: string;
layoutClass?: string;
layoutCss?: string;
prefix?: string;
suffix?: string;
title?: string;
titleBold?: boolean;
titleColor?: string;
titleClass?: string;
titleCss?: string;
titleFontSize?: number;
useAnimation?: boolean;
valueBold?: boolean;
valueColor?: string;
valueClass?: string;
valueCss?: string;
valueFontSize?: number;
valueRounding?: number;
formatter?: Formatter;
analogDigits?: {
show?: boolean;
height?: number;
color?: string;
skeletonColor?: string;
};
};
export const VueUiKpi: DefineComponent<{
dataset: number;
config?: VueUiKpiConfig;
}>;
export type VueUiGalaxyDatasetItem = VueUiDonutDatasetItem;
export type VueUiGalaxyConfig = {
theme?: Theme;
customPalette?: string[];
useCssAnimation?: boolean;
useBlurOnHover?: boolean;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
layout?: {
arcs?: {
strokeWidth?: number;
borderWidth?: number;
offsetX?: number;
offsetY?: number;
hoverEffect?: {
show?: boolean;
multiplicator?: number;
};
gradient?: {
show?: boolean;
intensity?: number;
color?: string;
};
};
labels?: {
dataLabels?: {
prefix?: string;
suffix?: string;
formatter?: Formatter;
};
};
};
legend?: ChartBaseLegend & {
backgroundColor?: string;
roundingValue?: number;
roundingPercentage?: number;
};
title?: ChartTitle;
tooltip?: ChartTooltip & {
showValue?: boolean;
showPercentage: boolean;
roundingValue?: number;
roundingPercentage?: number;
customFormat?:
| null
| ((
params: VueUiTooltipParams<
VueUiGalaxyDatapoint,
VueUiGalaxySeriesItem[],
VueUiGalaxyConfig
>
) => string);
};
};
};
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
series?: string;
value?: string;
percentage?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
userOptions?: ChartUserOptions;
};
export type VueUiGalaxyDatapoint = VueUiGalaxyDatasetItem & {
color: string;
id: string;
path: string;
points: number;
proportion: number;
seriesIndex: number;
value: number;
};
export type VueUiGalaxySeriesItem = VueUiGalaxyDatasetItem & {
id: string;
color: string;
seriesIndex: number;
value: number;
};
export const VueUiGalaxy: DefineComponent<{
config?: VueUiGalaxyConfig;
dataset: VueUiGalaxyDatasetItem[];
}>;
export type VueUiSparkgaugeDataset = {
value: number;
min: number;
max: number;
title?: string;
};
export type VueUiSparkgaugeConfig = {
theme?: Theme;
style?: {
fontFamily?: string;
background?: string;
height?: number;
basePosition?: number;
animation?: {
show?: boolean;
speedMs?: number;
};
title?: {
show?: boolean;
fontSize?: number;
position?: "top" | "bottom";
textAlign?: TextAlign;
bold?: boolean;
color?: string;
};
dataLabel?: {
fontSize?: number;
autoColor?: boolean;
color?: string;
offsetY?: number;
bold?: boolean;
rounding?: number;
prefix?: string;
suffix?: string;
formatter?: Formatter;
};
colors?: {
min?: string;
max?: string;
showGradient?: boolean;
};
track?: {
autoColor?: boolean;
color?: string;
strokeLinecap?: "round" | "square" | "butt";
};
gutter?: {
color?: string;
strokeLinecap?: "round" | "square" | "butt";
};
};
};
export const VueUiSparkgauge: DefineComponent<{
dataset: VueUiSparkgaugeDataset;
config?: VueUiSparkgaugeConfig;
}>;
export type VueUiMiniLoaderConfigType = {
gutterColor?: string;
gutterOpacity?: number;
gutterBlur?: number;
trackHueRotate?: number;
trackBlur?: number;
trackColor?: string;
};
export type VueUiMiniLoaderConfig = {
type?: "line" | "bar" | "onion";
onion?: VueUiMiniLoaderConfigType;
line?: VueUiMiniLoaderConfigType;
bar?: VueUiMiniLoaderConfigType;
};
export const VueUiMiniLoader: DefineComponent<{
config?: VueUiMiniLoaderConfig;
}>;
export const Arrow: DefineComponent<{
markerEnd?: boolean;
markerSize?: number;
markerStart?: boolean;
stroke?: string;
strokeDasharray?: number;
strokeLinecap?: "round" | "butt" | "square";
strokeWidth?: number;
x1: number;
x2: number;
y1: number;
y2: number;
}>;
export type VueUiTableSparklineDatasetItem = {
name: string;
values: number[];
color?: string;
};
export type VueUiTableSparklineConfig = {
theme?: Theme;
customPalette?: string[];
responsiveBreakpoint?: number;
showAverage?: boolean;
showMedian?: boolean;
showTotal?: boolean;
roundingAverage?: number;
roundingMedian?: number;
roundingValues?: number;
roundingTotal?: number;
prefix?: string;
suffix?: string;
showSparklines?: boolean;
fontFamily?: string;
colNames?: string[];
sortedDataColumnIndices?: number[];
sortedSeriesName?: boolean;
sortedSum?: boolean;
sortedAverage?: boolean;
sortedMedian?: boolean;
resetSortOnClickOutside?: boolean;
formatter?: Formatter;
sparkline?: {
useGradient?: boolean;
showArea?: boolean;
strokeWidth?: number;
type?: "line" | "bar";
smooth?: boolean;
dimensions?: {
width?: number;
heightRatio?: number;
};
animation?: {
show?: boolean;
animationFrames?: number;
};
};
translations?: {
serie?: string;
total?: string;
average?: string;
median?: string;
chart?: string;
};
title?: {
backgroundColor?: string;
text?: string;
fontSize?: number;
color?: string;
bold?: boolean;
textAlign?: TextAlign;
subtitle?: {
text?: string;
color?: string;
fontSize?: number;
bold?: boolean;
};
};
thead?: ChartTableCell & {
fontSize?: number;
textAlign?: TextAlign;
bold?: boolean;
};
tbody?: ChartTableCell & {
fontSize?: number;
textAlign?: TextAlign;
bold?: boolean;
showColorMarker?: boolean;
selectedColor?: {
useSerieColor?: boolean;
fallback?: string;
};
};
userOptions?: ChartUserOptions;
};
export const VueUiTableSparkline: DefineComponent<{
dataset: VueUiTableSparklineDatasetItem[];
config: VueUiTableSparklineConfig;
}>;
export type VueUiMoleculeDatasetNode = {
name: string;
details?: string;
nodes?: VueUiMoleculeDatasetNode[];
};
export type VueUiMoleculeConfig = {
theme?: Theme;
customPalette?: string[];
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
nodes?: {
stroke?: string;
strokeHovered?: string;
};
links?: {
stroke?: string;
};
title?: ChartTitle;
tooltip?: ChartTooltip & {
customFormat?:
| null
| ((
params: VueUiTooltipParams<
VueUiMoleculeDatapoint,
VueUiMoleculeDatapoint[],
VueUiMoleculeConfig
>
) => string);
};
zoom?: {
speed?: number;
};
};
};
table?: {
show?: boolean;
responsiveBreakpoint?: number;
th?: ChartTableCell;
td?: ChartTableCell;
translations?: {
nodeName?: string;
details?: string;
ancestor?: string;
};
};
userOptions?: ChartUserOptions;
};
export type VueUiMoleculeDatapoint = {
circleRadius: number;
color: string;
name: string;
details?: string;
nodes?: VueUiMoleculeDatapoint;
ancestor?: VueUiMoleculeDatapoint;
polygonPath: {
coordinates: Array<{
x: number;
y: number;
}>;
};
uid: string;
};
export const VueUiMolecule: DefineComponent<{
dataset: VueUiMoleculeDatasetNode[];
config?: VueUiMoleculeConfig;
}>;
export type VueUiDigitsConfig = {
backgroundColor?: string;
height?: string;
width?: string;
digits?: {
color?: string;
skeletonColor?: string;
};
};
export const VueUiDigits: DefineComponent<{
dataset: number;
config?: VueUiDigitsConfig;
}>;
export type VueUi3dBarDatasetBreakdown = {
name: string;
value: number;
};
export type VueUi3dBarDataset = {
percentage?: number;
series?: Array<{
name: string;
value: number;
color?: string;
breakdown?: VueUi3dBarDatasetBreakdown[];
}>;
};
export type VueUi3dBarConfig = {
theme?: Theme;
customPalette?: string[];
style?: {
fontFamily?: string;
shape?: "bar" | "tube";
chart?: {
animation?: {
use?: boolean;
speed?: number;
acceleration?: number;
};
backgroundColor?: string;
color?: string;
bar?: {
color?: string;
stroke?: string;
strokeWidth?: number;
shadeColor?: string;
};
box?: {
stroke?: string;
strokeWidth?: number;
strokeDasharray?: number;
dimensions?: {
width?: number;
height?: number;
top?: number;
bottom?: number;
left?: number;
right?: number;
perspective?: number;
};
};
title?: ChartTitle;
legend?: {
showDefault?: boolean;
fontSize?: number;
color?: string;
bold?: boolean;
roundingValue?: number;
roundingPercentage?: number;
prefix?: string;
suffix?: string;
hideUnderPercentage?: number;
};
dataLabel?: {
show?: boolean;
bold?: boolean;
color?: string;
fontSize?: number;
rounding?: number;
formatter?: Formatter;
};
};
};
userOptions?: ChartUserOptions;
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
series?: string;
value?: string;
percentage?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
};
export const VueUi3dBar: DefineComponent<{
config?: VueUi3dBarConfig;
dataset: VueUi3dBarDataset;
}>;
export type VueUiMoodRadarDataset = {
"1": number;
"2": number;
"3": number;
"4": number;
"5": number;
};
export type VueUiMoodRadarConfig = {
theme?: Theme;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
layout?: {
grid?: {
show?: boolean;
stroke?: string;
strokeWidth?: number;
};
outerPolygon?: {
stroke?: string;
strokeWidth?: number;
};
dataPolygon?: {
color?: string;
opacity?: number;
gradient?: {
show?: boolean;
intensity?: number;
};
stroke?: string;
strokeWidth?: number;
};
smileys?: {
strokeWidth?: number;
colors?: {
"1": string;
"2": string;
"3": string;
"4": string;
"5": string;
};
};
dataLabel?: {
color?: string;
roundingPercentage?: number;
roundingValue?: number;
bold?: boolean;
formatter?: Formatter;
prefix?: string;
suffix?: string;
};
};
title?: ChartTitle;
legend?: ChartBaseLegend & {
backgroundColor?: string;
roundingPercentage?: number;
roundingValue?: number;
};
};
};
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
series?: string;
value?: string;
percentage?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
userOptions?: ChartUserOptions;
};
export const VueUiMoodRadar: DefineComponent<{
dataset: VueUiMoodRadarDataset;
config?: VueUiMoodRadarConfig;
}>;
export type VueUiIconName =
| "accordion"
| "annotator"
| "annotatorDisabled"
| "arrowBottom"
| "arrowLeft"
| "arrowRight"
| "arrowTop"
| "battery"
| "boxes"
| "carouselTable"
| "chart3dBar"
| "chartAgePyramid"
| "chartBar"
| "chartBullet"
| "chartCandlestick"
| "chartChestnut"
| "chartCirclePack"
| "chartCluster"
| "chartDonut"
| "chartDonutEvolution"
| "chartDumbbell"
| "chartFlow"
| "chartFunnel"
| "chartGalaxy"
| "chartGauge"
| "chartHeatmap"
| "chartHistoryPlot"
| "chartLine"
| "chartMoodRadar"
| "chartNestedDonuts"
| "chartOnion"
| "chartParallelCoordinatePlot"
| "chartQuadrant"
| "chartRadar"
| "chartRelationCircle"
| "chartRings"
| "chartScatter"
| "chartSparkHistogram"
| "chartSparkStackbar"
| "chartSparkbar"
| "chartSparkline"
| "chartStackbar"
| "chartStripPlot"
| "chartTable"
| "chartTableSparkline"
| "chartThermometer"
| "chartTiremarks"
| "chartVerticalBar"
| "chartWaffle"
| "chartWheel"
| "chartWordCloud"
| "circle"
| "circleCancel"
| "circleCheck"
| "circleExclamation"
| "circleFill"
| "circleQuestion"
| "clipBoard"
| "clipboardBar"
| "clipboardDonut"
| "clipboardLine"
| "clipboardVariable"
| "close"
| "colorPicker"
| "copy"
| "copyLeft"
| "csv"
| "cursor"
| "dashboard"
| "diamond"
| "diamondFill"
| "digit0"
| "digit1"
| "digit2"
| "digit3"
| "digit4"
| "digit5"
| "digit6"
| "digit7"
| "digit8"
| "digit9"
| "excel"
| "exitFullscreen"
| "fullscreen"
| "func"
| "hexagon"
| "hexagonFill"
| "image"
| "kpi"
| "kpiBox"
| "labelClose"
| "labelOpen"
| "lambda"
| "lap"
| "legend"
| "menu"
| "moodEmbarrassed"
| "moodFlat"
| "moodHappy"
| "moodLaughing"
| "moodNeutral"
| "moodSad"
| "moodSurprised"
| "moodWink"
| "mu"
| "numbers"
| "palette"
| "pause"
| "pdf"
| "pentagon"
| "pentagonFill"
| "people"
| "play"
| "ratio"
| "refresh"
| "restart"
| "screenshot"
| "settings"
| "sigma"
| "skeleton"
| "smiley"
| "sort"
| "spin"
| "square"
| "squareFill"
| "stack"
| "star"
| "starFace"
| "starFill"
| "stop"
| "tableClose"
| "tableOpen"
| "tooltip"
| "tooltipDisabled"
| "trash"
| "trend"
| "trendDown"
| "trendUp"
| "triangle"
| "triangleFill"
| "unstack"
| "vueDataUi"
| "zoomMinus"
| "zoomPlus";
export const VueUiIcon: DefineComponent<{
name: VueUiIconName;
stroke?: string;
strokeWidth?: number;
size?: number | string;
isSpin?: boolean;
}>;
export type VueUiDonutEvolutionConfig = {
theme?: Theme;
customPalette?: string[];
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
zoom?: ChartZoom;
donuts?: {
hover?: {
hideLabelsUnderValue?: number;
};
zoom?: {
hideLabelsUnderValue?: number;
}
};
layout?: {
height?: number;
width?: number;
padding?: ChartPadding;
grid?: {
show?: boolean;
stroke?: string;
strokeWidth?: number;
showVerticalLines?: boolean;
yAxis?: {
dataLabels?: {
show?: boolean;
fontSize?: number;
color?: string;
roundingValue?: number;
offsetX?: number;
bold?: boolean;
steps?: number;
};
};
xAxis?: {
dataLabels?: {
show?: boolean;
values?: string[];
fontSize?: number;
showOnlyFirstAndLast?: boolean;
color?: string;
rotation?: number;
offsetY?: number;
};
};
};
line?: {
show?: boolean;
stroke?: string;
strokeWidth?: number;
};
highlighter?: {
color?: string;
opacity?: number;
};
dataLabels?: {
show?: boolean;
fontSize?: number;
color?: string;
bold?: boolean;
rounding?: number;
prefix?: string;
suffix?: string;
offsetY?: number;
formatter?: Formatter;
};
};
title?: ChartTitle;
legend?: ChartBaseLegend & {
backgroundColor?: string;
roundingPercentage?: number;
roundingValue?: number;
};
};
};
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
period?: string;
total?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
userOptions?: ChartUserOptions;
};
export type VueUiDonutEvolutionDatasetItem = {
name: string;
values: number[];
color?: string;
};
export const VueUiDonutEvolution: DefineComponent<{
config?: VueUiDonutEvolutionConfig;
dataset: VueUiDonutEvolutionDatasetItem[];
}>;
export type VueUiTiremarksConfig = {
theme?: Theme;
userOptions?: ChartUserOptions;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
animation?: {
use?: boolean;
speed?: number;
acceleration?: number;
};
layout?: {
display?: "horizontal" | "vertical";
crescendo?: boolean;
curved?: boolean;
curveAngleX?: number;
curveAngleY?: number;
activeColor?: string;
inactiveColor?: string;
ticks?: {
gradient?: {
show?: boolean;
shiftHueIntensity?: number;
};
};
};
percentage?: {
show?: boolean;
useGradientColor?: boolean;
color?: string;
fontSize?: number;
bold?: boolean;
rounding?: number;
verticalPosition?: "bottom" | "top";
horizontalPosition?: "left" | "right";
formatter?: Formatter;
};
title?: ChartTitle;
};
};
};
export type VueUiTiremarksDataset = {
percentage: number;
};
export const VueUiTiremarks: DefineComponent<{
config?: VueUiTiremarksConfig;
dataset: VueUiTiremarksDataset;
}>;
export type VueUiWheelConfig = {
responsive?: boolean;
theme?: Theme;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
animation?: {
use?: boolean;
speed?: number;
acceleration?: number;
};
layout?: {
wheel?: {
ticks?: {
type?: 'classic' | 'arc';
rounded?: boolean;
inactiveColor?: string;
activeColor?: string;
sizeRatio?: number;
quantity?: number;
strokeWidth?: number;
gradient?: {
show?: boolean;
shiftHueIntensity?: number;
};
};
};
innerCircle?: {
show?: boolean;
stroke?: string;
strokeWidth?: number;
};
percentage?: {
show?: boolean;
fontSize?: number;
rounding?: number;
bold?: boolean;
formatter?: Formatter;
};
};
title?: ChartTitle;
};
};
userOptions?: ChartUserOptions;
};
export type VueUiWheelDataset = {
percentage: number;
};
export const VueUiWheel: DefineComponent<{
dataset: VueUiWheelDataset;
config?: VueUiWheelConfig;
}>;
export type VueUiRingsConfig = {
responsive?: boolean;
theme?: Theme;
customPalette?: string[];
useCssAnimation?: boolean;
useBlurOnHover?: boolean;
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
layout?: {
labels?: {
dataLabels?: {
prefix?: string;
suffix?: string;
formatter?: Formatter;
};
};
rings?: {
strokeWidth?: number;
stroke?: string;
gradient?: {
show?: boolean;
intensity?: number;
underlayerColor?: string;
};
useShadow?: boolean;
};
};
legend?: ChartBaseLegend & {
backgroundColor?: string;
roundingValue?: number;
roundingPercentage?: number;
};
title?: ChartTitle;
tooltip?: ChartTooltip & {
showValue?: boolean;
showPercentage?: boolean;
roundingValue?: number;
roundingPercentage?: number;
customFormat?:
| null
| ((
params: VueUiTooltipParams<
VueUiRingsDatapoint,
VueUiRingsDatapoint[],
VueUiRingsConfig
>
) => string);
};
};
};
userOptions?: ChartUserOptions;
table?: {
show?: boolean;
responsiveBreakpoint?: number;
columnNames?: {
series?: string;
value?: string;
percentage?: string;
};
th?: ChartTableCell;
td?: ChartTableCell & {
roundingValue?: number;
roundingPercentage?: number;
};
};
};
export type VueUiRingsDatapoint = {
color: string;
name: string;
percentage: number;
proportion: number;
strokeWidth: number;
uid: string;
value: number;
};
export type VueUiRingsDatasetItem = {
name: string;
color?: string;
values: number[];
};
export const VueUiRings: DefineComponent<{
config?: VueUiRingsConfig;
dataset: VueUiRingsDatasetItem[];
}>;
export type VueUiSparkHistogramConfig = {
theme?: Theme;
style?: {
backgroundColor?: string;
fontFamily?: string;
animation?: {
show?: boolean;
speedMs?: number;
};
layout?: {
height?: number;
width?: number;
padding?: ChartPadding;
};
bars?: {
shape?:
| "circle"
| "triangle"
| "square"
| "diamond"
| "pentagon"
| "hexagon"
| "star";
strokeWidth?: number;
colors?: {
positive?: string;
negative?: string;
gradient?: {
show?: boolean;
};
};
borderRadius?: number;
gap?: number;
};
labels?: {
value?: {
fontSize?: number;
color?: string;
bold?: boolean;
rounding?: number;
prefix?: string;
suffix?: string;
offsetY?: number;
formatter?: Formatter;
};
valueLabel?: {
fontSize?: number;
color?: string;
bold?: boolean;
rounding?: number;
};
timeLabel?: {
fontSize?: number;
color?: string;
bold?: boolean;
};
};
selector?: {
stroke?: string;
strokeDasharray?: number;
strokeWidth?: number;
borderRadius?: number;
};
title?: {
textAlign?: TextAlign;
text?: string;
color?: string;
fontSize?: number;
bold?: boolean;
margin?: string;
subtitle?: {
color?: string;
text?: string;
fontSize?: number;
bold?: boolean;
};
};
};
};
export type VueUiSparkHistogramDatasetItem = {
intensity?: number;
color?: string;
gradient?: string;
height?: number;
proportion?: number;
stroke?: string;
textAnchor?: number;
timeLabel?: string;
trapX?: number;
unitWidth?: number;
value?: number;
valueLabel?: string;
width?: number;
x?: number;
y?: number;
};
export const VueUiSparkHistogram: DefineComponent<{
config?: VueUiSparkHistogramConfig;
dataset: VueUiSparkHistogramDatasetItem[];
}>;
export type VueUiSparkStackbarConfig = {
theme?: Theme;
customPalette?: string[];
style?: {
backgroundColor?: string;
fontFamily?: string;
animation?: {
show?: boolean;
animationFrames?: number;
};
bar?: {
gradient?: {
show?: boolean;
intensity?: number;
underlayerColor?: string;
};
};
legend?: {
textAlign?: TextAlign;
show?: boolean;
margin?: string;
fontSize?: number;
name?: {
color?: string;
bold?: boolean;
};
value?: {
show?: boolean;
color?: string;
bold?: boolean;
prefix?: string;
suffix?: string;
rounding?: number;
formatter?: Formatter;
};
percentage?: {
show?: boolean;
color?: string;
bold?: boolean;
rounding?: number;
};
};
title?: {
textAlign?: TextAlign;
text?: string;
color?: string;
fontSize?: number;
bold?: boolean;
margin?: string;
paddingLeft?: number;
paddingRight?: number;
subtitle?: {
color?: string;
text?: string;
fontSize?: number;
bold?: boolean;
};
};
tooltip?: ChartTooltip & {
customFormat?:
| null
| ((
params: VueUiTooltipParams<
VueUiSparkStackbarDatasetItem,
VueUiSparkStackbarDatasetItem[],
VueUiSparkStackbarConfig
>
) => string);
};
};
};
export type VueUiSparkStackbarDatasetItem = {
name: string;
color?: string;
proportion?: number;
proportionLabel?: string;
start?: number;
value?: number;
width?: number;
};
export const VueUiSparkStackbar: DefineComponent<{
config?: VueUiSparkStackbarConfig;
dataset: VueUiSparkStackbarDatasetItem[];
}>;
export type VueUiThermometerConfig = {
theme?: Theme;
customPalette?: string[];
style?: {
fontFamily?: string;
chart?: {
backgroundColor?: string;
color?: string;
height?: number;
thermometer?: {
width?: number;
};
padding?: ChartPadding;
graduations?: {
show?: boolean;
sides?: "left" | "right" | "both" | "none";
height?: number;
stroke?: string;
strokeWidth?: number;
showIntermediate?: boolean;
gradient?: {
show?: boolean;
intensity?: number;
};
};
animation?: {
use?: boolean;
speedMs?: number;
};
label?: {
fontSize?: number;
rounding?: number;
bold?: boolean;
prefix?: string;
suffix?: string;
formatter?: Formatter;
color?: string;
};
};
title?: ChartTitle;
};
userOptions?: ChartUserOptions;
};
export type VueUiThermometerDataset = {
value: number;
from: number;
to: number;
steps?: number;
colors?: {
from?: string;
to?: string;
};
};
export const VueUiThermometer: DefineComponent<{
config?: VueUiThermometerConfig;
dataset: VueUiThermometerDataset;
}>;
export type VueUiRelationCircleConfig = {
responsive?: boolean;
theme?: Theme;
customPalette?: string[];
style?: {
color?: string;
backg