intergalactic 15.43.0-prerelease-574a75da → 15.43.1-prerelease-92fc7334
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 +6 -65
- package/components.json +72 -72
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +1 -1
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/cjs/component/Chart/RadarChart.js +2 -2
- package/d3-chart/lib/cjs/component/Chart/RadarChart.js.map +1 -1
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js +1 -1
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/es6/component/Chart/RadarChart.js +2 -2
- package/d3-chart/lib/es6/component/Chart/RadarChart.js.map +1 -1
- package/package.json +2 -2
- package/pills/lib/cjs/Pills.js +17 -17
- package/pills/lib/cjs/style/pills.shadow.css +1 -1
- package/pills/lib/es6/Pills.js +17 -17
- package/pills/lib/es6/style/pills.shadow.css +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,42 +1,23 @@
|
|
1
|
-
## [15.43.
|
2
|
-
|
3
|
-
### @semcore/accordion
|
4
|
-
|
5
|
-
- **Fixed** Accordion focus ring displaying in tables.
|
6
|
-
|
7
|
-
### @semcore/breakpoints
|
8
|
-
|
9
|
-
- **Removed** `defaultIndex` from `MediaList` as unusable.
|
1
|
+
## [15.43.1] - 2023-12-22
|
10
2
|
|
11
|
-
### @semcore/
|
12
|
-
|
13
|
-
- **Added** Reexport for types.
|
3
|
+
### @semcore/d3-chart
|
14
4
|
|
15
|
-
|
5
|
+
- **Fixed** Order of chart lines/bars and tooltip HoverLine.
|
16
6
|
|
17
|
-
|
7
|
+
### @semcore/pills
|
18
8
|
|
19
|
-
|
9
|
+
- **Fixed** Focused Pill with `behavior=tabs` were not visually highlighted.
|
20
10
|
|
21
|
-
|
11
|
+
## [15.43.0] - 2023-12-19
|
22
12
|
|
23
13
|
### @semcore/core
|
24
14
|
|
25
15
|
- **Fixed** Internal types in `Component`.
|
26
|
-
- **Changed** Renamed type `RemoveFields` to `EfficientOmit` and moved it into `InternalTypings`. For INTERNAL usage only. Don't use it.
|
27
16
|
|
28
17
|
### @semcore/d3-chart
|
29
18
|
|
30
19
|
- **Fixed** Chart dots were not displaying in Firefox.
|
31
20
|
- **Fixed** Charts appearing animation in Firefox.
|
32
|
-
- **Fixed** Squeeze of shapes in `ChartLegendTable`.
|
33
|
-
- **Fixed** `ChartLegendTable` labels trimming with `Ellipsis` component.
|
34
|
-
- **Fixed** base element for `Dots`.
|
35
|
-
|
36
|
-
### @semcore/data-table
|
37
|
-
|
38
|
-
- **Fixed** Lighthouse accessibility warning about existing scrollbar role element inside of the table.
|
39
|
-
- **Added** Sort icon is visible when column is focused by keyboard.
|
40
21
|
|
41
22
|
### @semcore/date-picker
|
42
23
|
|
@@ -47,22 +28,6 @@
|
|
47
28
|
- **Added** `preselectedValue` and `onPreselectedValueChange` api to `DatePickerRange` and `MonthRangePicker` components for more control over.
|
48
29
|
- **Added** `preselectedValue`, `onPreselectedValueChange`, `preselectedCompare`, `onPreselectedCompareChange`, `compareToggle`, `onCompareToggleChange`, `focusedRange` and `onFocusedRangeChange` apis to `DateRangeComparator` and `MonthDateRangeComparator` components for more control over.
|
49
30
|
- **Added** Set `displayedPeriod` from current `value` for each open of `Calendar`.
|
50
|
-
- **Fixed** Input trigger were not displaying date or date range when it is passed as number or string.
|
51
|
-
- **Fixed** `DateRangeComparator` and `MonthDateRangeComparator` compare date input was not visually disabled during inaccessible state.
|
52
|
-
- **Added** Added `DateRangeComparator` and `MonthDateRangeComparator` components.
|
53
|
-
|
54
|
-
### @semcore/dropdown
|
55
|
-
|
56
|
-
- **Changed** Deprecated some values of `interaction` property.
|
57
|
-
|
58
|
-
### @semcore/dropdown-menu
|
59
|
-
|
60
|
-
- **Changed** Deprecated some values of `interaction` property.
|
61
|
-
- **Removed** unnecessary style for focused `Popper`.
|
62
|
-
|
63
|
-
### @semcore/input
|
64
|
-
|
65
|
-
- **Fixed** Disabled state were not displaying properly in complex input usage such us usage via `InputMask` component.
|
66
31
|
|
67
32
|
### @semcore/input-mask
|
68
33
|
|
@@ -70,37 +35,13 @@
|
|
70
35
|
- **Added** `maskOnlySymbols` prop.
|
71
36
|
- **Fixed** Text cursor position after pressing `Backspace`.
|
72
37
|
|
73
|
-
### @semcore/input-tags
|
74
|
-
|
75
|
-
- **Fixed** Removed unnecessary `role` from input element.
|
76
|
-
- **Changed** When input tags container is empty, focus on the container is automatically moved to the input field.
|
77
|
-
- **Fixed** Fixed vertical gaps between tags for `l` size.
|
78
|
-
- **Fixed** Fixed vertical gaps between tags for `l` size.
|
79
|
-
|
80
|
-
### @semcore/modal
|
81
|
-
|
82
|
-
- **Fixed** Pass `ignorePortalsStacking` prop to the `Portal`.
|
83
|
-
|
84
38
|
### @semcore/popper
|
85
39
|
|
86
40
|
- **Fixed** `Select.Item's` `Tooltip` with keyboard navigation.
|
87
|
-
- **Fixed** `focusLock` behavior for `hover` interaction.
|
88
|
-
- **Added** Internal api to enable new focus lock scope.
|
89
|
-
|
90
|
-
### @semcore/select
|
91
|
-
|
92
|
-
- **Added** `aria-disable` attribute for disabled `Trigger` and `Option` components.
|
93
|
-
|
94
|
-
### @semcore/tooltip
|
95
|
-
|
96
|
-
- **Fixed** Incorrect behavior in Tooltip when it has a focusable elements inside themself and don't close from the first `esc` keypress.
|
97
|
-
- **Changed** Deprecated `interaction` property.
|
98
41
|
|
99
42
|
### @semcore/utils
|
100
43
|
|
101
44
|
- **Fixed** Types in `splitProps` function.
|
102
|
-
- **Added** New `--intergalactic-border-critical-pattern` token for marking controls invalid state.
|
103
|
-
- **Added** Fixed output of css utils.
|
104
45
|
|
105
46
|
## [15.42.3] - 2023-12-13
|
106
47
|
|
package/components.json
CHANGED
@@ -1,75 +1,75 @@
|
|
1
1
|
{
|
2
|
-
"@semcore/accordion": "5.
|
3
|
-
"@semcore/animation": "2.
|
4
|
-
"@semcore/badge": "4.
|
5
|
-
"@semcore/base-trigger": "4.
|
6
|
-
"@semcore/breadcrumbs": "5.
|
7
|
-
"@semcore/breakpoints": "1.
|
8
|
-
"@semcore/button": "5.
|
9
|
-
"@semcore/card": "5.
|
10
|
-
"@semcore/carousel": "3.
|
11
|
-
"@semcore/checkbox": "7.
|
12
|
-
"@semcore/color-picker": "2.
|
13
|
-
"@semcore/core": "2.
|
14
|
-
"@semcore/counter": "3.
|
15
|
-
"@semcore/data-table": "4.
|
16
|
-
"@semcore/date-picker": "4.
|
17
|
-
"@semcore/divider": "4.
|
18
|
-
"@semcore/dot": "5.
|
19
|
-
"@semcore/drag-and-drop": "3.
|
20
|
-
"@semcore/dropdown": "4.
|
21
|
-
"@semcore/dropdown-menu": "4.
|
22
|
-
"@semcore/d3-chart": "3.
|
23
|
-
"@semcore/ellipsis": "2.
|
2
|
+
"@semcore/accordion": "5.18.1",
|
3
|
+
"@semcore/animation": "2.13.1",
|
4
|
+
"@semcore/badge": "4.13.1",
|
5
|
+
"@semcore/base-trigger": "4.19.1",
|
6
|
+
"@semcore/breadcrumbs": "5.18.1",
|
7
|
+
"@semcore/breakpoints": "1.15.0",
|
8
|
+
"@semcore/button": "5.14.1",
|
9
|
+
"@semcore/card": "5.19.2",
|
10
|
+
"@semcore/carousel": "3.22.1",
|
11
|
+
"@semcore/checkbox": "7.16.2",
|
12
|
+
"@semcore/color-picker": "2.19.2",
|
13
|
+
"@semcore/core": "2.12.1",
|
14
|
+
"@semcore/counter": "3.13.1",
|
15
|
+
"@semcore/data-table": "4.20.1",
|
16
|
+
"@semcore/date-picker": "4.21.1",
|
17
|
+
"@semcore/divider": "4.13.1",
|
18
|
+
"@semcore/dot": "5.13.1",
|
19
|
+
"@semcore/drag-and-drop": "3.21.2",
|
20
|
+
"@semcore/dropdown": "4.13.2",
|
21
|
+
"@semcore/dropdown-menu": "4.15.2",
|
22
|
+
"@semcore/d3-chart": "3.21.3",
|
23
|
+
"@semcore/ellipsis": "2.13.2",
|
24
24
|
"@semcore/email": "1.0.2",
|
25
|
-
"@semcore/errors": "4.
|
26
|
-
"@semcore/feature-popover": "4.
|
27
|
-
"@semcore/feedback-form": "6.
|
28
|
-
"@semcore/flags": "4.
|
29
|
-
"@semcore/flex-box": "5.
|
30
|
-
"@semcore/format-text": "4.
|
31
|
-
"@semcore/fullscreen-modal": "3.
|
32
|
-
"@semcore/grid": "5.
|
33
|
-
"@semcore/icon": "4.
|
34
|
-
"@semcore/illustration": "2.
|
35
|
-
"@semcore/inline-input": "4.
|
36
|
-
"@semcore/inline-edit": "4.
|
37
|
-
"@semcore/input": "4.
|
38
|
-
"@semcore/input-mask": "5.
|
39
|
-
"@semcore/input-number": "5.
|
40
|
-
"@semcore/input-tags": "4.
|
41
|
-
"@semcore/link": "5.
|
42
|
-
"@semcore/modal": "4.
|
43
|
-
"@semcore/neighbor-location": "4.
|
44
|
-
"@semcore/notice": "5.
|
45
|
-
"@semcore/notice-global": "2.
|
46
|
-
"@semcore/notice-bubble": "5.
|
47
|
-
"@semcore/outside-click": "3.
|
48
|
-
"@semcore/pagination": "4.
|
49
|
-
"@semcore/pills": "5.
|
50
|
-
"@semcore/popper": "5.
|
51
|
-
"@semcore/portal": "3.
|
52
|
-
"@semcore/product-head": "4.
|
53
|
-
"@semcore/progress-bar": "4.
|
54
|
-
"@semcore/radio": "6.
|
55
|
-
"@semcore/scroll-area": "5.
|
56
|
-
"@semcore/select": "4.
|
57
|
-
"@semcore/side-panel": "3.
|
58
|
-
"@semcore/skeleton": "5.
|
59
|
-
"@semcore/slider": "4.
|
60
|
-
"@semcore/spin": "5.
|
61
|
-
"@semcore/spin-container": "7.
|
62
|
-
"@semcore/sticky": "3.
|
63
|
-
"@semcore/switch": "5.
|
64
|
-
"@semcore/tab-line": "4.
|
65
|
-
"@semcore/tab-panel": "4.
|
66
|
-
"@semcore/tag": "5.
|
67
|
-
"@semcore/textarea": "5.
|
68
|
-
"@semcore/time-picker": "4.
|
69
|
-
"@semcore/tooltip": "6.
|
70
|
-
"@semcore/typography": "5.
|
71
|
-
"@semcore/utils": "4.
|
72
|
-
"@semcore/widget-empty": "4.
|
73
|
-
"@semcore/wizard": "2.
|
74
|
-
"@semcore/i18n-unplugin": "0.
|
25
|
+
"@semcore/errors": "4.16.1",
|
26
|
+
"@semcore/feature-popover": "4.18.2",
|
27
|
+
"@semcore/feedback-form": "6.14.2",
|
28
|
+
"@semcore/flags": "4.13.1",
|
29
|
+
"@semcore/flex-box": "5.13.1",
|
30
|
+
"@semcore/format-text": "4.13.1",
|
31
|
+
"@semcore/fullscreen-modal": "3.21.1",
|
32
|
+
"@semcore/grid": "5.13.1",
|
33
|
+
"@semcore/icon": "4.19.1",
|
34
|
+
"@semcore/illustration": "2.12.1",
|
35
|
+
"@semcore/inline-input": "4.19.2",
|
36
|
+
"@semcore/inline-edit": "4.15.1",
|
37
|
+
"@semcore/input": "4.15.1",
|
38
|
+
"@semcore/input-mask": "5.15.2",
|
39
|
+
"@semcore/input-number": "5.15.1",
|
40
|
+
"@semcore/input-tags": "4.15.2",
|
41
|
+
"@semcore/link": "5.15.1",
|
42
|
+
"@semcore/modal": "4.22.1",
|
43
|
+
"@semcore/neighbor-location": "4.12.1",
|
44
|
+
"@semcore/notice": "5.19.1",
|
45
|
+
"@semcore/notice-global": "2.29.1",
|
46
|
+
"@semcore/notice-bubble": "5.18.1",
|
47
|
+
"@semcore/outside-click": "3.12.1",
|
48
|
+
"@semcore/pagination": "4.21.1",
|
49
|
+
"@semcore/pills": "5.14.1",
|
50
|
+
"@semcore/popper": "5.13.0",
|
51
|
+
"@semcore/portal": "3.12.1",
|
52
|
+
"@semcore/product-head": "4.14.1",
|
53
|
+
"@semcore/progress-bar": "4.13.1",
|
54
|
+
"@semcore/radio": "6.16.1",
|
55
|
+
"@semcore/scroll-area": "5.15.1",
|
56
|
+
"@semcore/select": "4.21.3",
|
57
|
+
"@semcore/side-panel": "3.20.1",
|
58
|
+
"@semcore/skeleton": "5.14.1",
|
59
|
+
"@semcore/slider": "4.13.1",
|
60
|
+
"@semcore/spin": "5.13.1",
|
61
|
+
"@semcore/spin-container": "7.14.1",
|
62
|
+
"@semcore/sticky": "3.13.1",
|
63
|
+
"@semcore/switch": "5.13.1",
|
64
|
+
"@semcore/tab-line": "4.13.1",
|
65
|
+
"@semcore/tab-panel": "4.14.1",
|
66
|
+
"@semcore/tag": "5.20.1",
|
67
|
+
"@semcore/textarea": "5.14.1",
|
68
|
+
"@semcore/time-picker": "4.21.3",
|
69
|
+
"@semcore/tooltip": "6.12.2",
|
70
|
+
"@semcore/typography": "5.20.1",
|
71
|
+
"@semcore/utils": "4.15.1",
|
72
|
+
"@semcore/widget-empty": "4.13.1",
|
73
|
+
"@semcore/wizard": "2.21.1",
|
74
|
+
"@semcore/i18n-unplugin": "0.12.1"
|
75
75
|
}
|
@@ -403,7 +403,7 @@ var AbstractChart = /*#__PURE__*/function (_Component) {
|
|
403
403
|
"width": plotWidth,
|
404
404
|
"height": plotHeight,
|
405
405
|
"dataHints": this.dataHints
|
406
|
-
}), this.renderAxis(), this.
|
406
|
+
}), this.renderAxis(), this.renderTooltip(), this.renderChart()));
|
407
407
|
}
|
408
408
|
}]);
|
409
409
|
return AbstractChart;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","interpolateValue","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","sstyled","cn","assignProps","Plot","renderChart","renderTooltip","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderChart()}\n {this.renderTooltip()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","interpolateValue","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","sstyled","cn","assignProps","Plot","renderTooltip","renderChart","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|
@@ -40,13 +40,13 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
40
40
|
type: circle ? 'circle' : undefined
|
41
41
|
}, /*#__PURE__*/_react["default"].createElement(_.Radar.Axis, {
|
42
42
|
dataKey: groupKey
|
43
|
-
}, /*#__PURE__*/_react["default"].createElement(_.Radar.Axis.Ticks, null), /*#__PURE__*/_react["default"].createElement(_.Radar.Axis.Labels, null)), dataDefinitions.map(function (item) {
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement(_.Radar.Axis.Ticks, null), /*#__PURE__*/_react["default"].createElement(_.Radar.Axis.Labels, null)), this.renderRadarTooltip(), dataDefinitions.map(function (item) {
|
44
44
|
return item.checked && /*#__PURE__*/_react["default"].createElement(_.Radar.Polygon, {
|
45
45
|
dataKey: item.id,
|
46
46
|
key: item.id,
|
47
47
|
color: item.color
|
48
48
|
}, /*#__PURE__*/_react["default"].createElement(_.Radar.Polygon.Line, null), showDots && /*#__PURE__*/_react["default"].createElement(_.Radar.Polygon.Dots, null));
|
49
|
-
})
|
49
|
+
}));
|
50
50
|
}
|
51
51
|
}, {
|
52
52
|
key: "renderRadarTooltip",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RadarChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_AbstractChart2","_","RadarChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","Radar","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","map","item","checked","Polygon","id","color","Line","Dots","
|
1
|
+
{"version":3,"file":"RadarChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_AbstractChart2","_","RadarChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","Radar","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","color","Line","Dots","_this","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","_data$groupKey","index","children","Fragment","Title","_data$item$id","Dot","tooltipValueFormatter","renderTooltip","get","_this$props","props","legendKeys","Object","keys","filter","_this$asProps$scale","scaleLinear","domain","_this$asProps$scale2","Math","min","_toConsumableArray2","_get2","_getPrototypeOf2","prototype","max","AbstractChart","RadarChart","createComponent","exports"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear, ScaleLinear } from 'd3-scale';\nimport { AbstractChart } from './AbstractChart';\nimport { RadarChartData, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\n\nclass RadarChartComponent extends AbstractChart<RadarChartData, RadarChartProps> {\n protected renderChart(): React.ReactNode {\n const { groupKey, showDots, circle } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return (\n <Radar scale={this.xScale} type={circle ? 'circle' : undefined}>\n <Radar.Axis dataKey={groupKey}>\n <Radar.Axis.Ticks />\n <Radar.Axis.Labels />\n </Radar.Axis>\n {this.renderRadarTooltip()}\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Radar.Polygon dataKey={item.id} key={item.id} color={item.color}>\n <Radar.Polygon.Line />\n {showDots && <Radar.Polygon.Dots />}\n </Radar.Polygon>\n )\n );\n })}\n </Radar>\n );\n }\n\n protected renderRadarTooltip(): React.ReactNode {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Radar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <Radar.Tooltip.Title>{data[groupKey]?.[index]}</Radar.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n const value = data[item.id]?.[index];\n\n return (\n item.checked && (\n <Radar.Tooltip.Dot color={item.color} key={item.id}>\n {this.tooltipValueFormatter(value)}\n </Radar.Tooltip.Dot>\n )\n );\n })}\n </>\n ),\n };\n }}\n </Radar.Tooltip>\n );\n }\n\n // By default, tooltip will render in Plot component.\n // In RadarChart, we need to render it in Radar component, so we use renderRadarTooltip method\n protected renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((key) => key !== groupKey);\n\n return legendKeys;\n }\n\n protected get xScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n private get domain(): [number, number] {\n return [Math.min(...super.flatValues), Math.max(...super.flatValues)];\n }\n}\n\nexport const RadarChart: RadarChartType = createComponent(RadarChartComponent);\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAGA,IAAAI,CAAA,GAAAJ,OAAA;AADA;AAAA,IAGMK,mBAAmB,0BAAAC,cAAA;EAAA,IAAAC,UAAA,aAAAF,mBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAK,gBAAA,mBAAAL,mBAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,mBAAA;IAAAS,GAAA;IAAAC,KAAA,EACvB,SAAAC,YAAA,EAAyC;MACvC,IAAAC,aAAA,GAAuC,IAAI,CAACC,OAAO;QAA3CC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,QAAQ,GAAAH,aAAA,CAARG,QAAQ;QAAEC,MAAM,GAAAJ,aAAA,CAANI,MAAM;MAClC,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/CC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;MAExC,oBACE3B,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK;QAACC,KAAK,EAAE,IAAI,CAACC,MAAO;QAACC,IAAI,EAAET,MAAM,GAAG,QAAQ,GAAGU;MAAU,gBAC7DjC,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACK,IAAI;QAACC,OAAO,EAAEd;MAAS,gBAC5BrB,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACK,IAAI,CAACE,KAAK,OAAG,eACpBpC,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACK,IAAI,CAACG,MAAM,OAAG,CACV,EACZ,IAAI,CAACC,kBAAkB,EAAE,EACzBZ,eAAe,CAACa,GAAG,CAAC,UAACC,IAAI,EAAK;QAC7B,OACEA,IAAI,CAACC,OAAO,iBACVzC,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACa,OAAO;UAACP,OAAO,EAAEK,IAAI,CAACG,EAAG;UAAC3B,GAAG,EAAEwB,IAAI,CAACG,EAAG;UAACC,KAAK,EAAEJ,IAAI,CAACI;QAAM,gBAC/D5C,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACa,OAAO,CAACG,IAAI,OAAG,EACrBvB,QAAQ,iBAAItB,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACa,OAAO,CAACI,IAAI,OAAG,CAEtC;MAEL,CAAC,CAAC,CACI;IAEZ;EAAC;IAAA9B,GAAA;IAAAC,KAAA,EAED,SAAAqB,mBAAA,EAAgD;MAAA,IAAAS,KAAA;MAC9C,IAAAC,cAAA,GAAwC,IAAI,CAAC5B,OAAO;QAA5C6B,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAE5B,QAAQ,GAAA2B,cAAA,CAAR3B,QAAQ;QAAE6B,WAAW,GAAAF,cAAA,CAAXE,WAAW;MACnC,IAAQxB,eAAe,GAAK,IAAI,CAACD,KAAK,CAA9BC,eAAe;MAEvB,IAAI,CAACwB,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACElD,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACsB,OAAO;QAACC,IAAI,EAAE;MAAI,GACtB,UAAAC,IAAA,EAAoB;QAAA,IAAAC,cAAA;QAAA,IAAjBC,KAAK,GAAAF,IAAA,CAALE,KAAK;QACP,OAAO;UACLC,QAAQ,eACNxD,MAAA,YAAA4B,aAAA,CAAA5B,MAAA,YAAAyD,QAAA,qBACEzD,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACsB,OAAO,CAACO,KAAK,SAAAJ,cAAA,GAAEL,IAAI,CAAC5B,QAAQ,CAAC,cAAAiC,cAAA,uBAAdA,cAAA,CAAiBC,KAAK,CAAC,CAAuB,EAEnE7B,eAAe,CAACa,GAAG,CAAC,UAACC,IAAI,EAAK;YAAA,IAAAmB,aAAA;YAC7B,IAAM1C,KAAK,IAAA0C,aAAA,GAAGV,IAAI,CAACT,IAAI,CAACG,EAAE,CAAC,cAAAgB,aAAA,uBAAbA,aAAA,CAAgBJ,KAAK,CAAC;YAEpC,OACEf,IAAI,CAACC,OAAO,iBACVzC,MAAA,YAAA4B,aAAA,CAACtB,CAAA,CAAAuB,KAAK,CAACsB,OAAO,CAACS,GAAG;cAAChB,KAAK,EAAEJ,IAAI,CAACI,KAAM;cAAC5B,GAAG,EAAEwB,IAAI,CAACG;YAAG,GAChDI,KAAI,CAACc,qBAAqB,CAAC5C,KAAK,CAAC,CAErC;UAEL,CAAC,CAAC;QAGR,CAAC;MACH,CAAC,CACa;IAEpB;;IAEA;IACA;EAAA;IAAAD,GAAA;IAAAC,KAAA,EACA,SAAA6C,cAAA,EAA2C;MACzC,OAAO,IAAI;IACb;EAAC;IAAA9C,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAAmC;MACjC,IAAAC,WAAA,GAA2B,IAAI,CAACC,KAAK;QAA7BhB,IAAI,GAAAe,WAAA,CAAJf,IAAI;QAAE5B,QAAQ,GAAA2C,WAAA,CAAR3C,QAAQ;MAEtB,IAAM6C,UAAoB,GAAGC,MAAM,CAACC,IAAI,CAACnB,IAAI,CAAC,CAACoB,MAAM,CAAC,UAACrD,GAAG;QAAA,OAAKA,GAAG,KAAKK,QAAQ;MAAA,EAAC;MAEhF,OAAO6C,UAAU;IACnB;EAAC;IAAAlD,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAO,mBAAA;MAC5C,QAAAA,mBAAA,GAAO,IAAI,CAAClD,OAAO,CAACU,KAAK,cAAAwC,mBAAA,cAAAA,mBAAA,GAAI,IAAAC,oBAAW,GAAE,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAxD,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAU,oBAAA;MAC5C,QAAAA,oBAAA,GAAO,IAAI,CAACrD,OAAO,CAACU,KAAK,cAAA2C,oBAAA,cAAAA,oBAAA,GAAI,IAAAF,oBAAW,GAAE,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAxD,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAAuC;MACrC,OAAO,CAACW,IAAI,CAACC,GAAG,CAAA9D,KAAA,CAAR6D,IAAI,MAAAE,mBAAA,iBAAAC,KAAA,iBAAAC,gBAAA,aAAAvE,mBAAA,CAAAwE,SAAA,wBAAyB,EAAEL,IAAI,CAACM,GAAG,CAAAnE,KAAA,CAAR6D,IAAI,MAAAE,mBAAA,iBAAAC,KAAA,iBAAAC,gBAAA,aAAAvE,mBAAA,CAAAwE,SAAA,wBAAyB,CAAC;IACvE;EAAC;EAAA,OAAAxE,mBAAA;AAAA,EArF+B0E,6BAAa;AAwFxC,IAAMC,UAA0B,GAAG,IAAAC,gBAAe,EAAC5E,mBAAmB,CAAC;AAAC6E,OAAA,CAAAF,UAAA,GAAAA,UAAA"}
|
@@ -396,7 +396,7 @@ export var AbstractChart = /*#__PURE__*/function (_Component) {
|
|
396
396
|
"width": plotWidth,
|
397
397
|
"height": plotHeight,
|
398
398
|
"dataHints": this.dataHints
|
399
|
-
}), this.renderAxis(), this.
|
399
|
+
}), this.renderAxis(), this.renderTooltip(), this.renderChart()));
|
400
400
|
}
|
401
401
|
}]);
|
402
402
|
return AbstractChart;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AbstractChart.js","names":["makeDataHintsContainer","interpolateValue","React","Component","Root","sstyled","callAllEventHandlers","ChartLegend","ChartLegendTable","Flex","Plot","XAxis","YAxis","Text","AbstractChart","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","Ticks","Grid","render","_ref","_ref2","SChart","_this$asProps7","styles","plotWidth","plotHeight","cn","_assignProps","renderChart","renderTooltip","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderChart()}\n {this.renderTooltip()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"AbstractChart.js","names":["makeDataHintsContainer","interpolateValue","React","Component","Root","sstyled","callAllEventHandlers","ChartLegend","ChartLegendTable","Flex","Plot","XAxis","YAxis","Text","AbstractChart","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","Ticks","Grid","render","_ref","_ref2","SChart","_this$asProps7","styles","plotWidth","plotHeight","cn","_assignProps","renderTooltip","renderChart","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|
@@ -33,13 +33,13 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
33
33
|
type: circle ? 'circle' : undefined
|
34
34
|
}, /*#__PURE__*/React.createElement(Radar.Axis, {
|
35
35
|
dataKey: groupKey
|
36
|
-
}, /*#__PURE__*/React.createElement(Radar.Axis.Ticks, null), /*#__PURE__*/React.createElement(Radar.Axis.Labels, null)), dataDefinitions.map(function (item) {
|
36
|
+
}, /*#__PURE__*/React.createElement(Radar.Axis.Ticks, null), /*#__PURE__*/React.createElement(Radar.Axis.Labels, null)), this.renderRadarTooltip(), dataDefinitions.map(function (item) {
|
37
37
|
return item.checked && /*#__PURE__*/React.createElement(Radar.Polygon, {
|
38
38
|
dataKey: item.id,
|
39
39
|
key: item.id,
|
40
40
|
color: item.color
|
41
41
|
}, /*#__PURE__*/React.createElement(Radar.Polygon.Line, null), showDots && /*#__PURE__*/React.createElement(Radar.Polygon.Dots, null));
|
42
|
-
})
|
42
|
+
}));
|
43
43
|
}
|
44
44
|
}, {
|
45
45
|
key: "renderRadarTooltip",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RadarChart.js","names":["React","createComponent","scaleLinear","AbstractChart","Radar","RadarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","map","item","checked","Polygon","id","color","Line","Dots","
|
1
|
+
{"version":3,"file":"RadarChart.js","names":["React","createComponent","scaleLinear","AbstractChart","Radar","RadarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","color","Line","Dots","_this","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","_data$groupKey","index","children","Fragment","Title","_data$item$id","Dot","tooltipValueFormatter","renderTooltip","get","_this$props","props","legendKeys","Object","keys","filter","_this$asProps$scale","domain","_this$asProps$scale2","Math","min","_toConsumableArray","_get","_getPrototypeOf","prototype","max","RadarChart"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear, ScaleLinear } from 'd3-scale';\nimport { AbstractChart } from './AbstractChart';\nimport { RadarChartData, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\n\nclass RadarChartComponent extends AbstractChart<RadarChartData, RadarChartProps> {\n protected renderChart(): React.ReactNode {\n const { groupKey, showDots, circle } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return (\n <Radar scale={this.xScale} type={circle ? 'circle' : undefined}>\n <Radar.Axis dataKey={groupKey}>\n <Radar.Axis.Ticks />\n <Radar.Axis.Labels />\n </Radar.Axis>\n {this.renderRadarTooltip()}\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Radar.Polygon dataKey={item.id} key={item.id} color={item.color}>\n <Radar.Polygon.Line />\n {showDots && <Radar.Polygon.Dots />}\n </Radar.Polygon>\n )\n );\n })}\n </Radar>\n );\n }\n\n protected renderRadarTooltip(): React.ReactNode {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Radar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <Radar.Tooltip.Title>{data[groupKey]?.[index]}</Radar.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n const value = data[item.id]?.[index];\n\n return (\n item.checked && (\n <Radar.Tooltip.Dot color={item.color} key={item.id}>\n {this.tooltipValueFormatter(value)}\n </Radar.Tooltip.Dot>\n )\n );\n })}\n </>\n ),\n };\n }}\n </Radar.Tooltip>\n );\n }\n\n // By default, tooltip will render in Plot component.\n // In RadarChart, we need to render it in Radar component, so we use renderRadarTooltip method\n protected renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((key) => key !== groupKey);\n\n return legendKeys;\n }\n\n protected get xScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n private get domain(): [number, number] {\n return [Math.min(...super.flatValues), Math.max(...super.flatValues)];\n }\n}\n\nexport const RadarChart: RadarChartType = createComponent(RadarChartComponent);\n"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "intergalactic",
|
3
|
-
"version": "15.43.
|
3
|
+
"version": "15.43.1-prerelease-92fc7334",
|
4
4
|
"license": "MIT",
|
5
5
|
"dependencies": {
|
6
6
|
"intergalactic-migrate": "0.0.0",
|
@@ -19,10 +19,10 @@
|
|
19
19
|
"d3-time": "3.1.0",
|
20
20
|
"d3-time-format": "4.1.0",
|
21
21
|
"d3-transition": "3.0.1",
|
22
|
-
"csstype": "3.0.8",
|
23
22
|
"final-form": "4.20.4",
|
24
23
|
"final-form-focus": "1.1.2",
|
25
24
|
"react-final-form": "6.5.9",
|
25
|
+
"csstype": "3.0.8",
|
26
26
|
"@babel/runtime": "^7.17.9",
|
27
27
|
"text-mask-core": "5.1.2",
|
28
28
|
"@popperjs/core": "2.11.5",
|
package/pills/lib/cjs/Pills.js
CHANGED
@@ -21,23 +21,23 @@ var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/
|
|
21
21
|
var _addonTextChildren = _interopRequireDefault(require("intergalactic/utils/lib/addonTextChildren"));
|
22
22
|
var _logger = _interopRequireDefault(require("intergalactic/utils/lib/logger"));
|
23
23
|
/*__reshadow-styles__:"./style/pills.shadow.css"*/
|
24
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
25
|
-
"__SPills": "
|
26
|
-
"__SPill": "
|
27
|
-
"_selected": "
|
28
|
-
"_keyboardFocused": "
|
29
|
-
"_behavior_auto": "
|
30
|
-
"_behavior_radio": "
|
31
|
-
"__SText": "
|
32
|
-
"__SAddon": "
|
33
|
-
"_neighborLocation_right": "
|
34
|
-
"_neighborLocation_both": "
|
35
|
-
"_neighborLocation_left": "
|
36
|
-
"_disabled": "
|
37
|
-
"_behavior_manual": "
|
38
|
-
"
|
39
|
-
"_size_m": "
|
40
|
-
"_size_l": "
|
24
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPill_qgpnm_gg_,.___SPills_qgpnm_gg_{display:inline-flex;align-items:center;justify-content:center;outline:0}.___SPills_qgpnm_gg_{isolation:isolate}.___SPill_qgpnm_gg_{line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_qgpnm_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_qgpnm_gg_:active,.___SPill_qgpnm_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_qgpnm_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_qgpnm_gg_.__selected_qgpnm_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:1}.___SPill_qgpnm_gg_.__disabled_qgpnm_gg_{cursor:default;pointer-events:none}.___SPill_qgpnm_gg_.__disabled_qgpnm_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_auto_qgpnm_gg_,.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_radio_qgpnm_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_manual_qgpnm_gg_>.___SPill_qgpnm_gg_.__keyboardFocused_qgpnm_gg_,.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_tabs_qgpnm_gg_>.___SPill_qgpnm_gg_.__keyboardFocused_qgpnm_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SText_qgpnm_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_qgpnm_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SText_qgpnm_gg_,.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SText_qgpnm_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:only-child,.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SText_qgpnm_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._neighborLocation_right_qgpnm_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_qgpnm_gg_._neighborLocation_both_qgpnm_gg_{border-radius:0;margin-left:-1px}.___SPill_qgpnm_gg_._neighborLocation_left_qgpnm_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}" /*__inner_css_end__*/, "qgpnm_gg_") /*__reshadow_css_end__*/, {
|
25
|
+
"__SPills": "___SPills_qgpnm_gg_",
|
26
|
+
"__SPill": "___SPill_qgpnm_gg_",
|
27
|
+
"_selected": "__selected_qgpnm_gg_",
|
28
|
+
"_keyboardFocused": "__keyboardFocused_qgpnm_gg_",
|
29
|
+
"_behavior_auto": "_behavior_auto_qgpnm_gg_",
|
30
|
+
"_behavior_radio": "_behavior_radio_qgpnm_gg_",
|
31
|
+
"__SText": "___SText_qgpnm_gg_",
|
32
|
+
"__SAddon": "___SAddon_qgpnm_gg_",
|
33
|
+
"_neighborLocation_right": "_neighborLocation_right_qgpnm_gg_",
|
34
|
+
"_neighborLocation_both": "_neighborLocation_both_qgpnm_gg_",
|
35
|
+
"_neighborLocation_left": "_neighborLocation_left_qgpnm_gg_",
|
36
|
+
"_disabled": "__disabled_qgpnm_gg_",
|
37
|
+
"_behavior_manual": "_behavior_manual_qgpnm_gg_",
|
38
|
+
"_behavior_tabs": "_behavior_tabs_qgpnm_gg_",
|
39
|
+
"_size_m": "_size_m_qgpnm_gg_",
|
40
|
+
"_size_l": "_size_l_qgpnm_gg_"
|
41
41
|
});
|
42
42
|
var RootPills = /*#__PURE__*/function (_Component) {
|
43
43
|
(0, _inherits2["default"])(RootPills, _Component);
|
@@ -68,7 +68,7 @@ SPills[keyboardFocused][behavior=auto], SPills[keyboardFocused][behavior=radio]
|
|
68
68
|
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
69
69
|
}
|
70
70
|
|
71
|
-
SPills[keyboardFocused][behavior=manual], SPills[keyboardFocused][behavior=
|
71
|
+
SPills[keyboardFocused][behavior=manual], SPills[keyboardFocused][behavior=tabs] {
|
72
72
|
> SPill[keyboardFocused] {
|
73
73
|
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
74
74
|
z-index: 1;
|
package/pills/lib/es6/Pills.js
CHANGED
@@ -18,23 +18,23 @@ import keyboardFocusEnhance from 'intergalactic/utils/lib/enhances/keyboardFocus
|
|
18
18
|
import addonTextChildren from 'intergalactic/utils/lib/addonTextChildren';
|
19
19
|
import log from 'intergalactic/utils/lib/logger';
|
20
20
|
/*__reshadow-styles__:"./style/pills.shadow.css"*/
|
21
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
22
|
-
"__SPills": "
|
23
|
-
"__SPill": "
|
24
|
-
"_selected": "
|
25
|
-
"_keyboardFocused": "
|
26
|
-
"_behavior_auto": "
|
27
|
-
"_behavior_radio": "
|
28
|
-
"__SText": "
|
29
|
-
"__SAddon": "
|
30
|
-
"_neighborLocation_right": "
|
31
|
-
"_neighborLocation_both": "
|
32
|
-
"_neighborLocation_left": "
|
33
|
-
"_disabled": "
|
34
|
-
"_behavior_manual": "
|
35
|
-
"
|
36
|
-
"_size_m": "
|
37
|
-
"_size_l": "
|
21
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPill_qgpnm_gg_,.___SPills_qgpnm_gg_{display:inline-flex;align-items:center;justify-content:center;outline:0}.___SPills_qgpnm_gg_{isolation:isolate}.___SPill_qgpnm_gg_{line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_qgpnm_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_qgpnm_gg_:active,.___SPill_qgpnm_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_qgpnm_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_qgpnm_gg_.__selected_qgpnm_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:1}.___SPill_qgpnm_gg_.__disabled_qgpnm_gg_{cursor:default;pointer-events:none}.___SPill_qgpnm_gg_.__disabled_qgpnm_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_auto_qgpnm_gg_,.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_radio_qgpnm_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_manual_qgpnm_gg_>.___SPill_qgpnm_gg_.__keyboardFocused_qgpnm_gg_,.___SPills_qgpnm_gg_.__keyboardFocused_qgpnm_gg_._behavior_tabs_qgpnm_gg_>.___SPill_qgpnm_gg_.__keyboardFocused_qgpnm_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SText_qgpnm_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_qgpnm_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SText_qgpnm_gg_,.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SText_qgpnm_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_m_qgpnm_gg_ .___SAddon_qgpnm_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:only-child,.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SText_qgpnm_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._size_l_qgpnm_gg_ .___SAddon_qgpnm_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_qgpnm_gg_._neighborLocation_right_qgpnm_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_qgpnm_gg_._neighborLocation_both_qgpnm_gg_{border-radius:0;margin-left:-1px}.___SPill_qgpnm_gg_._neighborLocation_left_qgpnm_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}" /*__inner_css_end__*/, "qgpnm_gg_") /*__reshadow_css_end__*/, {
|
22
|
+
"__SPills": "___SPills_qgpnm_gg_",
|
23
|
+
"__SPill": "___SPill_qgpnm_gg_",
|
24
|
+
"_selected": "__selected_qgpnm_gg_",
|
25
|
+
"_keyboardFocused": "__keyboardFocused_qgpnm_gg_",
|
26
|
+
"_behavior_auto": "_behavior_auto_qgpnm_gg_",
|
27
|
+
"_behavior_radio": "_behavior_radio_qgpnm_gg_",
|
28
|
+
"__SText": "___SText_qgpnm_gg_",
|
29
|
+
"__SAddon": "___SAddon_qgpnm_gg_",
|
30
|
+
"_neighborLocation_right": "_neighborLocation_right_qgpnm_gg_",
|
31
|
+
"_neighborLocation_both": "_neighborLocation_both_qgpnm_gg_",
|
32
|
+
"_neighborLocation_left": "_neighborLocation_left_qgpnm_gg_",
|
33
|
+
"_disabled": "__disabled_qgpnm_gg_",
|
34
|
+
"_behavior_manual": "_behavior_manual_qgpnm_gg_",
|
35
|
+
"_behavior_tabs": "_behavior_tabs_qgpnm_gg_",
|
36
|
+
"_size_m": "_size_m_qgpnm_gg_",
|
37
|
+
"_size_l": "_size_l_qgpnm_gg_"
|
38
38
|
});
|
39
39
|
var RootPills = /*#__PURE__*/function (_Component) {
|
40
40
|
_inherits(RootPills, _Component);
|
@@ -68,7 +68,7 @@ SPills[keyboardFocused][behavior=auto], SPills[keyboardFocused][behavior=radio]
|
|
68
68
|
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
69
69
|
}
|
70
70
|
|
71
|
-
SPills[keyboardFocused][behavior=manual], SPills[keyboardFocused][behavior=
|
71
|
+
SPills[keyboardFocused][behavior=manual], SPills[keyboardFocused][behavior=tabs] {
|
72
72
|
> SPill[keyboardFocused] {
|
73
73
|
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
74
74
|
z-index: 1;
|