@semcore/d3-chart 3.54.0 → 3.55.2
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 +24 -0
- package/lib/cjs/Area.js +11 -11
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +12 -12
- 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 +3 -3
- package/lib/cjs/Radar.js +19 -19
- 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/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +21 -18
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.js +5 -2
- 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 +10 -0
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +10 -0
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +10 -0
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +10 -1
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +10 -0
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +10 -0
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.js +10 -0
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +10 -0
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.js +11 -0
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +10 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.js +11 -3
- package/lib/cjs/component/Chart/VennChart.js.map +1 -1
- package/lib/cjs/component/ChartLegend/BaseLegend.js +4 -10
- package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +7 -5
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +35 -30
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +8 -7
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
- package/lib/cjs/translations/de.json +2 -1
- package/lib/cjs/translations/en.json +2 -1
- package/lib/cjs/translations/es.json +2 -1
- package/lib/cjs/translations/fr.json +2 -1
- package/lib/cjs/translations/it.json +2 -1
- package/lib/cjs/translations/ja.json +2 -1
- package/lib/cjs/translations/ko.json +2 -1
- package/lib/cjs/translations/nl.json +2 -1
- package/lib/cjs/translations/pl.json +2 -1
- package/lib/cjs/translations/pt.json +2 -1
- package/lib/cjs/translations/sv.json +2 -1
- package/lib/cjs/translations/tr.json +2 -1
- package/lib/cjs/translations/vi.json +2 -1
- package/lib/cjs/translations/zh.json +2 -1
- package/lib/es6/Area.js +11 -11
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +12 -12
- 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 +3 -3
- package/lib/es6/Radar.js +19 -19
- 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/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +21 -18
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.js +5 -2
- 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 +10 -0
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +10 -0
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +10 -0
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +10 -1
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js +10 -0
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +10 -0
- package/lib/es6/component/Chart/DonutChart.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.js +10 -0
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +10 -0
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.js +11 -0
- package/lib/es6/component/Chart/RadarChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +10 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.js +11 -3
- package/lib/es6/component/Chart/VennChart.js.map +1 -1
- package/lib/es6/component/ChartLegend/BaseLegend.js +4 -10
- package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +7 -5
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +35 -30
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +8 -7
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
- package/lib/es6/translations/de.json +2 -1
- package/lib/es6/translations/en.json +2 -1
- package/lib/es6/translations/es.json +2 -1
- package/lib/es6/translations/fr.json +2 -1
- package/lib/es6/translations/it.json +2 -1
- package/lib/es6/translations/ja.json +2 -1
- package/lib/es6/translations/ko.json +2 -1
- package/lib/es6/translations/nl.json +2 -1
- package/lib/es6/translations/pl.json +2 -1
- package/lib/es6/translations/pt.json +2 -1
- package/lib/es6/translations/sv.json +2 -1
- package/lib/es6/translations/tr.json +2 -1
- package/lib/es6/translations/vi.json +2 -1
- package/lib/es6/translations/zh.json +2 -1
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/component/Chart/AbstractChart.d.ts +2 -1
- package/lib/types/component/Chart/AbstractChart.type.d.ts +11 -1
- package/lib/types/component/ChartLegend/BaseLegend.d.ts +1 -1
- package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +2 -1
- package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +14 -4
- package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +1 -1
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +13 -0
- package/package.json +6 -6
|
@@ -12,6 +12,8 @@ import { scaleLinear, scaleTime } from 'd3-scale';
|
|
|
12
12
|
import { minMax, ScatterPlot, getScatterPlotRadius } from '../..';
|
|
13
13
|
import { AbstractChart } from './AbstractChart';
|
|
14
14
|
import { Text } from '@semcore/typography';
|
|
15
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
16
|
+
import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
|
|
15
17
|
var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
16
18
|
_inherits(ScatterPlotChartComponent, _AbstractChart);
|
|
17
19
|
var _super = _createSuper(ScatterPlotChartComponent);
|
|
@@ -144,6 +146,13 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
|
144
146
|
});
|
|
145
147
|
});
|
|
146
148
|
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "getLegendAriaLabel",
|
|
151
|
+
value: function getLegendAriaLabel() {
|
|
152
|
+
return this.asProps.getI18nText('legendForChart', {
|
|
153
|
+
chartType: 'ScatterPlot'
|
|
154
|
+
});
|
|
155
|
+
}
|
|
147
156
|
}]);
|
|
148
157
|
return ScatterPlotChartComponent;
|
|
149
158
|
}(AbstractChart);
|
|
@@ -155,5 +164,6 @@ _defineProperty(ScatterPlotChartComponent, "defaultProps", {
|
|
|
155
164
|
showTooltip: true,
|
|
156
165
|
showLegend: false
|
|
157
166
|
});
|
|
167
|
+
_defineProperty(ScatterPlotChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
|
|
158
168
|
export var ScatterPlotChart = createComponent(ScatterPlotChartComponent);
|
|
159
169
|
//# sourceMappingURL=ScatterPlotChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlotChart.js","names":["React","createComponent","scaleLinear","scaleTime","minMax","ScatterPlot","getScatterPlotRadius","AbstractChart","Text","ScatterPlotChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","radius","getValueScale","_toConsumableArray","flatValues","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","max","Math","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","tag","tooltipValueFormatter","_defineProperty","direction","showXAxis","showYAxis","showLegend","ScatterPlotChart"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\nimport { BaseChartProps, ListData } from './AbstractChart.type';\n\nclass ScatterPlotChartComponent extends AbstractChart<ScatterPlotChartData, ScatterPlotChartProps> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps: Partial<BaseChartProps<ListData>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n };\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 } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot 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, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\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'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n}\n\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScatterPlotChart.js","names":["React","createComponent","scaleLinear","scaleTime","minMax","ScatterPlot","getScatterPlotRadius","AbstractChart","Text","i18nEnhance","localizedMessages","ScatterPlotChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","radius","getValueScale","_toConsumableArray","flatValues","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","max","Math","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","tag","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","showXAxis","showYAxis","showLegend","ScatterPlotChart"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\nimport { BaseChartProps, ListData } from './AbstractChart.type';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass ScatterPlotChartComponent extends AbstractChart<\n ScatterPlotChartData,\n ScatterPlotChartProps,\n typeof ScatterPlotChartComponent.enhance\n> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps: Partial<BaseChartProps<ListData>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n };\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 } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot 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, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\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'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</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\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ import { scaleLinear } from 'd3-scale';
|
|
|
10
10
|
import { Venn } from '../..';
|
|
11
11
|
import { AbstractChart } from './AbstractChart';
|
|
12
12
|
import { Text } from '@semcore/typography';
|
|
13
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
14
|
+
import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
|
|
13
15
|
var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
14
16
|
_inherits(VennChartComponent, _AbstractChart);
|
|
15
17
|
var _super = _createSuper(VennChartComponent);
|
|
@@ -38,9 +40,7 @@ var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
|
38
40
|
}, {
|
|
39
41
|
key: "dataKeys",
|
|
40
42
|
get: function get() {
|
|
41
|
-
var
|
|
42
|
-
data = _this$props.data,
|
|
43
|
-
groupKey = _this$props.groupKey;
|
|
43
|
+
var data = this.props.data;
|
|
44
44
|
var legendKeys = Object.keys(data).filter(function (item) {
|
|
45
45
|
var isIntersection = /\//.test(item);
|
|
46
46
|
return !isIntersection;
|
|
@@ -122,6 +122,13 @@ var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
|
122
122
|
};
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "getLegendAriaLabel",
|
|
127
|
+
value: function getLegendAriaLabel() {
|
|
128
|
+
return this.asProps.getI18nText('legendForChart', {
|
|
129
|
+
chartType: 'Venn'
|
|
130
|
+
});
|
|
131
|
+
}
|
|
125
132
|
}]);
|
|
126
133
|
return VennChartComponent;
|
|
127
134
|
}(AbstractChart);
|
|
@@ -132,5 +139,6 @@ _defineProperty(VennChartComponent, "defaultProps", {
|
|
|
132
139
|
marginY: 0,
|
|
133
140
|
marginX: 0
|
|
134
141
|
});
|
|
142
|
+
_defineProperty(VennChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
|
|
135
143
|
export var VennChart = createComponent(VennChartComponent);
|
|
136
144
|
//# sourceMappingURL=VennChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VennChart.js","names":["React","createComponent","scaleLinear","Venn","AbstractChart","Text","VennChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","xScale","asProps","yScale","
|
|
1
|
+
{"version":3,"file":"VennChart.js","names":["React","createComponent","scaleLinear","Venn","AbstractChart","Text","i18nEnhance","localizedMessages","VennChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","xScale","asProps","yScale","data","props","legendKeys","Object","keys","filter","item","isIntersection","test","value","defaultLegendProps","legendType","renderChart","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","checked","checkedLegendItemsMap","reduce","result","id","intersections","dataKey","push","createElement","map","index","Circle","name","label","color","transparent","intersectionKey","intersectionKeys","split","hasDisabledItems","some","undefined","_dataDefinitions$find","find","legendItem","join","Intersection","renderTooltip","showTooltip","Tooltip","_ref","children","Fragment","Title","bold","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","alignItems","marginY","marginX","VennChart"],"sources":["../../../../src/component/Chart/VennChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseChartProps } from './AbstractChart.type';\nimport { scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { Venn } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Text } from '@semcore/typography';\nimport { VennChartData, VennChartProps, VennChartType } from './VennChart.type';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass VennChartComponent extends AbstractChart<\n VennChartData,\n VennChartProps,\n typeof VennChartComponent.enhance\n> {\n static displayName = 'Chart.Venn';\n\n static defaultProps: Partial<BaseChartProps<VennChartData>> = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n marginY: 0,\n marginX: 0,\n };\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return scaleLinear();\n }\n\n get yScale() {\n const { yScale } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return scaleLinear();\n }\n\n protected get dataKeys(): string[] {\n const { data } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((item) => {\n const isIntersection = /\\//.test(item);\n\n return !isIntersection;\n });\n\n return legendKeys;\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { data } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n const checkedLegendItemsMap = checkedLegendItems.reduce<Record<string, LegendItem>>(\n (result, item) => {\n result[item.id] = item;\n\n return result;\n },\n {},\n );\n\n const intersections = Object.keys(data).reduce<string[]>((result, dataKey) => {\n const isIntersection = /\\//.test(dataKey);\n\n if (isIntersection) {\n result.push(dataKey);\n }\n\n return result;\n }, []);\n\n return (\n <Venn>\n {checkedLegendItems.map((item, index) => {\n return (\n <Venn.Circle\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n />\n );\n })}\n\n {intersections.map((intersectionKey) => {\n const intersectionKeys = intersectionKey.split('/');\n\n const hasDisabledItems = intersectionKeys.some((key) => {\n return checkedLegendItemsMap[key] === undefined;\n });\n\n if (hasDisabledItems) {\n return null;\n }\n\n const name = intersectionKeys\n .map((id) => {\n return dataDefinitions.find((legendItem) => legendItem.id === id)?.label || '';\n })\n .join(' & ');\n\n return <Venn.Intersection key={intersectionKey} dataKey={intersectionKey} name={name} />;\n })}\n </Venn>\n );\n }\n\n renderTooltip() {\n const { showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Venn.Tooltip>\n {({ name, dataKey, data }: any) => {\n return {\n children: (\n <>\n <Venn.Tooltip.Title>{name}</Venn.Tooltip.Title>\n <Text bold>{data[dataKey]}</Text>\n </>\n ),\n };\n }}\n </Venn.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Venn' });\n }\n}\n\nexport const VennChart: VennChartType = createComponent(VennChartComponent);\n"],"mappings":"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"}
|
|
@@ -17,15 +17,9 @@ export var BaseLegend = /*#__PURE__*/function (_Component) {
|
|
|
17
17
|
args[_key] = arguments[_key];
|
|
18
18
|
}
|
|
19
19
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
20
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
return function () {
|
|
25
|
-
var _this$props$onChangeV, _this$props;
|
|
26
|
-
var checked = !(item !== null && item !== void 0 && item.checked);
|
|
27
|
-
(_this$props$onChangeV = (_this$props = _this.props).onChangeVisibleItem) === null || _this$props$onChangeV === void 0 ? void 0 : _this$props$onChangeV.call(_this$props, id, checked);
|
|
28
|
-
};
|
|
20
|
+
_defineProperty(_assertThisInitialized(_this), "onChangeLegendItem", function (id, checked) {
|
|
21
|
+
var _this$props$onChangeV, _this$props;
|
|
22
|
+
(_this$props$onChangeV = (_this$props = _this.props).onChangeVisibleItem) === null || _this$props$onChangeV === void 0 ? void 0 : _this$props$onChangeV.call(_this$props, id, checked);
|
|
29
23
|
});
|
|
30
24
|
_defineProperty(_assertThisInitialized(_this), "bindOnMouseEnterItem", function (id) {
|
|
31
25
|
return function (e) {
|
|
@@ -86,7 +80,7 @@ export var BaseLegend = /*#__PURE__*/function (_Component) {
|
|
|
86
80
|
return _objectSpread(_objectSpread({}, line), {}, {
|
|
87
81
|
shape: shape,
|
|
88
82
|
size: size,
|
|
89
|
-
|
|
83
|
+
onChangeLegendItem: this.onChangeLegendItem,
|
|
90
84
|
onMouseEnter: this.bindOnMouseEnterItem(line.id),
|
|
91
85
|
onMouseLeave: this.bindOnMouseLeaveItem(line.id),
|
|
92
86
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLegend.js","names":["Component","makeDataHintsHandlers","BaseLegend","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","id","
|
|
1
|
+
{"version":3,"file":"BaseLegend.js","names":["Component","makeDataHintsHandlers","BaseLegend","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","id","checked","_this$props$onChangeV","_this$props","props","onChangeVisibleItem","e","_this$props$onMouseEn","_this$props2","onMouseEnterItem","_this$props$onMouseLe","_this$props3","onMouseLeaveItem","_createClass","key","value","componentDidMount","setHints","componentDidUpdate","prevProps","items","dataHints","_this$asProps","asProps","dataHintsHandler","undefined","forEach","legendItem","labelKey","label","getItem","index","line","Error","getLegendItemProps","_","_this$asProps2","_this$asProps2$shape","shape","_this$asProps2$size","size","patterns","_objectSpread","onChangeLegendItem","onMouseEnter","bindOnMouseEnterItem","onMouseLeave","bindOnMouseLeaveItem","style","gridRowStart","gridRowEnd"],"sources":["../../../../src/component/ChartLegend/BaseLegend.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, Intergalactic } from '@semcore/core';\nimport { LegendItemKey, LegendItemProps } from './LegendItem/LegendItem.type';\nimport { LegendProps } from './BaseLegend.type';\nimport { makeDataHintsHandlers } from '../../a11y/hints';\n\nexport abstract class BaseLegend<T extends LegendProps> extends Component<T> {\n componentDidMount() {\n this.setHints();\n }\n\n componentDidUpdate(prevProps: T) {\n if (prevProps.items !== this.props.items || prevProps.dataHints !== this.props.dataHints) {\n this.setHints();\n }\n }\n\n setHints() {\n const { items, dataHints } = this.asProps;\n const dataHintsHandler = dataHints ? makeDataHintsHandlers(dataHints) : undefined;\n\n items.forEach((legendItem) => {\n dataHintsHandler?.labelKey('value', legendItem.id, legendItem.label);\n });\n }\n\n getItem(index: number) {\n const line = this.asProps.items[index];\n\n if (line === undefined) {\n throw new Error(`No index \"${index}\" in lines`);\n }\n\n return line;\n }\n\n getLegendItemProps(\n _: {},\n index: number,\n ): LegendItemProps & Intergalactic.InternalTypings.ComponentPropsNesting<'div'> {\n const { shape = 'Checkbox', size = 'm', patterns } = this.asProps;\n const line = this.getItem(index);\n\n return {\n ...line,\n shape,\n size,\n onChangeLegendItem: this.onChangeLegendItem,\n onMouseEnter: this.bindOnMouseEnterItem(line.id),\n onMouseLeave: this.bindOnMouseLeaveItem(line.id),\n style: { gridRowStart: `${index + 1}`, gridRowEnd: `${index + 2}` },\n patterns,\n };\n }\n\n onChangeLegendItem = (id: LegendItemKey, checked: boolean) => {\n this.props.onChangeVisibleItem?.(id, checked);\n };\n\n bindOnMouseEnterItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseEnterItem?.(id, e);\n };\n };\n\n bindOnMouseLeaveItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseLeaveItem?.(id, e);\n };\n };\n}\n"],"mappings":";;;;;;;AACA,SAASA,SAAS,QAAuB,eAAe;AAGxD,SAASC,qBAAqB,QAAQ,kBAAkB;AAExD,WAAsBC,UAAU,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAiDT,UAACa,EAAiB,EAAEC,OAAgB,EAAK;MAAA,IAAAC,qBAAA,EAAAC,WAAA;MAC5D,CAAAD,qBAAA,IAAAC,WAAA,GAAAhB,KAAA,CAAKiB,KAAK,EAACC,mBAAmB,cAAAH,qBAAA,uBAA9BA,qBAAA,CAAAP,IAAA,CAAAQ,WAAA,EAAiCH,EAAE,EAAEC,OAAO,CAAC;IAC/C,CAAC;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BAEsB,UAACa,EAAiB,EAAK;MAC5C,OAAO,UAACM,CAAuB,EAAK;QAAA,IAAAC,qBAAA,EAAAC,YAAA;QAClC,CAAAD,qBAAA,IAAAC,YAAA,GAAArB,KAAA,CAAKiB,KAAK,EAACK,gBAAgB,cAAAF,qBAAA,uBAA3BA,qBAAA,CAAAZ,IAAA,CAAAa,YAAA,EAA8BR,EAAE,EAAEM,CAAC,CAAC;MACtC,CAAC;IACH,CAAC;IAAAR,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BAEsB,UAACa,EAAiB,EAAK;MAC5C,OAAO,UAACM,CAAuB,EAAK;QAAA,IAAAI,qBAAA,EAAAC,YAAA;QAClC,CAAAD,qBAAA,IAAAC,YAAA,GAAAxB,KAAA,CAAKiB,KAAK,EAACQ,gBAAgB,cAAAF,qBAAA,uBAA3BA,qBAAA,CAAAf,IAAA,CAAAgB,YAAA,EAA8BX,EAAE,EAAEM,CAAC,CAAC;MACtC,CAAC;IACH,CAAC;IAAA,OAAAnB,KAAA;EAAA;EAAA0B,YAAA,CAAA/B,UAAA;IAAAgC,GAAA;IAAAC,KAAA,EA9DD,SAAAC,kBAAA,EAAoB;MAClB,IAAI,CAACC,QAAQ,EAAE;IACjB;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,mBAAmBC,SAAY,EAAE;MAC/B,IAAIA,SAAS,CAACC,KAAK,KAAK,IAAI,CAAChB,KAAK,CAACgB,KAAK,IAAID,SAAS,CAACE,SAAS,KAAK,IAAI,CAACjB,KAAK,CAACiB,SAAS,EAAE;QACxF,IAAI,CAACJ,QAAQ,EAAE;MACjB;IACF;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAE,SAAA,EAAW;MACT,IAAAK,aAAA,GAA6B,IAAI,CAACC,OAAO;QAAjCH,KAAK,GAAAE,aAAA,CAALF,KAAK;QAAEC,SAAS,GAAAC,aAAA,CAATD,SAAS;MACxB,IAAMG,gBAAgB,GAAGH,SAAS,GAAGxC,qBAAqB,CAACwC,SAAS,CAAC,GAAGI,SAAS;MAEjFL,KAAK,CAACM,OAAO,CAAC,UAACC,UAAU,EAAK;QAC5BH,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEI,QAAQ,CAAC,OAAO,EAAED,UAAU,CAAC3B,EAAE,EAAE2B,UAAU,CAACE,KAAK,CAAC;MACtE,CAAC,CAAC;IACJ;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAe,QAAQC,KAAa,EAAE;MACrB,IAAMC,IAAI,GAAG,IAAI,CAACT,OAAO,CAACH,KAAK,CAACW,KAAK,CAAC;MAEtC,IAAIC,IAAI,KAAKP,SAAS,EAAE;QACtB,MAAM,IAAIQ,KAAK,eAAApC,MAAA,CAAckC,KAAK,iBAAa;MACjD;MAEA,OAAOC,IAAI;IACb;EAAC;IAAAlB,GAAA;IAAAC,KAAA,EAED,SAAAmB,mBACEC,CAAK,EACLJ,KAAa,EACiE;MAC9E,IAAAK,cAAA,GAAqD,IAAI,CAACb,OAAO;QAAAc,oBAAA,GAAAD,cAAA,CAAzDE,KAAK;QAALA,KAAK,GAAAD,oBAAA,cAAG,UAAU,GAAAA,oBAAA;QAAAE,mBAAA,GAAAH,cAAA,CAAEI,IAAI;QAAJA,IAAI,GAAAD,mBAAA,cAAG,GAAG,GAAAA,mBAAA;QAAEE,QAAQ,GAAAL,cAAA,CAARK,QAAQ;MAChD,IAAMT,IAAI,GAAG,IAAI,CAACF,OAAO,CAACC,KAAK,CAAC;MAEhC,OAAAW,aAAA,CAAAA,aAAA,KACKV,IAAI;QACPM,KAAK,EAALA,KAAK;QACLE,IAAI,EAAJA,IAAI;QACJG,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,YAAY,EAAE,IAAI,CAACC,oBAAoB,CAACb,IAAI,CAAChC,EAAE,CAAC;QAChD8C,YAAY,EAAE,IAAI,CAACC,oBAAoB,CAACf,IAAI,CAAChC,EAAE,CAAC;QAChDgD,KAAK,EAAE;UAAEC,YAAY,KAAApD,MAAA,CAAKkC,KAAK,GAAG,CAAC,CAAE;UAAEmB,UAAU,KAAArD,MAAA,CAAKkC,KAAK,GAAG,CAAC;QAAG,CAAC;QACnEU,QAAQ,EAARA;MAAQ;IAEZ;EAAC;EAAA,OAAA3D,UAAA;AAAA,EA/C6DF,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLegend.type.js","names":[],"sources":["../../../../src/component/ChartLegend/BaseLegend.type.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { LegendItem, LegendItemKey, ShapeType } from './LegendItem/LegendItem.type';\nimport { DataStructureHints } from '../../a11y/hints';\nimport type { PatternsConfig } from '../../Pattern';\n\nexport type LSize = 'm' | 'l';\n\nexport type BaseChartLegendProps = FlexProps & {\n
|
|
1
|
+
{"version":3,"file":"BaseLegend.type.js","names":[],"sources":["../../../../src/component/ChartLegend/BaseLegend.type.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { LegendItem, LegendItemKey, ShapeType } from './LegendItem/LegendItem.type';\nimport { DataStructureHints } from '../../a11y/hints';\nimport type { PatternsConfig } from '../../Pattern';\nimport { AriaNameProps } from '../Chart/AbstractChart.type';\n\nexport type LSize = 'm' | 'l';\n\nexport type BaseChartLegendProps = FlexProps &\n AriaNameProps & {\n /**\n * Size for legend items\n */\n size?: LSize;\n /**\n * Shape of data item on Legend panel\n */\n shape?: ShapeType;\n /**\n * Handler for change visible for data items. Doesn't work if Shape one of 'Circle' | 'Line' | 'Square'\n */\n onChangeVisibleItem?: (key: LegendItemKey, isVisible: boolean) => void;\n\n onMouseEnterItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n onMouseLeaveItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n dataHints?: DataStructureHints;\n };\n\nexport type LegendProps = BoxProps &\n BaseChartLegendProps & {\n /**\n * Legend items\n */\n items: LegendItem[];\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n };\n"],"mappings":""}
|
|
@@ -10,10 +10,10 @@ import React from 'react';
|
|
|
10
10
|
import createComponent, { sstyled, Root } from '@semcore/core';
|
|
11
11
|
import { Flex } from '@semcore/flex-box';
|
|
12
12
|
/*__reshadow-styles__:"./legend-flex.shadow.css"*/
|
|
13
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
14
|
-
"__SLegendFlex": "
|
|
15
|
-
"_direction_row": "
|
|
16
|
-
"_direction_column": "
|
|
13
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLegendFlex_6u5v9_gg_._direction_row_6u5v9_gg_{align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_6u5v9_gg_._direction_column_6u5v9_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}" /*__inner_css_end__*/, "6u5v9_gg_") /*__reshadow_css_end__*/, {
|
|
14
|
+
"__SLegendFlex": "___SLegendFlex_6u5v9_gg_",
|
|
15
|
+
"_direction_row": "_direction_row_6u5v9_gg_",
|
|
16
|
+
"_direction_column": "_direction_column_6u5v9_gg_"
|
|
17
17
|
});
|
|
18
18
|
import { LegendItemComponent } from '../LegendItem/LegendItem';
|
|
19
19
|
import Divider from '@semcore/divider';
|
|
@@ -59,7 +59,9 @@ var LegendFlexRoot = /*#__PURE__*/function (_BaseLegend) {
|
|
|
59
59
|
suffix = _this$asProps.suffix,
|
|
60
60
|
items = _this$asProps.items;
|
|
61
61
|
var orientation = direction === 'row' ? 'vertical' : 'horizontal';
|
|
62
|
-
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SLegendFlex, _ref2.cn("SLegendFlex", _objectSpread({}, _assignProps({
|
|
62
|
+
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SLegendFlex, _ref2.cn("SLegendFlex", _objectSpread({}, _assignProps({
|
|
63
|
+
"role": 'group'
|
|
64
|
+
}, _ref))), items.map(function (_ref4) {
|
|
63
65
|
var id = _ref4.id;
|
|
64
66
|
return /*#__PURE__*/React.createElement(Children, {
|
|
65
67
|
key: id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendFlex.js","names":["React","createComponent","sstyled","Root","Flex","style","_sstyled","insert","LegendItemComponent","Divider","Checkbox","BaseLegend","localizedMessages","i18nEnhance","LegendFlexRoot","_BaseLegend","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderTrend","_ref3","asProps","onTrendIsVisibleChange","trendIsVisible","trendLabel","size","getI18nText","createElement","checked","onChange","theme","label","render","_ref","_ref2","SLegendFlex","_this$asProps","styles","Children","direction","withTrend","suffix","items","orientation","cn","_objectSpread","_assignProps","map","_ref4","id","_defineProperty","children","LegendFlex","LegendItem"],"sources":["../../../../../src/component/ChartLegend/LegendFlex/LegendFlex.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Root } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport style from './legend-flex.shadow.css';\nimport { LegendFlexType, LegendFlexProps, TrendProps } from './LegendFlex.type';\nimport { LegendItemComponent } from '../LegendItem/LegendItem';\nimport Divider from '@semcore/divider';\nimport Checkbox from '@semcore/checkbox';\nimport { BaseLegend } from '../BaseLegend';\nimport { localizedMessages } from '../../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass LegendFlexRoot extends BaseLegend<LegendFlexProps> {\n static displayName = 'LegendFlex';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static defaultProps = () => ({\n direction: 'row',\n children: <LegendFlex.LegendItem />,\n });\n\n renderTrend() {\n const { onTrendIsVisibleChange, trendIsVisible, trendLabel, size, getI18nText } = this\n .asProps as TrendProps & LegendFlexProps & { getI18nText: (s: string) => string };\n\n return (\n <Checkbox\n checked={trendIsVisible}\n onChange={onTrendIsVisibleChange}\n theme={'gray-400'}\n label={trendLabel ?? getI18nText('trend')}\n size={size}\n />\n );\n }\n\n render() {\n const SLegendFlex = Root;\n const { styles, Children, direction, withTrend, suffix, items } = this.asProps;\n const orientation = direction === 'row' ? 'vertical' : 'horizontal';\n\n return sstyled(styles)(\n <SLegendFlex render={Flex}>\n {items.map(({ id }) => {\n return <Children key={id} />;\n })}\n {(withTrend || suffix) && <Divider orientation={orientation} />}\n {withTrend && this.renderTrend()}\n {suffix ? suffix : null}\n </SLegendFlex>,\n );\n }\n}\n\nexport const LegendFlex: LegendFlexType = createComponent(LegendFlexRoot, {\n LegendItem: LegendItemComponent,\n});\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AAC9D,SAASC,IAAI,QAAQ,mBAAmB;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;AAAA;AAGzC,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,QAAQ,uDAAuD;AACzF,OAAOC,WAAW,MAAM,yCAAyC;AAAC,IAE5DC,cAAc,0BAAAC,WAAA;EAAAC,SAAA,CAAAF,cAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,cAAA;EAAA,SAAAA,eAAA;IAAAK,eAAA,OAAAL,cAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAAC,YAAA,CAAAR,cAAA;IAAAS,GAAA;IAAAC,KAAA,EAWlB,SAAAC,YAAA,EAAc;MACZ,IAAAC,KAAA,GAAkF,IAAI,CACnFC,OAAO;QADFC,sBAAsB,GAAAF,KAAA,CAAtBE,sBAAsB;QAAEC,cAAc,GAAAH,KAAA,CAAdG,cAAc;QAAEC,UAAU,GAAAJ,KAAA,CAAVI,UAAU;QAAEC,IAAI,GAAAL,KAAA,CAAJK,IAAI;QAAEC,WAAW,GAAAN,KAAA,CAAXM,WAAW;MAG7E,oBACEhC,KAAA,CAAAiC,aAAA,CAACvB,QAAQ;QACPwB,OAAO,EAAEL,cAAe;QACxBM,QAAQ,EAAEP,sBAAuB;QACjCQ,KAAK,EAAE,UAAW;QAClBC,KAAK,EAAEP,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIE,WAAW,CAAC,OAAO,CAAE;QAC1CD,IAAI,EAAEA;MAAK,EACX;IAEN;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAc,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAZ,OAAA;QAAAa,KAAA;MACP,IAAMC,WAAW,GAKMrC,IAAI;MAJ3B,IAAAsC,aAAA,GAAkE,IAAI,CAACf,OAAO;QAAtEgB,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,SAAS,GAAAH,aAAA,CAATG,SAAS;QAAEC,SAAS,GAAAJ,aAAA,CAATI,SAAS;QAAEC,MAAM,GAAAL,aAAA,CAANK,MAAM;QAAEC,KAAK,GAAAN,aAAA,CAALM,KAAK;MAC7D,IAAMC,WAAW,GAAGJ,SAAS,KAAK,KAAK,GAAG,UAAU,GAAG,YAAY;MAEnE,OAAAL,KAAA,GAAOtC,OAAO,CAACyC,MAAM,CAAC,eACpB3C,KAAA,CAAAiC,aAAA,CAACQ,WAAW,EAAAD,KAAA,CAAAU,EAAA,gBAAAC,aAAA,KAAAC,YAAA,
|
|
1
|
+
{"version":3,"file":"LegendFlex.js","names":["React","createComponent","sstyled","Root","Flex","style","_sstyled","insert","LegendItemComponent","Divider","Checkbox","BaseLegend","localizedMessages","i18nEnhance","LegendFlexRoot","_BaseLegend","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderTrend","_ref3","asProps","onTrendIsVisibleChange","trendIsVisible","trendLabel","size","getI18nText","createElement","checked","onChange","theme","label","render","_ref","_ref2","SLegendFlex","_this$asProps","styles","Children","direction","withTrend","suffix","items","orientation","cn","_objectSpread","_assignProps","map","_ref4","id","_defineProperty","children","LegendFlex","LegendItem"],"sources":["../../../../../src/component/ChartLegend/LegendFlex/LegendFlex.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Root } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport style from './legend-flex.shadow.css';\nimport { LegendFlexType, LegendFlexProps, TrendProps } from './LegendFlex.type';\nimport { LegendItemComponent } from '../LegendItem/LegendItem';\nimport Divider from '@semcore/divider';\nimport Checkbox from '@semcore/checkbox';\nimport { BaseLegend } from '../BaseLegend';\nimport { localizedMessages } from '../../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass LegendFlexRoot extends BaseLegend<LegendFlexProps> {\n static displayName = 'LegendFlex';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static defaultProps = () => ({\n direction: 'row',\n children: <LegendFlex.LegendItem />,\n });\n\n renderTrend() {\n const { onTrendIsVisibleChange, trendIsVisible, trendLabel, size, getI18nText } = this\n .asProps as TrendProps & LegendFlexProps & { getI18nText: (s: string) => string };\n\n return (\n <Checkbox\n checked={trendIsVisible}\n onChange={onTrendIsVisibleChange}\n theme={'gray-400'}\n label={trendLabel ?? getI18nText('trend')}\n size={size}\n />\n );\n }\n\n render() {\n const SLegendFlex = Root;\n const { styles, Children, direction, withTrend, suffix, items } = this.asProps;\n const orientation = direction === 'row' ? 'vertical' : 'horizontal';\n\n return sstyled(styles)(\n <SLegendFlex render={Flex} role={'group'}>\n {items.map(({ id }) => {\n return <Children key={id} />;\n })}\n {(withTrend || suffix) && <Divider orientation={orientation} />}\n {withTrend && this.renderTrend()}\n {suffix ? suffix : null}\n </SLegendFlex>,\n );\n }\n}\n\nexport const LegendFlex: LegendFlexType = createComponent(LegendFlexRoot, {\n LegendItem: LegendItemComponent,\n});\n"],"mappings":"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"}
|
|
@@ -12,30 +12,30 @@ import { assignProps as _assignProps4 } from "@semcore/core";
|
|
|
12
12
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
13
13
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
14
14
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
15
|
-
var _excluded = ["color"];
|
|
15
|
+
var _excluded = ["id", "checked", "color", "onChangeLegendItem"];
|
|
16
16
|
import React from 'react';
|
|
17
17
|
import createComponent, { Component, sstyled, Root } from '@semcore/core';
|
|
18
18
|
import { Flex, Box } from '@semcore/flex-box';
|
|
19
19
|
import Checkbox from '@semcore/checkbox';
|
|
20
20
|
import { Text as TypographyText } from '@semcore/typography';
|
|
21
21
|
/*__reshadow-styles__:"./legend-item.shadow.css"*/
|
|
22
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
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": "
|
|
22
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLegendItem_asnfj_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_asnfj_gg_:hover{cursor:pointer}.___SLegendItem_asnfj_gg_.__disabled_asnfj_gg_:hover{cursor:default}}.___SPointShape_asnfj_gg_.__color_asnfj_gg_{background-color:var(--color_asnfj);margin-right:8px;flex-shrink:0}.___SPointShape_asnfj_gg_._shape_Circle_asnfj_gg_._size_l_asnfj_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_asnfj_gg_._shape_Circle_asnfj_gg_._size_m_asnfj_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_asnfj_gg_._shape_Line_asnfj_gg_._size_l_asnfj_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_asnfj_gg_._shape_Line_asnfj_gg_._size_m_asnfj_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_asnfj_gg_._shape_Square_asnfj_gg_._size_l_asnfj_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_asnfj_gg_._shape_Square_asnfj_gg_._size_m_asnfj_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_asnfj_gg_._shape_Pattern_asnfj_gg_{background-color:transparent;margin-right:4px}.___SIcon_asnfj_gg_{line-height:0;margin-right:4px}.___SIcon_asnfj_gg_._size_l_asnfj_gg_{margin-top:4px}.___SIcon_asnfj_gg_._size_m_asnfj_gg_{margin-top:2px}.___SLabel_asnfj_gg_{min-width:0}.___SAdditionalLabel_asnfj_gg_._size_l_asnfj_gg_,.___SCount_asnfj_gg_._size_l_asnfj_gg_,.___SLabel_asnfj_gg_._size_l_asnfj_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SAdditionalLabel_asnfj_gg_._size_m_asnfj_gg_,.___SCount_asnfj_gg_._size_m_asnfj_gg_,.___SLabel_asnfj_gg_._size_m_asnfj_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SAdditionalLabel_asnfj_gg_,.___SCount_asnfj_gg_{margin-left:4px}.___SAdditionalLabel_asnfj_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_asnfj_gg_::before{content:\"\";display:inline-block;background-color:var(--intergalactic-text-secondary, #6c6e79);height:4px;width:4px;border-radius:2px;margin-right:4px}.___SAdditionalLabel_asnfj_gg_._size_l_asnfj_gg_::before{margin-top:10px}.___SAdditionalLabel_asnfj_gg_._size_m_asnfj_gg_::before{margin-top:8px}.___SPatternSymbol_asnfj_gg_{transform:scale(.8)}" /*__inner_css_end__*/, "asnfj_gg_") /*__reshadow_css_end__*/, {
|
|
23
|
+
"__SLegendItem": "___SLegendItem_asnfj_gg_",
|
|
24
|
+
"_disabled": "__disabled_asnfj_gg_",
|
|
25
|
+
"__SPointShape": "___SPointShape_asnfj_gg_",
|
|
26
|
+
"_color": "__color_asnfj_gg_",
|
|
27
|
+
"--color": "--color_asnfj",
|
|
28
|
+
"_shape_Circle": "_shape_Circle_asnfj_gg_",
|
|
29
|
+
"_size_l": "_size_l_asnfj_gg_",
|
|
30
|
+
"_size_m": "_size_m_asnfj_gg_",
|
|
31
|
+
"_shape_Line": "_shape_Line_asnfj_gg_",
|
|
32
|
+
"_shape_Square": "_shape_Square_asnfj_gg_",
|
|
33
|
+
"_shape_Pattern": "_shape_Pattern_asnfj_gg_",
|
|
34
|
+
"__SIcon": "___SIcon_asnfj_gg_",
|
|
35
|
+
"__SLabel": "___SLabel_asnfj_gg_",
|
|
36
|
+
"__SAdditionalLabel": "___SAdditionalLabel_asnfj_gg_",
|
|
37
|
+
"__SCount": "___SCount_asnfj_gg_",
|
|
38
|
+
"__SPatternSymbol": "___SPatternSymbol_asnfj_gg_"
|
|
39
39
|
});
|
|
40
40
|
import { StaticShapes } from './LegendItem.type';
|
|
41
41
|
import resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';
|
|
@@ -58,9 +58,9 @@ var LegendItemRoot = /*#__PURE__*/function (_Component) {
|
|
|
58
58
|
label = _this$asProps.label,
|
|
59
59
|
id = _this$asProps.id,
|
|
60
60
|
size = _this$asProps.size,
|
|
61
|
-
onClick = _this$asProps.onClick,
|
|
62
61
|
resolveColor = _this$asProps.resolveColor,
|
|
63
|
-
patterns = _this$asProps.patterns
|
|
62
|
+
patterns = _this$asProps.patterns,
|
|
63
|
+
onChangeLegendItem = _this$asProps.onChangeLegendItem;
|
|
64
64
|
return {
|
|
65
65
|
id: id,
|
|
66
66
|
label: label,
|
|
@@ -70,11 +70,10 @@ var LegendItemRoot = /*#__PURE__*/function (_Component) {
|
|
|
70
70
|
patternKey: color,
|
|
71
71
|
patterns: patterns,
|
|
72
72
|
size: size,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
73
|
+
onChange: function onChange(value) {
|
|
74
|
+
onChangeLegendItem(id, value);
|
|
75
|
+
},
|
|
76
|
+
'aria-labelledby': id
|
|
78
77
|
};
|
|
79
78
|
}
|
|
80
79
|
}, {
|
|
@@ -89,9 +88,17 @@ var LegendItemRoot = /*#__PURE__*/function (_Component) {
|
|
|
89
88
|
key: "getLabelProps",
|
|
90
89
|
value: function getLabelProps() {
|
|
91
90
|
var _this$asProps2 = this.asProps,
|
|
91
|
+
id = _this$asProps2.id,
|
|
92
|
+
checked = _this$asProps2.checked,
|
|
92
93
|
color = _this$asProps2.color,
|
|
94
|
+
onChangeLegendItem = _this$asProps2.onChangeLegendItem,
|
|
93
95
|
props = _objectWithoutProperties(_this$asProps2, _excluded);
|
|
94
96
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
97
|
+
id: id,
|
|
98
|
+
checked: checked,
|
|
99
|
+
onClick: function onClick() {
|
|
100
|
+
return onChangeLegendItem(id, !checked);
|
|
101
|
+
},
|
|
95
102
|
children: props.label
|
|
96
103
|
});
|
|
97
104
|
}
|
|
@@ -155,9 +162,8 @@ function Shape(props) {
|
|
|
155
162
|
patternKey = _props$patternKey === void 0 ? getChartDefaultColorName(0) : _props$patternKey,
|
|
156
163
|
Children = props.Children,
|
|
157
164
|
hasChildren = props.children,
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
patterns = props.patterns;
|
|
165
|
+
patterns = props.patterns,
|
|
166
|
+
onChange = props.onChange;
|
|
161
167
|
if (hasChildren) {
|
|
162
168
|
return /*#__PURE__*/React.createElement(Children, null);
|
|
163
169
|
}
|
|
@@ -176,8 +182,7 @@ function Shape(props) {
|
|
|
176
182
|
"size": size,
|
|
177
183
|
"checked": checked,
|
|
178
184
|
"theme": checked ? color : undefined,
|
|
179
|
-
"
|
|
180
|
-
"aria-label": label
|
|
185
|
+
"onChange": onChange
|
|
181
186
|
})), patterns && /*#__PURE__*/React.createElement(Box, _ref9.cn("Box", {
|
|
182
187
|
"mt": '2px',
|
|
183
188
|
"mr": 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendItem.js","names":["React","createComponent","Component","sstyled","Root","Flex","Box","Checkbox","Text","TypographyText","style","_sstyled","insert","StaticShapes","resolveColorEnhance","PatternSymbol","getChartDefaultColorName","LegendItemRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getShapeProps","_this$asProps","asProps","checked","color","shape","label","id","size","onClick","resolveColor","patterns","patternKey","onKeyUp","e","getIconProps","props","_objectSpread","children","icon","getLabelProps","_this$asProps2","_objectWithoutProperties","_excluded","getAdditionalLabelProps","additionalInfo","concat","undefined","getCountProps","count","render","_ref","_ref7","SLegendItem","_this$asProps3","styles","Children","disabled","includes","createElement","cn","_assignProps","_defineProperty","Fragment","LegendItemComponent","Shape","Icon","Label","AdditionalLabel","Count","_ref2","arguments[0]","_ref10","SPointShape","SPatternSymbol","_props$patternKey","hasChildren","_ref8","_ref9","_assignProps2","_ref15","_ref3","_ref11","SIcon","_assignProps3","displayName","_ref16","_ref4","_ref12","SLabel","_assignProps4","_ref17","_ref5","_ref13","SAdditionalLabel","_assignProps5","_ref18","_ref6","_ref14","SCount","_assignProps6"],"sources":["../../../../../src/component/ChartLegend/LegendItem/LegendItem.tsx"],"sourcesContent":["import React, { DOMAttributes } from 'react';\nimport createComponent, { Component, sstyled, Root, IRootComponentProps } from '@semcore/core';\nimport { Flex, Box } from '@semcore/flex-box';\nimport Checkbox from '@semcore/checkbox';\nimport { Text as TypographyText } from '@semcore/typography';\n\nimport style from './legend-item.shadow.css';\nimport {\n ShapeProps,\n LegendItemProps,\n LegendItemType,\n LegendItem,\n StaticShapes,\n} from './LegendItem.type';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport { PatternSymbol } from '../../../Pattern';\nimport { getChartDefaultColorName } from '../../../utils';\n\nclass LegendItemRoot extends Component<\n LegendItemProps & { resolveColor: ReturnType<typeof resolveColorEnhance> }\n> {\n static displayName = 'LegendItem';\n static style = style;\n\n static enhance = [resolveColorEnhance()];\n\n static defaultProps = () => ({\n children: (\n <>\n <LegendItemComponent.Shape />\n <LegendItemComponent.Icon />\n <LegendItemComponent.Label />\n <LegendItemComponent.AdditionalLabel />\n <LegendItemComponent.Count />\n </>\n ),\n });\n\n getShapeProps(): ShapeProps & DOMAttributes<HTMLLabelElement> {\n const { checked, color, shape, label, id, size, onClick, resolveColor, patterns } =\n this.asProps;\n\n return {\n id,\n label,\n shape,\n checked,\n color: resolveColor(color),\n patternKey: color,\n patterns,\n size,\n onKeyUp: (e: React.KeyboardEvent<HTMLLabelElement>) => {\n if (onClick && e.key === ' ') {\n onClick();\n }\n },\n };\n }\n\n getIconProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n return {\n ...props,\n children: props.icon,\n };\n }\n\n getLabelProps(): Omit<LegendItem, 'color'> & IRootComponentProps {\n const { color, ...props } = this.asProps;\n\n return {\n ...props,\n children: props.label,\n };\n }\n\n getAdditionalLabelProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n const { additionalInfo } = props;\n\n return {\n ...props,\n children: additionalInfo && 'label' in additionalInfo ? `${additionalInfo.label}` : undefined,\n };\n }\n\n getCountProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n const { additionalInfo } = props;\n\n return {\n ...props,\n children:\n additionalInfo && 'count' in additionalInfo ? `(${additionalInfo.count})` : undefined,\n };\n }\n\n render() {\n const SLegendItem = Root;\n const { styles, Children, shape } = this.asProps;\n\n // @ts-ignore\n const disabled = StaticShapes.includes(shape);\n\n return sstyled(styles)(\n <SLegendItem render={Flex} disabled={disabled}>\n <Children />\n </SLegendItem>,\n );\n }\n}\n\nfunction Shape(props: IRootComponentProps & ShapeProps & DOMAttributes<HTMLLabelElement>) {\n const SPointShape = Root;\n const SPatternSymbol = PatternSymbol;\n const {\n styles,\n size,\n shape,\n checked,\n color,\n patternKey = getChartDefaultColorName(0),\n Children,\n children: hasChildren,\n onKeyUp,\n label,\n patterns,\n } = props;\n\n if (hasChildren) {\n return <Children />;\n }\n\n if (shape === 'Pattern') {\n return sstyled(styles)(\n <Box mr={1}>\n <SPatternSymbol color={color} patternKey={patternKey} />\n </Box>,\n );\n }\n\n if (shape === 'Checkbox') {\n return sstyled(styles)(\n <>\n <Checkbox\n size={size}\n checked={checked}\n theme={checked ? color : undefined}\n onKeyUp={onKeyUp}\n aria-label={label}\n />\n {patterns && (\n <Box mt={'2px'} mr={1}>\n <SPatternSymbol color={color} patternKey={patternKey} />\n </Box>\n )}\n </>,\n );\n }\n\n return sstyled(styles)(\n <SPointShape render={Box}>\n <Children />\n </SPointShape>,\n );\n}\n\nfunction Icon({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SIcon = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SIcon render={Box} tag={'span'}>\n <Children />\n </SIcon>,\n );\n}\nIcon.displayName = 'Icon';\n\nfunction Label({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SLabel = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SLabel render={TypographyText} use={'primary'}>\n <Children />\n </SLabel>,\n );\n}\nLabel.displayName = 'Label';\n\nfunction AdditionalLabel({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SAdditionalLabel = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SAdditionalLabel render={TypographyText} use={'secondary'}>\n <Children />\n </SAdditionalLabel>,\n );\n}\nAdditionalLabel.displayName = 'AdditionalLabel';\n\nfunction Count({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SCount = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SCount render={TypographyText} use={'secondary'}>\n <Children />\n </SCount>,\n );\n}\nCount.displayName = 'Count';\n\nexport const LegendItemComponent: LegendItemType = createComponent(LegendItemRoot, {\n Shape,\n Icon,\n Label,\n AdditionalLabel,\n Count,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LegendItem.js","names":["React","createComponent","Component","sstyled","Root","Flex","Box","Checkbox","Text","TypographyText","style","_sstyled","insert","StaticShapes","resolveColorEnhance","PatternSymbol","getChartDefaultColorName","LegendItemRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getShapeProps","_this$asProps","asProps","checked","color","shape","label","id","size","resolveColor","patterns","onChangeLegendItem","patternKey","onChange","getIconProps","props","_objectSpread","children","icon","getLabelProps","_this$asProps2","_objectWithoutProperties","_excluded","onClick","getAdditionalLabelProps","additionalInfo","concat","undefined","getCountProps","count","render","_ref","_ref7","SLegendItem","_this$asProps3","styles","Children","disabled","includes","createElement","cn","_assignProps","_defineProperty","Fragment","LegendItemComponent","Shape","Icon","Label","AdditionalLabel","Count","_ref2","arguments[0]","_ref10","SPointShape","SPatternSymbol","_props$patternKey","hasChildren","_ref8","_ref9","_assignProps2","_ref15","_ref3","_ref11","SIcon","_assignProps3","displayName","_ref16","_ref4","_ref12","SLabel","_assignProps4","_ref17","_ref5","_ref13","SAdditionalLabel","_assignProps5","_ref18","_ref6","_ref14","SCount","_assignProps6"],"sources":["../../../../../src/component/ChartLegend/LegendItem/LegendItem.tsx"],"sourcesContent":["import React, { DOMAttributes, HTMLProps } from 'react';\nimport createComponent, { Component, sstyled, Root, IRootComponentProps } from '@semcore/core';\nimport { Flex, Box } from '@semcore/flex-box';\nimport Checkbox from '@semcore/checkbox';\nimport { Text as TypographyText } from '@semcore/typography';\n\nimport style from './legend-item.shadow.css';\nimport {\n ShapeProps,\n LegendItemProps,\n LegendItemType,\n LegendItem,\n StaticShapes,\n} from './LegendItem.type';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport { PatternSymbol } from '../../../Pattern';\nimport { getChartDefaultColorName } from '../../../utils';\n\nclass LegendItemRoot extends Component<\n LegendItemProps & { resolveColor: ReturnType<typeof resolveColorEnhance> }\n> {\n static displayName = 'LegendItem';\n static style = style;\n\n static enhance = [resolveColorEnhance()];\n\n static defaultProps = () => ({\n children: (\n <>\n <LegendItemComponent.Shape />\n <LegendItemComponent.Icon />\n <LegendItemComponent.Label />\n <LegendItemComponent.AdditionalLabel />\n <LegendItemComponent.Count />\n </>\n ),\n });\n\n getShapeProps() {\n const { checked, color, shape, label, id, size, resolveColor, patterns, onChangeLegendItem } =\n this.asProps;\n\n return {\n id,\n label,\n shape,\n checked,\n color: resolveColor(color),\n patternKey: color,\n patterns,\n size,\n onChange: (value: boolean) => {\n onChangeLegendItem(id, value);\n },\n 'aria-labelledby': id,\n };\n }\n\n getIconProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n return {\n ...props,\n children: props.icon,\n };\n }\n\n getLabelProps(): Omit<LegendItem, 'color'> & IRootComponentProps & { onClick: () => void } {\n const { id, checked, color, onChangeLegendItem, ...props } = this.asProps;\n\n return {\n ...props,\n id,\n checked,\n onClick: () => onChangeLegendItem(id, !checked),\n children: props.label,\n };\n }\n\n getAdditionalLabelProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n const { additionalInfo } = props;\n\n return {\n ...props,\n children: additionalInfo && 'label' in additionalInfo ? `${additionalInfo.label}` : undefined,\n };\n }\n\n getCountProps(): LegendItem & IRootComponentProps {\n const props = this.asProps;\n\n const { additionalInfo } = props;\n\n return {\n ...props,\n children:\n additionalInfo && 'count' in additionalInfo ? `(${additionalInfo.count})` : undefined,\n };\n }\n\n render() {\n const SLegendItem = Root;\n const { styles, Children, shape } = this.asProps;\n\n // @ts-ignore\n const disabled = StaticShapes.includes(shape);\n\n return sstyled(styles)(\n <SLegendItem render={Flex} disabled={disabled}>\n <Children />\n </SLegendItem>,\n );\n }\n}\n\nfunction Shape(props: IRootComponentProps & ShapeProps & DOMAttributes<HTMLLabelElement>) {\n const SPointShape = Root;\n const SPatternSymbol = PatternSymbol;\n const {\n styles,\n size,\n shape,\n checked,\n color,\n patternKey = getChartDefaultColorName(0),\n Children,\n children: hasChildren,\n patterns,\n onChange,\n } = props;\n\n if (hasChildren) {\n return <Children />;\n }\n\n if (shape === 'Pattern') {\n return sstyled(styles)(\n <Box mr={1}>\n <SPatternSymbol color={color} patternKey={patternKey} />\n </Box>,\n );\n }\n\n if (shape === 'Checkbox') {\n return sstyled(styles)(\n <>\n <Checkbox\n size={size}\n checked={checked}\n theme={checked ? color : undefined}\n onChange={onChange}\n />\n {patterns && (\n <Box mt={'2px'} mr={1}>\n <SPatternSymbol color={color} patternKey={patternKey} />\n </Box>\n )}\n </>,\n );\n }\n\n return sstyled(styles)(\n <SPointShape render={Box}>\n <Children />\n </SPointShape>,\n );\n}\n\nfunction Icon({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SIcon = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SIcon render={Box} tag={'span'}>\n <Children />\n </SIcon>,\n );\n}\nIcon.displayName = 'Icon';\n\nfunction Label({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SLabel = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SLabel render={TypographyText} use={'primary'}>\n <Children />\n </SLabel>,\n );\n}\nLabel.displayName = 'Label';\n\nfunction AdditionalLabel({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SAdditionalLabel = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SAdditionalLabel render={TypographyText} use={'secondary'}>\n <Children />\n </SAdditionalLabel>,\n );\n}\nAdditionalLabel.displayName = 'AdditionalLabel';\n\nfunction Count({ styles, children: hasChildren, Children }: IRootComponentProps) {\n const SCount = Root;\n\n if (!hasChildren) {\n return null;\n }\n\n return sstyled(styles)(\n <SCount render={TypographyText} use={'secondary'}>\n <Children />\n </SCount>,\n );\n}\nCount.displayName = 'Count';\n\nexport const LegendItemComponent: LegendItemType = createComponent(LegendItemRoot, {\n Shape,\n Icon,\n Label,\n AdditionalLabel,\n Count,\n});\n"],"mappings":";;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAoC,OAAO;AACvD,OAAOC,eAAe,IAAIC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAA6B,eAAe;AAC9F,SAASC,IAAI,EAAEC,GAAG,QAAQ,mBAAmB;AAC7C,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,SAASC,IAAI,IAAIC,cAAc,QAAQ,qBAAqB;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAG7D,SAKEC,YAAY,QACP,mBAAmB;AAC1B,OAAOC,mBAAmB,MAAM,iDAAiD;AACjF,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,wBAAwB,QAAQ,gBAAgB;AAAC,IAEpDC,cAAc,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,cAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,cAAA;EAAA,SAAAA,eAAA;IAAAK,eAAA,OAAAL,cAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAAC,YAAA,CAAAR,cAAA;IAAAS,GAAA;IAAAC,KAAA,EAoBlB,SAAAC,cAAA,EAAgB;MACd,IAAAC,aAAA,GACE,IAAI,CAACC,OAAO;QADNC,OAAO,GAAAF,aAAA,CAAPE,OAAO;QAAEC,KAAK,GAAAH,aAAA,CAALG,KAAK;QAAEC,KAAK,GAAAJ,aAAA,CAALI,KAAK;QAAEC,KAAK,GAAAL,aAAA,CAALK,KAAK;QAAEC,EAAE,GAAAN,aAAA,CAAFM,EAAE;QAAEC,IAAI,GAAAP,aAAA,CAAJO,IAAI;QAAEC,YAAY,GAAAR,aAAA,CAAZQ,YAAY;QAAEC,QAAQ,GAAAT,aAAA,CAARS,QAAQ;QAAEC,kBAAkB,GAAAV,aAAA,CAAlBU,kBAAkB;MAG1F,OAAO;QACLJ,EAAE,EAAFA,EAAE;QACFD,KAAK,EAALA,KAAK;QACLD,KAAK,EAALA,KAAK;QACLF,OAAO,EAAPA,OAAO;QACPC,KAAK,EAAEK,YAAY,CAACL,KAAK,CAAC;QAC1BQ,UAAU,EAAER,KAAK;QACjBM,QAAQ,EAARA,QAAQ;QACRF,IAAI,EAAJA,IAAI;QACJK,QAAQ,EAAE,SAAAA,SAACd,KAAc,EAAK;UAC5BY,kBAAkB,CAACJ,EAAE,EAAER,KAAK,CAAC;QAC/B,CAAC;QACD,iBAAiB,EAAEQ;MACrB,CAAC;IACH;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAe,aAAA,EAAiD;MAC/C,IAAMC,KAAK,GAAG,IAAI,CAACb,OAAO;MAE1B,OAAAc,aAAA,CAAAA,aAAA,KACKD,KAAK;QACRE,QAAQ,EAAEF,KAAK,CAACG;MAAI;IAExB;EAAC;IAAApB,GAAA;IAAAC,KAAA,EAED,SAAAoB,cAAA,EAA2F;MACzF,IAAAC,cAAA,GAA6D,IAAI,CAAClB,OAAO;QAAjEK,EAAE,GAAAa,cAAA,CAAFb,EAAE;QAAEJ,OAAO,GAAAiB,cAAA,CAAPjB,OAAO;QAAEC,KAAK,GAAAgB,cAAA,CAALhB,KAAK;QAAEO,kBAAkB,GAAAS,cAAA,CAAlBT,kBAAkB;QAAKI,KAAK,GAAAM,wBAAA,CAAAD,cAAA,EAAAE,SAAA;MAExD,OAAAN,aAAA,CAAAA,aAAA,KACKD,KAAK;QACRR,EAAE,EAAFA,EAAE;QACFJ,OAAO,EAAPA,OAAO;QACPoB,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMZ,kBAAkB,CAACJ,EAAE,EAAE,CAACJ,OAAO,CAAC;QAAA;QAC/Cc,QAAQ,EAAEF,KAAK,CAACT;MAAK;IAEzB;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAyB,wBAAA,EAA4D;MAC1D,IAAMT,KAAK,GAAG,IAAI,CAACb,OAAO;MAE1B,IAAQuB,cAAc,GAAKV,KAAK,CAAxBU,cAAc;MAEtB,OAAAT,aAAA,CAAAA,aAAA,KACKD,KAAK;QACRE,QAAQ,EAAEQ,cAAc,IAAI,OAAO,IAAIA,cAAc,MAAAC,MAAA,CAAMD,cAAc,CAACnB,KAAK,IAAKqB;MAAS;IAEjG;EAAC;IAAA7B,GAAA;IAAAC,KAAA,EAED,SAAA6B,cAAA,EAAkD;MAChD,IAAMb,KAAK,GAAG,IAAI,CAACb,OAAO;MAE1B,IAAQuB,cAAc,GAAKV,KAAK,CAAxBU,cAAc;MAEtB,OAAAT,aAAA,CAAAA,aAAA,KACKD,KAAK;QACRE,QAAQ,EACNQ,cAAc,IAAI,OAAO,IAAIA,cAAc,OAAAC,MAAA,CAAOD,cAAc,CAACI,KAAK,SAAMF;MAAS;IAE3F;EAAC;IAAA7B,GAAA;IAAAC,KAAA,EAED,SAAA+B,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAA7B,OAAA;QAAA8B,KAAA;MACP,IAAMC,WAAW,GAOMxD,IAAI;MAN3B,IAAAyD,cAAA,GAAoC,IAAI,CAAChC,OAAO;QAAxCiC,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEC,QAAQ,GAAAF,cAAA,CAARE,QAAQ;QAAE/B,KAAK,GAAA6B,cAAA,CAAL7B,KAAK;;MAE/B;MACA,IAAMgC,QAAQ,GAAGpD,YAAY,CAACqD,QAAQ,CAACjC,KAAK,CAAC;MAE7C,OAAA2B,KAAA,GAAOzD,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAACN,WAAW,EAAAD,KAAA,CAAAQ,EAAA,gBAAAxB,aAAA,KAAAyB,YAAA;QAAA,YAAyBJ;MAAQ,GAAAN,IAAA,kBAC3C3D,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAAJ,KAAA,CAAAQ,EAAA,iBAAG,CACA;IAElB;EAAC;EAAA,OAAAnD,cAAA;AAAA,EAhG0Bf,SAAS;AAAAoE,eAAA,CAAhCrD,cAAc,iBAGG,YAAY;AAAAqD,eAAA,CAH7BrD,cAAc,WAIHP,KAAK;AAAA4D,eAAA,CAJhBrD,cAAc,aAMD,CAACH,mBAAmB,EAAE,CAAC;AAAAwD,eAAA,CANpCrD,cAAc,kBAQI;EAAA,OAAO;IAC3B4B,QAAQ,eACN7C,KAAA,CAAAmE,aAAA,CAAAnE,KAAA,CAAAuE,QAAA,qBACEvE,KAAA,CAAAmE,aAAA,CAACK,mBAAmB,CAACC,KAAK,OAAG,eAC7BzE,KAAA,CAAAmE,aAAA,CAACK,mBAAmB,CAACE,IAAI,OAAG,eAC5B1E,KAAA,CAAAmE,aAAA,CAACK,mBAAmB,CAACG,KAAK,OAAG,eAC7B3E,KAAA,CAAAmE,aAAA,CAACK,mBAAmB,CAACI,eAAe,OAAG,eACvC5E,KAAA,CAAAmE,aAAA,CAACK,mBAAmB,CAACK,KAAK,OAAG;EAGnC,CAAC;AAAA,CAAC;AAiFJ,SAASJ,KAAKA,CAAC9B,KAAyE,EAAE;EAAA,IAAAmC,KAAA,GAAAC,YAAA;IAAAC,MAAA;EACxF,IAAMC,WAAW,GA8CM3E,GAAG;EA7C1B,IAAM4E,cAAc,GAAGnE,aAAa;EACpC,IACEgD,MAAM,GAUJpB,KAAK,CAVPoB,MAAM;IACN3B,IAAI,GASFO,KAAK,CATPP,IAAI;IACJH,KAAK,GAQHU,KAAK,CARPV,KAAK;IACLF,OAAO,GAOLY,KAAK,CAPPZ,OAAO;IACPC,KAAK,GAMHW,KAAK,CANPX,KAAK;IAAAmD,iBAAA,GAMHxC,KAAK,CALPH,UAAU;IAAVA,UAAU,GAAA2C,iBAAA,cAAGnE,wBAAwB,CAAC,CAAC,CAAC,GAAAmE,iBAAA;IACxCnB,QAAQ,GAINrB,KAAK,CAJPqB,QAAQ;IACEoB,WAAW,GAGnBzC,KAAK,CAHPE,QAAQ;IACRP,QAAQ,GAENK,KAAK,CAFPL,QAAQ;IACRG,QAAQ,GACNE,KAAK,CADPF,QAAQ;EAGV,IAAI2C,WAAW,EAAE;IACf,oBAAOpF,KAAA,CAAAmE,aAAA,CAACH,QAAQ,OAAG;EACrB;EAEA,IAAI/B,KAAK,KAAK,SAAS,EAAE;IAAA,IAAAoD,KAAA;IACvB,OAAAA,KAAA,GAAOlF,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAAC7D,GAAG,EAAA+E,KAAA,CAAAjB,EAAA;MAAA,MAAK;IAAC,iBACRpE,KAAA,CAAAmE,aAAA,CAACe,cAAc,EAAAG,KAAA,CAAAjB,EAAA;MAAA,SAAQpC,KAAK;MAAA,cAAcQ;IAAU,GAAI,CACpD;EAEV;EAEA,IAAIP,KAAK,KAAK,UAAU,EAAE;IAAA,IAAAqD,KAAA;IACxB,OAAAA,KAAA,GAAOnF,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAAAnE,KAAA,CAAAuE,QAAA,qBACEvE,KAAA,CAAAmE,aAAA,CAAC5D,QAAQ,EAAA+E,KAAA,CAAAlB,EAAA;MAAA,QACDhC,IAAI;MAAA,WACDL,OAAO;MAAA,SACTA,OAAO,GAAGC,KAAK,GAAGuB,SAAS;MAAA,YACxBd;IAAQ,GAClB,EACDH,QAAQ,iBACPtC,KAAA,CAAAmE,aAAA,CAAC7D,GAAG,EAAAgF,KAAA,CAAAlB,EAAA;MAAA,MAAK,KAAK;MAAA,MAAM;IAAC,iBACnBpE,KAAA,CAAAmE,aAAA,CAACe,cAAc,EAAAI,KAAA,CAAAlB,EAAA;MAAA,SAAQpC,KAAK;MAAA,cAAcQ;IAAU,GAAI,CAE3D,CACA;EAEP;EAEA,OAAAwC,MAAA,GAAO7E,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAACc,WAAW,EAAAD,MAAA,CAAAZ,EAAA,gBAAAxB,aAAA,KAAA2C,aAAA,KAAAT,KAAA,kBACV9E,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAAgB,MAAA,CAAAZ,EAAA,iBAAG,CACA;AAElB;AAEA,SAASM,IAAIA,CAAAc,MAAA,EAAmE;EAAA,IAAAC,KAAA,GAAAV,YAAA;IAAAW,MAAA;EAAA,IAAhE3B,MAAM,GAAAyB,MAAA,CAANzB,MAAM;IAAYqB,WAAW,GAAAI,MAAA,CAArB3C,QAAQ;IAAemB,QAAQ,GAAAwB,MAAA,CAARxB,QAAQ;EACrD,IAAM2B,KAAK,GAOMrF,GAAG;EALpB,IAAI,CAAC8E,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,OAAAM,MAAA,GAAOvF,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAACwB,KAAK,EAAAD,MAAA,CAAAtB,EAAA,UAAAxB,aAAA,KAAAgD,aAAA;IAAA,OAAmB;EAAM,GAAAH,KAAA,kBAC7BzF,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAA0B,MAAA,CAAAtB,EAAA,iBAAG,CACN;AAEZ;AACAM,IAAI,CAACmB,WAAW,GAAG,MAAM;AAEzB,SAASlB,KAAKA,CAAAmB,MAAA,EAAmE;EAAA,IAAAC,KAAA,GAAAhB,YAAA;IAAAiB,MAAA;EAAA,IAAhEjC,MAAM,GAAA+B,MAAA,CAAN/B,MAAM;IAAYqB,WAAW,GAAAU,MAAA,CAArBjD,QAAQ;IAAemB,QAAQ,GAAA8B,MAAA,CAAR9B,QAAQ;EACtD,IAAMiC,MAAM,GAOMxF,cAAc;EALhC,IAAI,CAAC2E,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,OAAAY,MAAA,GAAO7F,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAAC8B,MAAM,EAAAD,MAAA,CAAA5B,EAAA,WAAAxB,aAAA,KAAAsD,aAAA;IAAA,OAA8B;EAAS,GAAAH,KAAA,kBAC5C/F,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAAgC,MAAA,CAAA5B,EAAA,iBAAG,CACL;AAEb;AACAO,KAAK,CAACkB,WAAW,GAAG,OAAO;AAE3B,SAASjB,eAAeA,CAAAuB,MAAA,EAAmE;EAAA,IAAAC,KAAA,GAAArB,YAAA;IAAAsB,MAAA;EAAA,IAAhEtC,MAAM,GAAAoC,MAAA,CAANpC,MAAM;IAAYqB,WAAW,GAAAe,MAAA,CAArBtD,QAAQ;IAAemB,QAAQ,GAAAmC,MAAA,CAARnC,QAAQ;EAChE,IAAMsC,gBAAgB,GAOM7F,cAAc;EAL1C,IAAI,CAAC2E,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,OAAAiB,MAAA,GAAOlG,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAACmC,gBAAgB,EAAAD,MAAA,CAAAjC,EAAA,qBAAAxB,aAAA,KAAA2D,aAAA;IAAA,OAA8B;EAAW,GAAAH,KAAA,kBACxDpG,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAAqC,MAAA,CAAAjC,EAAA,iBAAG,CACK;AAEvB;AACAQ,eAAe,CAACiB,WAAW,GAAG,iBAAiB;AAE/C,SAAShB,KAAKA,CAAA2B,MAAA,EAAmE;EAAA,IAAAC,KAAA,GAAA1B,YAAA;IAAA2B,MAAA;EAAA,IAAhE3C,MAAM,GAAAyC,MAAA,CAANzC,MAAM;IAAYqB,WAAW,GAAAoB,MAAA,CAArB3D,QAAQ;IAAemB,QAAQ,GAAAwC,MAAA,CAARxC,QAAQ;EACtD,IAAM2C,MAAM,GAOMlG,cAAc;EALhC,IAAI,CAAC2E,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,OAAAsB,MAAA,GAAOvG,OAAO,CAAC4D,MAAM,CAAC,eACpB/D,KAAA,CAAAmE,aAAA,CAACwC,MAAM,EAAAD,MAAA,CAAAtC,EAAA,WAAAxB,aAAA,KAAAgE,aAAA;IAAA,OAA8B;EAAW,GAAAH,KAAA,kBAC9CzG,KAAA,CAAAmE,aAAA,CAACH,QAAQ,EAAA0C,MAAA,CAAAtC,EAAA,iBAAG,CACL;AAEb;AACAS,KAAK,CAACgB,WAAW,GAAG,OAAO;AAE3B,OAAO,IAAMrB,mBAAmC,GAAGvE,eAAe,CAACgB,cAAc,EAAE;EACjFwD,KAAK,EAALA,KAAK;EACLC,IAAI,EAAJA,IAAI;EACJC,KAAK,EAALA,KAAK;EACLC,eAAe,EAAfA,eAAe;EACfC,KAAK,EAALA;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendItem.type.js","names":["StaticShapes"],"sources":["../../../../../src/component/ChartLegend/LegendItem/LegendItem.type.ts"],"sourcesContent":["import { Flex } from '@semcore/flex-box';\nimport { Intergalactic, Root } from '@semcore/core';\nimport Icon from '@semcore/icon';\nimport { Text } from '@semcore/typography';\nimport { LSize } from '../BaseLegend.type';\nimport { PatternsConfig } from '../../../Pattern';\n\n/**\n * Key of chart data item\n */\nexport type LegendItemKey = string;\n\nexport type LegendItem = {\n /**\n * One of keys from data set\n */\n id: LegendItemKey;\n /**\n * Label for data item in Legend\n */\n label: string;\n /**\n * Flag for selected data item\n */\n checked: boolean;\n /**\n * Color of data item\n */\n color: string;\n /**\n * Icon before label\n */\n icon?: typeof Icon;\n /**\n * Additional info with sub-label or count\n */\n additionalInfo?: { label: string } | { count: number };\n\n patternKey?: string;\n\n /** Enables patterns symbols that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\nexport type LegendItemProps = LegendItem & {\n /**\n * Size for legend item\n */\n size: LSize;\n /**\n * Shape of data item on Legend panel\n */\n shape: ShapeType;\n /**\n * Handler for select/deselect legend item.\n * !Need to redefine onClick, because we don't have `event` in it.\n */\n onClick
|
|
1
|
+
{"version":3,"file":"LegendItem.type.js","names":["StaticShapes"],"sources":["../../../../../src/component/ChartLegend/LegendItem/LegendItem.type.ts"],"sourcesContent":["import { Flex } from '@semcore/flex-box';\nimport { Intergalactic, Root } from '@semcore/core';\nimport Icon from '@semcore/icon';\nimport { Text } from '@semcore/typography';\nimport { LSize } from '../BaseLegend.type';\nimport { PatternsConfig } from '../../../Pattern';\n\n/**\n * Key of chart data item\n */\nexport type LegendItemKey = string;\n\nexport type LegendItem = {\n /**\n * One of keys from data set\n */\n id: LegendItemKey;\n /**\n * Label for data item in Legend\n */\n label: string;\n /**\n * Flag for selected data item\n */\n checked: boolean;\n /**\n * Color of data item\n */\n color: string;\n /**\n * Icon before label\n */\n icon?: typeof Icon;\n /**\n * Additional info with sub-label or count\n */\n additionalInfo?: { label: string } | { count: number };\n\n patternKey?: string;\n\n /** Enables patterns symbols that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\nexport type LegendItemProps = LegendItem & {\n /**\n * Size for legend item\n */\n size: LSize;\n /**\n * Shape of data item on Legend panel\n */\n shape: ShapeType;\n /**\n * Handler for select/deselect legend item.\n * !Need to redefine onClick, because we don't have `event` in it.\n * @deprecated\n */\n onClick?: () => void;\n\n /** Enables patterns symbols that enhances charts accessibility */\n patterns?: PatternsConfig;\n\n /**\n * Handler for select/deselect legend item\n */\n onChangeLegendItem: (id: LegendItemKey, checked: boolean) => void;\n};\n\nexport type ShapeProps = LegendItem &\n (\n | {\n size: LSize;\n shape: Exclude<ShapeType, 'Checkbox'>;\n }\n | {\n size: LSize;\n shape: Extract<ShapeType, 'Checkbox'>;\n onChange: (checked: boolean, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n }\n );\n\nexport const StaticShapes = ['Circle', 'Line', 'Square', 'Pattern'] as const;\n\nexport type ShapeType = 'Checkbox' | typeof StaticShapes[number];\n\nexport type LegendItemType = Intergalactic.Component<typeof Flex, Partial<LegendItemProps>> & {\n Shape: Intergalactic.Component<typeof Root, Partial<ShapeProps>>;\n Icon: Intergalactic.Component<typeof Icon, Partial<LegendItem>>;\n Label: Intergalactic.Component<typeof Text, Partial<Omit<LegendItem, 'theme'>>>;\n AdditionalLabel: Intergalactic.Component<typeof Text, Partial<LegendItem>>;\n Count: Intergalactic.Component<typeof Text, Partial<LegendItem>>;\n};\n"],"mappings":"AAOA;AACA;AACA;;AAyEA,OAAO,IAAMA,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU"}
|
|
@@ -11,12 +11,12 @@ import React from 'react';
|
|
|
11
11
|
import createComponent, { sstyled, Root } from '@semcore/core';
|
|
12
12
|
import { Box } from '@semcore/flex-box';
|
|
13
13
|
/*__reshadow-styles__:"./legend-table.shadow.css"*/
|
|
14
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
15
|
-
"__SLegendTable": "
|
|
16
|
-
"_columns-count": "__columns-
|
|
17
|
-
"__SColumnItem": "
|
|
18
|
-
"_size_l": "
|
|
19
|
-
"_size_m": "
|
|
14
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLegendTable_128ci_gg_.__columns-count_128ci_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_128ci_gg_._size_l_128ci_gg_{font-size:var(--intergalactic-fs-300, 16px);text-align:right}.___SColumnItem_128ci_gg_._size_m_128ci_gg_{font-size:var(--intergalactic-fs-200, 14px);text-align:right}" /*__inner_css_end__*/, "128ci_gg_") /*__reshadow_css_end__*/, {
|
|
15
|
+
"__SLegendTable": "___SLegendTable_128ci_gg_",
|
|
16
|
+
"_columns-count": "__columns-count_128ci_gg_",
|
|
17
|
+
"__SColumnItem": "___SColumnItem_128ci_gg_",
|
|
18
|
+
"_size_l": "_size_l_128ci_gg_",
|
|
19
|
+
"_size_m": "_size_m_128ci_gg_"
|
|
20
20
|
});
|
|
21
21
|
import { LegendItemComponent } from '../LegendItem/LegendItem';
|
|
22
22
|
import { BaseLegend } from '../BaseLegend';
|
|
@@ -42,7 +42,8 @@ var LegendTableRoot = /*#__PURE__*/function (_BaseLegend) {
|
|
|
42
42
|
items = _this$asProps.items;
|
|
43
43
|
var columnsCount = (_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.columns.length;
|
|
44
44
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SLegendTable, _ref3.cn("SLegendTable", _objectSpread({}, _assignProps({
|
|
45
|
-
"columns-count": columnsCount + 1
|
|
45
|
+
"columns-count": columnsCount + 1,
|
|
46
|
+
"role": 'group'
|
|
46
47
|
}, _ref))), items.map(function (_ref5, index) {
|
|
47
48
|
var id = _ref5.id,
|
|
48
49
|
_ref5$columns = _ref5.columns,
|