@semcore/d3-chart 17.2.0 → 17.3.0-prerelease.0
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 +12 -0
- package/lib/cjs/Area.js +11 -11
- package/lib/cjs/Axis.js +16 -16
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +14 -14
- package/lib/cjs/CompactHorizontalBar.js +16 -16
- package/lib/cjs/Donut.js +9 -9
- package/lib/cjs/Dots.js +8 -8
- package/lib/cjs/HorizontalBar.js +16 -16
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +2 -2
- package/lib/cjs/Radar.js +20 -20
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +12 -12
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ScatterPlot.js +9 -9
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/a11y/serialize.js +6 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.js +85 -11
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +6 -2
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +8 -4
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +6 -2
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +22 -12
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +7 -3
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.js +8 -4
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +7 -3
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +6 -2
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/cjs/style/abstract-chart.shadow.css +7 -0
- package/lib/es6/Area.js +11 -11
- package/lib/es6/Axis.js +16 -16
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +14 -14
- package/lib/es6/CompactHorizontalBar.js +16 -16
- package/lib/es6/Donut.js +9 -9
- package/lib/es6/Dots.js +8 -8
- package/lib/es6/HorizontalBar.js +16 -16
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +2 -2
- package/lib/es6/Radar.js +20 -20
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +12 -12
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ScatterPlot.js +9 -9
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/a11y/serialize.js +6 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.js +85 -11
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +6 -2
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +8 -4
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +6 -2
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +22 -12
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js +7 -3
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.js +8 -4
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +7 -3
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +6 -2
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/es6/style/abstract-chart.shadow.css +7 -0
- package/lib/esm/Area.mjs +12 -12
- package/lib/esm/Axis.mjs +17 -17
- package/lib/esm/Bar.mjs +17 -17
- package/lib/esm/Bubble.mjs +15 -15
- package/lib/esm/CompactHorizontalBar.mjs +17 -17
- package/lib/esm/Donut.mjs +10 -10
- package/lib/esm/Dots.mjs +9 -9
- package/lib/esm/HorizontalBar.mjs +17 -17
- package/lib/esm/Hover.mjs +4 -4
- package/lib/esm/Line.mjs +10 -10
- package/lib/esm/Plot.mjs +3 -3
- package/lib/esm/Radar.mjs +21 -21
- package/lib/esm/RadialTree.mjs +13 -13
- package/lib/esm/Reference.mjs +13 -13
- package/lib/esm/ScatterPlot.mjs +10 -10
- package/lib/esm/Tooltip.mjs +10 -10
- package/lib/esm/Venn.mjs +10 -10
- package/lib/esm/a11y/PlotA11yModule.mjs +3 -3
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/a11y/serialize.mjs +6 -1
- package/lib/esm/component/Chart/AbstractChart.mjs +86 -12
- package/lib/esm/component/Chart/AreaChart.mjs +6 -2
- package/lib/esm/component/Chart/BarChart.mjs +8 -4
- package/lib/esm/component/Chart/BubbleChart.mjs +6 -2
- package/lib/esm/component/Chart/CigaretteChart.mjs +22 -12
- package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +7 -3
- package/lib/esm/component/Chart/HistogramChart.mjs +8 -4
- package/lib/esm/component/Chart/LineChart.mjs +7 -3
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +6 -2
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
- package/lib/esm/style/abstract-chart.shadow.css +7 -0
- package/lib/types/component/Chart/AbstractChart.d.ts +14 -0
- package/lib/types/component/Chart/AbstractChart.type.d.ts +11 -2
- package/package.json +16 -16
- package/vitest.config.mts +17 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactHorizontalBarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart","_","_intergalacticDynamicLocales","CompactHorizontalBarChartComponent","AbstractChart","xScale","asProps","valueScale","yScale","categoryScale","defaultLegendProps","renderChart","x","y","onClickHoverRect","onClickBar","default","createElement","CompactHorizontalBar","renderCompactHorizontalBarTooltip","Hover","onClick","Annotation","Label","Percent","Value","Bar","Background","Fill","data","showTooltip","Tooltip","wMin","index","children","Fragment","Title","Dot","renderTooltip","getLegendAriaLabel","getI18nText","chartType","marginY","plotHeight","scaleBand","range","domain","reverse","map","d","paddingInner","paddingOuter","plotWidth","sum","flatValues","values","reduce","acc","scaleLinear","_defineProperty2","direction","showXAxis","showYAxis","showLegend","i18nEnhance","localizedMessages","CompactHorizontalBarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type {\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartDefaultProps,\n CompactHorizontalBarChartProps,\n CompactHorizontalBarChartType,\n} from './CompactHorizontalBarChart.type';\n// @ts-ignore\nimport { CompactHorizontalBar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass CompactHorizontalBarChartComponent extends AbstractChart<\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n typeof CompactHorizontalBarChartComponent.enhance,\n {},\n ChartState,\n CompactHorizontalBarChartDefaultProps\n> {\n static displayName = 'Chart.CompactHorizontalBar';\n public static defaultProps = {\n direction: 'column',\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n return this.asProps.xScale ?? this.valueScale;\n }\n\n get yScale() {\n return this.asProps.yScale ?? this.categoryScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {};\n }\n\n renderChart() {\n const { x, y, onClickHoverRect, onClickBar } = this.asProps;\n\n return (\n <CompactHorizontalBar x={x} y={y}>\n {this.renderCompactHorizontalBarTooltip()}\n <CompactHorizontalBar.Hover onClick={onClickHoverRect} />\n <CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Label />\n <CompactHorizontalBar.Percent />\n <CompactHorizontalBar.Value />\n </CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Bar onClick={onClickBar}>\n <CompactHorizontalBar.Bar.Background />\n <CompactHorizontalBar.Bar.Fill />\n </CompactHorizontalBar.Bar>\n </CompactHorizontalBar>\n );\n }\n\n protected renderCompactHorizontalBarTooltip(): React.ReactNode {\n const { data, x, y, showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <CompactHorizontalBar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <CompactHorizontalBar.Tooltip.Title>\n {data[index][y]}\n </CompactHorizontalBar.Tooltip.Title>\n\n <CompactHorizontalBar.Tooltip.Dot>\n {data[index][x]}\n </CompactHorizontalBar.Tooltip.Dot>\n </>\n ),\n };\n }}\n </CompactHorizontalBar.Tooltip>\n );\n }\n\n renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'CompactHorizontalBar' });\n }\n\n private get categoryScale() {\n const { marginY = 40,
|
|
1
|
+
{"version":3,"file":"CompactHorizontalBarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart","_","_intergalacticDynamicLocales","CompactHorizontalBarChartComponent","AbstractChart","xScale","asProps","valueScale","yScale","categoryScale","defaultLegendProps","renderChart","x","y","onClickHoverRect","onClickBar","default","createElement","CompactHorizontalBar","renderCompactHorizontalBarTooltip","Hover","onClick","Annotation","Label","Percent","Value","Bar","Background","Fill","data","showTooltip","Tooltip","wMin","index","children","Fragment","Title","Dot","renderTooltip","getLegendAriaLabel","getI18nText","chartType","marginY","plotHeight","scaleBand","range","domain","reverse","map","d","paddingInner","paddingOuter","plotWidth","sum","flatValues","values","reduce","acc","scaleLinear","_defineProperty2","direction","showXAxis","showYAxis","showLegend","i18nEnhance","localizedMessages","CompactHorizontalBarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type {\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartDefaultProps,\n CompactHorizontalBarChartProps,\n CompactHorizontalBarChartType,\n} from './CompactHorizontalBarChart.type';\n// @ts-ignore\nimport { CompactHorizontalBar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass CompactHorizontalBarChartComponent extends AbstractChart<\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n typeof CompactHorizontalBarChartComponent.enhance,\n {},\n ChartState,\n CompactHorizontalBarChartDefaultProps\n> {\n static displayName = 'Chart.CompactHorizontalBar';\n public static defaultProps = {\n direction: 'column',\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n return this.asProps.xScale ?? this.valueScale;\n }\n\n get yScale() {\n return this.asProps.yScale ?? this.categoryScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {};\n }\n\n renderChart() {\n const { x, y, onClickHoverRect, onClickBar } = this.asProps;\n\n return (\n <CompactHorizontalBar x={x} y={y}>\n {this.renderCompactHorizontalBarTooltip()}\n <CompactHorizontalBar.Hover onClick={onClickHoverRect} />\n <CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Label />\n <CompactHorizontalBar.Percent />\n <CompactHorizontalBar.Value />\n </CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Bar onClick={onClickBar}>\n <CompactHorizontalBar.Bar.Background />\n <CompactHorizontalBar.Bar.Fill />\n </CompactHorizontalBar.Bar>\n </CompactHorizontalBar>\n );\n }\n\n protected renderCompactHorizontalBarTooltip(): React.ReactNode {\n const { data, x, y, showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <CompactHorizontalBar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <CompactHorizontalBar.Tooltip.Title>\n {data[index][y]}\n </CompactHorizontalBar.Tooltip.Title>\n\n <CompactHorizontalBar.Tooltip.Dot>\n {data[index][x]}\n </CompactHorizontalBar.Tooltip.Dot>\n </>\n ),\n };\n }}\n </CompactHorizontalBar.Tooltip>\n );\n }\n\n renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'CompactHorizontalBar' });\n }\n\n private get categoryScale() {\n const { marginY = 40, data, y } = this.asProps;\n const { plotHeight } = this;\n\n return scaleBand()\n .range([plotHeight - marginY, marginY])\n .domain([...data].reverse().map((d) => d[y]) as any)\n .paddingInner(0.6)\n .paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 0 } = this.asProps;\n const { plotWidth } = this;\n\n const sum = [...super.flatValues.values()].reduce((acc, d) => acc + d, 0);\n\n return scaleLinear().range([marginY, plotWidth]).domain([marginY, sum]);\n }\n}\n\n/**\n * CompactHorizontalBarChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-code/|Examples}\n */\nexport const CompactHorizontalBarChart = createComponent<\n CompactHorizontalBarChartType,\n typeof CompactHorizontalBarChartComponent\n>(\n CompactHorizontalBarChartComponent,\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,12 +22,14 @@ class HistogramChartComponent extends _AbstractChart.AbstractChart {
|
|
|
22
22
|
xScale,
|
|
23
23
|
marginY = 30,
|
|
24
24
|
marginX = 30,
|
|
25
|
-
plotWidth,
|
|
26
|
-
plotHeight,
|
|
27
25
|
invertAxis,
|
|
28
26
|
data,
|
|
29
27
|
groupKey
|
|
30
28
|
} = this.asProps;
|
|
29
|
+
const {
|
|
30
|
+
plotWidth,
|
|
31
|
+
plotHeight
|
|
32
|
+
} = this;
|
|
31
33
|
if (xScale) {
|
|
32
34
|
return xScale;
|
|
33
35
|
}
|
|
@@ -45,11 +47,13 @@ class HistogramChartComponent extends _AbstractChart.AbstractChart {
|
|
|
45
47
|
yScale,
|
|
46
48
|
marginY = 30,
|
|
47
49
|
marginX = 30,
|
|
48
|
-
plotHeight,
|
|
49
|
-
plotWidth,
|
|
50
50
|
invertAxis,
|
|
51
51
|
data
|
|
52
52
|
} = this.asProps;
|
|
53
|
+
const {
|
|
54
|
+
plotWidth,
|
|
55
|
+
plotHeight
|
|
56
|
+
} = this;
|
|
53
57
|
let max;
|
|
54
58
|
if (this.isStack) {
|
|
55
59
|
max = data.reduce((max, item) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistogramChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","HistogramChartComponent","AbstractChart","xScale","marginY","marginX","plotWidth","plotHeight","invertAxis","data","groupKey","asProps","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","yScale","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","Math","scaleLinear","dataDefinitions","state","length","renderChart","highlightedLine","default","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","key","renderTooltip","HoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","showTooltip","HistogramChart","exports","createComponent"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartDefaultProps, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance,\n {},\n ChartState,\n HistogramChartDefaultProps\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n plotHeight,\n plotWidth,\n invertAxis,\n data,\n } = this.asProps;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\n/**\n * HistogramChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/histogram-chart/histogram-chart-api/|API}\n */\nexport const HistogramChart = createComponent<\n HistogramChartType,\n typeof HistogramChartComponent\n>(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HistogramChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","HistogramChartComponent","AbstractChart","xScale","marginY","marginX","invertAxis","data","groupKey","asProps","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","yScale","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","Math","scaleLinear","dataDefinitions","state","length","renderChart","highlightedLine","default","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","key","renderTooltip","HoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","showTooltip","HistogramChart","exports","createComponent"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartDefaultProps, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance,\n {},\n ChartState,\n HistogramChartDefaultProps\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n const { plotWidth, plotHeight } = this;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n invertAxis,\n data,\n } = this.asProps;\n const { plotWidth, plotHeight } = this;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\n/**\n * HistogramChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/histogram-chart/histogram-chart-api/|API}\n */\nexport const HistogramChart = createComponent<\n HistogramChartType,\n typeof HistogramChartComponent\n>(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,10 +20,12 @@ class LineChartComponent extends _AbstractChart.AbstractChart {
|
|
|
20
20
|
const {
|
|
21
21
|
xScale,
|
|
22
22
|
marginY = 30,
|
|
23
|
-
plotWidth,
|
|
24
23
|
data,
|
|
25
24
|
groupKey
|
|
26
25
|
} = this.asProps;
|
|
26
|
+
const {
|
|
27
|
+
plotWidth
|
|
28
|
+
} = this;
|
|
27
29
|
if (xScale) {
|
|
28
30
|
return xScale;
|
|
29
31
|
}
|
|
@@ -38,9 +40,11 @@ class LineChartComponent extends _AbstractChart.AbstractChart {
|
|
|
38
40
|
get yScale() {
|
|
39
41
|
const {
|
|
40
42
|
yScale,
|
|
41
|
-
marginX = 30
|
|
42
|
-
plotHeight
|
|
43
|
+
marginX = 30
|
|
43
44
|
} = this.asProps;
|
|
45
|
+
const {
|
|
46
|
+
plotHeight
|
|
47
|
+
} = this;
|
|
44
48
|
if (yScale) {
|
|
45
49
|
return yScale;
|
|
46
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","LineChartComponent","AbstractChart","xScale","marginY","
|
|
1
|
+
{"version":3,"file":"LineChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","LineChartComponent","AbstractChart","xScale","marginY","data","groupKey","asProps","plotWidth","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","yScale","marginX","plotHeight","flatValues","max","Math","min","renderChart","curve","showDots","area","areaCurve","onClickLine","dataDefinitions","highlightedLine","state","map","item","index","checked","default","createElement","Line","x","toString","y","id","key","color","transparent","onClick","Dots","display","Area","y0","y1","renderTooltip","HoverLine","Tooltip","wMin","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","showTooltip","LineChart","exports","createComponent"],"sources":["../../../../src/component/Chart/LineChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\nimport type { LineChartData, LineChartDefaultProps, LineChartProps, LineChartType } from './LineChart.type';\n// @ts-ignore\nimport { Line, minMax, HoverLine } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass LineChartComponent extends AbstractChart<\n LineChartData,\n LineChartProps,\n typeof LineChartComponent.enhance,\n {},\n ChartState,\n LineChartDefaultProps\n> {\n static displayName = 'Chart.Line';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n protected get xScale() {\n const { xScale, marginY = 30, data, groupKey } = this.asProps;\n const { plotWidth } = this;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30 } = this.asProps;\n const { plotHeight } = this;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n\n const max = Math.max(...flatValues);\n const min = Math.min(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected renderChart() {\n const { groupKey, curve, showDots, area, areaCurve, onClickLine } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Line\n x={groupKey.toString()}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n onClick={onClickLine}\n >\n {showDots && <Line.Dots display />}\n {area?.[item.id] && (\n <Line.Area area={area[item.id]} y0='y0' y1='y1' curve={areaCurve} />\n )}\n </Line>\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey } = this.asProps;\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverLine.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Line' });\n }\n}\n\n/**\n * LineChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-code/|Examples}\n */\nexport const LineChart = createComponent<\n LineChartType,\n typeof LineChartComponent\n>(LineChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,11 +29,13 @@ class ScatterPlotChartComponent extends _AbstractChart.AbstractChart {
|
|
|
29
29
|
const {
|
|
30
30
|
xScale,
|
|
31
31
|
marginY = 30,
|
|
32
|
-
plotWidth,
|
|
33
32
|
data,
|
|
34
33
|
groupKey,
|
|
35
34
|
valueKey
|
|
36
35
|
} = this.asProps;
|
|
36
|
+
const {
|
|
37
|
+
plotWidth
|
|
38
|
+
} = this;
|
|
37
39
|
if (xScale) {
|
|
38
40
|
return xScale;
|
|
39
41
|
}
|
|
@@ -50,9 +52,11 @@ class ScatterPlotChartComponent extends _AbstractChart.AbstractChart {
|
|
|
50
52
|
const {
|
|
51
53
|
yScale,
|
|
52
54
|
marginX = 30,
|
|
53
|
-
plotHeight,
|
|
54
55
|
valueKey
|
|
55
56
|
} = this.asProps;
|
|
57
|
+
const {
|
|
58
|
+
plotHeight
|
|
59
|
+
} = this;
|
|
56
60
|
if (yScale) {
|
|
57
61
|
return yScale;
|
|
58
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlotChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_typography","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","ScatterPlotChartComponent","AbstractChart","dataKeys","data","groupKey","valueKey","props","Object","keys","filter","key","xScale","marginY","plotWidth","asProps","radius","getScatterPlotRadius","getValueScale","flatValues","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","yScale","marginX","plotHeight","max","Math","min","reduce","result","item","entries","forEach","value","add","Set","renderChart","onClickScatterItem","dataDefinitions","state","map","checked","default","createElement","ScatterPlot","onClick","x","y","id","color","renderTooltip","Tooltip","wMin","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","direction","showXAxis","showYAxis","showTooltip","showLegend","i18nEnhance","localizedMessages","ScatterPlotChart","exports","createComponent"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type {\n ScatterPlotChartData,\n ScatterPlotChartDefaultProps,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass ScatterPlotChartComponent extends AbstractChart<\n ScatterPlotChartData,\n ScatterPlotChartProps,\n typeof ScatterPlotChartComponent.enhance,\n {},\n ChartState,\n ScatterPlotChartDefaultProps\n> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey, valueKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...this.flatValues]);\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime([domain[0] - radius, domain[1] + radius], range);\n }\n\n return scaleLinear([domain[0] - radius, domain[1] + radius], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, valueKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...flatValues]);\n\n const max = Math.max(...flatValues) + radius;\n const min = Math.min(...flatValues) - radius;\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey, onClickScatterItem } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot onClick={onClickScatterItem} x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>\n X axis\n {this.tooltipValueFormatter(data[index][x])}\n </Text>\n <Text tag='div'>\n Y axis\n {this.tooltipValueFormatter(data[index][y])}\n </Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'ScatterPlot' });\n }\n}\n\n/**\n * ScatterPlotChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/scatterplot-chart/scatterplot-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/scatterplot-chart/scatterplot-chart-code/|Examples}\n */\nexport const ScatterPlotChart = createComponent<\n ScatterPlotChartType,\n typeof ScatterPlotChartComponent\n>(ScatterPlotChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ScatterPlotChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_typography","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","ScatterPlotChartComponent","AbstractChart","dataKeys","data","groupKey","valueKey","props","Object","keys","filter","key","xScale","marginY","asProps","plotWidth","radius","getScatterPlotRadius","getValueScale","flatValues","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","yScale","marginX","plotHeight","max","Math","min","reduce","result","item","entries","forEach","value","add","Set","renderChart","onClickScatterItem","dataDefinitions","state","map","checked","default","createElement","ScatterPlot","onClick","x","y","id","color","renderTooltip","Tooltip","wMin","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","direction","showXAxis","showYAxis","showTooltip","showLegend","i18nEnhance","localizedMessages","ScatterPlotChart","exports","createComponent"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type {\n ScatterPlotChartData,\n ScatterPlotChartDefaultProps,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass ScatterPlotChartComponent extends AbstractChart<\n ScatterPlotChartData,\n ScatterPlotChartProps,\n typeof ScatterPlotChartComponent.enhance,\n {},\n ChartState,\n ScatterPlotChartDefaultProps\n> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, data, groupKey, valueKey } = this.asProps;\n const { plotWidth } = this;\n\n if (xScale) {\n return xScale;\n }\n\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...this.flatValues]);\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime([domain[0] - radius, domain[1] + radius], range);\n }\n\n return scaleLinear([domain[0] - radius, domain[1] + radius], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, valueKey } = this.asProps;\n const { plotHeight } = this;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...flatValues]);\n\n const max = Math.max(...flatValues) + radius;\n const min = Math.min(...flatValues) - radius;\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey, onClickScatterItem } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot onClick={onClickScatterItem} x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>\n X axis\n {this.tooltipValueFormatter(data[index][x])}\n </Text>\n <Text tag='div'>\n Y axis\n {this.tooltipValueFormatter(data[index][y])}\n </Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'ScatterPlot' });\n }\n}\n\n/**\n * ScatterPlotChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/scatterplot-chart/scatterplot-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/scatterplot-chart/scatterplot-chart-code/|Examples}\n */\nexport const ScatterPlotChart = createComponent<\n ScatterPlotChartType,\n typeof ScatterPlotChartComponent\n>(ScatterPlotChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,12 +16,12 @@ var _intergalacticDynamicLocales = require("../../../translations/__intergalacti
|
|
|
16
16
|
var _BaseLegend = require("../BaseLegend");
|
|
17
17
|
var _LegendItem = require("../LegendItem/LegendItem");
|
|
18
18
|
/*!__reshadow-styles__:"./legend-flex.shadow.css"*/
|
|
19
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
19
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendFlex_e76xg_gg_._direction_row_e76xg_gg_{align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_e76xg_gg_._direction_column_e76xg_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}", /*__inner_css_end__*/"e76xg_gg_"),
|
|
20
20
|
/*__reshadow_css_end__*/
|
|
21
21
|
{
|
|
22
|
-
"__SLegendFlex": "
|
|
23
|
-
"_direction_row": "
|
|
24
|
-
"_direction_column": "
|
|
22
|
+
"__SLegendFlex": "___SLegendFlex_e76xg_gg_",
|
|
23
|
+
"_direction_row": "_direction_row_e76xg_gg_",
|
|
24
|
+
"_direction_column": "_direction_column_e76xg_gg_"
|
|
25
25
|
});
|
|
26
26
|
class LegendFlexRoot extends _BaseLegend.BaseLegend {
|
|
27
27
|
renderTrend() {
|
|
@@ -17,25 +17,25 @@ var _LegendItem = require("./LegendItem.type");
|
|
|
17
17
|
var _Pattern = require("../../../Pattern");
|
|
18
18
|
var _utils = require("../../../utils");
|
|
19
19
|
/*!__reshadow-styles__:"./legend-item.shadow.css"*/
|
|
20
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendItem_e035q_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_e035q_gg_:hover{cursor:pointer}.___SLegendItem_e035q_gg_.__disabled_e035q_gg_:hover{cursor:default}}.___SPointShape_e035q_gg_.__color_e035q_gg_{background-color:var(--color_e035q);margin-right:8px;flex-shrink:0}.___SPointShape_e035q_gg_._shape_Circle_e035q_gg_._size_l_e035q_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Circle_e035q_gg_._size_m_e035q_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Line_e035q_gg_._size_l_e035q_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_e035q_gg_._shape_Line_e035q_gg_._size_m_e035q_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_e035q_gg_._shape_Square_e035q_gg_._size_l_e035q_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Square_e035q_gg_._size_m_e035q_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Pattern_e035q_gg_{background-color:initial;margin-right:4px}.___SIcon_e035q_gg_{line-height:0;margin-right:4px}.___SIcon_e035q_gg_._size_l_e035q_gg_{margin-top:4px}.___SIcon_e035q_gg_._size_m_e035q_gg_{margin-top:2px}.___SLabel_e035q_gg_{min-width:0}.___SAdditionalLabel_e035q_gg_._size_l_e035q_gg_,.___SCount_e035q_gg_._size_l_e035q_gg_,.___SLabel_e035q_gg_._size_l_e035q_gg_{font-size:var(--intergalactic-fs-300,16px);line-height:var(--intergalactic-lh-300,150%)}.___SAdditionalLabel_e035q_gg_._size_m_e035q_gg_,.___SCount_e035q_gg_._size_m_e035q_gg_,.___SLabel_e035q_gg_._size_m_e035q_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%)}.___SAdditionalLabel_e035q_gg_,.___SCount_e035q_gg_{margin-left:4px}.___SAdditionalLabel_e035q_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_e035q_gg_:before{content:\"\";display:inline-block;background-color:var(--intergalactic-text-secondary,#00030095);height:4px;width:4px;border-radius:2px;margin-right:4px}@media (color-gamut:p3){.___SAdditionalLabel_e035q_gg_:before{background-color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SAdditionalLabel_e035q_gg_._size_l_e035q_gg_:before{margin-top:10px}.___SAdditionalLabel_e035q_gg_._size_m_e035q_gg_:before{margin-top:8px}.___SPatternSymbol_e035q_gg_{transform:scale(.8)}", /*__inner_css_end__*/"e035q_gg_"),
|
|
21
21
|
/*__reshadow_css_end__*/
|
|
22
22
|
{
|
|
23
|
-
"__SLegendItem": "
|
|
24
|
-
"_disabled": "
|
|
25
|
-
"__SPointShape": "
|
|
26
|
-
"_color": "
|
|
27
|
-
"--color": "--
|
|
28
|
-
"_shape_Circle": "
|
|
29
|
-
"_size_l": "
|
|
30
|
-
"_size_m": "
|
|
31
|
-
"_shape_Line": "
|
|
32
|
-
"_shape_Square": "
|
|
33
|
-
"_shape_Pattern": "
|
|
34
|
-
"__SIcon": "
|
|
35
|
-
"__SLabel": "
|
|
36
|
-
"__SAdditionalLabel": "
|
|
37
|
-
"__SCount": "
|
|
38
|
-
"__SPatternSymbol": "
|
|
23
|
+
"__SLegendItem": "___SLegendItem_e035q_gg_",
|
|
24
|
+
"_disabled": "__disabled_e035q_gg_",
|
|
25
|
+
"__SPointShape": "___SPointShape_e035q_gg_",
|
|
26
|
+
"_color": "__color_e035q_gg_",
|
|
27
|
+
"--color": "--color_e035q",
|
|
28
|
+
"_shape_Circle": "_shape_Circle_e035q_gg_",
|
|
29
|
+
"_size_l": "_size_l_e035q_gg_",
|
|
30
|
+
"_size_m": "_size_m_e035q_gg_",
|
|
31
|
+
"_shape_Line": "_shape_Line_e035q_gg_",
|
|
32
|
+
"_shape_Square": "_shape_Square_e035q_gg_",
|
|
33
|
+
"_shape_Pattern": "_shape_Pattern_e035q_gg_",
|
|
34
|
+
"__SIcon": "___SIcon_e035q_gg_",
|
|
35
|
+
"__SLabel": "___SLabel_e035q_gg_",
|
|
36
|
+
"__SAdditionalLabel": "___SAdditionalLabel_e035q_gg_",
|
|
37
|
+
"__SCount": "___SCount_e035q_gg_",
|
|
38
|
+
"__SPatternSymbol": "___SPatternSymbol_e035q_gg_"
|
|
39
39
|
});
|
|
40
40
|
const enhance = [(0, _resolveColorEnhance.default)(), (0, _uniqueID.default)()];
|
|
41
41
|
class LegendItemRoot extends _core.Component {
|
|
@@ -12,14 +12,14 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
12
12
|
var _BaseLegend = require("../BaseLegend");
|
|
13
13
|
var _LegendItem = require("../LegendItem/LegendItem");
|
|
14
14
|
/*!__reshadow-styles__:"./legend-table.shadow.css"*/
|
|
15
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
15
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendTable_11u3t_gg_.__columns-count_11u3t_gg_{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_11u3t_gg_._size_l_11u3t_gg_{font-size:var(--intergalactic-fs-300,16px);text-align:right}.___SColumnItem_11u3t_gg_._size_m_11u3t_gg_{font-size:var(--intergalactic-fs-200,14px);text-align:right}", /*__inner_css_end__*/"11u3t_gg_"),
|
|
16
16
|
/*__reshadow_css_end__*/
|
|
17
17
|
{
|
|
18
|
-
"__SLegendTable": "
|
|
19
|
-
"_columns-count": "__columns-
|
|
20
|
-
"__SColumnItem": "
|
|
21
|
-
"_size_l": "
|
|
22
|
-
"_size_m": "
|
|
18
|
+
"__SLegendTable": "___SLegendTable_11u3t_gg_",
|
|
19
|
+
"_columns-count": "__columns-count_11u3t_gg_",
|
|
20
|
+
"__SColumnItem": "___SColumnItem_11u3t_gg_",
|
|
21
|
+
"_size_l": "_size_l_11u3t_gg_",
|
|
22
|
+
"_size_m": "_size_m_11u3t_gg_"
|
|
23
23
|
});
|
|
24
24
|
class LegendTableRoot extends _BaseLegend.BaseLegend {
|
|
25
25
|
render() {
|
package/lib/es6/Area.js
CHANGED
|
@@ -12,19 +12,19 @@ import createElement from './createElement';
|
|
|
12
12
|
import Dots from './Dots';
|
|
13
13
|
import { PatternFill } from './Pattern';
|
|
14
14
|
/*!__reshadow-styles__:"./style/area.shadow.css"*/
|
|
15
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
15
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SArea_lyg97_gg_{fill:var(--intergalactic-chart-palette-order-1,oklch(.58 .168 278.2));fill-opacity:.2}.___SArea_lyg97_gg_.__color_lyg97_gg_{fill:var(--color_lyg97)}.___SArea_lyg97_gg_.__pattern_lyg97_gg_{fill:var(--pattern_lyg97);fill-opacity:.7}.___SArea_lyg97_gg_.__transparent_lyg97_gg_{opacity:.3}.___SAreaLine_lyg97_gg_{stroke:var(--intergalactic-chart-palette-order-1,oklch(.58 .168 278.2));stroke-width:3;fill:#0000}.___SAreaLine_lyg97_gg_.__color_lyg97_gg_{stroke:var(--color_lyg97)}.___SAreaLine_lyg97_gg_.__transparent_lyg97_gg_{opacity:.3}.___SAreaLine_lyg97_gg_,.___SArea_lyg97_gg_{transition-property:d;transition-duration:var(--duration_lyg97);transition-timing-function:ease-in-out}.___SNull_lyg97_gg_{fill:#0000;stroke:var(--intergalactic-chart-grid-x-axis,oklch(.88 .002 175.6));stroke-dasharray:4}.___SNull_lyg97_gg_.__hide_lyg97_gg_{display:none}", /*__inner_css_end__*/"lyg97_gg_"),
|
|
16
16
|
/*__reshadow_css_end__*/
|
|
17
17
|
{
|
|
18
|
-
"__SArea": "
|
|
19
|
-
"_color": "
|
|
20
|
-
"--color": "--
|
|
21
|
-
"_pattern": "
|
|
22
|
-
"--pattern": "--
|
|
23
|
-
"_transparent": "
|
|
24
|
-
"__SAreaLine": "
|
|
25
|
-
"--duration": "--
|
|
26
|
-
"__SNull": "
|
|
27
|
-
"_hide": "
|
|
18
|
+
"__SArea": "___SArea_lyg97_gg_",
|
|
19
|
+
"_color": "__color_lyg97_gg_",
|
|
20
|
+
"--color": "--color_lyg97",
|
|
21
|
+
"_pattern": "__pattern_lyg97_gg_",
|
|
22
|
+
"--pattern": "--pattern_lyg97",
|
|
23
|
+
"_transparent": "__transparent_lyg97_gg_",
|
|
24
|
+
"__SAreaLine": "___SAreaLine_lyg97_gg_",
|
|
25
|
+
"--duration": "--duration_lyg97",
|
|
26
|
+
"__SNull": "___SNull_lyg97_gg_",
|
|
27
|
+
"_hide": "__hide_lyg97_gg_"
|
|
28
28
|
});
|
|
29
29
|
import { definedData, scaleOfBandwidth, getNullData, definedNullData, interpolateValue, eventToPoint, invert } from './utils';
|
|
30
30
|
class AreaRoot extends Component {
|
package/lib/es6/Axis.js
CHANGED
|
@@ -5,24 +5,24 @@ import { Component, sstyled } from '@semcore/core';
|
|
|
5
5
|
import React, { useState, useEffect } from 'react';
|
|
6
6
|
import createElement from './createElement';
|
|
7
7
|
/*!__reshadow-styles__:"./style/axis.shadow.css"*/
|
|
8
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
8
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SAxis_ba1eh_gg_{stroke:var(--intergalactic-chart-grid-x-axis,oklch(.88 .002 175.6))}.___SAxis_ba1eh_gg_.__hide_ba1eh_gg_{display:none}.___STick_ba1eh_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-chart-grid-text-label,#00030095)}@media (color-gamut:p3){.___STick_ba1eh_gg_{fill:var(--intergalactic-chart-grid-text-label,oklch(.088 .026 147.7/.583))}}.___STick_ba1eh_gg_.__primaryText_ba1eh_gg_{fill:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STick_ba1eh_gg_.__hide_ba1eh_gg_{display:none}.___SGrid_ba1eh_gg_{fill:#0000;stroke:var(--intergalactic-border-secondary,#00151012)}@media (color-gamut:p3){.___SGrid_ba1eh_gg_{stroke:var(--intergalactic-border-secondary,oklch(.176 .033 175.7/.07))}}.___STitle_ba1eh_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-text-hint,#00030095);transform-origin:var(--transform-origin_ba1eh)}@media (color-gamut:p3){.___STitle_ba1eh_gg_{fill:var(--intergalactic-text-hint,oklch(.088 .026 147.7/.583))}}.___STitle_ba1eh_gg_._position_top_ba1eh_gg_{text-anchor:middle}.___STitle_ba1eh_gg_._position_bottom_ba1eh_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_ba1eh_gg_._position_left_ba1eh_gg_,.___STitle_ba1eh_gg_._position_right_ba1eh_gg_{transform:rotate(-90deg);dominant-baseline:middle;text-anchor:middle}.___STitle_ba1eh_gg_._position_left_ba1eh_gg_.__verticalWritingMode_ba1eh_gg_,.___STitle_ba1eh_gg_._position_right_ba1eh_gg_.__verticalWritingMode_ba1eh_gg_{writing-mode:vertical-rl;transform:none}.___STick_ba1eh_gg_._position_top_ba1eh_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_ba1eh_gg_._position_bottom_ba1eh_gg_{transform:translateY(12px);text-anchor:middle;dominant-baseline:hanging}.___STick_ba1eh_gg_._position_bottom_ba1eh_gg_ tspan{dominant-baseline:hanging}.___STick_ba1eh_gg_._position_right_ba1eh_gg_{transform:translateX(16px);dominant-baseline:middle}.___STick_ba1eh_gg_._position_right_ba1eh_gg_ tspan{dominant-baseline:middle}.___STick_ba1eh_gg_._position_right_ba1eh_gg_.__multiline_ba1eh_gg_,.___STick_ba1eh_gg_._position_right_ba1eh_gg_.__multiline_ba1eh_gg_ tspan{dominant-baseline:auto}.___STick_ba1eh_gg_._position_left_ba1eh_gg_{transform:translateX(-16px);text-anchor:end;dominant-baseline:middle}.___STick_ba1eh_gg_._position_left_ba1eh_gg_ tspan{dominant-baseline:middle}.___STick_ba1eh_gg_._position_left_ba1eh_gg_.__multiline_ba1eh_gg_,.___STick_ba1eh_gg_._position_left_ba1eh_gg_.__multiline_ba1eh_gg_ tspan{dominant-baseline:auto}.___STick_ba1eh_gg_._position_custom_0_ba1eh_gg_{transform:translateY(12px);text-anchor:middle;dominant-baseline:hanging}.___STick_ba1eh_gg_._position_custom_0_ba1eh_gg_ tspan{dominant-baseline:hanging}.___STick_ba1eh_gg_._position_custom_1_ba1eh_gg_{transform:translateX(-16px);text-anchor:end;dominant-baseline:middle}.___STick_ba1eh_gg_._position_custom_1_ba1eh_gg_ tspan{dominant-baseline:middle}", /*__inner_css_end__*/"ba1eh_gg_"),
|
|
9
9
|
/*__reshadow_css_end__*/
|
|
10
10
|
{
|
|
11
|
-
"__SAxis": "
|
|
12
|
-
"_hide": "
|
|
13
|
-
"__STick": "
|
|
14
|
-
"_primaryText": "
|
|
15
|
-
"__SGrid": "
|
|
16
|
-
"__STitle": "
|
|
17
|
-
"--transform-origin": "--transform-
|
|
18
|
-
"_position_top": "
|
|
19
|
-
"_position_bottom": "
|
|
20
|
-
"_position_right": "
|
|
21
|
-
"_position_left": "
|
|
22
|
-
"_verticalWritingMode": "
|
|
23
|
-
"_multiline": "
|
|
24
|
-
"_position_custom_0": "
|
|
25
|
-
"_position_custom_1": "
|
|
11
|
+
"__SAxis": "___SAxis_ba1eh_gg_",
|
|
12
|
+
"_hide": "__hide_ba1eh_gg_",
|
|
13
|
+
"__STick": "___STick_ba1eh_gg_",
|
|
14
|
+
"_primaryText": "__primaryText_ba1eh_gg_",
|
|
15
|
+
"__SGrid": "___SGrid_ba1eh_gg_",
|
|
16
|
+
"__STitle": "___STitle_ba1eh_gg_",
|
|
17
|
+
"--transform-origin": "--transform-origin_ba1eh",
|
|
18
|
+
"_position_top": "_position_top_ba1eh_gg_",
|
|
19
|
+
"_position_bottom": "_position_bottom_ba1eh_gg_",
|
|
20
|
+
"_position_right": "_position_right_ba1eh_gg_",
|
|
21
|
+
"_position_left": "_position_left_ba1eh_gg_",
|
|
22
|
+
"_verticalWritingMode": "__verticalWritingMode_ba1eh_gg_",
|
|
23
|
+
"_multiline": "__multiline_ba1eh_gg_",
|
|
24
|
+
"_position_custom_0": "_position_custom_0_ba1eh_gg_",
|
|
25
|
+
"_position_custom_1": "_position_custom_1_ba1eh_gg_"
|
|
26
26
|
});
|
|
27
27
|
import { scaleOfBandwidth } from './utils';
|
|
28
28
|
const CUSTOM_0 = Symbol('custom_0');
|
package/lib/es6/Bar.js
CHANGED
|
@@ -8,24 +8,24 @@ import AnimatedClipPath from './AnimatedClipPath';
|
|
|
8
8
|
import createElement from './createElement';
|
|
9
9
|
import { PatternFill } from './Pattern';
|
|
10
10
|
/*!__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
11
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
11
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SBar_96mcx_gg_{fill:var(--intergalactic-chart-palette-order-1,oklch(.58 .168 278.2));transition-property:height,width,y;transition-duration:var(--duration_96mcx);transition-timing-function:ease-in-out}.___SBar_96mcx_gg_.__color_96mcx_gg_{fill:var(--color_96mcx)}.___SBar_96mcx_gg_.__pattern_96mcx_gg_.__color_96mcx_gg_{fill:var(--pattern_96mcx);stroke:var(--color_96mcx);stroke-width:1px}.___SBar_96mcx_gg_.__hide_96mcx_gg_{display:none}.___SBar_96mcx_gg_.__transparent_96mcx_gg_{opacity:.3}.___SBar_96mcx_gg_.__onClick_96mcx_gg_{cursor:pointer}.___SBackground_96mcx_gg_{fill:var(--intergalactic-chart-grid-bar-chart-base-bg,oklch(.96 .001 180))}.___SBackground_96mcx_gg_.__onClick_96mcx_gg_{cursor:pointer}.___SBarAnnotation_96mcx_gg_{display:flex;justify-content:space-between}.___SBarLabel_96mcx_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899));margin-right:auto}.___SBarLabel_96mcx_gg_,.___SBarPercent_96mcx_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%)}.___SBarPercent_96mcx_gg_{color:var(--intergalactic-text-secondary,#00030095);margin-right:var(--intergalactic-spacing-2x,8px)}@media (color-gamut:p3){.___SBarPercent_96mcx_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SBarValue_96mcx_gg_{min-width:52px;display:flex;justify-content:flex-end;color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899));font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%);text-align:right}.___SCompactHorizontalBarHoverRect_96mcx_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover,oklch(.177 .033 175.6/.028))}", /*__inner_css_end__*/"96mcx_gg_"),
|
|
12
12
|
/*__reshadow_css_end__*/
|
|
13
13
|
{
|
|
14
|
-
"__SBar": "
|
|
15
|
-
"--duration": "--
|
|
16
|
-
"_color": "
|
|
17
|
-
"--color": "--
|
|
18
|
-
"_pattern": "
|
|
19
|
-
"--pattern": "--
|
|
20
|
-
"_hide": "
|
|
21
|
-
"_transparent": "
|
|
22
|
-
"_onClick": "
|
|
23
|
-
"__SBackground": "
|
|
24
|
-
"__SBarAnnotation": "
|
|
25
|
-
"__SBarLabel": "
|
|
26
|
-
"__SBarPercent": "
|
|
27
|
-
"__SBarValue": "
|
|
28
|
-
"__SCompactHorizontalBarHoverRect": "
|
|
14
|
+
"__SBar": "___SBar_96mcx_gg_",
|
|
15
|
+
"--duration": "--duration_96mcx",
|
|
16
|
+
"_color": "__color_96mcx_gg_",
|
|
17
|
+
"--color": "--color_96mcx",
|
|
18
|
+
"_pattern": "__pattern_96mcx_gg_",
|
|
19
|
+
"--pattern": "--pattern_96mcx",
|
|
20
|
+
"_hide": "__hide_96mcx_gg_",
|
|
21
|
+
"_transparent": "__transparent_96mcx_gg_",
|
|
22
|
+
"_onClick": "__onClick_96mcx_gg_",
|
|
23
|
+
"__SBackground": "___SBackground_96mcx_gg_",
|
|
24
|
+
"__SBarAnnotation": "___SBarAnnotation_96mcx_gg_",
|
|
25
|
+
"__SBarLabel": "___SBarLabel_96mcx_gg_",
|
|
26
|
+
"__SBarPercent": "___SBarPercent_96mcx_gg_",
|
|
27
|
+
"__SBarValue": "___SBarValue_96mcx_gg_",
|
|
28
|
+
"__SCompactHorizontalBarHoverRect": "___SCompactHorizontalBarHoverRect_96mcx_gg_"
|
|
29
29
|
});
|
|
30
30
|
import { scaleToBand, roundedPath } from './utils';
|
|
31
31
|
export const MIN_HEIGHT = 2;
|