@semcore/d3-chart 16.5.0 → 16.6.0-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/lib/cjs/Area.js +11 -11
- package/lib/cjs/Axis.js +15 -15
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +20 -15
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +16 -16
- package/lib/cjs/Donut.js +9 -9
- package/lib/cjs/Dots.js +8 -8
- package/lib/cjs/HorizontalBar.js +16 -16
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +19 -19
- package/lib/cjs/RadialTree.js +12 -12
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ScatterPlot.js +9 -9
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +9 -23
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +252 -90
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/cjs/style/bubble.shadow.css +4 -0
- package/lib/cjs/utils.js +3 -2
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +11 -11
- package/lib/es6/Axis.js +15 -15
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +20 -15
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +16 -16
- package/lib/es6/Donut.js +9 -9
- package/lib/es6/Dots.js +8 -8
- package/lib/es6/HorizontalBar.js +16 -16
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +19 -19
- package/lib/es6/RadialTree.js +12 -12
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ScatterPlot.js +9 -9
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +9 -23
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +254 -92
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/es6/style/bubble.shadow.css +4 -0
- package/lib/es6/utils.js +3 -2
- package/lib/es6/utils.js.map +1 -1
- package/lib/esm/Area.mjs +12 -12
- package/lib/esm/Axis.mjs +16 -16
- package/lib/esm/Bar.mjs +17 -17
- package/lib/esm/Bubble.mjs +20 -17
- package/lib/esm/CompactHorizontalBar.mjs +17 -17
- package/lib/esm/Donut.mjs +10 -10
- package/lib/esm/Dots.mjs +9 -9
- package/lib/esm/HorizontalBar.mjs +17 -17
- package/lib/esm/Hover.mjs +4 -4
- package/lib/esm/Line.mjs +10 -10
- package/lib/esm/Plot.mjs +4 -4
- package/lib/esm/Radar.mjs +20 -20
- package/lib/esm/RadialTree.mjs +13 -13
- package/lib/esm/Reference.mjs +13 -13
- package/lib/esm/ScatterPlot.mjs +10 -10
- package/lib/esm/Tooltip.mjs +10 -10
- package/lib/esm/Venn.mjs +10 -10
- package/lib/esm/a11y/PlotA11yModule.mjs +3 -3
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/component/Chart/AbstractChart.mjs +10 -24
- package/lib/esm/component/Chart/CigaretteChart.mjs +210 -61
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
- package/lib/esm/style/bubble.shadow.css +4 -0
- package/lib/esm/utils.mjs +2 -2
- package/lib/types/component/Chart/AbstractChart.d.ts +4 -7
- package/lib/types/component/Chart/CigaretteChart.type.d.ts +7 -4
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\
|
|
1
|
+
{"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\nexport type CigaretteChartDataKey = string;\n\nexport type CigaretteChartData = Record<CigaretteChartDataKey, number | typeof interpolateValue>;\n\nexport type CigaretteChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CigaretteChartData>,\n 'xScale' | 'yScale'\n> & {\n /** Title text displayed in the tooltip */\n tooltipTitle?: string;\n /** Controls whether the tooltip shows all data or single item data */\n tooltipViewType?: 'all' | 'single';\n /** Show percent value in tooltip */\n showPercentValueInTooltip?: boolean;\n /** Custom percent formatter. */\n percentFormatter?: (value: number) => number;\n /** Header content for the chart */\n header?: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Click handler that receives the data key and event */\n onClick?: (key: CigaretteChartDataKey, event: React.SyntheticEvent) => void;\n /** Minimal bar width in pixels. Default is `2`. */\n minimalBarWidth?: number;\n};\n\nexport type CigaretteChartType = Intergalactic.Component<'div', CigaretteChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -21,12 +21,12 @@ var _intergalacticDynamicLocales = require("../../../translations/__intergalacti
|
|
|
21
21
|
var _BaseLegend2 = require("../BaseLegend");
|
|
22
22
|
var _LegendItem = require("../LegendItem/LegendItem");
|
|
23
23
|
/*!__reshadow-styles__:"./legend-flex.shadow.css"*/
|
|
24
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
24
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendFlex_bsbfx_gg_._direction_row_bsbfx_gg_{align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_bsbfx_gg_._direction_column_bsbfx_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}", /*__inner_css_end__*/"bsbfx_gg_"),
|
|
25
25
|
/*__reshadow_css_end__*/
|
|
26
26
|
{
|
|
27
|
-
"__SLegendFlex": "
|
|
28
|
-
"_direction_row": "
|
|
29
|
-
"_direction_column": "
|
|
27
|
+
"__SLegendFlex": "___SLegendFlex_bsbfx_gg_",
|
|
28
|
+
"_direction_row": "_direction_row_bsbfx_gg_",
|
|
29
|
+
"_direction_column": "_direction_column_bsbfx_gg_"
|
|
30
30
|
});
|
|
31
31
|
var LegendFlexRoot = /*#__PURE__*/function (_BaseLegend) {
|
|
32
32
|
function LegendFlexRoot() {
|
|
@@ -24,25 +24,25 @@ var _Pattern = require("../../../Pattern");
|
|
|
24
24
|
var _utils = require("../../../utils");
|
|
25
25
|
var _excluded = ["id", "checked", "color", "onChangeLegendItem", "shape"];
|
|
26
26
|
/*!__reshadow-styles__:"./legend-item.shadow.css"*/
|
|
27
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
27
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendItem_ah6rb_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_ah6rb_gg_:hover{cursor:pointer}.___SLegendItem_ah6rb_gg_.__disabled_ah6rb_gg_:hover{cursor:default}}.___SPointShape_ah6rb_gg_.__color_ah6rb_gg_{background-color:var(--color_ah6rb);margin-right:8px;flex-shrink:0}.___SPointShape_ah6rb_gg_._shape_Circle_ah6rb_gg_._size_l_ah6rb_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_ah6rb_gg_._shape_Circle_ah6rb_gg_._size_m_ah6rb_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_ah6rb_gg_._shape_Line_ah6rb_gg_._size_l_ah6rb_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_ah6rb_gg_._shape_Line_ah6rb_gg_._size_m_ah6rb_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_ah6rb_gg_._shape_Square_ah6rb_gg_._size_l_ah6rb_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_ah6rb_gg_._shape_Square_ah6rb_gg_._size_m_ah6rb_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_ah6rb_gg_._shape_Pattern_ah6rb_gg_{background-color:transparent;margin-right:4px}.___SIcon_ah6rb_gg_{line-height:0;margin-right:4px}.___SIcon_ah6rb_gg_._size_l_ah6rb_gg_{margin-top:4px}.___SIcon_ah6rb_gg_._size_m_ah6rb_gg_{margin-top:2px}.___SLabel_ah6rb_gg_{min-width:0}.___SAdditionalLabel_ah6rb_gg_._size_l_ah6rb_gg_,.___SCount_ah6rb_gg_._size_l_ah6rb_gg_,.___SLabel_ah6rb_gg_._size_l_ah6rb_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SAdditionalLabel_ah6rb_gg_._size_m_ah6rb_gg_,.___SCount_ah6rb_gg_._size_m_ah6rb_gg_,.___SLabel_ah6rb_gg_._size_m_ah6rb_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SAdditionalLabel_ah6rb_gg_,.___SCount_ah6rb_gg_{margin-left:4px}.___SAdditionalLabel_ah6rb_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_ah6rb_gg_::before{content:\"\";display:inline-block;background-color:var(--intergalactic-text-secondary, #6c6e79);height:4px;width:4px;border-radius:2px;margin-right:4px}.___SAdditionalLabel_ah6rb_gg_._size_l_ah6rb_gg_::before{margin-top:10px}.___SAdditionalLabel_ah6rb_gg_._size_m_ah6rb_gg_::before{margin-top:8px}.___SPatternSymbol_ah6rb_gg_{transform:scale(.8)}", /*__inner_css_end__*/"ah6rb_gg_"),
|
|
28
28
|
/*__reshadow_css_end__*/
|
|
29
29
|
{
|
|
30
|
-
"__SLegendItem": "
|
|
31
|
-
"_disabled": "
|
|
32
|
-
"__SPointShape": "
|
|
33
|
-
"_color": "
|
|
34
|
-
"--color": "--
|
|
35
|
-
"_shape_Circle": "
|
|
36
|
-
"_size_l": "
|
|
37
|
-
"_size_m": "
|
|
38
|
-
"_shape_Line": "
|
|
39
|
-
"_shape_Square": "
|
|
40
|
-
"_shape_Pattern": "
|
|
41
|
-
"__SIcon": "
|
|
42
|
-
"__SLabel": "
|
|
43
|
-
"__SAdditionalLabel": "
|
|
44
|
-
"__SCount": "
|
|
45
|
-
"__SPatternSymbol": "
|
|
30
|
+
"__SLegendItem": "___SLegendItem_ah6rb_gg_",
|
|
31
|
+
"_disabled": "__disabled_ah6rb_gg_",
|
|
32
|
+
"__SPointShape": "___SPointShape_ah6rb_gg_",
|
|
33
|
+
"_color": "__color_ah6rb_gg_",
|
|
34
|
+
"--color": "--color_ah6rb",
|
|
35
|
+
"_shape_Circle": "_shape_Circle_ah6rb_gg_",
|
|
36
|
+
"_size_l": "_size_l_ah6rb_gg_",
|
|
37
|
+
"_size_m": "_size_m_ah6rb_gg_",
|
|
38
|
+
"_shape_Line": "_shape_Line_ah6rb_gg_",
|
|
39
|
+
"_shape_Square": "_shape_Square_ah6rb_gg_",
|
|
40
|
+
"_shape_Pattern": "_shape_Pattern_ah6rb_gg_",
|
|
41
|
+
"__SIcon": "___SIcon_ah6rb_gg_",
|
|
42
|
+
"__SLabel": "___SLabel_ah6rb_gg_",
|
|
43
|
+
"__SAdditionalLabel": "___SAdditionalLabel_ah6rb_gg_",
|
|
44
|
+
"__SCount": "___SCount_ah6rb_gg_",
|
|
45
|
+
"__SPatternSymbol": "___SPatternSymbol_ah6rb_gg_"
|
|
46
46
|
});
|
|
47
47
|
var enhance = [(0, _resolveColorEnhance["default"])(), (0, _uniqueID["default"])()];
|
|
48
48
|
var LegendItemRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -17,14 +17,14 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
var _BaseLegend2 = require("../BaseLegend");
|
|
18
18
|
var _LegendItem = require("../LegendItem/LegendItem");
|
|
19
19
|
/*!__reshadow-styles__:"./legend-table.shadow.css"*/
|
|
20
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SLegendTable_nfmvg_gg_.__columns-count_nfmvg_gg_{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_nfmvg_gg_._size_l_nfmvg_gg_{font-size:var(--intergalactic-fs-300, 16px);text-align:right}.___SColumnItem_nfmvg_gg_._size_m_nfmvg_gg_{font-size:var(--intergalactic-fs-200, 14px);text-align:right}", /*__inner_css_end__*/"nfmvg_gg_"),
|
|
21
21
|
/*__reshadow_css_end__*/
|
|
22
22
|
{
|
|
23
|
-
"__SLegendTable": "
|
|
24
|
-
"_columns-count": "__columns-
|
|
25
|
-
"__SColumnItem": "
|
|
26
|
-
"_size_l": "
|
|
27
|
-
"_size_m": "
|
|
23
|
+
"__SLegendTable": "___SLegendTable_nfmvg_gg_",
|
|
24
|
+
"_columns-count": "__columns-count_nfmvg_gg_",
|
|
25
|
+
"__SColumnItem": "___SColumnItem_nfmvg_gg_",
|
|
26
|
+
"_size_l": "_size_l_nfmvg_gg_",
|
|
27
|
+
"_size_m": "_size_m_nfmvg_gg_"
|
|
28
28
|
});
|
|
29
29
|
var LegendTableRoot = /*#__PURE__*/function (_BaseLegend) {
|
|
30
30
|
function LegendTableRoot() {
|
package/lib/cjs/utils.js
CHANGED
|
@@ -222,7 +222,8 @@ var getChartDefaultColorName = exports.getChartDefaultColorName = function getCh
|
|
|
222
222
|
var getBubbleChartValueScale = exports.getBubbleChartValueScale = function getBubbleChartValueScale(data, key) {
|
|
223
223
|
var z = (0, _d3Scale.scaleSqrt)().domain([0, Math.max.apply(Math, (0, _toConsumableArray2["default"])(data.map(function (el) {
|
|
224
224
|
return el[key];
|
|
225
|
-
})))]).range([5.5, 50.5]);
|
|
225
|
+
})))]).range([5.5, 50.5]); // min/max radius
|
|
226
|
+
|
|
226
227
|
return z;
|
|
227
228
|
};
|
|
228
229
|
var getScatterPlotRadius = exports.getScatterPlotRadius = function getScatterPlotRadius(valueKey) {
|
|
@@ -259,7 +260,7 @@ var calculateBubbleDomain = exports.calculateBubbleDomain = function calculateBu
|
|
|
259
260
|
var maxValueShift = valueScale(maxestValue) * pixelRatio;
|
|
260
261
|
min -= minValueShift * 2;
|
|
261
262
|
max += maxValueShift * 2;
|
|
262
|
-
return [min, max];
|
|
263
|
+
return [Math.floor(min), Math.floor(max)];
|
|
263
264
|
};
|
|
264
265
|
var PlotEventEmitter = exports.PlotEventEmitter = _eventEmitter["default"];
|
|
265
266
|
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_eventEmitter","_interopRequireDefault","require","_d3Array","_d3Scale","eventToPoint","exports","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty2","prev","next","defNext","find","_objectSpread4","length","defPrev","getIndexFromData","Array","isArray","bisect","bisector","center","index","findIndex","keys","Object","map","_key","item","interpolateValue","lastKeyIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","scaleToBand","band","scaleBand","memoize","func","results","_len","args","_key3","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper2","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","Math","max","idCounter","uniqueId","prefix","Symbol","getChartDefaultColorName","getBubbleChartValueScale","z","scaleSqrt","_toConsumableArray2","el","getScatterPlotRadius","valueKey","calculateBubbleDomain","miniestValue","min","maxestValue","_minMax","_minMax2","_slicedToArray2","pixelRatio","abs","valueScale","minValueShift","maxValueShift","PlotEventEmitter","EventEmitter"],"sources":["../../src/utils.ts"],"sourcesContent":["import EventEmitter from '@semcore/core/lib/utils/eventEmitter';\nimport { extent, bisector, type Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n type ScaleIdentity,\n type ScaleTime,\n type ScaleContinuousNumeric,\n type ScaleBand,\n type ScalePoint,\n type NumberValue,\n scaleBand,\n scaleSqrt,\n} from 'd3-scale';\nimport type React from 'react';\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<{}>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends { [key: string]: Numeric | null | undefined }[] = {\n [key: string]: Numeric | null | undefined;\n }[],\n>(\n data: Data,\n key: Key,\n): [min: Data[0][Key], max: Data[0][Key]] => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]) as any;\n }\n return extent(data, key) as any;\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Key extends string,\n Data extends {\n [key in Key]: number;\n } = { [key in Key]: number },\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: Key,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function' && Array.isArray(data)) {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n } else if ('step' in scale && typeof scale.step !== 'undefined' && Array.isArray(data)) { // detect bar chart\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else if ('invert' in scale && typeof scale.invert === 'function' && !Array.isArray(data)) { // detect cigarette chart\n const keys = Object.keys(data);\n const domain = keys.map((_key, index) => {\n return keys.slice(0, index).reduce((acc, item) => {\n if (data[item] !== interpolateValue) {\n acc = acc + data[item];\n }\n\n return acc;\n }, 0);\n });\n\n let key = null;\n\n const lastKeyIndex = keys.length - 1;\n\n if (value > domain[lastKeyIndex]) {\n key = keys[lastKeyIndex];\n } else {\n for (let i = 0; i < lastKeyIndex; i++) {\n if (i === 0 && value < domain[i]) {\n break;\n }\n\n if (value > domain[i] && value < domain[i + 1]) {\n key = keys[i];\n break;\n }\n }\n }\n\n return key;\n } else {\n // eslint-disable-next-line no-console\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const scaleToBand = (scale: ScaleBand<{}>) => {\n if ('bandwidth' in scale) {\n return scale;\n }\n\n const band = scaleBand()\n .range((scale as any).range())\n .domain((scale as any).domain());\n\n return band;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n\nexport const interpolateValue = Symbol('intergalactic-d3-chart-line-interpolate');\n\nexport const getChartDefaultColorName = (index: number) => {\n index++;\n if (index < 1) index = 1;\n if (index > 24) index %= 24;\n\n return `chart-palette-order-${index}`;\n};\n\nexport const getBubbleChartValueScale = (data: any[], key: string) => {\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[key]))])\n .range([5.5, 50.5]);\n\n return z;\n};\n\nexport const getScatterPlotRadius = (valueKey?: string): number => {\n return valueKey !== undefined ? 12 : 5.5;\n};\n\ntype BubbleChartDataItem = {\n value: number;\n x: number;\n y: number;\n};\n\nexport const calculateBubbleDomain = (\n data: Array<BubbleChartDataItem>,\n key: 'x' | 'y',\n range: [number, number],\n): [min: number, max: number] => {\n const miniestValue = data.reduce(\n (acc, item) => {\n if (item[key] - item.value < acc.min) {\n acc.min = item[key] - item.value;\n acc.value = item.value;\n }\n return acc;\n },\n { value: data[0].value, min: data[0][key] - data[0].value },\n ).value;\n const maxestValue = data.reduce(\n (acc, item) => {\n if (item.value + item[key] > acc.max) {\n acc.max = item.value + item.x;\n acc.value = item.value;\n }\n return acc;\n },\n { value: data[0].value, max: data[0].value + data[0][key] },\n ).value;\n\n let [min, max] = minMax(data, key);\n\n const pixelRatio = Math.abs(max - min) / Math.abs(range[0] - range[1]);\n const valueScale = getBubbleChartValueScale(data, 'value');\n const minValueShift = valueScale(miniestValue) * pixelRatio;\n const maxValueShift = valueScale(maxestValue) * pixelRatio;\n min -= minValueShift * 2;\n max += maxValueShift * 2;\n\n return [min, max];\n};\n\ninterface PlotEventEmitterEmit {\n (event: `setTooltipVisible_${string}`, visible: boolean): void;\n (event: `setTooltipPosition_${string}`, x: number, y: number): void;\n}\ntype Unsubscribe = () => void;\ninterface PlotEventEmitterSubscribe {\n (event: `setTooltipVisible_${string}`, callback: (visible: boolean) => void): Unsubscribe;\n (event: `setTooltipPosition_${string}`, callback: (x: number, y: number) => void): Unsubscribe;\n}\nexport const PlotEventEmitter = EventEmitter as typeof EventEmitter<\n PlotEventEmitterEmit,\n PlotEventEmitterSubscribe\n>;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_eventEmitter","_interopRequireDefault","require","_d3Array","_d3Scale","eventToPoint","exports","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty2","prev","next","defNext","find","_objectSpread4","length","defPrev","getIndexFromData","Array","isArray","bisect","bisector","center","index","findIndex","keys","Object","map","_key","item","interpolateValue","lastKeyIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","scaleToBand","band","scaleBand","memoize","func","results","_len","args","_key3","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper2","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","Math","max","idCounter","uniqueId","prefix","Symbol","getChartDefaultColorName","getBubbleChartValueScale","z","scaleSqrt","_toConsumableArray2","el","getScatterPlotRadius","valueKey","calculateBubbleDomain","miniestValue","min","maxestValue","_minMax","_minMax2","_slicedToArray2","pixelRatio","abs","valueScale","minValueShift","maxValueShift","floor","PlotEventEmitter","EventEmitter"],"sources":["../../src/utils.ts"],"sourcesContent":["import EventEmitter from '@semcore/core/lib/utils/eventEmitter';\nimport { extent, bisector, type Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n type ScaleIdentity,\n type ScaleTime,\n type ScaleContinuousNumeric,\n type ScaleBand,\n type ScalePoint,\n type NumberValue,\n scaleBand,\n scaleSqrt,\n} from 'd3-scale';\nimport type React from 'react';\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<{}>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends { [key: string]: Numeric | null | undefined }[] = {\n [key: string]: Numeric | null | undefined;\n }[],\n>(\n data: Data,\n key: Key,\n): [min: Data[0][Key], max: Data[0][Key]] => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]) as any;\n }\n return extent(data, key) as any;\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Key extends string,\n Data extends {\n [key in Key]: number;\n } = { [key in Key]: number },\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: Key,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function' && Array.isArray(data)) {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n } else if ('step' in scale && typeof scale.step !== 'undefined' && Array.isArray(data)) { // detect bar chart\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else if ('invert' in scale && typeof scale.invert === 'function' && !Array.isArray(data)) { // detect cigarette chart\n const keys = Object.keys(data);\n const domain = keys.map((_key, index) => {\n return keys.slice(0, index).reduce((acc, item) => {\n if (data[item] !== interpolateValue) {\n acc = acc + data[item];\n }\n\n return acc;\n }, 0);\n });\n\n let key = null;\n\n const lastKeyIndex = keys.length - 1;\n\n if (value > domain[lastKeyIndex]) {\n key = keys[lastKeyIndex];\n } else {\n for (let i = 0; i < lastKeyIndex; i++) {\n if (i === 0 && value < domain[i]) {\n break;\n }\n\n if (value > domain[i] && value < domain[i + 1]) {\n key = keys[i];\n break;\n }\n }\n }\n\n return key;\n } else {\n // eslint-disable-next-line no-console\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const scaleToBand = (scale: ScaleBand<{}>) => {\n if ('bandwidth' in scale) {\n return scale;\n }\n\n const band = scaleBand()\n .range((scale as any).range())\n .domain((scale as any).domain());\n\n return band;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n\nexport const interpolateValue = Symbol('intergalactic-d3-chart-line-interpolate');\n\nexport const getChartDefaultColorName = (index: number) => {\n index++;\n if (index < 1) index = 1;\n if (index > 24) index %= 24;\n\n return `chart-palette-order-${index}`;\n};\n\nexport const getBubbleChartValueScale = (data: any[], key: string) => {\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[key]))])\n .range([5.5, 50.5]); // min/max radius\n\n return z;\n};\n\nexport const getScatterPlotRadius = (valueKey?: string): number => {\n return valueKey !== undefined ? 12 : 5.5;\n};\n\ntype BubbleChartDataItem = {\n value: number;\n x: number;\n y: number;\n};\n\nexport const calculateBubbleDomain = (\n data: Array<BubbleChartDataItem>,\n key: 'x' | 'y',\n range: [number, number],\n): [min: number, max: number] => {\n const miniestValue = data.reduce(\n (acc, item) => {\n if (item[key] - item.value < acc.min) {\n acc.min = item[key] - item.value;\n acc.value = item.value;\n }\n return acc;\n },\n { value: data[0].value, min: data[0][key] - data[0].value },\n ).value;\n const maxestValue = data.reduce(\n (acc, item) => {\n if (item.value + item[key] > acc.max) {\n acc.max = item.value + item.x;\n acc.value = item.value;\n }\n return acc;\n },\n { value: data[0].value, max: data[0].value + data[0][key] },\n ).value;\n\n let [min, max] = minMax(data, key);\n\n const pixelRatio = Math.abs(max - min) / Math.abs(range[0] - range[1]);\n const valueScale = getBubbleChartValueScale(data, 'value');\n const minValueShift = valueScale(miniestValue) * pixelRatio;\n const maxValueShift = valueScale(maxestValue) * pixelRatio;\n min -= minValueShift * 2;\n max += maxValueShift * 2;\n\n return [Math.floor(min), Math.floor(max)];\n};\n\ninterface PlotEventEmitterEmit {\n (event: `setTooltipVisible_${string}`, visible: boolean): void;\n (event: `setTooltipPosition_${string}`, x: number, y: number): void;\n}\ntype Unsubscribe = () => void;\ninterface PlotEventEmitterSubscribe {\n (event: `setTooltipVisible_${string}`, callback: (visible: boolean) => void): Unsubscribe;\n (event: `setTooltipPosition_${string}`, callback: (x: number, y: number) => void): Unsubscribe;\n}\nexport const PlotEventEmitter = EventEmitter as typeof EventEmitter<\n PlotEventEmitterEmit,\n PlotEventEmitterSubscribe\n>;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/Area.js
CHANGED
|
@@ -17,19 +17,19 @@ import createElement from './createElement';
|
|
|
17
17
|
import Dots from './Dots';
|
|
18
18
|
import { PatternFill } from './Pattern';
|
|
19
19
|
/*!__reshadow-styles__:"./style/area.shadow.css"*/
|
|
20
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SArea_1woak_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_1woak_gg_.__color_1woak_gg_{fill:var(--color_1woak)}.___SArea_1woak_gg_.__pattern_1woak_gg_{fill:var(--pattern_1woak);fill-opacity:.7}.___SArea_1woak_gg_.__transparent_1woak_gg_{opacity:.3}.___SAreaLine_1woak_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_1woak_gg_.__color_1woak_gg_{stroke:var(--color_1woak)}.___SAreaLine_1woak_gg_.__transparent_1woak_gg_{opacity:.3}.___SAreaLine_1woak_gg_,.___SArea_1woak_gg_{transition-property:d;transition-duration:var(--duration_1woak);transition-timing-function:ease-in-out}.___SNull_1woak_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_1woak_gg_.__hide_1woak_gg_{display:none}", /*__inner_css_end__*/"1woak_gg_"),
|
|
21
21
|
/*__reshadow_css_end__*/
|
|
22
22
|
{
|
|
23
|
-
"__SArea": "
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_pattern": "
|
|
27
|
-
"--pattern": "--
|
|
28
|
-
"_transparent": "
|
|
29
|
-
"__SAreaLine": "
|
|
30
|
-
"--duration": "--
|
|
31
|
-
"__SNull": "
|
|
32
|
-
"_hide": "
|
|
23
|
+
"__SArea": "___SArea_1woak_gg_",
|
|
24
|
+
"_color": "__color_1woak_gg_",
|
|
25
|
+
"--color": "--color_1woak",
|
|
26
|
+
"_pattern": "__pattern_1woak_gg_",
|
|
27
|
+
"--pattern": "--pattern_1woak",
|
|
28
|
+
"_transparent": "__transparent_1woak_gg_",
|
|
29
|
+
"__SAreaLine": "___SAreaLine_1woak_gg_",
|
|
30
|
+
"--duration": "--duration_1woak",
|
|
31
|
+
"__SNull": "___SNull_1woak_gg_",
|
|
32
|
+
"_hide": "__hide_1woak_gg_"
|
|
33
33
|
});
|
|
34
34
|
import { definedData, scaleOfBandwidth, getNullData, definedNullData, interpolateValue, eventToPoint, invert } from './utils';
|
|
35
35
|
var AreaRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Axis.js
CHANGED
|
@@ -11,23 +11,23 @@ import { Component, sstyled } from '@semcore/core';
|
|
|
11
11
|
import React, { useState, useEffect } from 'react';
|
|
12
12
|
import createElement from './createElement';
|
|
13
13
|
/*!__reshadow-styles__:"./style/axis.shadow.css"*/
|
|
14
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
14
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SAxis_1d0pn_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_1d0pn_gg_.__hide_1d0pn_gg_,.___STick_1d0pn_gg_.__hide_1d0pn_gg_{display:none}.___STick_1d0pn_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_1d0pn_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_1d0pn_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_1d0pn)}.___STitle_1d0pn_gg_._position_top_1d0pn_gg_{text-anchor:middle}.___STitle_1d0pn_gg_._position_bottom_1d0pn_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1d0pn_gg_._position_left_1d0pn_gg_,.___STitle_1d0pn_gg_._position_right_1d0pn_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___STitle_1d0pn_gg_._position_left_1d0pn_gg_.__verticalWritingMode_1d0pn_gg_,.___STitle_1d0pn_gg_._position_right_1d0pn_gg_.__verticalWritingMode_1d0pn_gg_{writing-mode:vertical-rl;transform:none}.___STick_1d0pn_gg_._position_top_1d0pn_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1d0pn_gg_._position_bottom_1d0pn_gg_{transform:translateY(12px);text-anchor:middle;dominant-baseline:hanging}.___STick_1d0pn_gg_._position_bottom_1d0pn_gg_ tspan{dominant-baseline:hanging}.___STick_1d0pn_gg_._position_right_1d0pn_gg_{transform:translateX(16px);text-anchor:start;dominant-baseline:middle}.___STick_1d0pn_gg_._position_left_1d0pn_gg_ tspan,.___STick_1d0pn_gg_._position_right_1d0pn_gg_ tspan{dominant-baseline:middle}.___STick_1d0pn_gg_._position_left_1d0pn_gg_.__multiline_1d0pn_gg_,.___STick_1d0pn_gg_._position_left_1d0pn_gg_.__multiline_1d0pn_gg_ tspan,.___STick_1d0pn_gg_._position_right_1d0pn_gg_.__multiline_1d0pn_gg_,.___STick_1d0pn_gg_._position_right_1d0pn_gg_.__multiline_1d0pn_gg_ tspan{dominant-baseline:auto}.___STick_1d0pn_gg_._position_left_1d0pn_gg_{transform:translateX(-16px);text-anchor:end;dominant-baseline:middle}.___STick_1d0pn_gg_._position_custom_0_1d0pn_gg_{transform:translateY(12px);text-anchor:middle;dominant-baseline:hanging}.___STick_1d0pn_gg_._position_custom_0_1d0pn_gg_ tspan{dominant-baseline:hanging}.___STick_1d0pn_gg_._position_custom_1_1d0pn_gg_{transform:translateX(-16px);text-anchor:end;dominant-baseline:middle}.___STick_1d0pn_gg_._position_custom_1_1d0pn_gg_ tspan{dominant-baseline:middle}", /*__inner_css_end__*/"1d0pn_gg_"),
|
|
15
15
|
/*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SAxis": "
|
|
18
|
-
"_hide": "
|
|
19
|
-
"__STick": "
|
|
20
|
-
"__SGrid": "
|
|
21
|
-
"__STitle": "
|
|
22
|
-
"--transform-origin": "--transform-
|
|
23
|
-
"_position_top": "
|
|
24
|
-
"_position_bottom": "
|
|
25
|
-
"_position_right": "
|
|
26
|
-
"_position_left": "
|
|
27
|
-
"_verticalWritingMode": "
|
|
28
|
-
"_multiline": "
|
|
29
|
-
"_position_custom_0": "
|
|
30
|
-
"_position_custom_1": "
|
|
17
|
+
"__SAxis": "___SAxis_1d0pn_gg_",
|
|
18
|
+
"_hide": "__hide_1d0pn_gg_",
|
|
19
|
+
"__STick": "___STick_1d0pn_gg_",
|
|
20
|
+
"__SGrid": "___SGrid_1d0pn_gg_",
|
|
21
|
+
"__STitle": "___STitle_1d0pn_gg_",
|
|
22
|
+
"--transform-origin": "--transform-origin_1d0pn",
|
|
23
|
+
"_position_top": "_position_top_1d0pn_gg_",
|
|
24
|
+
"_position_bottom": "_position_bottom_1d0pn_gg_",
|
|
25
|
+
"_position_right": "_position_right_1d0pn_gg_",
|
|
26
|
+
"_position_left": "_position_left_1d0pn_gg_",
|
|
27
|
+
"_verticalWritingMode": "__verticalWritingMode_1d0pn_gg_",
|
|
28
|
+
"_multiline": "__multiline_1d0pn_gg_",
|
|
29
|
+
"_position_custom_0": "_position_custom_0_1d0pn_gg_",
|
|
30
|
+
"_position_custom_1": "_position_custom_1_1d0pn_gg_"
|
|
31
31
|
});
|
|
32
32
|
import { scaleOfBandwidth } from './utils';
|
|
33
33
|
var CUSTOM_0 = Symbol('custom_0');
|
package/lib/es6/Bar.js
CHANGED
|
@@ -13,24 +13,24 @@ import AnimatedClipPath from './AnimatedClipPath';
|
|
|
13
13
|
import createElement from './createElement';
|
|
14
14
|
import { PatternFill } from './Pattern';
|
|
15
15
|
/*!__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
16
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
16
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SBar_bdlu1_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_bdlu1);transition-timing-function:ease-in-out}.___SBar_bdlu1_gg_.__color_bdlu1_gg_{fill:var(--color_bdlu1)}.___SBar_bdlu1_gg_.__pattern_bdlu1_gg_.__color_bdlu1_gg_{fill:var(--pattern_bdlu1);stroke:var(--color_bdlu1);stroke-width:1px}.___SBar_bdlu1_gg_.__hide_bdlu1_gg_{display:none}.___SBar_bdlu1_gg_.__transparent_bdlu1_gg_{opacity:.3}.___SBackground_bdlu1_gg_.__onClick_bdlu1_gg_,.___SBar_bdlu1_gg_.__onClick_bdlu1_gg_{cursor:pointer}.___SBackground_bdlu1_gg_{fill:var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9)}.___SBarAnnotation_bdlu1_gg_{display:flex;justify-content:space-between}.___SBarLabel_bdlu1_gg_{color:var(--intergalactic-text-primary, #191b23);margin-right:auto}.___SBarLabel_bdlu1_gg_,.___SBarPercent_bdlu1_gg_,.___SBarValue_bdlu1_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SBarPercent_bdlu1_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SBarValue_bdlu1_gg_{min-width:52px;display:flex;justify-content:flex-end;color:var(--intergalactic-text-primary, #191b23);text-align:right}.___SCompactHorizontalBarHoverRect_bdlu1_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}", /*__inner_css_end__*/"bdlu1_gg_"),
|
|
17
17
|
/*__reshadow_css_end__*/
|
|
18
18
|
{
|
|
19
|
-
"__SBar": "
|
|
20
|
-
"--duration": "--
|
|
21
|
-
"_color": "
|
|
22
|
-
"--color": "--
|
|
23
|
-
"_pattern": "
|
|
24
|
-
"--pattern": "--
|
|
25
|
-
"_hide": "
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"_onClick": "
|
|
28
|
-
"__SBackground": "
|
|
29
|
-
"__SBarAnnotation": "
|
|
30
|
-
"__SBarLabel": "
|
|
31
|
-
"__SBarPercent": "
|
|
32
|
-
"__SBarValue": "
|
|
33
|
-
"__SCompactHorizontalBarHoverRect": "
|
|
19
|
+
"__SBar": "___SBar_bdlu1_gg_",
|
|
20
|
+
"--duration": "--duration_bdlu1",
|
|
21
|
+
"_color": "__color_bdlu1_gg_",
|
|
22
|
+
"--color": "--color_bdlu1",
|
|
23
|
+
"_pattern": "__pattern_bdlu1_gg_",
|
|
24
|
+
"--pattern": "--pattern_bdlu1",
|
|
25
|
+
"_hide": "__hide_bdlu1_gg_",
|
|
26
|
+
"_transparent": "__transparent_bdlu1_gg_",
|
|
27
|
+
"_onClick": "__onClick_bdlu1_gg_",
|
|
28
|
+
"__SBackground": "___SBackground_bdlu1_gg_",
|
|
29
|
+
"__SBarAnnotation": "___SBarAnnotation_bdlu1_gg_",
|
|
30
|
+
"__SBarLabel": "___SBarLabel_bdlu1_gg_",
|
|
31
|
+
"__SBarPercent": "___SBarPercent_bdlu1_gg_",
|
|
32
|
+
"__SBarValue": "___SBarValue_bdlu1_gg_",
|
|
33
|
+
"__SCompactHorizontalBarHoverRect": "___SCompactHorizontalBarHoverRect_bdlu1_gg_"
|
|
34
34
|
});
|
|
35
35
|
import { scaleToBand, roundedPath } from './utils';
|
|
36
36
|
export var MIN_HEIGHT = 2;
|
package/lib/es6/Bubble.js
CHANGED
|
@@ -17,21 +17,22 @@ import { SvgElement } from './component/SvgElement';
|
|
|
17
17
|
import createElement from './createElement';
|
|
18
18
|
import { PatternFill } from './Pattern';
|
|
19
19
|
/*!__reshadow-styles__:"./style/bubble.shadow.css"*/
|
|
20
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SBubble_ahm26_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_ahm26);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_ahm26_gg_:hover{opacity:.8}}g._visible_false_ahm26_gg_{display:none}.___SBubble_ahm26_gg_.__clickable_ahm26_gg_{cursor:pointer}.___SBubble_ahm26_gg_.__color_ahm26_gg_{fill:var(--color_ahm26)}.___SBubble_ahm26_gg_.__pattern_ahm26_gg_.__color_ahm26_gg_{fill:var(--pattern_ahm26);stroke:var(--color_ahm26);stroke-width:1px}.___SBubble_ahm26_gg_.__transparent_ahm26_gg_{opacity:.3}.___SCenter_ahm26_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_ahm26_gg_.__color_ahm26_gg_{stroke:var(--color_ahm26)}.___SCenter_ahm26_gg_.__transparent_ahm26_gg_{opacity:.3}.___SLabel_ahm26_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_ahm26_gg_._position_right_ahm26_gg_{text-anchor:end}.___SLabel_ahm26_gg_._position_left_ahm26_gg_{text-anchor:start}.___SLabel_ahm26_gg_.__color_ahm26_gg_{fill:var(--color_ahm26)}.___SLabel_ahm26_gg_.__transparent_ahm26_gg_{opacity:.3}", /*__inner_css_end__*/"ahm26_gg_"),
|
|
21
21
|
/*__reshadow_css_end__*/
|
|
22
22
|
{
|
|
23
|
-
"_visible_false": "
|
|
24
|
-
"__SBubble": "
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
23
|
+
"_visible_false": "_visible_false_ahm26_gg_",
|
|
24
|
+
"__SBubble": "___SBubble_ahm26_gg_",
|
|
25
|
+
"_clickable": "__clickable_ahm26_gg_",
|
|
26
|
+
"_color": "__color_ahm26_gg_",
|
|
27
|
+
"--color": "--color_ahm26",
|
|
28
|
+
"_pattern": "__pattern_ahm26_gg_",
|
|
29
|
+
"--pattern": "--pattern_ahm26",
|
|
30
|
+
"_transparent": "__transparent_ahm26_gg_",
|
|
31
|
+
"__SCenter": "___SCenter_ahm26_gg_",
|
|
32
|
+
"__SLabel": "___SLabel_ahm26_gg_",
|
|
33
|
+
"_position_right": "_position_right_ahm26_gg_",
|
|
34
|
+
"_position_left": "_position_left_ahm26_gg_",
|
|
35
|
+
"--duration": "--duration_ahm26"
|
|
35
36
|
});
|
|
36
37
|
import Tooltip from './Tooltip';
|
|
37
38
|
import { getBubbleChartValueScale, measureText } from './utils';
|
|
@@ -142,7 +143,8 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
142
143
|
data = _this$asProps4.data,
|
|
143
144
|
transparent = _this$asProps4.transparent,
|
|
144
145
|
resolveColor = _this$asProps4.resolveColor,
|
|
145
|
-
patterns = _this$asProps4.patterns
|
|
146
|
+
patterns = _this$asProps4.patterns,
|
|
147
|
+
onClick = _this$asProps4.onClick;
|
|
146
148
|
return {
|
|
147
149
|
color: color,
|
|
148
150
|
scale: scale,
|
|
@@ -161,6 +163,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
161
163
|
resolveColor: resolveColor,
|
|
162
164
|
patterns: patterns,
|
|
163
165
|
bindHandlerTooltip: this.bindHandlerTooltip,
|
|
166
|
+
clickable: Boolean(onClick),
|
|
164
167
|
onClickCircleRoot: this.handlerOnClick.bind(this)
|
|
165
168
|
};
|
|
166
169
|
}
|
|
@@ -241,6 +244,7 @@ function BubbleCircle(props) {
|
|
|
241
244
|
Element = props.Element,
|
|
242
245
|
_props$visible = props.visible,
|
|
243
246
|
visible = _props$visible === void 0 ? true : _props$visible,
|
|
247
|
+
clickable = props.clickable,
|
|
244
248
|
onClick = props.onClick,
|
|
245
249
|
onClickCircleRoot = props.onClickCircleRoot;
|
|
246
250
|
var circleData = data[index];
|
|
@@ -293,7 +297,8 @@ function BubbleCircle(props) {
|
|
|
293
297
|
"pattern": patterns ? "url(#".concat(uid, "-").concat(index, "-pattern)") : undefined,
|
|
294
298
|
"r": z(circleData[value]),
|
|
295
299
|
"use:duration": "".concat(duration, "ms"),
|
|
296
|
-
"transparent": transparent
|
|
300
|
+
"transparent": transparent,
|
|
301
|
+
"clickable": clickable || Boolean(onClick)
|
|
297
302
|
})), patterns && /*#__PURE__*/React.createElement(PatternFill, _ref3.cn("PatternFill", {
|
|
298
303
|
"id": "".concat(uid, "-").concat(index, "-pattern"),
|
|
299
304
|
"patternKey": circleData[color],
|
package/lib/es6/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["Component","Root","sstyled","callAllEventHandlers","findComponent","uniqueIDEnhancement","transition","React","SvgElement","createElement","PatternFill","style","_sstyled","insert","Tooltip","getBubbleChartValueScale","measureText","BubbleRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","data","z","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","_data$ind","componentDidUpdate","prevProps","_this$asProps3","prevX","prevY","prevValue","prevData","$rootProps","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","getCircleProps","_this$asProps4","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","patterns","bindHandlerTooltip","onClickCircleRoot","bind","render","_this$asProps5","Children","_scale","_slicedToArray","xScale","yScale","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","isAdvancedMode","Boolean","Bubble","Circle","displayName","Fragment","map","idx","id","BubbleTooltip","_ref","arguments[0]","_ref2","SBubbleTooltip","cn","_objectSpread","_assignProps","BubbleCircle","_ref3","_circleData$color","Element","_props$visible","circleData","_scale2","SBubble","SCenter","SLabel","margin","labelPosition","labelDistance","xIndex","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport findComponent from '@semcore/core/lib/utils/findComponent';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport { SvgElement } from './component/SvgElement';\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/bubble.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getBubbleChartValueScale, measureText } from './utils';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = getBubbleChartValueScale(data, value);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind]?.[value]);\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { data, x, y, value } = this.asProps;\n const { x: prevX, y: prevY, value: prevValue } = prevProps;\n const prevData = prevProps.$rootProps.data;\n\n if (data !== prevData || x !== prevX || y !== prevY || value !== prevValue) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n onClick?.(index, e);\n };\n }\n\n getCircleProps() {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n\n return {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n bindHandlerTooltip: this.bindHandlerTooltip,\n onClickCircleRoot: this.handlerOnClick.bind(this),\n };\n }\n\n render() {\n const { data, uid, scale, x, y, value, Children } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n const isAdvancedMode = Boolean(findComponent(Children, [Bubble.Circle.displayName]));\n\n return (\n <>\n {isAdvancedMode\n ? (\n <Children />\n )\n : (\n data.map((_, idx) => <Bubble.Circle key={idx} index={idx} />)\n )}\n <clipPath aria-hidden id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n {' '}\n </clipPath>\n </>\n );\n }\n}\n\nfunction BubbleTooltip(props) {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n}\n\nfunction BubbleCircle(props) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n index,\n bindHandlerTooltip,\n Element,\n visible = true,\n onClick,\n onClickCircleRoot,\n } = props;\n const circleData = data[index];\n\n if (!circleData) return null;\n\n const [xScale, yScale] = scale;\n\n const SBubble = Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = getBubbleChartValueScale(data, value);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(circleData[x]) + offset[0] + z(circleData[value])) <\n measureText(circleData[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(circleData[x]) + offset[0] - z(circleData[value]),\n left: xScale(circleData[x]) + offset[0] + z(circleData[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <SvgElement\n tag='g'\n key={`circle(#${index})`}\n onClickCapture={callAllEventHandlers(onClickCircleRoot(index), onClick)}\n onMouseMove={bindHandlerTooltip(true, props, { xIndex: index, index, patterns })}\n onMouseLeave={bindHandlerTooltip(false, props, { xIndex: index, index, patterns })}\n visible={`${visible}`}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(circleData[x]) + offset[0]}\n y={yScale(circleData[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(circleData[color] ?? color)}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={index}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(circleData[x]) + offset[0]}\n cy={yScale(circleData[y]) + offset[1]}\n color={resolveColor(circleData[color])}\n pattern={patterns ? `url(#${uid}-${index}-pattern)` : undefined}\n r={z(circleData[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${index}-pattern`}\n patternKey={circleData[color]}\n color={resolveColor(circleData[color])}\n patterns={patterns}\n />\n )}\n {circleData[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(circleData[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(circleData[color])}\n transparent={transparent}\n >\n {circleData[label]}\n </SLabel>\n )}\n </SvgElement>,\n );\n}\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n Circle: BubbleCircle,\n});\n\nexport default Bubble;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["Component","Root","sstyled","callAllEventHandlers","findComponent","uniqueIDEnhancement","transition","React","SvgElement","createElement","PatternFill","style","_sstyled","insert","Tooltip","getBubbleChartValueScale","measureText","BubbleRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","data","z","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","_data$ind","componentDidUpdate","prevProps","_this$asProps3","prevX","prevY","prevValue","prevData","$rootProps","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","getCircleProps","_this$asProps4","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","patterns","bindHandlerTooltip","clickable","Boolean","onClickCircleRoot","bind","render","_this$asProps5","Children","_scale","_slicedToArray","xScale","yScale","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","isAdvancedMode","Bubble","Circle","displayName","Fragment","map","idx","id","BubbleTooltip","_ref","arguments[0]","_ref2","SBubbleTooltip","cn","_objectSpread","_assignProps","BubbleCircle","_ref3","_circleData$color","Element","_props$visible","circleData","_scale2","SBubble","SCenter","SLabel","margin","labelPosition","labelDistance","xIndex","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport findComponent from '@semcore/core/lib/utils/findComponent';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport { SvgElement } from './component/SvgElement';\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/bubble.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getBubbleChartValueScale, measureText } from './utils';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = getBubbleChartValueScale(data, value);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind]?.[value]);\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { data, x, y, value } = this.asProps;\n const { x: prevX, y: prevY, value: prevValue } = prevProps;\n const prevData = prevProps.$rootProps.data;\n\n if (data !== prevData || x !== prevX || y !== prevY || value !== prevValue) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n onClick?.(index, e);\n };\n }\n\n getCircleProps() {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n onClick,\n } = this.asProps;\n\n return {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n bindHandlerTooltip: this.bindHandlerTooltip,\n clickable: Boolean(onClick),\n onClickCircleRoot: this.handlerOnClick.bind(this),\n };\n }\n\n render() {\n const { data, uid, scale, x, y, value, Children } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n const isAdvancedMode = Boolean(findComponent(Children, [Bubble.Circle.displayName]));\n\n return (\n <>\n {isAdvancedMode\n ? (\n <Children />\n )\n : (\n data.map((_, idx) => <Bubble.Circle key={idx} index={idx} />)\n )}\n <clipPath aria-hidden id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n {' '}\n </clipPath>\n </>\n );\n }\n}\n\nfunction BubbleTooltip(props) {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n}\n\nfunction BubbleCircle(props) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n index,\n bindHandlerTooltip,\n Element,\n visible = true,\n clickable,\n onClick,\n onClickCircleRoot,\n } = props;\n const circleData = data[index];\n\n if (!circleData) return null;\n\n const [xScale, yScale] = scale;\n\n const SBubble = Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = getBubbleChartValueScale(data, value);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(circleData[x]) + offset[0] + z(circleData[value])) <\n measureText(circleData[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(circleData[x]) + offset[0] - z(circleData[value]),\n left: xScale(circleData[x]) + offset[0] + z(circleData[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <SvgElement\n tag='g'\n key={`circle(#${index})`}\n onClickCapture={callAllEventHandlers(onClickCircleRoot(index), onClick)}\n onMouseMove={bindHandlerTooltip(true, props, { xIndex: index, index, patterns })}\n onMouseLeave={bindHandlerTooltip(false, props, { xIndex: index, index, patterns })}\n visible={`${visible}`}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(circleData[x]) + offset[0]}\n y={yScale(circleData[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(circleData[color] ?? color)}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={index}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(circleData[x]) + offset[0]}\n cy={yScale(circleData[y]) + offset[1]}\n color={resolveColor(circleData[color])}\n pattern={patterns ? `url(#${uid}-${index}-pattern)` : undefined}\n r={z(circleData[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n clickable={clickable || Boolean(onClick)}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${index}-pattern`}\n patternKey={circleData[color]}\n color={resolveColor(circleData[color])}\n patterns={patterns}\n />\n )}\n {circleData[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(circleData[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(circleData[color])}\n transparent={transparent}\n >\n {circleData[label]}\n </SLabel>\n )}\n </SvgElement>,\n );\n}\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n Circle: BubbleCircle,\n});\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;AAAA,SAASA,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,SAASC,oBAAoB,QAAQ,qCAAqC;AAC1E,OAAOC,aAAa,MAAM,uCAAuC;AACjE,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,SAASC,UAAU,QAAQ,eAAe;AAC1C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,WAAW;AAAC;AAAA,IAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAExC,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,wBAAwB,EAAEC,WAAW,QAAQ,SAAS;AAAC,IAE1DC,UAAU,0BAAAC,UAAA;EAAA,SAAAD,WAAA;IAAA,IAAAE,KAAA;IAAAC,eAAA,OAAAH,UAAA;IAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAQ,UAAA,OAAAV,UAAA,KAAAW,MAAA,CAAAJ,IAAA;IAAAK,eAAA,CAAAV,KAAA,wBAeO,UAACW,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAA0B;QAAA,IAAvBC,OAAO,GAAAD,KAAA,CAAPC,OAAO;UAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;QACxE,IAAAC,aAAA,GAAiCjB,KAAA,CAAKkB,OAAO;UAArCC,YAAY,GAAAF,aAAA,CAAZE,YAAY;UAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;QAE5BD,YAAY,CAACE,IAAI,uBAAAZ,MAAA,CAAuBW,MAAM,GAAIL,OAAO,EAAEC,OAAO,CAAC;QACnEG,YAAY,CAACE,IAAI,6BAAAZ,MAAA,CAA6BW,MAAM,GAAIR,KAAK,EAAEC,YAAY,CAAC;QAC5EM,YAAY,CAACE,IAAI,sBAAAZ,MAAA,CAAsBW,MAAM,GAAIT,OAAO,CAAC;MAC3D,CAAC;IAAA;IAAA,OAAAX,KAAA;EAAA;EAAAsB,SAAA,CAAAxB,UAAA,EAAAC,UAAA;EAAA,OAAAwB,YAAA,CAAAzB,UAAA;IAAA0B,GAAA;IAAAC,KAAA,EAVD,SAAAC,6BAA6BA,CAAA,EAAe;MAAA,IAAdC,CAAC,GAAAxB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC;MAAA,IAAE0B,CAAC,GAAA1B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAE2B,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEH,CAAC;UAAEI,KAAK,EAAEN,CAAC;UAAEO,MAAM,EAAEL,CAAC;UAAEM,IAAI,EAAER;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAUD,SAAAW,eAAeA,CAAA,EAAG;MAChB,IAAAC,cAAA,GAAuC,IAAI,CAACnB,OAAO;QAA3CoB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,cAAA,CAAJG,IAAI;QAAEf,KAAK,GAAAY,cAAA,CAALZ,KAAK;MAClC,IAAMgB,CAAC,GAAG7C,wBAAwB,CAAC4C,IAAI,EAAEf,KAAK,CAAC;MAE/C,IAAMiB,UAAU,GAAGvD,UAAU,CAAC,CAAC,CAACwD,SAAS,CAAC,CAAC,CAACC,SAAS,SAAAnC,MAAA,CAAS8B,GAAG,EAAA9B,MAAA,CAAG8B,GAAG,MAAG,CAAC,CAACM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGJ,UAAU,CAACK,IAAI,CAAC,CAAC;MACxC,IAAID,cAAc,EAAE;QAClBJ,UAAU,CACPvD,UAAU,CAAC,CAAC,CACZmD,QAAQ,CAACA,QAAQ,CAAC,CAClBO,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAAA,IAAAC,SAAA;UAC3B,OAAOT,CAAC,EAAAS,SAAA,GAACV,IAAI,CAACS,GAAG,CAAC,cAAAC,SAAA,uBAATA,SAAA,CAAYzB,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA0B,kBAAkBA,CAACC,SAAS,EAAE;MAC5B,IAAAC,cAAA,GAA8B,IAAI,CAACnC,OAAO;QAAlCsB,IAAI,GAAAa,cAAA,CAAJb,IAAI;QAAEb,CAAC,GAAA0B,cAAA,CAAD1B,CAAC;QAAEE,CAAC,GAAAwB,cAAA,CAADxB,CAAC;QAAEJ,KAAK,GAAA4B,cAAA,CAAL5B,KAAK;MACzB,IAAW6B,KAAK,GAAiCF,SAAS,CAAlDzB,CAAC;QAAY4B,KAAK,GAAuBH,SAAS,CAAxCvB,CAAC;QAAgB2B,SAAS,GAAKJ,SAAS,CAA9B3B,KAAK;MACjC,IAAMgC,QAAQ,GAAGL,SAAS,CAACM,UAAU,CAAClB,IAAI;MAE1C,IAAIA,IAAI,KAAKiB,QAAQ,IAAI9B,CAAC,KAAK2B,KAAK,IAAIzB,CAAC,KAAK0B,KAAK,IAAI9B,KAAK,KAAK+B,SAAS,EAAE;QAC1E,IAAI,CAACpB,eAAe,CAAC,CAAC;MACxB;IACF;EAAC;IAAAZ,GAAA;IAAAC,KAAA,EAED,SAAAkC,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACvB,eAAe,CAAC,CAAC;IACxB;EAAC;IAAAZ,GAAA;IAAAC,KAAA,EAED,SAAAmC,cAAcA,CAACC,KAAK,EAAE;MAAA,IAAAC,MAAA;MACpB,OAAO,UAACC,CAAC,EAAK;QACZA,CAAC,CAACC,eAAe,CAAC,CAAC;QAEnB,IAAQC,OAAO,GAAKH,MAAI,CAAC5C,OAAO,CAAxB+C,OAAO;QAEfA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAGJ,KAAK,EAAEE,CAAC,CAAC;MACrB,CAAC;IACH;EAAC;IAAAvC,GAAA;IAAAC,KAAA,EAED,SAAAyC,cAAcA,CAAA,EAAG;MACf,IAAAC,cAAA,GAkBI,IAAI,CAACjD,OAAO;QAjBdkD,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACL1C,CAAC,GAAAwC,cAAA,CAADxC,CAAC;QACDE,CAAC,GAAAsC,cAAA,CAADtC,CAAC;QACDyC,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACNhC,GAAG,GAAA4B,cAAA,CAAH5B,GAAG;QACHD,QAAQ,GAAA6B,cAAA,CAAR7B,QAAQ;QACRb,KAAK,GAAA0C,cAAA,CAAL1C,KAAK;QACL+C,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJlC,IAAI,GAAA2B,cAAA,CAAJ3B,IAAI;QACJmC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;QACXC,YAAY,GAAAT,cAAA,CAAZS,YAAY;QACZC,QAAQ,GAAAV,cAAA,CAARU,QAAQ;QACRZ,OAAO,GAAAE,cAAA,CAAPF,OAAO;MAGT,OAAO;QACLG,KAAK,EAALA,KAAK;QACLC,KAAK,EAALA,KAAK;QACL1C,CAAC,EAADA,CAAC;QACDE,CAAC,EAADA,CAAC;QACDyC,MAAM,EAANA,MAAM;QACNC,MAAM,EAANA,MAAM;QACNhC,GAAG,EAAHA,GAAG;QACHD,QAAQ,EAARA,QAAQ;QACRb,KAAK,EAALA,KAAK;QACL+C,KAAK,EAALA,KAAK;QACLC,WAAW,EAAXA,WAAW;QACXC,IAAI,EAAJA,IAAI;QACJlC,IAAI,EAAJA,IAAI;QACJmC,WAAW,EAAXA,WAAW;QACXC,YAAY,EAAZA,YAAY;QACZC,QAAQ,EAARA,QAAQ;QACRC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,SAAS,EAAEC,OAAO,CAACf,OAAO,CAAC;QAC3BgB,iBAAiB,EAAE,IAAI,CAACrB,cAAc,CAACsB,IAAI,CAAC,IAAI;MAClD,CAAC;IACH;EAAC;IAAA1D,GAAA;IAAAC,KAAA,EAED,SAAA0D,MAAMA,CAAA,EAAG;MACP,IAAAC,cAAA,GAAoD,IAAI,CAAClE,OAAO;QAAxDsB,IAAI,GAAA4C,cAAA,CAAJ5C,IAAI;QAAED,GAAG,GAAA6C,cAAA,CAAH7C,GAAG;QAAE8B,KAAK,GAAAe,cAAA,CAALf,KAAK;QAAE1C,CAAC,GAAAyD,cAAA,CAADzD,CAAC;QAAEE,CAAC,GAAAuD,cAAA,CAADvD,CAAC;QAAEJ,KAAK,GAAA2D,cAAA,CAAL3D,KAAK;QAAE4D,QAAQ,GAAAD,cAAA,CAARC,QAAQ;MAC/C,IAAAC,MAAA,GAAAC,cAAA,CAAyBlB,KAAK;QAAvBmB,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MACrB,IAAMI,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAACH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGJ,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAME,OAAO,GAAGJ,IAAI,CAACK,GAAG,CAACR,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEL,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMI,OAAO,GAAGN,IAAI,CAACK,GAAG,CAACP,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEJ,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC3E,OAAO,CAACgF,gBAAgB,CAACC,oBAAoB,CAACxE,CAAC,EAAEE,CAAC,EAAEJ,KAAK,CAAC;MAC/D,IAAI,CAACP,OAAO,CAACgF,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,IAAMC,cAAc,GAAGrB,OAAO,CAAC/F,aAAa,CAACoG,QAAQ,EAAE,CAACiB,MAAM,CAACC,MAAM,CAACC,WAAW,CAAC,CAAC,CAAC;MAEpF,oBACEpH,KAAA,CAAAE,aAAA,CAAAF,KAAA,CAAAqH,QAAA,QACGJ,cAAc,gBAETjH,KAAA,CAAAE,aAAA,CAAC+F,QAAQ,MAAE,CAAC,GAGZ7C,IAAI,CAACkE,GAAG,CAAC,UAAC1D,CAAC,EAAE2D,GAAG;QAAA,oBAAKvH,KAAA,CAAAE,aAAA,CAACgH,MAAM,CAACC,MAAM;UAAC/E,GAAG,EAAEmF,GAAI;UAAC9C,KAAK,EAAE8C;QAAI,CAAE,CAAC;MAAA,EAC7D,eACLvH,KAAA,CAAAE,aAAA;QAAU,mBAAW;QAACsH,EAAE,EAAErE;MAAI,gBAC5BnD,KAAA,CAAAE,aAAA;QAAMqC,CAAC,EAAEoE,OAAQ;QAAClE,CAAC,EAAEoE,OAAQ;QAACnE,KAAK,KAAArB,MAAA,CAAKiF,KAAK,OAAK;QAAC3D,MAAM,KAAAtB,MAAA,CAAKqF,KAAK;MAAK,CAAE,CAAC,EAC1E,GACO,CACV,CAAC;IAEP;EAAC;AAAA,EAxIsBjH,SAAS;AAAA6B,eAAA,CAA5BZ,UAAU,iBACO,QAAQ;AAAAY,eAAA,CADzBZ,UAAU,WAECN,KAAK;AAAAkB,eAAA,CAFhBZ,UAAU,aAGG,CAACZ,mBAAmB,CAAC,CAAC,CAAC;AAAAwB,eAAA,CAHpCZ,UAAU,kBAKQ;EACpBwE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdhC,QAAQ,EAAE,GAAG;EACbmC,WAAW,EAAE;AACf,CAAC;AAkIH,SAASoC,aAAaA,CAACjG,KAAK,EAAE;EAAA,IAAAkG,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAC5B,IAAMC,cAAc,GACiCtH,OAAO;EAA5D,OAAAqH,KAAA,GAAOjI,OAAO,CAAC6B,KAAK,CAAC2D,MAAM,CAAC,eAACnF,KAAA,CAAAE,aAAA,CAAC2H,cAAc,EAAAD,KAAA,CAAAE,EAAA,mBAAAC,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAN,IAAA,GAAsC,CAAC;AACrF;AAEA,SAASO,YAAYA,CAACzG,KAAK,EAAE;EAAA,IAAA0G,KAAA,EAAAC,iBAAA;EAC3B,IACEnD,KAAK,GAuBHxD,KAAK,CAvBPwD,KAAK;IACLC,KAAK,GAsBHzD,KAAK,CAtBPyD,KAAK;IACL1C,CAAC,GAqBCf,KAAK,CArBPe,CAAC;IACDE,CAAC,GAoBCjB,KAAK,CApBPiB,CAAC;IACDyC,MAAM,GAmBJ1D,KAAK,CAnBP0D,MAAM;IACNC,MAAM,GAkBJ3D,KAAK,CAlBP2D,MAAM;IACNhC,GAAG,GAiBD3B,KAAK,CAjBP2B,GAAG;IACHD,QAAQ,GAgBN1B,KAAK,CAhBP0B,QAAQ;IACRb,KAAK,GAeHb,KAAK,CAfPa,KAAK;IACL+C,KAAK,GAcH5D,KAAK,CAdP4D,KAAK;IACLC,WAAW,GAaT7D,KAAK,CAbP6D,WAAW;IACXC,IAAI,GAYF9D,KAAK,CAZP8D,IAAI;IACJlC,IAAI,GAWF5B,KAAK,CAXP4B,IAAI;IACJmC,WAAW,GAUT/D,KAAK,CAVP+D,WAAW;IACXC,YAAY,GASVhE,KAAK,CATPgE,YAAY;IACZC,QAAQ,GAQNjE,KAAK,CARPiE,QAAQ;IACRhB,KAAK,GAOHjD,KAAK,CAPPiD,KAAK;IACLiB,kBAAkB,GAMhBlE,KAAK,CANPkE,kBAAkB;IAClB0C,OAAO,GAKL5G,KAAK,CALP4G,OAAO;IAAAC,cAAA,GAKL7G,KAAK,CAJPD,OAAO;IAAPA,OAAO,GAAA8G,cAAA,cAAG,IAAI,GAAAA,cAAA;IACd1C,SAAS,GAGPnE,KAAK,CAHPmE,SAAS;IACTd,OAAO,GAELrD,KAAK,CAFPqD,OAAO;IACPgB,iBAAiB,GACfrE,KAAK,CADPqE,iBAAiB;EAEnB,IAAMyC,UAAU,GAAGlF,IAAI,CAACqB,KAAK,CAAC;EAE9B,IAAI,CAAC6D,UAAU,EAAE,OAAO,IAAI;EAE5B,IAAAC,OAAA,GAAApC,cAAA,CAAyBlB,KAAK;IAAvBmB,MAAM,GAAAmC,OAAA;IAAElC,MAAM,GAAAkC,OAAA;EAErB,IAAMC,OAAO,GAAGJ,OAAO;EACvB,IAAMK,OAAO,GAAG,MAAM;EACtB,IAAMC,MAAM,GAAG,MAAM;EACrB,IAAMrF,CAAC,GAAG7C,wBAAwB,CAAC4C,IAAI,EAAEf,KAAK,CAAC;EAE/C,IAAMsG,MAAM,GAAGpC,IAAI,CAACK,GAAG,CAACR,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEL,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAE7D,IAAMmC,aAAa,GACjBtD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGqD,MAAM,IAAIvC,MAAM,CAACkC,UAAU,CAAC/F,CAAC,CAAC,CAAC,GAAG2C,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACiF,UAAU,CAACjG,KAAK,CAAC,CAAC,CAAC,GAC/E5B,WAAW,CAAC6H,UAAU,CAAClD,KAAK,CAAC,CAAC,GAC5B,OAAO,GACP,MAAM;EACZ,IAAMyD,aAAa,GAAG;IACpBhG,KAAK,EAAEuD,MAAM,CAACkC,UAAU,CAAC/F,CAAC,CAAC,CAAC,GAAG2C,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACiF,UAAU,CAACjG,KAAK,CAAC,CAAC;IAC/DU,IAAI,EAAEqD,MAAM,CAACkC,UAAU,CAAC/F,CAAC,CAAC,CAAC,GAAG2C,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACiF,UAAU,CAACjG,KAAK,CAAC;EAC/D,CAAC,CAACuG,aAAa,CAAC;EAEhB,OAAAV,KAAA,GAAOvI,OAAO,CAACwF,MAAM,CAAC,eACpBnF,KAAA,CAAAE,aAAA,CAACD,UAAU,EAAAiI,KAAA,CAAAJ,EAAA;IAAA,OACL,GAAG;IAAA,kBAAAzG,MAAA,CACSoD,KAAK;IAAA,kBACL7E,oBAAoB,CAACiG,iBAAiB,CAACpB,KAAK,CAAC,EAAEI,OAAO,CAAC;IAAA,eAC1Da,kBAAkB,CAAC,IAAI,EAAElE,KAAK,EAAE;MAAEsH,MAAM,EAAErE,KAAK;MAAEA,KAAK,EAALA,KAAK;MAAEgB,QAAQ,EAARA;IAAS,CAAC,CAAC;IAAA,gBAClEC,kBAAkB,CAAC,KAAK,EAAElE,KAAK,EAAE;MAAEsH,MAAM,EAAErE,KAAK;MAAEA,KAAK,EAALA,KAAK;MAAEgB,QAAQ,EAARA;IAAS,CAAC,CAAC;IAAA,cAAApE,MAAA,CACtEE,OAAO;EAAA,IAElB8D,WAAW,iBACVrF,KAAA,CAAAE,aAAA,CAACuI,OAAO,EAAAP,KAAA,CAAAJ,EAAA;IAAA;IAAA,KAEH1B,MAAM,CAACkC,UAAU,CAAC/F,CAAC,CAAC,CAAC,GAAG2C,MAAM,CAAC,CAAC,CAAC;IAAA,KACjCmB,MAAM,CAACiC,UAAU,CAAC7F,CAAC,CAAC,CAAC,GAAGyC,MAAM,CAAC,CAAC,CAAC;IAAA,MACjC,MAAM;IAAA,oBAAA7D,MAAA,CACS8B,GAAG;IAAA,SACdqC,YAAY,EAAA2C,iBAAA,GAACG,UAAU,CAACtD,KAAK,CAAC,cAAAmD,iBAAA,cAAAA,iBAAA,GAAInD,KAAK,CAAC;IAAA,eAClCO;EAAW,IACzB,GAEQ,CACV,eACDvF,KAAA,CAAAE,aAAA,CAACsI,OAAO,EAAAN,KAAA,CAAAJ,EAAA;IAAA;IAAA,SAAAzG,MAAA,CAEC8B,GAAG,EAAA9B,MAAA,CAAG8B,GAAG;IAAA,SACTsB,KAAK;IAAA,UACL,QAAQ;IAAA,oBAAApD,MAAA,CACG8B,GAAG;IAAA,MACjBiD,MAAM,CAACkC,UAAU,CAAC/F,CAAC,CAAC,CAAC,GAAG2C,MAAM,CAAC,CAAC,CAAC;IAAA,MACjCmB,MAAM,CAACiC,UAAU,CAAC7F,CAAC,CAAC,CAAC,GAAGyC,MAAM,CAAC,CAAC,CAAC;IAAA,SAC9BM,YAAY,CAAC8C,UAAU,CAACtD,KAAK,CAAC,CAAC;IAAA,WAC7BS,QAAQ,WAAApE,MAAA,CAAW8B,GAAG,OAAA9B,MAAA,CAAIoD,KAAK,iBAAcjC,SAAS;IAAA,KAC5Da,CAAC,CAACiF,UAAU,CAACjG,KAAK,CAAC,CAAC;IAAA,mBAAAhB,MAAA,CACN6B,QAAQ;IAAA,eACZqC,WAAW;IAAA,aACbI,SAAS,IAAIC,OAAO,CAACf,OAAO;EAAC,EACzC,CAAC,EACDY,QAAQ,iBACPzF,KAAA,CAAAE,aAAA,CAACC,WAAW,EAAA+H,KAAA,CAAAJ,EAAA;IAAA,SAAAzG,MAAA,CACH8B,GAAG,OAAA9B,MAAA,CAAIoD,KAAK;IAAA,cACP6D,UAAU,CAACtD,KAAK,CAAC;IAAA,SACtBQ,YAAY,CAAC8C,UAAU,CAACtD,KAAK,CAAC,CAAC;IAAA,YAC5BS;EAAQ,EACnB,CACF,EACA6C,UAAU,CAAClD,KAAK,CAAC,iBAChBpF,KAAA,CAAAE,aAAA,CAACwI,MAAM,EAAAR,KAAA,CAAAJ,EAAA;IAAA;IAAA,KAEFe,aAAa;IAAA,KACbxC,MAAM,CAACiC,UAAU,CAAC7F,CAAC,CAAC,CAAC,GAAGyC,MAAM,CAAC,CAAC,CAAC;IAAA,MACjC,MAAM;IAAA,oBAAA7D,MAAA,CACS8B,GAAG;IAAA,YACXyF,aAAa;IAAA,SAChBpD,YAAY,CAAC8C,UAAU,CAACtD,KAAK,CAAC,CAAC;IAAA,eACzBO;EAAW,IAEvB+C,UAAU,CAAClD,KAAK,CACX,CAEA,CAAC;AAEjB;AAEA,IAAM8B,MAAM,GAAGhH,aAAa,CAACQ,UAAU,EAAE;EACvCH,OAAO,EAAE,CAACkH,aAAa,EAAElH,OAAO,CAACwI,yBAAyB,CAAC;EAC3D5B,MAAM,EAAEc;AACV,CAAC,CAAC;AAEF,eAAef,MAAM","ignoreList":[]}
|