@semcore/d3-chart 2.17.5 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +11 -10
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +18 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +10 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +11 -10
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -11
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +82 -71
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +92 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +15 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +10 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Axis.d.js.map +1 -1
- package/lib/cjs/types/Bar.d.js.map +1 -1
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/ClipPath.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/GroupBar.d.js.map +1 -1
- package/lib/cjs/types/HorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js +0 -2
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js +2 -0
- package/lib/cjs/types/Radar.d.js.map +1 -0
- package/lib/cjs/types/ReferenceLine.d.js.map +1 -1
- package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/cjs/types/ScatterPlot.d.js.map +1 -1
- package/lib/cjs/types/StackBar.d.js.map +1 -1
- package/lib/cjs/types/StackedArea.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/Venn.d.js.map +1 -1
- package/lib/cjs/types/context.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +11 -10
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +18 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +10 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +11 -10
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +36 -12
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +84 -72
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +90 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +15 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +10 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Axis.d.js.map +1 -1
- package/lib/es6/types/Bar.d.js.map +1 -1
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/ClipPath.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/GroupBar.d.js.map +1 -1
- package/lib/es6/types/HorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js +2 -0
- package/lib/es6/types/Radar.d.js.map +1 -0
- package/lib/es6/types/ReferenceLine.d.js.map +1 -1
- package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/es6/types/ScatterPlot.d.js.map +1 -1
- package/lib/es6/types/StackBar.d.js.map +1 -1
- package/lib/es6/types/StackedArea.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/Venn.d.js.map +1 -1
- package/lib/es6/types/context.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Area.d.ts +26 -17
- package/lib/types/Axis.d.ts +40 -23
- package/lib/types/Bar.d.ts +32 -16
- package/lib/types/Bubble.d.ts +30 -12
- package/lib/types/ClipPath.d.ts +7 -5
- package/lib/types/Donut.d.ts +29 -13
- package/lib/types/GroupBar.d.ts +15 -12
- package/lib/types/HorizontalBar.d.ts +12 -12
- package/lib/types/Hover.d.ts +32 -8
- package/lib/types/Line.d.ts +33 -23
- package/lib/types/Plot.d.ts +34 -22
- package/lib/types/Radar.d.ts +145 -0
- package/lib/types/RadialTree.d.ts +53 -28
- package/lib/types/ReferenceLine.d.ts +27 -14
- package/lib/types/ResponsiveContainer.d.ts +18 -10
- package/lib/types/ScatterPlot.d.ts +25 -9
- package/lib/types/StackBar.d.ts +20 -14
- package/lib/types/StackedArea.d.ts +16 -12
- package/lib/types/Tooltip.d.ts +55 -23
- package/lib/types/Venn.d.ts +47 -29
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/context.d.ts +10 -0
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +10 -7
- package/package.json +10 -10
- package/lib/cjs/types/Radar.js +0 -2
- package/lib/cjs/types/Radar.js.map +0 -1
- package/lib/es6/types/Radar.js +0 -2
- package/lib/es6/types/Radar.js.map +0 -1
- package/lib/types/types/Radar.d.ts +0 -95
package/lib/es6/types/index.d.js
CHANGED
|
@@ -25,7 +25,10 @@ export * from './StackedArea';
|
|
|
25
25
|
|
|
26
26
|
/** It becomes resolvable after building and moving file to lib dir */
|
|
27
27
|
|
|
28
|
+
// @ts-ignore
|
|
28
29
|
export { default as RadialTree } from './RadialTree';
|
|
30
|
+
|
|
31
|
+
// @ts-ignore
|
|
29
32
|
export * from './RadialTree';
|
|
30
33
|
export { default as Radar } from './Radar';
|
|
31
34
|
export * from './Radar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":["default","Plot","ResponsiveContainer","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","RadialTree","Radar","Donut","Tooltip","ScatterPlot","Bubble","ReferenceLine","Venn"],"sources":["../../../src/types/index.d.ts"],"sourcesContent":["// Utils\nexport declare function minMax(data: any, key: string | number): any;\n\n// Color\nexport declare const colors: { [key: string]: string };\n\nexport { default as Plot } from './Plot';\nexport * from './Plot';\n\nexport * from './Axis';\nexport * from './Hover';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport * from './ResponsiveContainer';\n\nexport { default as Line } from './Line';\nexport * from './Line';\n\nexport { default as Bar } from './Bar';\nexport * from './Bar';\n\nexport { default as HorizontalBar } from './HorizontalBar';\nexport * from './HorizontalBar';\n\nexport { default as GroupBar } from './GroupBar';\nexport * from './GroupBar';\n\nexport { default as StackBar } from './StackBar';\nexport * from './StackBar';\n\nexport { default as Area } from './Area';\nexport * from './Area';\n\nexport { default as StackedArea } from './StackedArea';\nexport * from './StackedArea';\n\n/** It becomes resolvable after building and moving file to lib dir */\n\nexport { default as RadialTree } from './RadialTree';\n\nexport * from './RadialTree';\n\nexport { default as Radar } from './Radar';\nexport * from './Radar';\n\nexport { default as Donut } from './Donut';\nexport * from './Donut';\n\nexport { default as Tooltip } from './Tooltip';\nexport * from './Tooltip';\n\nexport { default as ScatterPlot } from './ScatterPlot';\nexport * from './ScatterPlot';\n\nexport { default as Bubble } from './Bubble';\nexport * from './Bubble';\n\nexport { default as ReferenceLine } from './ReferenceLine';\nexport * from './ReferenceLine';\n\nexport { default as Venn } from './Venn';\nexport * from './Venn';\n"],"mappings":"AAAA;;AAGA;;AAGA,SAASA,OAAO,IAAIC,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AAEvB,SAASD,OAAO,IAAIE,mBAAmB,QAAQ,uBAAuB;AACtE,cAAc,uBAAuB;AAErC,SAASF,OAAO,IAAIG,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASH,OAAO,IAAII,GAAG,QAAQ,OAAO;AACtC,cAAc,OAAO;AAErB,SAASJ,OAAO,IAAIK,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB;AAE/B,SAASL,OAAO,IAAIM,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASN,OAAO,IAAIO,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASP,OAAO,IAAIQ,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASR,OAAO,IAAIS,WAAW,QAAQ,eAAe;AACtD,cAAc,eAAe;;AAE7B;;AAEA,SAAST,OAAO,IAAIU,UAAU,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"index.d.js","names":["default","Plot","ResponsiveContainer","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","RadialTree","Radar","Donut","Tooltip","ScatterPlot","Bubble","ReferenceLine","Venn"],"sources":["../../../src/types/index.d.ts"],"sourcesContent":["// Utils\nexport declare function minMax(data: any, key: string | number): any;\n\n// Color\nexport declare const colors: { [key: string]: string };\n\nexport { default as Plot } from './Plot';\nexport * from './Plot';\n\nexport * from './Axis';\nexport * from './Hover';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport * from './ResponsiveContainer';\n\nexport { default as Line } from './Line';\nexport * from './Line';\n\nexport { default as Bar } from './Bar';\nexport * from './Bar';\n\nexport { default as HorizontalBar } from './HorizontalBar';\nexport * from './HorizontalBar';\n\nexport { default as GroupBar } from './GroupBar';\nexport * from './GroupBar';\n\nexport { default as StackBar } from './StackBar';\nexport * from './StackBar';\n\nexport { default as Area } from './Area';\nexport * from './Area';\n\nexport { default as StackedArea } from './StackedArea';\nexport * from './StackedArea';\n\n/** It becomes resolvable after building and moving file to lib dir */\n\n// @ts-ignore\nexport { default as RadialTree } from './RadialTree';\n\n// @ts-ignore\nexport * from './RadialTree';\n\nexport { default as Radar } from './Radar';\nexport * from './Radar';\n\nexport { default as Donut } from './Donut';\nexport * from './Donut';\n\nexport { default as Tooltip } from './Tooltip';\nexport * from './Tooltip';\n\nexport { default as ScatterPlot } from './ScatterPlot';\nexport * from './ScatterPlot';\n\nexport { default as Bubble } from './Bubble';\nexport * from './Bubble';\n\nexport { default as ReferenceLine } from './ReferenceLine';\nexport * from './ReferenceLine';\n\nexport { default as Venn } from './Venn';\nexport * from './Venn';\n"],"mappings":"AAAA;;AAGA;;AAGA,SAASA,OAAO,IAAIC,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AAEvB,SAASD,OAAO,IAAIE,mBAAmB,QAAQ,uBAAuB;AACtE,cAAc,uBAAuB;AAErC,SAASF,OAAO,IAAIG,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASH,OAAO,IAAII,GAAG,QAAQ,OAAO;AACtC,cAAc,OAAO;AAErB,SAASJ,OAAO,IAAIK,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB;AAE/B,SAASL,OAAO,IAAIM,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASN,OAAO,IAAIO,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASP,OAAO,IAAIQ,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASR,OAAO,IAAIS,WAAW,QAAQ,eAAe;AACtD,cAAc,eAAe;;AAE7B;;AAEA;AACA,SAAST,OAAO,IAAIU,UAAU,QAAQ,cAAc;;AAEpD;AACA,cAAc,cAAc;AAE5B,SAASV,OAAO,IAAIW,KAAK,QAAQ,SAAS;AAC1C,cAAc,SAAS;AAEvB,SAASX,OAAO,IAAIY,KAAK,QAAQ,SAAS;AAC1C,cAAc,SAAS;AAEvB,SAASZ,OAAO,IAAIa,OAAO,QAAQ,WAAW;AAC9C,cAAc,WAAW;AAEzB,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe;AACtD,cAAc,eAAe;AAE7B,SAASd,OAAO,IAAIe,MAAM,QAAQ,UAAU;AAC5C,cAAc,UAAU;AAExB,SAASf,OAAO,IAAIgB,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB;AAE/B,SAAShB,OAAO,IAAIiB,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ"}
|
package/lib/es6/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty","prev","next","defNext","find","_objectSpread","length","defPrev","getIndexFromData","bisect","center","index","findIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","getBandwidth","Math","abs","memoize","func","results","_len","args","Array","_key","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","max","idCounter","uniqueId","prefix"],"sources":["../../src/utils.ts"],"sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<unknown>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends Iterable<{ [key in Key]: Numeric | null | undefined }> = Iterable<{\n [key in Key]: Numeric | null | undefined;\n }>,\n>(\n data: Data,\n key: Key,\n) => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]);\n }\n return extent(data, key);\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Data extends {\n [key: string]: number;\n } = {},\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: string,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n // console.log({ key, scale, value });\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const getBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale) => {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = scale.range();\n const domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty","prev","next","defNext","find","_objectSpread","length","defPrev","getIndexFromData","bisect","center","index","findIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","getBandwidth","Math","abs","memoize","func","results","_len","args","Array","_key","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","max","idCounter","uniqueId","prefix"],"sources":["../../src/utils.ts"],"sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<{}>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends { [key: string]: Numeric | null | undefined }[] = {\n [key: string]: Numeric | null | undefined;\n }[],\n>(\n data: Data,\n key: Key,\n): [min: Data[0][Key], max: Data[0][Key]] => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]) as any;\n }\n return extent(data, key) as any;\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Key extends string,\n Data extends {\n [key in Key]: number;\n } = { [key in Key]: number },\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: Key,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n // console.log({ key, scale, value });\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const getBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale) => {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = (scale as any).range();\n const domain = (scale as any).domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n"],"mappings":"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"}
|
package/lib/types/Area.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import IContext from './context';
|
|
1
|
+
import { UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { Context } from './context';
|
|
4
3
|
import { CurveFactory } from 'd3-shape';
|
|
4
|
+
import { IntergalacticD3Component } from './Plot';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export interface IAreaProps extends AreaProps, UnknownProperties {}
|
|
8
|
+
export type AreaProps = Context & {
|
|
9
|
+
/** Field name from `data` array item for the XAxis */
|
|
8
10
|
x?: string;
|
|
9
|
-
/** Field from data for YAxis*/
|
|
11
|
+
/** Field name from `data` array item for the YAxis*/
|
|
10
12
|
y?: string;
|
|
11
13
|
/** Line color
|
|
12
14
|
* @default '#50aef4'*/
|
|
@@ -21,33 +23,40 @@ export interface IAreaProps extends IContext {
|
|
|
21
23
|
duration?: number;
|
|
22
24
|
/** Enables element transparency */
|
|
23
25
|
transparent?: boolean;
|
|
24
|
-
}
|
|
26
|
+
};
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
/** @deprecated */
|
|
29
|
+
export interface IAreaDotsProps extends AreaDotsProps, UnknownProperties {}
|
|
30
|
+
export type AreaDotsProps = Context & {
|
|
27
31
|
/** Show all Dot */
|
|
28
32
|
display?: boolean;
|
|
29
33
|
/** Hide property */
|
|
30
34
|
hide?: boolean;
|
|
31
35
|
/** Enables element transparency */
|
|
32
36
|
transparent?: boolean;
|
|
33
|
-
}
|
|
37
|
+
};
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
/** @deprecated */
|
|
40
|
+
export interface IAreaDotsContext extends AreaDotsContext, UnknownProperties {}
|
|
41
|
+
export type AreaDotsContext = {
|
|
36
42
|
/** Value element of data */
|
|
43
|
+
/** @deprecated */
|
|
37
44
|
value?: any;
|
|
38
45
|
/** Index element of data */
|
|
39
46
|
index?: number;
|
|
40
|
-
}
|
|
47
|
+
};
|
|
41
48
|
|
|
42
|
-
|
|
49
|
+
/** @deprecated */
|
|
50
|
+
export interface IAreaNullProps extends AreaNullProps, UnknownProperties {}
|
|
51
|
+
export type AreaNullProps = Context & {
|
|
43
52
|
/** Hide property */
|
|
44
53
|
hide?: boolean;
|
|
45
|
-
}
|
|
54
|
+
};
|
|
46
55
|
|
|
47
|
-
declare const Area:
|
|
48
|
-
Dots: <
|
|
49
|
-
Null: <
|
|
50
|
-
Line: <
|
|
56
|
+
declare const Area: IntergalacticD3Component<'path', AreaProps, Context> & {
|
|
57
|
+
Dots: IntergalacticD3Component<'circle', AreaDotsProps, AreaDotsContext>;
|
|
58
|
+
Null: IntergalacticD3Component<'path', AreaNullProps, Context>;
|
|
59
|
+
Line: IntergalacticD3Component<'path', Context, Context>;
|
|
51
60
|
};
|
|
52
61
|
|
|
53
62
|
export default Area;
|
package/lib/types/Axis.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { IntergalacticD3Component } from './Plot';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
import { UnknownProperties } from '@semcore/core';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/** @deprecated */
|
|
6
|
+
export interface IXAxisProps extends XAxisProps, UnknownProperties {}
|
|
7
|
+
export type XAxisProps = Context & {
|
|
6
8
|
/** The position of the axis relative chart
|
|
7
9
|
* @default 'button' */
|
|
8
10
|
position?: 'top' | 'right' | 'bottom' | 'left' | number;
|
|
@@ -10,10 +12,13 @@ export interface IXAxisProps extends IContext {
|
|
|
10
12
|
* @default false */
|
|
11
13
|
hide?: boolean;
|
|
12
14
|
/** Values for axis ticks */
|
|
15
|
+
/** @deprecated */
|
|
13
16
|
ticks?: any[];
|
|
14
|
-
}
|
|
17
|
+
};
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
/** @deprecated */
|
|
20
|
+
export interface IYAxisProps extends YAxisProps, UnknownProperties {}
|
|
21
|
+
export type YAxisProps = Context & {
|
|
17
22
|
/** The position of the axis relative chart
|
|
18
23
|
* @default 'left' */
|
|
19
24
|
position?: 'top' | 'right' | 'bottom' | 'left' | number;
|
|
@@ -21,24 +26,33 @@ export interface IYAxisProps extends IContext {
|
|
|
21
26
|
* @default true */
|
|
22
27
|
hide?: boolean;
|
|
23
28
|
/** Values for axis ticks */
|
|
29
|
+
/** @deprecated */
|
|
24
30
|
ticks?: any[];
|
|
25
|
-
}
|
|
31
|
+
};
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
/** @deprecated */
|
|
34
|
+
export interface IAxisTicksProps extends AxisTicksProps, UnknownProperties {}
|
|
35
|
+
export type AxisTicksProps = Context & {
|
|
28
36
|
/** The position of the axis relative chart */
|
|
29
37
|
position?: 'top' | 'right' | 'bottom' | 'left';
|
|
30
38
|
/** Element hide property */
|
|
31
39
|
hide?: boolean;
|
|
32
40
|
/** Values for axis ticks */
|
|
41
|
+
/** @deprecated */
|
|
33
42
|
ticks?: any[];
|
|
34
|
-
}
|
|
43
|
+
};
|
|
35
44
|
|
|
36
|
-
|
|
45
|
+
/** @deprecated */
|
|
46
|
+
export interface IAxisGridProps extends AxisGridProps, UnknownProperties {}
|
|
47
|
+
export type AxisGridProps = Context & {
|
|
37
48
|
/** Values for axis ticks */
|
|
49
|
+
/** @deprecated */
|
|
38
50
|
ticks?: any[];
|
|
39
|
-
}
|
|
51
|
+
};
|
|
40
52
|
|
|
41
|
-
|
|
53
|
+
/** @deprecated */
|
|
54
|
+
export interface IAxisTitleProps extends AxisTitleProps, UnknownProperties {}
|
|
55
|
+
export type AxisTitleProps = Context & {
|
|
42
56
|
/** The position of the axis relative chart */
|
|
43
57
|
position?: 'top' | 'right' | 'bottom' | 'left';
|
|
44
58
|
|
|
@@ -47,25 +61,28 @@ export interface IAxisTitleProps extends IContext {
|
|
|
47
61
|
* @default true for `zh` and `ja` locales and false for all others.
|
|
48
62
|
*/
|
|
49
63
|
verticalWritingMode?: boolean;
|
|
50
|
-
}
|
|
64
|
+
};
|
|
51
65
|
|
|
52
|
-
|
|
66
|
+
/** @deprecated */
|
|
67
|
+
export interface IAxisTicksContext extends AxisTicksContext, UnknownProperties {}
|
|
68
|
+
export type AxisTicksContext = {
|
|
53
69
|
/** Value element of data */
|
|
70
|
+
/** @deprecated */
|
|
54
71
|
value: any;
|
|
55
72
|
/** Index element of data */
|
|
56
73
|
index: number;
|
|
57
|
-
}
|
|
74
|
+
};
|
|
58
75
|
|
|
59
|
-
declare const XAxis:
|
|
60
|
-
Ticks: <
|
|
61
|
-
Grid: <
|
|
62
|
-
Title: <
|
|
76
|
+
declare const XAxis: IntergalacticD3Component<'path', XAxisProps> & {
|
|
77
|
+
Ticks: IntergalacticD3Component<'path', AxisTicksProps, AxisTicksContext>;
|
|
78
|
+
Grid: IntergalacticD3Component<'path', AxisGridProps>;
|
|
79
|
+
Title: IntergalacticD3Component<'text', AxisTitleProps>;
|
|
63
80
|
};
|
|
64
81
|
|
|
65
|
-
declare const YAxis:
|
|
66
|
-
Ticks: <
|
|
67
|
-
Grid: <
|
|
68
|
-
Title: <
|
|
82
|
+
declare const YAxis: IntergalacticD3Component<'path', YAxisProps> & {
|
|
83
|
+
Ticks: IntergalacticD3Component<'path', AxisTicksProps, AxisTicksContext>;
|
|
84
|
+
Grid: IntergalacticD3Component<'path', AxisGridProps>;
|
|
85
|
+
Title: IntergalacticD3Component<'text', AxisTitleProps>;
|
|
69
86
|
};
|
|
70
87
|
|
|
71
88
|
export { XAxis, YAxis };
|
package/lib/types/Bar.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
import { IntergalacticD3Component } from './Plot';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** @deprecated */
|
|
6
|
+
export interface IBarProps extends BarProps, UnknownProperties {}
|
|
7
|
+
export type BarProps = Context & {
|
|
8
|
+
/** Field name from `data` array item for the XAxis */
|
|
7
9
|
x?: string;
|
|
8
|
-
/** Field from data for YAxis */
|
|
10
|
+
/** Field name from `data` array item for the YAxis */
|
|
9
11
|
y?: string;
|
|
10
12
|
/** Line color
|
|
11
13
|
* @default '#50aef4'*/
|
|
@@ -30,30 +32,44 @@ export interface IBarProps extends IContext {
|
|
|
30
32
|
onClick?: (data: { [key: string]: string | number }, event: Event) => void;
|
|
31
33
|
/** Enables element transparency */
|
|
32
34
|
transparent?: boolean;
|
|
33
|
-
}
|
|
35
|
+
};
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/**
|
|
37
|
+
/** @deprecated */
|
|
38
|
+
export interface IBarContext extends BarContext, UnknownProperties {}
|
|
39
|
+
export type BarContext = {
|
|
40
|
+
/** @deprecated */
|
|
41
|
+
value: unknown;
|
|
42
|
+
/** Index in `data` array */
|
|
39
43
|
index: number;
|
|
40
|
-
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
};
|
|
41
49
|
|
|
42
|
-
|
|
50
|
+
/** @deprecated */
|
|
51
|
+
export interface IBackgroundProps extends BackgroundProps, UnknownProperties {}
|
|
52
|
+
export type BackgroundProps = Context & {
|
|
43
53
|
/** Coordinate x */
|
|
44
54
|
x?: number | string;
|
|
45
55
|
/** Coordinate y */
|
|
46
56
|
y?: number | string;
|
|
47
57
|
/** Value element of data */
|
|
58
|
+
/** @deprecated */
|
|
48
59
|
value?: any;
|
|
49
60
|
/** Width rect */
|
|
50
61
|
width?: number | string;
|
|
51
62
|
/** Height rect */
|
|
52
63
|
height?: number | string;
|
|
53
|
-
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
type BackgroundContext = Context & {
|
|
67
|
+
/** Index in `data` array */
|
|
68
|
+
index: number;
|
|
69
|
+
};
|
|
54
70
|
|
|
55
|
-
declare const Bar:
|
|
56
|
-
Background: <
|
|
71
|
+
declare const Bar: IntergalacticD3Component<'rect', BarProps, BarContext> & {
|
|
72
|
+
Background: IntergalacticD3Component<'rect', BackgroundProps, BackgroundContext>;
|
|
57
73
|
};
|
|
58
74
|
|
|
59
75
|
export default Bar;
|
package/lib/types/Bubble.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { Intergalactic, UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
import { TooltipType } from './Tooltip';
|
|
4
|
+
import { IntergalacticD3Component } from './Plot';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export interface IBubbleProps extends BubbleProps, UnknownProperties {}
|
|
8
|
+
export type BubbleProps = Context & {
|
|
9
|
+
/** Field name from `data` array item for the XAxis */
|
|
7
10
|
x: string;
|
|
8
|
-
/** Field from data for YAxis */
|
|
11
|
+
/** Field name from `data` array item for the YAxis */
|
|
9
12
|
y: string;
|
|
10
|
-
/** Field from data for circle radius */
|
|
13
|
+
/** Field name from `data` array item for the circle radius */
|
|
11
14
|
value: string;
|
|
12
|
-
/** Field from data for circle label */
|
|
15
|
+
/** Field name from `data` array item for the circle label */
|
|
13
16
|
label?: string;
|
|
14
17
|
/** Circle color */
|
|
15
18
|
color?: string;
|
|
@@ -23,13 +26,28 @@ export interface IBubbleProps extends IContext {
|
|
|
23
26
|
duration?: number;
|
|
24
27
|
/** Enables element transparency */
|
|
25
28
|
transparent?: boolean;
|
|
26
|
-
}
|
|
29
|
+
};
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
/** @deprecated */
|
|
32
|
+
export interface IBubbleContext extends BubbleContext, UnknownProperties {}
|
|
33
|
+
export type BubbleContext = {
|
|
29
34
|
/** Index element of data */
|
|
30
35
|
index: number;
|
|
31
|
-
}
|
|
36
|
+
};
|
|
32
37
|
|
|
33
|
-
declare const Bubble: <
|
|
38
|
+
declare const Bubble: IntergalacticD3Component<Intergalactic.Tag, BubbleProps, BubbleContext> & {
|
|
39
|
+
Tooltip: TooltipType<
|
|
40
|
+
BubbleProps & {
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use `index` instead.
|
|
43
|
+
*/
|
|
44
|
+
xIndex: number;
|
|
45
|
+
/**
|
|
46
|
+
* Index of item in the `data` array used to render related bubble.
|
|
47
|
+
*/
|
|
48
|
+
index: number;
|
|
49
|
+
}
|
|
50
|
+
>;
|
|
51
|
+
};
|
|
34
52
|
|
|
35
53
|
export default Bubble;
|
package/lib/types/ClipPath.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { UnknownProperties } from '@semcore/core';
|
|
3
|
+
import { IntergalacticD3Component } from './Plot';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/** @deprecated */
|
|
6
|
+
export interface IClipPath extends ClipPath, UnknownProperties {}
|
|
7
|
+
export type ClipPath = {
|
|
6
8
|
/**
|
|
7
9
|
* HTML tag name for the displayed item
|
|
8
10
|
* @default rect
|
|
@@ -20,8 +22,8 @@ export interface IClipPath {
|
|
|
20
22
|
* Function which run after mounted clipPath
|
|
21
23
|
*/
|
|
22
24
|
setAttributeTag?: (rect: React.ReactNode) => void;
|
|
23
|
-
}
|
|
25
|
+
};
|
|
24
26
|
|
|
25
|
-
declare const ClipPath: <
|
|
27
|
+
declare const ClipPath: IntergalacticD3Component<'clipPath', ClipPath>;
|
|
26
28
|
|
|
27
29
|
export default ClipPath;
|
package/lib/types/Donut.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
import { TooltipType } from './Tooltip';
|
|
4
|
+
import { IntergalacticD3Component } from './Plot';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export interface IDonutProps extends DonutProps, UnknownProperties {}
|
|
8
|
+
export type DonutProps = Context & {
|
|
6
9
|
/** Inner radius
|
|
7
10
|
* @default 0
|
|
8
11
|
* */
|
|
@@ -17,13 +20,19 @@ export interface IDonutProps extends IContext {
|
|
|
17
20
|
* @default 500
|
|
18
21
|
*/
|
|
19
22
|
duration?: number;
|
|
20
|
-
}
|
|
23
|
+
};
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
/** @deprecated */
|
|
26
|
+
export interface IPieProps extends PieProps, UnknownProperties {}
|
|
27
|
+
export type PieProps = Context & {
|
|
23
28
|
/**
|
|
24
29
|
* Name of the field in the data
|
|
25
30
|
* */
|
|
26
31
|
dataKey: string;
|
|
32
|
+
/**
|
|
33
|
+
* Human readable name of the segment
|
|
34
|
+
* */
|
|
35
|
+
name: string;
|
|
27
36
|
/** Color pie
|
|
28
37
|
@default #50aef4
|
|
29
38
|
**/
|
|
@@ -34,16 +43,23 @@ export interface IPieProps extends IContext {
|
|
|
34
43
|
active?: boolean;
|
|
35
44
|
/** Enables element transparency */
|
|
36
45
|
transparent?: boolean;
|
|
37
|
-
}
|
|
46
|
+
};
|
|
38
47
|
|
|
39
|
-
|
|
48
|
+
/** @deprecated */
|
|
49
|
+
export interface IEmptyDataProps extends EmptyDataProps, UnknownProperties {}
|
|
50
|
+
export type EmptyDataProps = Context & {};
|
|
40
51
|
|
|
41
|
-
|
|
52
|
+
/** @deprecated */
|
|
53
|
+
export interface ILabelProps extends LabelProps, UnknownProperties {}
|
|
54
|
+
export type LabelProps = Context & {
|
|
55
|
+
label?: string;
|
|
56
|
+
};
|
|
42
57
|
|
|
43
|
-
declare const Donut:
|
|
44
|
-
Pie: <
|
|
45
|
-
EmptyData: <
|
|
46
|
-
Label: <
|
|
58
|
+
declare const Donut: IntergalacticD3Component<'g', DonutProps> & {
|
|
59
|
+
Pie: IntergalacticD3Component<'path', PieProps>;
|
|
60
|
+
EmptyData: IntergalacticD3Component<'path', IEmptyDataProps>;
|
|
61
|
+
Label: IntergalacticD3Component<'text', LabelProps>;
|
|
62
|
+
Tooltip: TooltipType<PieProps>;
|
|
47
63
|
};
|
|
48
64
|
|
|
49
65
|
export default Donut;
|
package/lib/types/GroupBar.d.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
1
|
+
import { UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { BarContext, BarProps } from './Bar';
|
|
3
|
+
import { HorizontalBarProps } from './HorizontalBar';
|
|
4
|
+
import { Context } from './context';
|
|
5
|
+
import { IntergalacticD3Component } from './Plot';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
/** @deprecated */
|
|
8
|
+
export interface IGroupBarProps extends GroupBarProps, UnknownProperties {}
|
|
9
|
+
export type GroupBarProps = Context & {
|
|
10
|
+
/** Field name from `data` array item for the XAxis */
|
|
9
11
|
x?: string;
|
|
10
|
-
/** Field from data for YAxis */
|
|
12
|
+
/** Field name from `data` array item for the YAxis */
|
|
11
13
|
y?: string;
|
|
12
14
|
/** Scale for group bars */
|
|
15
|
+
/** @deprecated */
|
|
13
16
|
scaleGroup?: any;
|
|
14
|
-
}
|
|
17
|
+
};
|
|
15
18
|
|
|
16
|
-
declare const GroupBar:
|
|
17
|
-
Bar: <
|
|
18
|
-
HorizontalBar: <
|
|
19
|
+
declare const GroupBar: IntergalacticD3Component<'g', GroupBarProps> & {
|
|
20
|
+
Bar: IntergalacticD3Component<'path', BarProps>;
|
|
21
|
+
HorizontalBar: IntergalacticD3Component<'path', HorizontalBarProps, BarContext>;
|
|
19
22
|
};
|
|
20
23
|
|
|
21
24
|
export default GroupBar;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import { UnknownProperties } from '@semcore/core';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
import { BarContext, BackgroundProps } from './Bar';
|
|
4
|
+
import { IntergalacticD3Component } from './Plot';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export interface IHorizontalBarProps extends HorizontalBarProps, UnknownProperties {}
|
|
8
|
+
export type HorizontalBarProps = Context & {
|
|
9
|
+
/** Field name from `data` array item for the XAxis */
|
|
8
10
|
x?: string;
|
|
9
|
-
/** Field from data for YAxis */
|
|
11
|
+
/** Field name from `data` array item for the YAxis */
|
|
10
12
|
y?: string;
|
|
11
13
|
/** Line color
|
|
12
14
|
* @default '#50aef4'*/
|
|
@@ -21,12 +23,10 @@ export interface IHorizontalBarProps extends IContext {
|
|
|
21
23
|
r?: number | number[];
|
|
22
24
|
/** Enables element transparency */
|
|
23
25
|
transparent?: boolean;
|
|
24
|
-
}
|
|
26
|
+
};
|
|
25
27
|
|
|
26
|
-
declare const HorizontalBar:
|
|
27
|
-
|
|
28
|
-
) => ReturnEl) & {
|
|
29
|
-
Background: <T>(props: MapProps<IBackgroundProps & T>) => ReturnEl;
|
|
28
|
+
declare const HorizontalBar: IntergalacticD3Component<'path', HorizontalBarProps, BarContext> & {
|
|
29
|
+
Background: IntergalacticD3Component<'rect', BackgroundProps, Context>;
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export default HorizontalBar;
|