@semcore/d3-chart 3.59.1 → 16.0.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 +6 -0
- package/lib/cjs/AnimatedClipPath.js +3 -4
- package/lib/cjs/AnimatedClipPath.js.map +1 -1
- package/lib/cjs/Area.js +14 -15
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +15 -16
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +18 -19
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +13 -14
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +20 -21
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +12 -13
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +10 -11
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +2 -2
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +18 -19
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +5 -6
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +11 -12
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Pattern.js +1 -1
- package/lib/cjs/Pattern.js.map +1 -1
- package/lib/cjs/Plot.js +9 -11
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +23 -24
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +17 -18
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/Reference.js +14 -15
- package/lib/cjs/Reference.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +6 -7
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +11 -12
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +1 -1
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +1 -1
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +11 -12
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +11 -12
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +3 -4
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -4
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/focus.js +1 -1
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +1 -1
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +3 -3
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +3 -3
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +3 -3
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +5 -6
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +3 -3
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +3 -3
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.js +3 -3
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +3 -3
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.js +3 -3
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +3 -3
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.js +3 -3
- package/lib/cjs/component/Chart/VennChart.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +7 -9
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +21 -23
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +8 -10
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/cjs/component/Cigarette/Cigarette.js +2 -2
- package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/cjs/createElement.js +6 -7
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/style/hover.shadow.css +2 -2
- package/lib/cjs/utils.js +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/AnimatedClipPath.js +2 -2
- package/lib/es6/AnimatedClipPath.js.map +1 -1
- package/lib/es6/Area.js +14 -14
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +15 -15
- package/lib/es6/Bar.js +18 -18
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +14 -14
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +21 -21
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +13 -13
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +2 -2
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +18 -18
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +6 -6
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +11 -11
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Pattern.js +1 -1
- package/lib/es6/Pattern.js.map +1 -1
- package/lib/es6/Plot.js +9 -9
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +24 -24
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +17 -17
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/Reference.js +14 -14
- package/lib/es6/Reference.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +5 -5
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +12 -12
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +1 -1
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +1 -1
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +12 -12
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +12 -12
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -4
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +4 -4
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/focus.js +1 -1
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +1 -1
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +2 -2
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +2 -2
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +2 -2
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +4 -4
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js +2 -2
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +2 -2
- package/lib/es6/component/Chart/DonutChart.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.js +2 -2
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +2 -2
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.js +2 -2
- package/lib/es6/component/Chart/RadarChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +2 -2
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.js +2 -2
- package/lib/es6/component/Chart/VennChart.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +7 -7
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +21 -21
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +8 -8
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/es6/component/Cigarette/Cigarette.js +2 -2
- package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/es6/createElement.js +5 -5
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/style/hover.shadow.css +2 -2
- package/lib/es6/utils.js +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/component/Chart/AbstractChart.type.d.ts +1 -1
- package/lib/types/utils.d.ts +1 -1
- package/package.json +9 -12
package/lib/es6/StackBar.js
CHANGED
|
@@ -9,7 +9,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { stack as d3Stack } from 'd3-shape';
|
|
11
11
|
import { Component } from '@semcore/core';
|
|
12
|
-
import getOriginChildren from '@semcore/
|
|
12
|
+
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
13
13
|
import createElement from './createElement';
|
|
14
14
|
import Bar, { MIN_HEIGHT } from './Bar';
|
|
15
15
|
import HorizontalBar, { MIN_WIDTH } from './HorizontalBar';
|
package/lib/es6/StackBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","MIN_HEIGHT","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","maxBarSize","patterns","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","isEmptyValue","Number","offsetValue","y0","groupKey","color","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize, patterns } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n\n const isEmptyValue = Number(d[y] - (d[XY0] ?? 0)) === 0;\n\n if (isEmptyValue || absHeight >= hMin) {\n this.offsetBars[seriesIndex][i] = 0;\n } else {\n const offsetValue = hMin - absHeight;\n this.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;\n }\n\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize, patterns } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","MIN_HEIGHT","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","maxBarSize","patterns","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","isEmptyValue","Number","offsetValue","y0","groupKey","color","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport createElement from './createElement';\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize, patterns } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n\n const isEmptyValue = Number(d[y] - (d[XY0] ?? 0)) === 0;\n\n if (isEmptyValue || absHeight >= hMin) {\n this.offsetBars[seriesIndex][i] = 0;\n } else {\n const offsetValue = hMin - absHeight;\n this.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;\n }\n\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize, patterns } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
|
package/lib/es6/StackedArea.js
CHANGED
|
@@ -7,7 +7,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { stack as d3Stack } from 'd3-shape';
|
|
9
9
|
import { Component } from '@semcore/core';
|
|
10
|
-
import getOriginChildren from '@semcore/
|
|
10
|
+
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
11
11
|
import createElement from './createElement';
|
|
12
12
|
import Area from './Area';
|
|
13
13
|
import { getChartDefaultColorName } from './utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedArea.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","getAreaProps","_ref","index","_this$asProps2","x","patterns","series","find","s","color","map","_objectSpread2","_objectSpread","_defineProperty","y0","render","Element"],"sources":["../../src/StackedArea.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/
|
|
1
|
+
{"version":3,"file":"StackedArea.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","getAreaProps","_ref","index","_this$asProps2","x","patterns","series","find","s","color","map","_objectSpread2","_objectSpread","_defineProperty","y0","render","Element"],"sources":["../../src/StackedArea.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }, index) {\n const { x, patterns } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n color: getChartDefaultColorName(index),\n patterns,\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":"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"}
|
package/lib/es6/Tooltip.js
CHANGED
|
@@ -6,7 +6,7 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
|
|
|
6
6
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
7
|
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
-
import { sstyled as _sstyled } from "@semcore/
|
|
9
|
+
import { sstyled as _sstyled } from "@semcore/core";
|
|
10
10
|
import { assignProps as _assignProps4 } from "@semcore/core";
|
|
11
11
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
12
12
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
@@ -16,20 +16,20 @@ import React from 'react';
|
|
|
16
16
|
import { Component, Root, sstyled } from '@semcore/core';
|
|
17
17
|
import Popper from '@semcore/popper';
|
|
18
18
|
import { Box } from '@semcore/flex-box';
|
|
19
|
-
import findComponent from '@semcore/
|
|
19
|
+
import findComponent from '@semcore/core/lib/utils/findComponent';
|
|
20
20
|
import createElement from './createElement';
|
|
21
21
|
import { getChartDefaultColorName } from './utils';
|
|
22
|
-
import { useColorResolver } from '@semcore/
|
|
22
|
+
import { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';
|
|
23
23
|
/*__reshadow-styles__:"./style/tooltip.shadow.css"*/
|
|
24
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__STooltip": "
|
|
26
|
-
"__STitle": "
|
|
27
|
-
"__SDotGroup": "
|
|
28
|
-
"__SDot": "
|
|
29
|
-
"__SDotCircle": "
|
|
30
|
-
"_color": "
|
|
31
|
-
"--color": "--
|
|
32
|
-
"__SFooter": "
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STooltip_3vrmv_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_3vrmv_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_3vrmv_gg_{display:flex;align-items:center}.___SDot_3vrmv_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDotCircle_3vrmv_gg_.__color_3vrmv_gg_{background-color:var(--color_3vrmv);width:8px;height:8px;border-radius:50%}.___SFooter_3vrmv_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}" /*__inner_css_end__*/, "3vrmv_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__STooltip": "___STooltip_3vrmv_gg_",
|
|
26
|
+
"__STitle": "___STitle_3vrmv_gg_",
|
|
27
|
+
"__SDotGroup": "___SDotGroup_3vrmv_gg_",
|
|
28
|
+
"__SDot": "___SDot_3vrmv_gg_",
|
|
29
|
+
"__SDotCircle": "___SDotCircle_3vrmv_gg_",
|
|
30
|
+
"_color": "__color_3vrmv_gg_",
|
|
31
|
+
"--color": "--color_3vrmv",
|
|
32
|
+
"__SFooter": "___SFooter_3vrmv_gg_"
|
|
33
33
|
});
|
|
34
34
|
import { PatternSymbol } from './Pattern';
|
|
35
35
|
|
package/lib/es6/Tooltip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["React","Component","Root","sstyled","Popper","Box","findComponent","createElement","getChartDefaultColorName","useColorResolver","style","_sstyled","insert","PatternSymbol","TooltipDotRenderContext","createContext","index","indexKeysCache","Set","TooltipRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","$visible","anchorProps","tooltipProps","x","y","e","onClick","asProps","_this$state$tooltipPr","state","xIndex","yIndex","_createClass","key","value","getTriggerProps","_this$asProps","hideHoverLine","getPopperProps","excludeAnchorProps","_objectSpread","componentDidMount","_this2","eventEmitter","unsubscribe","push","subscribe","setState","visible","_this2$popper$current","virtualElementPosition","virtualTriggerElement","setTimeout","setPopperTrigger","getBoundingClientRect","_this2$virtualElement","width","height","top","right","bottom","left","popper","current","update","componentWillUnmount","forEach","render","_ref","_this$asProps$pattern","_this3","_this$asProps2","Children","children","tag","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Tooltip","Trigger","displayName","renderContext","clear","patterns","Provider","_assignProps","handlerCancel","allowedAutoPlacements","_ref9","_this3$popper$current","setTrigger","Fragment","handleTriggerClick","PopperPopper","props","_ref5","STooltip","Element","styles","useCallback","cn","Title","_ref2","arguments[0]","_ref6","STitle","_assignProps2","Dot","_ref3","_ref7","_props$patterns","color","resolveColor","useContext","defaultColor","has","add","SDotGroup","SDot","SDotCircle","_assignProps3","Footer","_ref4","_ref8","SFooter","_assignProps4"],"sources":["../../src/Tooltip.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport createElement from './createElement';\nimport { getChartDefaultColorName } from './utils';\nimport { useColorResolver } from '@semcore/utils/lib/use/useColorResolver';\n\nimport style from './style/tooltip.shadow.css';\nimport { PatternSymbol } from './Pattern';\n\n/**\n * `TooltipDotRenderContext` is a hack to bypass problem that getDotProps doesn't work for D3 tooltip.\n * Probably it may be removed after migrating to a new core.\n */\nconst TooltipDotRenderContext = React.createContext({ index: -1, indexKeysCache: new Set() });\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n anchorProps: {},\n tooltipProps: {},\n };\n\n renderContext = { index: -1, indexKeysCache: new Set() };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n const { x, y, hideHoverLine } = this.asProps;\n return { x, y, hideHoverLine };\n }\n\n getPopperProps() {\n if (this.asProps.excludeAnchorProps) {\n return {\n $visible: this.state.$visible,\n ...this.state.tooltipProps,\n };\n }\n\n return {\n $visible: this.state.$visible,\n ...this.state.anchorProps,\n ...this.state.tooltipProps,\n };\n }\n\n virtualElementPosition = { x: 0, y: 0 };\n virtualTriggerElement = null;\n unsubscribe = [];\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribe.push(\n eventEmitter.subscribe('setTooltipRenderingProps', (anchorProps, tooltipProps) => {\n this.setState({ anchorProps, tooltipProps });\n }),\n eventEmitter.subscribe('setTooltipVisible', (visible) =>\n this.setState({ $visible: visible }),\n ),\n eventEmitter.subscribe('setTooltipPosition', (x, y) => {\n this.virtualElementPosition.x = x;\n this.virtualElementPosition.y = y;\n if (this.virtualTriggerElement === null) {\n this.virtualTriggerElement = {};\n setTimeout(() => {\n this.setPopperTrigger(this.virtualTriggerElement);\n }, 0);\n }\n this.virtualTriggerElement.getBoundingClientRect = () => {\n const { x, y } = this.virtualElementPosition;\n return { width: 0, height: 0, top: y, right: x, bottom: y, left: x };\n };\n this.popper.current?.update();\n }),\n );\n }\n\n componentWillUnmount() {\n this.unsubscribe.forEach((unsubscribe) => unsubscribe());\n }\n\n handleTriggerClick = (e) => {\n const { onClick } = this.asProps;\n const { xIndex, yIndex } = this.state.tooltipProps;\n\n const index = xIndex ?? yIndex;\n\n onClick?.(index, e);\n };\n\n render() {\n const { Children, children, tag, forcedAdvancedMode, onClick, ...other } = this.asProps;\n\n const advancedMode =\n forcedAdvancedMode ||\n !!findComponent(Children, [Tooltip.Trigger.displayName, Tooltip.Popper.displayName]);\n this.renderContext.index = -1;\n this.renderContext.indexKeysCache.clear();\n this.renderContext.patterns = this.asProps.patterns ?? this.state.tooltipProps.patterns;\n\n return (\n <TooltipDotRenderContext.Provider value={this.renderContext}>\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction='none'\n explicitTriggerSet\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advancedMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} onClick={this.handleTriggerClick} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n </TooltipDotRenderContext.Provider>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible, x, y } = props;\n\n const handlerCancel = React.useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip\n render={Popper.Popper}\n childrenPosition='inside'\n onMouseMove={handlerCancel}\n x={x}\n y={y}\n />,\n );\n}\nPopperPopper.style = style;\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\nTitle.style = style;\n\nfunction Dot(props) {\n const { styles, color, Children } = props;\n const resolveColor = useColorResolver();\n const renderContext = React.useContext(TooltipDotRenderContext);\n const defaultColor = getChartDefaultColorName(renderContext.index);\n const patterns = props.patterns ?? renderContext.patterns;\n\n const key = Children;\n if (!renderContext.indexKeysCache.has(key)) {\n renderContext.indexKeysCache.add(key);\n renderContext.index += 1;\n }\n const SDotGroup = Root;\n const SDot = Box;\n const SDotCircle = Box;\n return sstyled(styles)(\n <SDotGroup render={Box} __excludeProps={['data', 'scale']}>\n {patterns ? (\n <SDot>\n <PatternSymbol\n color={resolveColor(color ?? defaultColor)}\n patternKey={color ?? defaultColor}\n />\n </SDot>\n ) : (\n <SDot>\n <SDotCircle color={resolveColor(color ?? defaultColor)} />\n </SDot>\n )}\n <Children />\n </SDotGroup>,\n );\n}\nDot.style = style;\n\nfunction Footer(props) {\n const { styles } = props;\n const SFooter = Root;\n return sstyled(styles)(<SFooter render={Box} __excludeProps={['data', 'scale']} />);\n}\nFooter.style = style;\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["React","Component","Root","sstyled","Popper","Box","findComponent","createElement","getChartDefaultColorName","useColorResolver","style","_sstyled","insert","PatternSymbol","TooltipDotRenderContext","createContext","index","indexKeysCache","Set","TooltipRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","$visible","anchorProps","tooltipProps","x","y","e","onClick","asProps","_this$state$tooltipPr","state","xIndex","yIndex","_createClass","key","value","getTriggerProps","_this$asProps","hideHoverLine","getPopperProps","excludeAnchorProps","_objectSpread","componentDidMount","_this2","eventEmitter","unsubscribe","push","subscribe","setState","visible","_this2$popper$current","virtualElementPosition","virtualTriggerElement","setTimeout","setPopperTrigger","getBoundingClientRect","_this2$virtualElement","width","height","top","right","bottom","left","popper","current","update","componentWillUnmount","forEach","render","_ref","_this$asProps$pattern","_this3","_this$asProps2","Children","children","tag","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Tooltip","Trigger","displayName","renderContext","clear","patterns","Provider","_assignProps","handlerCancel","allowedAutoPlacements","_ref9","_this3$popper$current","setTrigger","Fragment","handleTriggerClick","PopperPopper","props","_ref5","STooltip","Element","styles","useCallback","cn","Title","_ref2","arguments[0]","_ref6","STitle","_assignProps2","Dot","_ref3","_ref7","_props$patterns","color","resolveColor","useContext","defaultColor","has","add","SDotGroup","SDot","SDotCircle","_assignProps3","Footer","_ref4","_ref8","SFooter","_assignProps4"],"sources":["../../src/Tooltip.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/core/lib/utils/findComponent';\nimport createElement from './createElement';\nimport { getChartDefaultColorName } from './utils';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\n\nimport style from './style/tooltip.shadow.css';\nimport { PatternSymbol } from './Pattern';\n\n/**\n * `TooltipDotRenderContext` is a hack to bypass problem that getDotProps doesn't work for D3 tooltip.\n * Probably it may be removed after migrating to a new core.\n */\nconst TooltipDotRenderContext = React.createContext({ index: -1, indexKeysCache: new Set() });\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n anchorProps: {},\n tooltipProps: {},\n };\n\n renderContext = { index: -1, indexKeysCache: new Set() };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n const { x, y, hideHoverLine } = this.asProps;\n return { x, y, hideHoverLine };\n }\n\n getPopperProps() {\n if (this.asProps.excludeAnchorProps) {\n return {\n $visible: this.state.$visible,\n ...this.state.tooltipProps,\n };\n }\n\n return {\n $visible: this.state.$visible,\n ...this.state.anchorProps,\n ...this.state.tooltipProps,\n };\n }\n\n virtualElementPosition = { x: 0, y: 0 };\n virtualTriggerElement = null;\n unsubscribe = [];\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribe.push(\n eventEmitter.subscribe('setTooltipRenderingProps', (anchorProps, tooltipProps) => {\n this.setState({ anchorProps, tooltipProps });\n }),\n eventEmitter.subscribe('setTooltipVisible', (visible) =>\n this.setState({ $visible: visible }),\n ),\n eventEmitter.subscribe('setTooltipPosition', (x, y) => {\n this.virtualElementPosition.x = x;\n this.virtualElementPosition.y = y;\n if (this.virtualTriggerElement === null) {\n this.virtualTriggerElement = {};\n setTimeout(() => {\n this.setPopperTrigger(this.virtualTriggerElement);\n }, 0);\n }\n this.virtualTriggerElement.getBoundingClientRect = () => {\n const { x, y } = this.virtualElementPosition;\n return { width: 0, height: 0, top: y, right: x, bottom: y, left: x };\n };\n this.popper.current?.update();\n }),\n );\n }\n\n componentWillUnmount() {\n this.unsubscribe.forEach((unsubscribe) => unsubscribe());\n }\n\n handleTriggerClick = (e) => {\n const { onClick } = this.asProps;\n const { xIndex, yIndex } = this.state.tooltipProps;\n\n const index = xIndex ?? yIndex;\n\n onClick?.(index, e);\n };\n\n render() {\n const { Children, children, tag, forcedAdvancedMode, onClick, ...other } = this.asProps;\n\n const advancedMode =\n forcedAdvancedMode ||\n !!findComponent(Children, [Tooltip.Trigger.displayName, Tooltip.Popper.displayName]);\n this.renderContext.index = -1;\n this.renderContext.indexKeysCache.clear();\n this.renderContext.patterns = this.asProps.patterns ?? this.state.tooltipProps.patterns;\n\n return (\n <TooltipDotRenderContext.Provider value={this.renderContext}>\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction='none'\n explicitTriggerSet\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advancedMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} onClick={this.handleTriggerClick} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n </TooltipDotRenderContext.Provider>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible, x, y } = props;\n\n const handlerCancel = React.useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip\n render={Popper.Popper}\n childrenPosition='inside'\n onMouseMove={handlerCancel}\n x={x}\n y={y}\n />,\n );\n}\nPopperPopper.style = style;\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\nTitle.style = style;\n\nfunction Dot(props) {\n const { styles, color, Children } = props;\n const resolveColor = useColorResolver();\n const renderContext = React.useContext(TooltipDotRenderContext);\n const defaultColor = getChartDefaultColorName(renderContext.index);\n const patterns = props.patterns ?? renderContext.patterns;\n\n const key = Children;\n if (!renderContext.indexKeysCache.has(key)) {\n renderContext.indexKeysCache.add(key);\n renderContext.index += 1;\n }\n const SDotGroup = Root;\n const SDot = Box;\n const SDotCircle = Box;\n return sstyled(styles)(\n <SDotGroup render={Box} __excludeProps={['data', 'scale']}>\n {patterns ? (\n <SDot>\n <PatternSymbol\n color={resolveColor(color ?? defaultColor)}\n patternKey={color ?? defaultColor}\n />\n </SDot>\n ) : (\n <SDot>\n <SDotCircle color={resolveColor(color ?? defaultColor)} />\n </SDot>\n )}\n <Children />\n </SDotGroup>,\n );\n}\nDot.style = style;\n\nfunction Footer(props) {\n const { styles } = props;\n const SFooter = Root;\n return sstyled(styles)(<SFooter render={Box} __excludeProps={['data', 'scale']} />);\n}\nFooter.style = style;\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"mappings":"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"}
|
package/lib/es6/Venn.js
CHANGED
|
@@ -7,28 +7,28 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
|
|
|
7
7
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
8
|
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
-
import { sstyled as _sstyled } from "@semcore/
|
|
10
|
+
import { sstyled as _sstyled } from "@semcore/core";
|
|
11
11
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';
|
|
14
14
|
import { Component, Root, sstyled } from '@semcore/core';
|
|
15
|
-
import canUseDOM from '@semcore/
|
|
15
|
+
import canUseDOM from '@semcore/core/lib/utils/canUseDOM';
|
|
16
16
|
import { FadeInOut } from '@semcore/animation';
|
|
17
17
|
import createElement from './createElement';
|
|
18
18
|
import { getChartDefaultColorName } from './utils';
|
|
19
19
|
import Tooltip from './Tooltip';
|
|
20
20
|
import { PatternFill } from './Pattern';
|
|
21
|
-
import uniqueIDEnhancement from '@semcore/
|
|
21
|
+
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
22
22
|
/*__reshadow-styles__:"./style/venn.shadow.css"*/
|
|
23
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
24
|
-
"__SCircle": "
|
|
25
|
-
"_color": "
|
|
26
|
-
"--color": "--
|
|
27
|
-
"_transparent": "
|
|
28
|
-
"__SIntersection": "
|
|
29
|
-
"--duration": "--
|
|
30
|
-
"_pattern": "
|
|
31
|
-
"--pattern": "--
|
|
23
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCircle_wmt8p_gg_,.___SIntersection_wmt8p_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_wmt8p_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_wmt8p);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_wmt8p_gg_:hover{fill-opacity:.7}}.___SCircle_wmt8p_gg_.__color_wmt8p_gg_{fill:var(--color_wmt8p)}.___SCircle_wmt8p_gg_.__pattern_wmt8p_gg_.__color_wmt8p_gg_{fill:var(--pattern_wmt8p);fill-opacity:.7;stroke:var(--color_wmt8p);stroke-width:1px}@media (hover:hover){.___SCircle_wmt8p_gg_.__pattern_wmt8p_gg_.__color_wmt8p_gg_:hover{fill-opacity:.85}}.___SCircle_wmt8p_gg_.__transparent_wmt8p_gg_{opacity:.3}.___SIntersection_wmt8p_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_wmt8p_gg_:hover{fill-opacity:.1}}.___SIntersection_wmt8p_gg_.__transparent_wmt8p_gg_{opacity:.3}" /*__inner_css_end__*/, "wmt8p_gg_") /*__reshadow_css_end__*/, {
|
|
24
|
+
"__SCircle": "___SCircle_wmt8p_gg_",
|
|
25
|
+
"_color": "__color_wmt8p_gg_",
|
|
26
|
+
"--color": "--color_wmt8p",
|
|
27
|
+
"_transparent": "__transparent_wmt8p_gg_",
|
|
28
|
+
"__SIntersection": "___SIntersection_wmt8p_gg_",
|
|
29
|
+
"--duration": "--duration_wmt8p",
|
|
30
|
+
"_pattern": "__pattern_wmt8p_gg_",
|
|
31
|
+
"--pattern": "--pattern_wmt8p"
|
|
32
32
|
});
|
|
33
33
|
var VennRoot = /*#__PURE__*/function (_Component) {
|
|
34
34
|
_inherits(VennRoot, _Component);
|
package/lib/es6/Venn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Venn.js","names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","Root","sstyled","canUseDOM","FadeInOut","createElement","getChartDefaultColorName","Tooltip","PatternFill","uniqueIDEnhancement","style","_sstyled","insert","VennRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref5","clientX","clientY","eventEmitter","asProps","emit","forwardRef","ref","_extends","tag","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","getVennData","_this$asProps","data","orientation","orientationOrder","size","_size","_slicedToArray","vennData","Object","entries","map","_ref6","_ref7","dataKey","sets","split","getCircleProps","index","colorBackwardCapabilityOffset","color","name","patterns","duration","originalData","onMouseMove","bindHandlerTooltip","onMouseLeave","transparent","resolveColor","uid","minRadius","getIntersectionProps","_this$asProps2","dataKeys","delay","values","filter","d","includes","setid","render","Element","dataHintsHandler","establishDataType","renderElement","childrenPosition","Math","PI","c1","c2","radius","Circle","_ref8","_ref2","SCircle","styles","describeValueEntity","Fragment","cn","Intersection","_ref3","SIntersection","renderIntersection","useCallback","VennTooltip","_ref","arguments[0]","_ref4","SVennTooltip","_objectSpread","_assignProps","Venn","_______childrenComponents"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\nimport createElement from './createElement';\nimport { getChartDefaultColorName } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n minRadius: 6,\n };\n static enhance = [uniqueIDEnhancement()];\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\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 } = this.asProps;\n\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', props, tooltipProps);\n eventEmitter.emit('setTooltipVisible', visible);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props, index) {\n const colorBackwardCapabilityOffset = 1;\n const color = props.color || getChartDefaultColorName(index + colorBackwardCapabilityOffset);\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n color,\n patterns: this.asProps.patterns,\n };\n\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n transparent: this.asProps.transparent,\n resolveColor: this.asProps.resolveColor,\n color,\n uid: `${this.asProps.uid}-${index}`,\n patterns: this.asProps.patterns,\n minRadius: this.asProps.minRadius,\n };\n }\n\n getIntersectionProps(props) {\n const { duration, transparent } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n color: props.color,\n duration: props.duration,\n transparent: props.transparent,\n };\n\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n transparent,\n resolveColor: this.asProps.resolveColor,\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag='g' visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n this.vennData = this.getVennData();\n return (\n <Element\n aria-hidden\n render={this.renderElement}\n childrenPosition='inside'\n vennData={this.vennData}\n />\n );\n }\n}\n\nfunction Circle({\n Element: SCircle,\n styles,\n color,\n resolveColor,\n data,\n duration,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n uid,\n patterns,\n minRadius,\n}) {\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const radius = data.radius < minRadius ? minRadius : data.radius;\n if (data.radius === 0) return null;\n\n return (\n <>\n {sstyled(styles)(\n <SCircle\n aria-hidden\n render='circle'\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n cx={data.x}\n cy={data.y}\n r={radius}\n transparent={transparent}\n use:duration={`${duration}ms`}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </>\n );\n}\n\nfunction Intersection(props) {\n const {\n Element: SIntersection,\n styles,\n data,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n } = props;\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag='path' visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection\n aria-hidden\n render={renderIntersection}\n d={intersectionAreaPath(data)}\n transparent={transparent}\n />,\n );\n}\n\nconst VennTooltip = (props) => {\n const SVennTooltip = Root;\n return sstyled(props.styles)(<SVennTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Venn = createElement(VennRoot, {\n Circle,\n Intersection,\n Tooltip: [VennTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Venn;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Venn.js","names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","Root","sstyled","canUseDOM","FadeInOut","createElement","getChartDefaultColorName","Tooltip","PatternFill","uniqueIDEnhancement","style","_sstyled","insert","VennRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref5","clientX","clientY","eventEmitter","asProps","emit","forwardRef","ref","_extends","tag","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","getVennData","_this$asProps","data","orientation","orientationOrder","size","_size","_slicedToArray","vennData","Object","entries","map","_ref6","_ref7","dataKey","sets","split","getCircleProps","index","colorBackwardCapabilityOffset","color","name","patterns","duration","originalData","onMouseMove","bindHandlerTooltip","onMouseLeave","transparent","resolveColor","uid","minRadius","getIntersectionProps","_this$asProps2","dataKeys","delay","values","filter","d","includes","setid","render","Element","dataHintsHandler","establishDataType","renderElement","childrenPosition","Math","PI","c1","c2","radius","Circle","_ref8","_ref2","SCircle","styles","describeValueEntity","Fragment","cn","Intersection","_ref3","SIntersection","renderIntersection","useCallback","VennTooltip","_ref","arguments[0]","_ref4","SVennTooltip","_objectSpread","_assignProps","Venn","_______childrenComponents"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\nimport createElement from './createElement';\nimport { getChartDefaultColorName } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n minRadius: 6,\n };\n static enhance = [uniqueIDEnhancement()];\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\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 } = this.asProps;\n\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', props, tooltipProps);\n eventEmitter.emit('setTooltipVisible', visible);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props, index) {\n const colorBackwardCapabilityOffset = 1;\n const color = props.color || getChartDefaultColorName(index + colorBackwardCapabilityOffset);\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n color,\n patterns: this.asProps.patterns,\n };\n\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n transparent: this.asProps.transparent,\n resolveColor: this.asProps.resolveColor,\n color,\n uid: `${this.asProps.uid}-${index}`,\n patterns: this.asProps.patterns,\n minRadius: this.asProps.minRadius,\n };\n }\n\n getIntersectionProps(props) {\n const { duration, transparent } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n color: props.color,\n duration: props.duration,\n transparent: props.transparent,\n };\n\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n transparent,\n resolveColor: this.asProps.resolveColor,\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag='g' visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n this.vennData = this.getVennData();\n return (\n <Element\n aria-hidden\n render={this.renderElement}\n childrenPosition='inside'\n vennData={this.vennData}\n />\n );\n }\n}\n\nfunction Circle({\n Element: SCircle,\n styles,\n color,\n resolveColor,\n data,\n duration,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n uid,\n patterns,\n minRadius,\n}) {\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const radius = data.radius < minRadius ? minRadius : data.radius;\n if (data.radius === 0) return null;\n\n return (\n <>\n {sstyled(styles)(\n <SCircle\n aria-hidden\n render='circle'\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n cx={data.x}\n cy={data.y}\n r={radius}\n transparent={transparent}\n use:duration={`${duration}ms`}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </>\n );\n}\n\nfunction Intersection(props) {\n const {\n Element: SIntersection,\n styles,\n data,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n } = props;\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag='path' visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection\n aria-hidden\n render={renderIntersection}\n d={intersectionAreaPath(data)}\n transparent={transparent}\n />,\n );\n}\n\nconst VennTooltip = (props) => {\n const SVennTooltip = Root;\n return sstyled(props.styles)(<SVennTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Venn = createElement(VennRoot, {\n Circle,\n Intersection,\n Tooltip: [VennTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Venn;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
-
import { sstyled as _sstyled } from "@semcore/
|
|
4
|
+
import { sstyled as _sstyled } from "@semcore/core";
|
|
5
5
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
6
6
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
7
7
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
@@ -10,10 +10,10 @@ import { normalizeLocale } from './locale';
|
|
|
10
10
|
import { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';
|
|
11
11
|
import { Root, sstyled } from '@semcore/core';
|
|
12
12
|
/*__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
|
|
13
|
-
var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
14
|
-
"__SPlotA11yModule": "
|
|
13
|
+
var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yModule_i0svk_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_i0svk_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}" /*__inner_css_end__*/, "i0svk_gg_") /*__reshadow_css_end__*/, {
|
|
14
|
+
"__SPlotA11yModule": "___SPlotA11yModule_i0svk_gg_"
|
|
15
15
|
});
|
|
16
|
-
import { Context as I18nContext, useI18n } from '@semcore/
|
|
16
|
+
import { Context as I18nContext, useI18n } from '@semcore/core/lib/utils/enhances/WithI18n';
|
|
17
17
|
import { Box } from '@semcore/flex-box';
|
|
18
18
|
var globalWasFocused = false;
|
|
19
19
|
var globalNavWithKeyboard = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlotA11yModule.js","names":["React","normalizeLocale","localizedMessages","Root","sstyled","styles","_sstyled","insert","Context","I18nContext","useI18n","Box","globalWasFocused","globalNavWithKeyboard","PlotA11yModule","props","_ref","arguments[0]","_ref5","SPlotA11yModule","_React$useState","useState","_React$useState2","_slicedToArray","wasFocused","setWasFocused","_React$useState3","_React$useState4","navWithKeyboard","setNavWithKeyboard","_React$useState5","_React$useState6","plotA11yView","setPlotA11yView","hadnleHiddenElementsFocus","useCallback","_React$useState7","_React$useState8","loading","setLoading","_React$useState9","_React$useState10","error","setError","contextLocale","useContext","locale","useMemo","_props$locale","t","useEffect","_props$plotRef$curren","focusListener","plotRef","current","addEventListener","_props$plotRef$curren2","removeEventListener","_document$body","keyboardListener","event","navigationKeys","includes","key","document","body","_document$body2","shouldDisplayView","then","_ref6","PlotA11yView","Component","console","_ref2","createElement","_extends","_ref3","cn","_objectSpread","_assignProps","_ref4","_assignProps2","_assignProps3"],"sources":["../../../src/a11y/PlotA11yModule.tsx"],"sourcesContent":["import React from 'react';\nimport { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { normalizeLocale } from './locale';\nimport { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yModule.shadow.css';\nimport { Context as I18nContext, useI18n } from '@semcore/
|
|
1
|
+
{"version":3,"file":"PlotA11yModule.js","names":["React","normalizeLocale","localizedMessages","Root","sstyled","styles","_sstyled","insert","Context","I18nContext","useI18n","Box","globalWasFocused","globalNavWithKeyboard","PlotA11yModule","props","_ref","arguments[0]","_ref5","SPlotA11yModule","_React$useState","useState","_React$useState2","_slicedToArray","wasFocused","setWasFocused","_React$useState3","_React$useState4","navWithKeyboard","setNavWithKeyboard","_React$useState5","_React$useState6","plotA11yView","setPlotA11yView","hadnleHiddenElementsFocus","useCallback","_React$useState7","_React$useState8","loading","setLoading","_React$useState9","_React$useState10","error","setError","contextLocale","useContext","locale","useMemo","_props$locale","t","useEffect","_props$plotRef$curren","focusListener","plotRef","current","addEventListener","_props$plotRef$curren2","removeEventListener","_document$body","keyboardListener","event","navigationKeys","includes","key","document","body","_document$body2","shouldDisplayView","then","_ref6","PlotA11yView","Component","console","_ref2","createElement","_extends","_ref3","cn","_objectSpread","_assignProps","_ref4","_assignProps2","_assignProps3"],"sources":["../../../src/a11y/PlotA11yModule.tsx"],"sourcesContent":["import React from 'react';\nimport { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { normalizeLocale } from './locale';\nimport { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yModule.shadow.css';\nimport { Context as I18nContext, useI18n } from '@semcore/core/lib/utils/enhances/WithI18n';\nimport { Box } from '@semcore/flex-box';\n\nlet globalWasFocused = false;\nlet globalNavWithKeyboard = false;\n\nexport type A11yViewProps = {\n id: string;\n data: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n};\n\nexport const PlotA11yModule: React.FC<A11yViewProps> = (props) => {\n const SPlotA11yModule = Root;\n const [wasFocused, setWasFocused] = React.useState(globalWasFocused);\n const [navWithKeyboard, setNavWithKeyboard] = React.useState(globalNavWithKeyboard);\n const [plotA11yView, setPlotA11yView] = React.useState<{\n Component: React.FC<A11yViewProps>;\n } | null>(null);\n\n const hadnleHiddenElementsFocus = React.useCallback(() => {\n setWasFocused(true);\n setNavWithKeyboard(true);\n }, []);\n\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | null>(null);\n\n const contextLocale = React.useContext(I18nContext);\n const locale = React.useMemo(\n () => normalizeLocale(props.locale ?? contextLocale, localizedMessages),\n [props.locale],\n );\n const t = useI18n(localizedMessages, locale!);\n\n React.useEffect(() => {\n if (wasFocused) return;\n const focusListener = () => {\n globalWasFocused = true;\n setWasFocused(true);\n };\n\n props.plotRef.current?.addEventListener('focus', focusListener);\n return () => props.plotRef.current?.removeEventListener('focus', focusListener);\n }, [wasFocused, props.plotRef]);\n React.useEffect(() => {\n if (navWithKeyboard) return;\n const keyboardListener = (event: Event) => {\n const navigationKeys = [\n 'Tab',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowLeft',\n ];\n if ('key' in event && navigationKeys.includes((event as KeyboardEvent).key)) {\n setNavWithKeyboard(true);\n globalNavWithKeyboard = true;\n }\n };\n document.body?.addEventListener('keydown', keyboardListener);\n return () => document.body?.removeEventListener('keydown', keyboardListener);\n }, [navWithKeyboard]);\n\n const shouldDisplayView = wasFocused && navWithKeyboard;\n\n React.useEffect(() => {\n if (!shouldDisplayView) return;\n if (plotA11yView) return;\n if (loading) return;\n\n setLoading(true);\n\n import('./PlotA11yView')\n .then(({ PlotA11yView }) => {\n setPlotA11yView({ Component: PlotA11yView });\n setLoading(false);\n setError(null);\n })\n .catch((error) => {\n console.error(error);\n setError(error);\n });\n }, [plotA11yView, shouldDisplayView, loading, setLoading]);\n\n if (plotA11yView) {\n return sstyled(styles)(\n <plotA11yView.Component {...props} locale={locale!} />,\n ) as React.ReactElement;\n }\n\n if (error) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live='assertive'>\n {t('failed')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n if (loading) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live='polite'>\n {t('loading')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} onFocus={hadnleHiddenElementsFocus}>\n {t('disabled')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import { sstyled as _sstyled } from "@semcore/
|
|
3
|
+
import { sstyled as _sstyled } from "@semcore/core";
|
|
4
4
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { heavyFindNextFocusableElement } from './focus';
|
|
@@ -9,11 +9,11 @@ import { getIntl } from './intl';
|
|
|
9
9
|
import { summarize } from './summarize';
|
|
10
10
|
import { Root, sstyled } from '@semcore/core';
|
|
11
11
|
/*__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
|
|
12
|
-
var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
13
|
-
"__SPlotA11yView": "
|
|
12
|
+
var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yView_1anfm_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_1anfm_gg_:focus,.___SPlotA11yView_1anfm_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_1anfm_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_1anfm_gg_ table,.___SPlotA11yView_1anfm_gg_ td,.___SPlotA11yView_1anfm_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}" /*__inner_css_end__*/, "1anfm_gg_") /*__reshadow_css_end__*/, {
|
|
13
|
+
"__SPlotA11yView": "___SPlotA11yView_1anfm_gg_"
|
|
14
14
|
});
|
|
15
15
|
import { Box } from '@semcore/flex-box';
|
|
16
|
-
import { useAsyncI18nMessages } from '@semcore/
|
|
16
|
+
import { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';
|
|
17
17
|
import { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';
|
|
18
18
|
import { DataAccessibilityTable } from './DataAccessibilityTable';
|
|
19
19
|
export var PlotA11yView = function PlotA11yView(_ref3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlotA11yView.js","names":["React","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","Root","sstyled","styles","_sstyled","insert","Box","useAsyncI18nMessages","localizedMessages","DataAccessibilityTable","PlotA11yView","_ref3","_ref","arguments[0]","_ref2","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","translations","intl","useMemo","Array","isArray","_React$useState","useState","_React$useState2","_slicedToArray","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","handleClose","useCallback","_plotRef$current","current","focus","handleSkip","event","_heavyFindNextFocusab","preventDefault","handleSkipKeyboard","key","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread","_assignProps","concat"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import React from 'react';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { Box } from '@semcore/flex-box';\nimport { useAsyncI18nMessages } from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n plotRef.current?.focus();\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role={'dialog'}\n __excludeProps={['data']}\n >\n <button type={'button'} onClick={handleClose}>\n {texts.close}\n </button>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={'#'} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,6BAA6B,QAAQ,SAAS;AACvD,SAASC,2BAA2B,QAAQ,SAAS;AAErD,SAASC,OAAO,QAAQ,QAAQ;AAChC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAAC;AAAA,IAAAC,MAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;AAAA;AAE9C,SAASC,GAAG,QAAQ,mBAAmB;AACvC,SAASC,oBAAoB,QAAQ,yCAAyC;AAC9E,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,sBAAsB,QAAQ,0BAA0B;AAEjE,OAAO,IAAMC,YAAqC,GAAG,SAAxCA,YAAqCA,CAAAC,KAAA,EAQ5C;EAAA,IAAAC,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAAA,IAPJC,EAAE,GAAAJ,KAAA,CAAFI,EAAE;IACIC,YAAY,GAAAL,KAAA,CAAlBM,IAAI;IACJC,KAAK,GAAAP,KAAA,CAALO,KAAK;IACLC,SAAS,GAAAR,KAAA,CAATQ,SAAS;IACTC,OAAO,GAAAT,KAAA,CAAPS,OAAO;IACCC,cAAc,GAAAV,KAAA,CAAtBW,MAAM;IACNC,MAAM,GAAAZ,KAAA,CAANY,MAAM;EAEN,IAAMC,aAAa,GAkFPlB,GAAG;EAjFf,IAAMmB,YAAY,GAAGlB,oBAAoB,CAACC,iBAAiB,EAAEe,MAAM,CAAC;EACpE,IAAMG,IAAI,GAAG9B,KAAK,CAAC+B,OAAO,CACxB;IAAA,OAAM5B,OAAO,CAACwB,MAAM,EAAEE,YAAY,EAAEjB,iBAAiB,CAAC;EAAA,GACtD,CAACe,MAAM,EAAEE,YAAY,EAAEjB,iBAAiB,CAAC,CAC1C;EACD,IAAMc,MAAM,GAAG1B,KAAK,CAAC+B,OAAO,CAAC;IAAA,OAAM7B,2BAA2B,CAACuB,cAAc,CAAC;EAAA,GAAE,CAACA,cAAc,CAAC,CAAC;EACjG,IAAMJ,IAAI,GAAGrB,KAAK,CAAC+B,OAAO,CACxB;IAAA,OAAOC,KAAK,CAACC,OAAO,CAACb,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC;EAAA,CAAC,EACnE,CAACA,YAAY,CAAC,CACf;EAED,IAAAc,eAAA,GAA8BlC,KAAK,CAACmC,QAAQ,CAAgB,IAAI,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA1DI,OAAO,GAAAF,gBAAA;IAAEG,UAAU,GAAAH,gBAAA;EAC1B,IAAAI,gBAAA,GAAkDxC,KAAK,CAACmC,QAAQ,CAAC,IAAI,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA;IAA/DE,iBAAiB,GAAAD,gBAAA;IAAEE,oBAAoB,GAAAF,gBAAA;EAE9CzC,KAAK,CAAC4C,SAAS,CAAC,YAAM;IACpB,IAAIlB,MAAM,CAACmB,OAAO,EAAE;MAClBN,UAAU,CAAC,EAAE,CAAC;MACdI,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACA,IAAIjB,MAAM,CAACoB,QAAQ,EAAE;MACnBP,UAAU,CAACb,MAAM,CAACoB,QAAQ,CAAC;MAC3BH,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACAI,UAAU,CAAC,YAAM;MACfR,UAAU,CAACnC,SAAS,CAACgB,YAAY,EAAEE,KAAK,EAAEI,MAAM,EAAEC,MAAM,EAAEE,YAAY,EAAEjB,iBAAiB,CAAC,CAAC;MAC3F+B,oBAAoB,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAACvB,YAAY,EAAEE,KAAK,EAAEI,MAAM,EAAEC,MAAM,EAAEE,YAAY,EAAEjB,iBAAiB,CAAC,CAAC;EAE1E,IAAMoC,WAAW,GAAGhD,KAAK,CAACiD,WAAW,CAAC,YAAM;IAAA,IAAAC,gBAAA;IAC1C,CAAAA,gBAAA,GAAA1B,OAAO,CAAC2B,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,KAAK,EAAE;EAC1B,CAAC,EAAE,EAAE,CAAC;EACN,IAAMC,UAAU,GAAGrD,KAAK,CAACiD,WAAW,CAAC,UAACK,KAA2B,EAAK;IAAA,IAAAC,qBAAA;IACpED,KAAK,CAACE,cAAc,EAAE;IACtB,IAAI,CAAChC,OAAO,CAAC2B,OAAO,EAAE;IAEtB,CAAAI,qBAAA,GAAAtD,6BAA6B,CAACuB,OAAO,CAAC2B,OAAO,CAAC,cAAAI,qBAAA,uBAA9CA,qBAAA,CAAgDH,KAAK,EAAE;EACzD,CAAC,EAAE,EAAE,CAAC;EACN,IAAMK,kBAAkB,GAAGzD,KAAK,CAACiD,WAAW,CAC1C,UAACK,KAA0B,EAAK;IAC9B,IAAI,EAAEA,KAAK,CAACI,GAAG,KAAK,OAAO,IAAIJ,KAAK,CAACI,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDL,UAAU,CAACC,KAAK,CAAC;EACnB,CAAC,EACD,CAACD,UAAU,CAAC,CACb;EACD,IAAMM,eAAe,GAAG3D,KAAK,CAACiD,WAAW,CAAC,UAACK,KAA2B,EAAK;IAAA,IAAAM,qBAAA;IACzEN,KAAK,CAACE,cAAc,EAAE;IACtB,CAAAI,qBAAA,GAAAC,YAAY,CAACV,OAAO,cAAAS,qBAAA,uBAApBA,qBAAA,CAAsBR,KAAK,EAAE;EAC/B,CAAC,EAAE,EAAE,CAAC;EACN,IAAMU,uBAAuB,GAAG9D,KAAK,CAACiD,WAAW,CAC/C,UAACK,KAA0B,EAAK;IAC9B,IAAI,EAAEA,KAAK,CAACI,GAAG,KAAK,OAAO,IAAIJ,KAAK,CAACI,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDC,eAAe,CAACL,KAAK,CAAC;EACxB,CAAC,EACD,CAACK,eAAe,CAAC,CAClB;EAED,IAAMI,KAAK,GAAG/D,KAAK,CAAC+B,OAAO,CACzB;IAAA,OAAO;MACLiC,KAAK,EAAElC,IAAI,CAACmC,aAAa,CACvB;QAAE9C,EAAE,EAAE;MAAa,CAAC,EACpB;QAAEI,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIO,IAAI,CAACmC,aAAa,CAAC;UAAE9C,EAAE,EAAE;QAA0B,CAAC;MAAE,CAAC,CAClF;MACD+C,KAAK,EAAEpC,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAAa,CAAC,CAAC;MAC/CgD,QAAQ,EAAErC,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAAiB,CAAC,CAAC;MACtDiD,SAAS,EAAEtC,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAAmB,CAAC,CAAC;MACzDmB,OAAO,EAAER,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAAoB,CAAC,CAAC;MACxDkD,kBAAkB,EAAEvC,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAA2B,CAAC,CAAC;MAC1EmD,KAAK,EAAExC,IAAI,CAACmC,aAAa,CAAC;QAAE9C,EAAE,EAAE;MAAa,CAAC;IAChD,CAAC;EAAA,CAAC,EACF,CAACW,IAAI,EAAEP,SAAS,CAAC,CAClB;EAED,IAAMsC,YAAY,GAAG7D,KAAK,CAACuE,MAAM,CAAmB,IAAI,CAAC;EAEzD,OAAArD,KAAA,GAAOZ,OAAO,CAACC,MAAM,CAAC,eACpBP,KAAA,CAAAwE,aAAA,CAAC5C,aAAa,EAAAV,KAAA,CAAAuD,EAAA,kBAAAC,aAAA,KAAAC,YAAA;IAAA,YAEF,CAAC;IAAA,cACCZ,KAAK,CAACC,KAAK;IAAA,QACjB,QAAQ;IAAA,kBACE,CAAC,MAAM;EAAC,GAAAhD,IAAA,kBAExBhB,KAAA,CAAAwE,aAAA,WAAAtD,KAAA,CAAAuD,EAAA;IAAA,QAAc,QAAQ;IAAA,WAAWzB;EAAW,IACzCe,KAAK,CAACG,KAAK,CACL,eAETlE,KAAA,CAAAwE,aAAA,MAAAtD,KAAA,CAAAuD,EAAA;IAAA,QAAS,GAAG;IAAA,aAAahB,kBAAkB;IAAA,WAAWJ;EAAU,IAC7DU,KAAK,CAACI,QAAQ,CACb,eAEJnE,KAAA,CAAAwE,aAAA,MAAAtD,KAAA,CAAAuD,EAAA;IAAA,YAAAG,MAAA,CAAazD,EAAE;IAAA,aAA0B2C,uBAAuB;IAAA,WAAWH;EAAe,IACvFI,KAAK,CAACK,SAAS,CACd,eACJpE,KAAA,CAAAwE,aAAA,WAAAtD,KAAA,CAAAuD,EAAA,6BACEzE,KAAA,CAAAwE,aAAA,UAAAtD,KAAA,CAAAuD,EAAA;IAAA,cAAAG,MAAA,CAAmBzD,EAAE;EAAA,IAAkB4C,KAAK,CAACzB,OAAO,CAAS,CACtD,eACTtC,KAAA,CAAAwE,aAAA,QAAAtD,KAAA,CAAAuD,EAAA;IAAA,SAAAG,MAAA,CAAYzD,EAAE;IAAA,aAA4BuB;EAAiB,IACxDA,iBAAiB,GAAGqB,KAAK,CAACM,kBAAkB,GAAG/B,OAAO,CACnD,eACNtC,KAAA,CAAAwE,aAAA,WAAAtD,KAAA,CAAAuD,EAAA,6BACEzE,KAAA,CAAAwE,aAAA,UAAAtD,KAAA,CAAAuD,EAAA;IAAA,cAAAG,MAAA,CAAmBzD,EAAE;EAAA,IAAgB4C,KAAK,CAACO,KAAK,CAAS,CAClD,eACTtE,KAAA,CAAAwE,aAAA,CAAC3D,sBAAsB,EAAAK,KAAA,CAAAuD,EAAA;IAAA,MACjBtD,EAAE;IAAA,gBACQ0C,YAAY;IAAA,QACpBxC,IAAI;IAAA,SACHC,KAAK;IAAA,UACJI,MAAM;IAAA,QACRI;EAAI,GACV,CACY;AAEpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"PlotA11yView.js","names":["React","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","Root","sstyled","styles","_sstyled","insert","Box","useAsyncI18nMessages","localizedMessages","DataAccessibilityTable","PlotA11yView","_ref3","_ref","arguments[0]","_ref2","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","translations","intl","useMemo","Array","isArray","_React$useState","useState","_React$useState2","_slicedToArray","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","handleClose","useCallback","_plotRef$current","current","focus","handleSkip","event","_heavyFindNextFocusab","preventDefault","handleSkipKeyboard","key","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread","_assignProps","concat"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import React from 'react';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { Box } from '@semcore/flex-box';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n plotRef.current?.focus();\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role={'dialog'}\n __excludeProps={['data']}\n >\n <button type={'button'} onClick={handleClose}>\n {texts.close}\n </button>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={'#'} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
|
package/lib/es6/a11y/focus.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFocusable } from '@semcore/
|
|
1
|
+
import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';
|
|
2
2
|
var findNextFocusableElementInChildren = function findNextFocusableElementInChildren(element) {
|
|
3
3
|
if (element && isFocusable(element)) {
|
|
4
4
|
return element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.js","names":["isFocusable","findNextFocusableElementInChildren","element","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","_parent$children","siblings","Array","from","indexOf","slice","focusable"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/
|
|
1
|
+
{"version":3,"file":"focus.js","names":["isFocusable","findNextFocusableElementInChildren","element","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","_parent$children","siblings","Array","from","indexOf","slice","focusable"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n const children = element?.children;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n if (!childChild) continue;\n const result = findNextFocusableElementInChildren(childChild);\n if (result) return result;\n }\n }\n\n return null;\n};\n\nconst makeParentsChain = (element: Element): Element[] => {\n const parents = [];\n let parent = element.parentElement;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n\n return parents;\n};\n\nexport const heavyFindNextFocusableElement = (base: Element): FocusableElement | null => {\n const parents = makeParentsChain(base);\n for (let i = 0; i < parents.length; i++) {\n const parent = parents[i];\n let siblings = Array.from(parent?.children ?? []);\n if (siblings.indexOf(parents[i - 1] || base) !== -1) {\n siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);\n }\n\n for (let i = 0; i < siblings.length; i++) {\n const focusable = findNextFocusableElementInChildren(siblings[i]);\n if (focusable) return focusable;\n }\n }\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,gDAAgD;AAI5E,IAAMC,kCAAkC,GAAG,SAArCA,kCAAkCA,CAAIC,OAAuB,EAA8B;EAC/F,IAAIA,OAAO,IAAIF,WAAW,CAACE,OAAO,CAAC,EAAE;IACnC,OAAOA,OAAO;EAChB;EAEA,IAAMC,QAAQ,GAAGD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ;EAElC,IAAIA,QAAQ,EAAE;IACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,IAAME,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACH,CAAC,CAAC;MACnC,IAAI,CAACE,UAAU,EAAE;MACjB,IAAME,MAAM,GAAGP,kCAAkC,CAACK,UAAU,CAAC;MAC7D,IAAIE,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIP,OAAgB,EAAgB;EACxD,IAAMQ,OAAO,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAGT,OAAO,CAACU,aAAa;EAElC,OAAOD,MAAM,EAAE;IACbD,OAAO,CAACG,IAAI,CAACF,MAAM,CAAC;IACpBA,MAAM,GAAGA,MAAM,CAACC,aAAa;EAC/B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,OAAO,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,IAAa,EAA8B;EACvF,IAAML,OAAO,GAAGD,gBAAgB,CAACM,IAAI,CAAC;EACtC,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,OAAO,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;IAAA,IAAAY,gBAAA;IACvC,IAAML,MAAM,GAAGD,OAAO,CAACN,CAAC,CAAC;IACzB,IAAIa,QAAQ,GAAGC,KAAK,CAACC,IAAI,EAAAH,gBAAA,GAACL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAER,QAAQ,cAAAa,gBAAA,cAAAA,gBAAA,GAAI,EAAE,CAAC;IACjD,IAAIC,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACnDE,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAACJ,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE;IAEA,KAAK,IAAIX,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGa,QAAQ,CAACZ,MAAM,EAAED,EAAC,EAAE,EAAE;MACxC,IAAMkB,SAAS,GAAGrB,kCAAkC,CAACgB,QAAQ,CAACb,EAAC,CAAC,CAAC;MACjE,IAAIkB,SAAS,EAAE,OAAOA,SAAS;IACjC;EACF;EAEA,OAAO,IAAI;AACb,CAAC"}
|