@elliemae/ds-dataviz 3.36.0-rc.0 → 3.36.1-next.7
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/dist/cjs/graphs/Chart/SingleStackedBar/SingleStackedBar.js +2 -4
- package/dist/cjs/graphs/Chart/SingleStackedBar/SingleStackedBar.js.map +1 -1
- package/dist/cjs/graphs/Chart/SingleStackedBar/index.js +0 -1
- package/dist/cjs/graphs/Chart/SingleStackedBar/index.js.map +1 -1
- package/dist/cjs/graphs/Chart/SingleStackedBar/styles.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useChart.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useGetters.js +15 -30
- package/dist/cjs/graphs/Chart/config/useGetters.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +17 -34
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useScales.js +11 -22
- package/dist/cjs/graphs/Chart/config/useScales.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useValidateProps.js.map +1 -1
- package/dist/cjs/graphs/Chart/helpers/index.js +5 -10
- package/dist/cjs/graphs/Chart/helpers/index.js.map +1 -1
- package/dist/cjs/graphs/Chart/helpers/useUniqueData.js +3 -6
- package/dist/cjs/graphs/Chart/helpers/useUniqueData.js.map +1 -1
- package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js +2 -4
- package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/A11yRegion.js +1 -2
- package/dist/cjs/graphs/Chart/parts/A11yRegion.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Axis/Axis.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Axis/Axis.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js +6 -12
- package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js +5 -10
- package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js +5 -10
- package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Axis/Tick.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js +6 -12
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/ClipPaths.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Labels/Label.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/LeftLegend.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/Legend.js +4 -8
- package/dist/cjs/graphs/Chart/parts/Legend/Legend.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js +3 -6
- package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/RightLegend.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/TopLegend.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scrapper/Scrapper.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/Scrapper.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js +1 -2
- package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/Controllers.js +2 -4
- package/dist/cjs/graphs/Chart/parts/Scroller/Controllers.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js +7 -14
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js +2 -4
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +1 -1
- package/dist/cjs/graphs/Chart/parts/TrendHighlight.js +1 -2
- package/dist/cjs/graphs/Chart/parts/TrendHighlight.js.map +1 -1
- package/dist/cjs/graphs/Chart/scales/index.js +13 -26
- package/dist/cjs/graphs/Chart/scales/index.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Area.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Bars.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/HorizontalBars.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Line.js +1 -2
- package/dist/cjs/graphs/Chart/series/Line.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Point.js +2 -4
- package/dist/cjs/graphs/Chart/series/Point.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Points.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/Rect.js +5 -10
- package/dist/cjs/graphs/Chart/series/Rect.js.map +1 -1
- package/dist/cjs/graphs/Chart/series/StackedBar.js.map +1 -1
- package/dist/cjs/graphs/Chart/styles.js.map +1 -1
- package/dist/esm/graphs/Chart/SingleStackedBar/SingleStackedBar.js +2 -4
- package/dist/esm/graphs/Chart/SingleStackedBar/SingleStackedBar.js.map +1 -1
- package/dist/esm/graphs/Chart/SingleStackedBar/index.js +0 -1
- package/dist/esm/graphs/Chart/SingleStackedBar/index.js.map +1 -1
- package/dist/esm/graphs/Chart/SingleStackedBar/styles.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useChart.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useGetters.js +15 -30
- package/dist/esm/graphs/Chart/config/useGetters.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +17 -34
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useScales.js +11 -22
- package/dist/esm/graphs/Chart/config/useScales.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useValidateProps.js.map +1 -1
- package/dist/esm/graphs/Chart/helpers/index.js +5 -10
- package/dist/esm/graphs/Chart/helpers/index.js.map +1 -1
- package/dist/esm/graphs/Chart/helpers/useUniqueData.js +3 -6
- package/dist/esm/graphs/Chart/helpers/useUniqueData.js.map +1 -1
- package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js +2 -4
- package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/A11yRegion.js +1 -2
- package/dist/esm/graphs/Chart/parts/A11yRegion.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Axis/Axis.js +1 -2
- package/dist/esm/graphs/Chart/parts/Axis/Axis.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js +6 -12
- package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js +5 -10
- package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js +5 -10
- package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Axis/Tick.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/ChartContainer.js +6 -12
- package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/ClipPaths.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Labels/Label.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js +1 -2
- package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/LeftLegend.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/Legend.js +4 -8
- package/dist/esm/graphs/Chart/parts/Legend/Legend.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js +3 -6
- package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/RightLegend.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/TopLegend.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scrapper/Scrapper.js +1 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/Scrapper.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js +1 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +1 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js +1 -2
- package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/Controllers.js +2 -4
- package/dist/esm/graphs/Chart/parts/Scroller/Controllers.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js +7 -14
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js +2 -4
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +1 -1
- package/dist/esm/graphs/Chart/parts/TrendHighlight.js +1 -2
- package/dist/esm/graphs/Chart/parts/TrendHighlight.js.map +1 -1
- package/dist/esm/graphs/Chart/scales/index.js +13 -26
- package/dist/esm/graphs/Chart/scales/index.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Area.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Bars.js.map +1 -1
- package/dist/esm/graphs/Chart/series/HorizontalBars.js.map +1 -1
- package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Line.js +1 -2
- package/dist/esm/graphs/Chart/series/Line.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Point.js +2 -4
- package/dist/esm/graphs/Chart/series/Point.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Points.js.map +1 -1
- package/dist/esm/graphs/Chart/series/Rect.js +5 -10
- package/dist/esm/graphs/Chart/series/Rect.js.map +1 -1
- package/dist/esm/graphs/Chart/series/StackedBar.js.map +1 -1
- package/dist/esm/graphs/Chart/styles.js.map +1 -1
- package/package.json +7 -7
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/scales/index.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport type { ScaleBand, ScaleLinear, ScaleLogarithmic, ScaleTime } from 'd3';\nimport type { DSChartT } from '../react-desc-prop-types.js';\nimport { timeFormat, format, utcDay, utcMonth, utcWeek, utcYear } from 'd3';\n\nexport const AXIS_TYPE = {\n BAND: 'BAND',\n LINEAR: 'LINEAR',\n DATETIME: 'DATETIME',\n LOG: 'LOG',\n} as const;\n\nconst getInterval = (interval?: string) => {\n switch (interval) {\n case 'DAY':\n return utcDay;\n case 'MONTH':\n return utcMonth;\n case 'WEEK':\n return utcWeek;\n case 'YEAR':\n return utcYear;\n default:\n return null;\n }\n};\n\nexport class Scale {\n scale: ScaleBand<string> | ScaleLinear<number, number, never> | ScaleTime<number, number, never>;\n\n type: string;\n\n constructor(scale: ScaleBand<string> | ScaleLinear<number, number, never> | ScaleTime<number, number, never>) {\n this.type = '';\n this.scale = scale;\n }\n\n getBandwidth() {\n return 0;\n }\n}\nexport class BandScale extends Scale {\n type: keyof typeof AXIS_TYPE;\n\n scale: ScaleBand<string>;\n\n axisProps: DSChartT.AxisT;\n\n constructor(scale: ScaleBand<string>, axisProps: DSChartT.AxisT) {\n super(scale);\n this.scale = scale;\n this.type = 'BAND';\n this.axisProps = axisProps;\n }\n\n get(value: string) {\n if (typeof value !== 'string') return 0;\n return this.scale(value);\n }\n\n getTicks() {\n return this.scale.domain();\n }\n\n getTickFormatted(t: number | string | Date) {\n if (typeof t !== 'string') return t;\n if (typeof this.axisProps?.tick?.tickFormat === 'function') {\n return this.axisProps?.tick?.tickFormat(t);\n }\n return t;\n }\n\n getTicksScaled() {\n return this.scale.domain().map((d) => (this.get(d) ?? 0) + this.getBandwidth() / 2);\n }\n\n getBandwidth() {\n return this.scale.bandwidth();\n }\n}\n\nexport class LinearScale extends Scale {\n type: keyof typeof AXIS_TYPE;\n\n scale: ScaleLinear<number, number, never>;\n\n axisProps: DSChartT.AxisT;\n\n constructor(scale: ScaleLinear<number, number, never>, axisProps: DSChartT.AxisT) {\n super(scale);\n this.scale = scale;\n this.type = 'LINEAR';\n this.axisProps = axisProps;\n }\n\n get(value: number) {\n if (typeof value !== 'number') return 0;\n return this.scale(value);\n }\n\n getTickFormatted(t: number | string | Date) {\n if (typeof t !== 'number') return t.toString();\n if (typeof this.axisProps?.tick?.tickFormat === 'function') {\n return this.axisProps?.tick?.tickFormat(t);\n }\n if (typeof this.axisProps?.tick?.tickFormat === 'string') {\n return format(this.axisProps?.tick?.tickFormat)(t);\n }\n return t.toString();\n }\n\n getTicks(dimension: number) {\n const ticks = this.scale.ticks?.(this.axisProps?.tick?.tickCount ?? Math.ceil(dimension / 80));\n if (this.axisProps?.tick?.tickValues) {\n if (this.axisProps?.tick?.overwriteTicks) return this.axisProps?.tick?.tickValues;\n this.axisProps?.tick?.tickValues.forEach((t) => {\n if (typeof t !== 'number') return;\n const isTickAlreadyPresent = ticks.find((tick) => tick === t);\n if (isTickAlreadyPresent) return;\n ticks.push(t);\n });\n }\n return ticks;\n }\n\n getTicksScaled(dimension: number) {\n const ticks = this.getTicks(dimension);\n return ticks.map((t) => (typeof t === 'number' ? this.get(t) : 0));\n }\n}\n\nexport class LogScale extends LinearScale {\n type: keyof typeof AXIS_TYPE;\n\n scale: ScaleLogarithmic<number, number, never>;\n\n axisProps: DSChartT.AxisT;\n\n constructor(scale: ScaleLogarithmic<number, number, never>, axisProps: DSChartT.AxisT) {\n super(scale, axisProps);\n this.scale = scale;\n this.type = 'LOG';\n this.axisProps = axisProps;\n }\n\n getTickFormatted(t: number | string | Date) {\n if (typeof t !== 'number') return t.toString();\n if (typeof this.axisProps?.tick?.tickFormat === 'function') {\n return this.axisProps?.tick?.tickFormat(t);\n }\n if (typeof this.axisProps?.tick?.tickFormat === 'string') {\n return format(this.axisProps?.tick?.tickFormat)(t);\n }\n return format('~s')(t);\n }\n}\n\nexport class TimeLinearScale extends Scale {\n type: keyof typeof AXIS_TYPE;\n\n scale: ScaleTime<number, number, never>;\n\n axisProps: DSChartT.AxisT;\n\n constructor(scale: ScaleTime<number, number, never>, axisProps: DSChartT.AxisT) {\n super(scale);\n this.scale = scale;\n this.type = 'DATETIME';\n this.axisProps = axisProps;\n }\n\n get(value: Date) {\n if (typeof value !== 'object') return 0;\n return this.scale(value);\n }\n\n getTickFormatted(t: number | string | Date) {\n if (typeof t !== 'object') return t.toString();\n if (typeof this.axisProps?.tick?.tickFormat === 'function') {\n return this.axisProps?.tick?.tickFormat(t);\n }\n if (typeof this.axisProps?.tick?.tickFormat === 'string') {\n return timeFormat(this.axisProps?.tick?.tickFormat)(t);\n }\n return t.toString();\n }\n\n getTicks(dimension: number, intervalType?: string) {\n const interval = getInterval(intervalType);\n const finalTickConfig = interval || (this.axisProps?.tick?.tickCount ?? Math.ceil(dimension / 80));\n const ticks = this.scale.ticks?.(finalTickConfig as number);\n const ticksValues = this.axisProps?.tick?.tickValues;\n if (ticksValues) {\n if (this.axisProps?.tick?.overwriteTicks) return ticksValues;\n const newTicks = [] as Date[];\n ticks.forEach((t) => {\n if (typeof t !== 'object') return;\n const exists = ticksValues.some(\n (tickValue) => typeof tickValue === 'object' && tickValue.getTime() === t.getTime(),\n );\n if (!exists) newTicks.push(t);\n });\n return [...newTicks, ...ticksValues];\n }\n return ticks;\n }\n\n getTicksScaled(dimension: number, intervalType?: string) {\n const ticks = this.getTicks(dimension, intervalType);\n return ticks.map((t) => (typeof t === 'object' ? this.get(t) : 0));\n }\n}\n\nexport type ScaleT = BandScale | LinearScale | TimeLinearScale;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,gBAAuE;AAEhE,MAAM,YAAY;AAAA,EACvB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AACP;AAEA,MAAM,cAAc,CAAC,aAAsB;AACzC,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,MAAM,MAAM;AAAA,EAKjB,YAAY,OAAkG;AAC5G,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,eAAe;AACb,WAAO;AAAA,EACT;AACF;AACO,MAAM,kBAAkB,MAAM;AAAA,EAOnC,YAAY,OAA0B,WAA2B;AAC/D,UAAM,KAAK;AACX,SAAK,QAAQ;AACb,SAAK,OAAO;AACZ,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,IAAI,OAAe;AACjB,QAAI,OAAO,UAAU
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Area.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { area, line } from 'd3';\nimport { StyledArea } from '../styles.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { getStackedData } from '../helpers/index.js';\nimport { Points } from './Points.js';\nimport { LINE, curveStyleMap } from '../../constants.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const Area: React.ComponentType<DSChartT.SerieComponentT> = ({ serie }) => {\n const { xScale, getXScaleValue, getY2ScaleValue, getYScaleValue, innerHeight, colorScale, stackedData } =\n useContext(ChartContext);\n\n const finalYScale = serie.scale === 'y2' ? getY2ScaleValue : getYScaleValue;\n\n const curveStyle = useMemo(() => curveStyleMap[serie.curveStyle ?? LINE.CURVE_STYLE.LINEAR], [serie.curveStyle]);\n const areaD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return area()\n .x((_, i) => getXScaleValue(serie.data[i]))\n .y0(([, y2]) => finalYScale(y2))\n .y1(([y1]) => finalYScale(y1))\n .curve(curveStyle)(serieWithStackedValues as [number, number][]);\n }\n return area()\n .x((_, i) => getXScaleValue(serie.data[i]))\n .y0(innerHeight)\n .y1((_, i) => getYScaleValue(serie.data[i]))\n .curve(curveStyle)(serie.data as unknown as [number, number][]);\n }, [stackedData, serie, innerHeight, curveStyle, getXScaleValue, finalYScale, getYScaleValue]);\n\n const lineD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return line()\n .x((_, i) => getXScaleValue(serie.data[i]))\n .y(([, y2]) => finalYScale(y2))\n .curve(curveStyle)(serieWithStackedValues as unknown as [number, number][]);\n }\n return line()\n .x((_, i) => getXScaleValue(serie.data[i]))\n .y((_, i) => getYScaleValue(serie.data[i]))\n .curve(curveStyle)(serie.data as unknown as [number, number][]);\n }, [stackedData, serie, curveStyle, getXScaleValue, finalYScale, getYScaleValue]);\n\n const xTranslate = (xScale?.getBandwidth() ?? 0) / 2;\n\n return (\n <g>\n <g transform={`translate(${xTranslate}, 0)`}>\n <Points serie={serie} />\n <path d={lineD3 ?? ''} fill=\"none\" strokeWidth={2} stroke={colorScale(serie.name) as string} />\n <StyledArea d={areaD3 ?? ''} fill={colorScale(serie.name) as string} />\n </g>\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkDjB;AAlDN,mBAA2C;AAC3C,gBAA2B;AAC3B,oBAA2B;AAC3B,0BAA6B;AAC7B,qBAA+B;AAC/B,oBAAuB;AACvB,uBAAoC;AAG7B,MAAM,OAAsD,CAAC,EAAE,MAAM,MAAM;AAChF,QAAM,EAAE,QAAQ,gBAAgB,iBAAiB,gBAAgB,aAAa,YAAY,YAAY,QACpG,yBAAW,gCAAY;AAEzB,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,iBAAa,sBAAQ,MAAM,+BAAc,MAAM,cAAc,sBAAK,YAAY,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC;AAC/G,QAAM,aAAS,sBAAQ,MAAM;AAC3B,UAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,iBAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC9B,GAAG,CAAC,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC,EAC5B,MAAM,UAAU,EAAE,sBAA4C;AAAA,IACnE;AACA,eAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,GAAG,WAAW,EACd,GAAG,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EAC1C,MAAM,UAAU,EAAE,MAAM,IAAqC;AAAA,EAClE,GAAG,CAAC,aAAa,OAAO,aAAa,YAAY,gBAAgB,aAAa,cAAc,CAAC;AAE7F,QAAM,aAAS,sBAAQ,MAAM;AAC3B,UAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,iBAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC7B,MAAM,UAAU,EAAE,sBAAuD;AAAA,IAC9E;AACA,eAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,MAAM,UAAU,EAAE,MAAM,IAAqC;AAAA,EAClE,GAAG,CAAC,aAAa,OAAO,YAAY,gBAAgB,aAAa,cAAc,CAAC;AAEhF,QAAM,cAAc,QAAQ,aAAa,KAAK,KAAK;AAEnD,SACE,4CAAC,OACC,uDAAC,OAAE,WAAW,aAAa,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkDjB;AAlDN,mBAA2C;AAC3C,gBAA2B;AAC3B,oBAA2B;AAC3B,0BAA6B;AAC7B,qBAA+B;AAC/B,oBAAuB;AACvB,uBAAoC;AAG7B,MAAM,OAAsD,CAAC,EAAE,MAAM,MAAM;AAChF,QAAM,EAAE,QAAQ,gBAAgB,iBAAiB,gBAAgB,aAAa,YAAY,YAAY,QACpG,yBAAW,gCAAY;AAEzB,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,iBAAa,sBAAQ,MAAM,+BAAc,MAAM,cAAc,sBAAK,YAAY,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC;AAC/G,QAAM,aAAS,sBAAQ,MAAM;AAC3B,UAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,iBAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC9B,GAAG,CAAC,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC,EAC5B,MAAM,UAAU,EAAE,sBAA4C;AAAA,IACnE;AACA,eAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,GAAG,WAAW,EACd,GAAG,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EAC1C,MAAM,UAAU,EAAE,MAAM,IAAqC;AAAA,EAClE,GAAG,CAAC,aAAa,OAAO,aAAa,YAAY,gBAAgB,aAAa,cAAc,CAAC;AAE7F,QAAM,aAAS,sBAAQ,MAAM;AAC3B,UAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,iBAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC7B,MAAM,UAAU,EAAE,sBAAuD;AAAA,IAC9E;AACA,eAAO,gBAAK,EACT,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,MAAM,UAAU,EAAE,MAAM,IAAqC;AAAA,EAClE,GAAG,CAAC,aAAa,OAAO,YAAY,gBAAgB,aAAa,cAAc,CAAC;AAEhF,QAAM,cAAc,QAAQ,aAAa,KAAK,KAAK;AAEnD,SACE,4CAAC,OACC,uDAAC,OAAE,WAAW,aAAa,UAAU,QACnC;AAAA,gDAAC,wBAAO,OAAc;AAAA,IACtB,4CAAC,UAAK,GAAG,UAAU,IAAI,MAAK,QAAO,aAAa,GAAG,QAAQ,WAAW,MAAM,IAAI,GAAa;AAAA,IAC7F,4CAAC,4BAAW,GAAG,UAAU,IAAI,MAAM,WAAW,MAAM,IAAI,GAAa;AAAA,KACvE,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Bars.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { Rect } from './Rect.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { A11yRegion } from '../parts/A11yRegion.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const Bars: React.ComponentType<DSChartT.SerieComponentT> = ({ serie }) => {\n const {\n innerHeight,\n xScale,\n getXScaleValue,\n getYScaleValue,\n getY2ScaleValue,\n subGroupScale,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? getY2ScaleValue : getYScaleValue;\n\n const negativeSize = innerHeight - finalYScale(0);\n const positiveSize = innerHeight - negativeSize;\n\n return (\n <A11yRegion\n serieName={serie.name}\n clipPath={`url(#rect-focus-ring-${chartId})`}\n fill={colorScale(serie.name) as string}\n >\n {serie.data.map((bar) => {\n const x = getXValue(bar) as number;\n const y = getYValue(bar) as number;\n const xScaled = getXScaleValue(bar) ?? 0;\n const yScaled = finalYScale(bar) ?? 0;\n const width = subGroupScale?.bandwidth() ?? 0;\n const height = y > 0 ? positiveSize - yScaled : yScaled - finalYScale(0);\n const transformX =\n xScale?.type !== 'BAND' ? xScaled - width / 2 : ((subGroupScale && subGroupScale(serie.name)) ?? 0) + xScaled;\n\n const transformY = y > 0 ? finalYScale(0) - height : finalYScale(0);\n\n return (\n <g id={`${chartId}-${serie.name}-rects-${bar.key}`} key={bar.key} transform={`translate(${transformX},0)`}>\n <Rect\n name={serie.name}\n xValue={x}\n yValue={y}\n width={width}\n height={height}\n id={bar.key}\n y={transformY}\n isNegative={y < 0}\n datum={bar}\n />\n </g>\n );\n })}\n </A11yRegion>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6CX;AA5CZ,mBAAkC;AAClC,kBAAqB;AACrB,0BAA6B;AAC7B,wBAA2B;AAGpB,MAAM,OAAsD,CAAC,EAAE,MAAM,MAAM;AAChF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,eAAe,cAAc,YAAY,CAAC;AAChD,QAAM,eAAe,cAAc;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,UAAU,wBAAwB;AAAA,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6CX;AA5CZ,mBAAkC;AAClC,kBAAqB;AACrB,0BAA6B;AAC7B,wBAA2B;AAGpB,MAAM,OAAsD,CAAC,EAAE,MAAM,MAAM;AAChF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,eAAe,cAAc,YAAY,CAAC;AAChD,QAAM,eAAe,cAAc;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,UAAU,wBAAwB,OAAO;AAAA,MACzC,MAAM,WAAW,MAAM,IAAI;AAAA,MAE1B,gBAAM,KAAK,IAAI,CAAC,QAAQ;AACvB,cAAM,IAAI,UAAU,GAAG;AACvB,cAAM,IAAI,UAAU,GAAG;AACvB,cAAM,UAAU,eAAe,GAAG,KAAK;AACvC,cAAM,UAAU,YAAY,GAAG,KAAK;AACpC,cAAM,QAAQ,eAAe,UAAU,KAAK;AAC5C,cAAM,SAAS,IAAI,IAAI,eAAe,UAAU,UAAU,YAAY,CAAC;AACvE,cAAM,aACJ,QAAQ,SAAS,SAAS,UAAU,QAAQ,MAAM,iBAAiB,cAAc,MAAM,IAAI,MAAM,KAAK;AAExG,cAAM,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC;AAElE,eACE,4CAAC,OAAE,IAAI,GAAG,OAAO,IAAI,MAAM,IAAI,UAAU,IAAI,GAAG,IAAkB,WAAW,aAAa,UAAU,OAClG;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,MAAM;AAAA,YACZ,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YACA,IAAI,IAAI;AAAA,YACR,GAAG;AAAA,YACH,YAAY,IAAI;AAAA,YAChB,OAAO;AAAA;AAAA,QACT,KAXuD,IAAI,GAY7D;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/HorizontalBars.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect.js';\nimport { ChartContext } from '../ChartContext.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const HorizontalBars = ({ serie }: DSChartT.SerieComponentT) => {\n const {\n innerWidth,\n subGroupScale,\n getYScaleValue,\n getY2ScaleValue,\n getXScaleValue,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? getY2ScaleValue : getYScaleValue;\n const negativeSize = innerWidth - getXScaleValue(0);\n const positiveSize = innerWidth - negativeSize;\n\n return useMemo(\n () => (\n <g fill={colorScale(serie.name) as string} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar) => {\n const x = getXValue(bar) as number;\n const y = getYValue(bar) as number;\n const xScaled = getXScaleValue(bar) ?? 0;\n const width = x < 0 ? positiveSize - xScaled : xScaled - getXScaleValue(0);\n const height = subGroupScale?.bandwidth() ?? 0;\n const transformX = x < 0 ? getXScaleValue(0) - width : getXScaleValue(0);\n const transformY = ((subGroupScale && subGroupScale(serie.name)) ?? 0) + finalYScale(y);\n\n return (\n <g key={bar.key} transform={`translate(${transformX},${transformY})`}>\n <Rect\n datum={bar}\n name={serie.name}\n width={width}\n height={height}\n id={bar.key}\n x={0}\n xValue={x}\n yValue={y}\n />\n </g>\n );\n })}\n </g>\n ),\n [\n chartId,\n colorScale,\n finalYScale,\n getXScaleValue,\n getXValue,\n getYValue,\n positiveSize,\n serie.data,\n serie.name,\n subGroupScale,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoCT;AAnCd,mBAA2C;AAC3C,kBAAqB;AACrB,0BAA6B;AAGtB,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAAgC;AACrE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAC7D,QAAM,eAAe,aAAa,eAAe,CAAC;AAClD,QAAM,eAAe,aAAa;AAElC,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,MAAM,WAAW,MAAM,IAAI,GAAa,UAAU,wBAAwB,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoCT;AAnCd,mBAA2C;AAC3C,kBAAqB;AACrB,0BAA6B;AAGtB,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAAgC;AACrE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAC7D,QAAM,eAAe,aAAa,eAAe,CAAC;AAClD,QAAM,eAAe,aAAa;AAElC,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,MAAM,WAAW,MAAM,IAAI,GAAa,UAAU,wBAAwB,OAAO,KACjF,gBAAM,KAAK,IAAI,CAAC,QAAQ;AACvB,YAAM,IAAI,UAAU,GAAG;AACvB,YAAM,IAAI,UAAU,GAAG;AACvB,YAAM,UAAU,eAAe,GAAG,KAAK;AACvC,YAAM,QAAQ,IAAI,IAAI,eAAe,UAAU,UAAU,eAAe,CAAC;AACzE,YAAM,SAAS,eAAe,UAAU,KAAK;AAC7C,YAAM,aAAa,IAAI,IAAI,eAAe,CAAC,IAAI,QAAQ,eAAe,CAAC;AACvE,YAAM,eAAe,iBAAiB,cAAc,MAAM,IAAI,MAAM,KAAK,YAAY,CAAC;AAEtF,aACE,4CAAC,OAAgB,WAAW,aAAa,UAAU,IAAI,UAAU,KAC/D;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,UACP,MAAM,MAAM;AAAA,UACZ;AAAA,UACA;AAAA,UACA,IAAI,IAAI;AAAA,UACR,GAAG;AAAA,UACH,QAAQ;AAAA,UACR,QAAQ;AAAA;AAAA,MACV,KAVM,IAAI,GAWZ;AAAA,IAEJ,CAAC,GACH;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/HorizontalStackedBars.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { getStackedData, getStackedIndex } from '../helpers/index.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const HorizontalStackedBars = ({ serie }: DSChartT.SerieComponentT) => {\n const {\n props: { groups },\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXScaleValue,\n getYValue,\n } = useContext(ChartContext);\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n\n return useMemo(\n () => (\n <g>\n {serie.data.map((bar, i) => {\n const sequence = serieWithStackedValues ? serieWithStackedValues[bar.position] : [0, 0];\n const sequence0 = getXScaleValue(sequence[0]);\n const sequence1 = getXScaleValue(sequence[1]);\n const isFloorStack = sequence[0] === 0;\n const xValue = sequence[1] - sequence[0];\n const yValue = getYValue(serie.data[i]) as number;\n\n const width = sequence1 - sequence0 - (!isFloorStack ? 2 : 0);\n\n const height = subGroupScale?.bandwidth() ?? 0;\n const transformX = sequence0 + (!isFloorStack ? 2 : 0);\n const transformY =\n (subGroupScale ? subGroupScale(`stacked-data-${stackIndex}`) ?? 0 : 0) +\n (yScale?.get(yValue as never) ?? 0);\n return (\n <g key={serie.data[i]?.key} clipPath={`url(#rect-focus-ring-${chartId})`}>\n <g fill={colorScale(serie.name) as string} transform={`translate(0, ${transformY})`}>\n <Rect\n width={width}\n height={height}\n x={transformX}\n xValue={xValue}\n yValue={yValue}\n id={serie.data[i]?.key}\n name={serie.name}\n datum={serie.data[i]}\n />\n </g>\n </g>\n );\n })}\n </g>\n ),\n [\n chartId,\n colorScale,\n getXScaleValue,\n getYValue,\n serie.data,\n serie.name,\n serieWithStackedValues,\n stackIndex,\n subGroupScale,\n yScale,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0CP;AAzChB,mBAA2C;AAC3C,kBAAqB;AACrB,0BAA6B;AAC7B,qBAAgD;AAGzC,MAAM,wBAAwB,CAAC,EAAE,MAAM,MAAgC;AAC5E,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAM,iBAAa,gCAAgB,QAAQ,MAAM,IAAI;AAErD,aAAO;AAAA,IACL,MACE,4CAAC,OACE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,WAAW,yBAAyB,uBAAuB,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC;AACtF,YAAM,YAAY,eAAe,SAAS,CAAC,CAAC;AAC5C,YAAM,YAAY,eAAe,SAAS,CAAC,CAAC;AAC5C,YAAM,eAAe,SAAS,CAAC,MAAM;AACrC,YAAM,SAAS,SAAS,CAAC,IAAI,SAAS,CAAC;AACvC,YAAM,SAAS,UAAU,MAAM,KAAK,CAAC,CAAC;AAEtC,YAAM,QAAQ,YAAY,aAAa,CAAC,eAAe,IAAI;AAE3D,YAAM,SAAS,eAAe,UAAU,KAAK;AAC7C,YAAM,aAAa,aAAa,CAAC,eAAe,IAAI;AACpD,YAAM,cACH,gBAAgB,cAAc,gBAAgB,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0CP;AAzChB,mBAA2C;AAC3C,kBAAqB;AACrB,0BAA6B;AAC7B,qBAAgD;AAGzC,MAAM,wBAAwB,CAAC,EAAE,MAAM,MAAgC;AAC5E,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,QAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAM,iBAAa,gCAAgB,QAAQ,MAAM,IAAI;AAErD,aAAO;AAAA,IACL,MACE,4CAAC,OACE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,WAAW,yBAAyB,uBAAuB,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC;AACtF,YAAM,YAAY,eAAe,SAAS,CAAC,CAAC;AAC5C,YAAM,YAAY,eAAe,SAAS,CAAC,CAAC;AAC5C,YAAM,eAAe,SAAS,CAAC,MAAM;AACrC,YAAM,SAAS,SAAS,CAAC,IAAI,SAAS,CAAC;AACvC,YAAM,SAAS,UAAU,MAAM,KAAK,CAAC,CAAC;AAEtC,YAAM,QAAQ,YAAY,aAAa,CAAC,eAAe,IAAI;AAE3D,YAAM,SAAS,eAAe,UAAU,KAAK;AAC7C,YAAM,aAAa,aAAa,CAAC,eAAe,IAAI;AACpD,YAAM,cACH,gBAAgB,cAAc,gBAAgB,UAAU,EAAE,KAAK,IAAI,MACnE,QAAQ,IAAI,MAAe,KAAK;AACnC,aACE,4CAAC,OAA2B,UAAU,wBAAwB,OAAO,KACnE,sDAAC,OAAE,MAAM,WAAW,MAAM,IAAI,GAAa,WAAW,gBAAgB,UAAU,KAC9E;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,GAAG;AAAA,UACH;AAAA,UACA;AAAA,UACA,IAAI,MAAM,KAAK,CAAC,GAAG;AAAA,UACnB,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM,KAAK,CAAC;AAAA;AAAA,MACrB,GACF,KAZM,MAAM,KAAK,CAAC,GAAG,GAavB;AAAA,IAEJ,CAAC,GACH;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -53,8 +53,7 @@ const Line = ({ serie }) => {
|
|
|
53
53
|
[curveStyle, getXScaleValue, currentYScale, serie.data]
|
|
54
54
|
);
|
|
55
55
|
(0, import_react.useEffect)(() => {
|
|
56
|
-
if (!ref.current)
|
|
57
|
-
return;
|
|
56
|
+
if (!ref.current) return;
|
|
58
57
|
const groupContent = (0, import_d3.select)(ref?.current);
|
|
59
58
|
groupContent.selectAll("*").remove();
|
|
60
59
|
const path = groupContent.append("path").datum(serie.data).attr("fill", "none").attr("stroke", colorScale(serie.name)).attr("stroke-linejoin", "round").attr("stroke-width", 2).attr("d", lineD3);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Line.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport { line, select } from 'd3';\nimport { Points } from './Points.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { LINE, curveStyleMap } from '../../constants.js';\nimport { DataVizDataTestIds } from '../DataTestIds.js';\nimport { A11yRegion } from '../parts/A11yRegion.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\ninterface LineSerieT {\n serie: DSChartT.InternalSerie;\n}\nexport const Line: React.ComponentType<LineSerieT> = ({ serie }) => {\n const { xScale, colorScale, getYScaleValue, getY2ScaleValue, getXScaleValue, getXValue, getYValue } =\n useContext(ChartContext);\n\n const ref = useRef<SVGGElement>(null);\n\n const curveStyle = useMemo(() => curveStyleMap[serie.curveStyle ?? LINE.CURVE_STYLE.LINEAR], [serie.curveStyle]);\n\n const currentYScale = useMemo(\n () => (serie.scale === 'y2' ? getY2ScaleValue : getYScaleValue),\n [getY2ScaleValue, getYScaleValue, serie.scale],\n );\n const lineD3 = useMemo(\n () =>\n line()\n .x((_, i) => getXScaleValue(serie.data[i]))\n .y((_, i) => currentYScale(serie.data[i]))\n .curve(curveStyle),\n [curveStyle, getXScaleValue, currentYScale, serie.data],\n ) as unknown as string;\n\n useEffect(() => {\n if (!ref.current) return;\n\n const groupContent = select(ref?.current);\n\n groupContent.selectAll('*').remove();\n const path = groupContent\n .append('path')\n .datum(serie.data)\n .attr('fill', 'none')\n .attr('stroke', colorScale(serie.name) as string)\n .attr('stroke-linejoin', 'round')\n .attr('stroke-width', 2)\n .attr('d', lineD3);\n\n if (serie.dashStyle)\n path.attr('stroke-dasharray', LINE.DASH_STYLE_VALUES[serie.dashStyle as keyof typeof LINE.DASH_STYLE_VALUES]);\n }, [colorScale, getXValue, getYValue, lineD3, serie, xScale]);\n\n // we need to center the points and lines when\n // using them in a band axis context\n const xTranslate = useMemo(() => (xScale?.getBandwidth?.() ?? 0) / 2, [xScale]);\n\n return (\n <A11yRegion serieName={serie.name} transform={`translate(${xTranslate}, 0)`}>\n <g ref={ref} data-testid={DataVizDataTestIds.LINE} />\n <Points serie={serie} />\n </A11yRegion>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyDnB;AAzDJ,mBAA8D;AAC9D,gBAA6B;AAC7B,oBAAuB;AACvB,0BAA6B;AAC7B,uBAAoC;AACpC,yBAAmC;AACnC,wBAA2B;AAMpB,MAAM,OAAwC,CAAC,EAAE,MAAM,MAAM;AAClE,QAAM,EAAE,QAAQ,YAAY,gBAAgB,iBAAiB,gBAAgB,WAAW,UAAU,QAChG,yBAAW,gCAAY;AAEzB,QAAM,UAAM,qBAAoB,IAAI;AAEpC,QAAM,iBAAa,sBAAQ,MAAM,+BAAc,MAAM,cAAc,sBAAK,YAAY,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC;AAE/G,QAAM,oBAAgB;AAAA,IACpB,MAAO,MAAM,UAAU,OAAO,kBAAkB;AAAA,IAChD,CAAC,iBAAiB,gBAAgB,MAAM,KAAK;AAAA,EAC/C;AACA,QAAM,aAAS;AAAA,IACb,UACE,gBAAK,EACF,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,GAAG,MAAM,cAAc,MAAM,KAAK,CAAC,CAAC,CAAC,EACxC,MAAM,UAAU;AAAA,IACrB,CAAC,YAAY,gBAAgB,eAAe,MAAM,IAAI;AAAA,EACxD;AAEA,8BAAU,MAAM;AACd,QAAI,CAAC,IAAI;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyDnB;AAzDJ,mBAA8D;AAC9D,gBAA6B;AAC7B,oBAAuB;AACvB,0BAA6B;AAC7B,uBAAoC;AACpC,yBAAmC;AACnC,wBAA2B;AAMpB,MAAM,OAAwC,CAAC,EAAE,MAAM,MAAM;AAClE,QAAM,EAAE,QAAQ,YAAY,gBAAgB,iBAAiB,gBAAgB,WAAW,UAAU,QAChG,yBAAW,gCAAY;AAEzB,QAAM,UAAM,qBAAoB,IAAI;AAEpC,QAAM,iBAAa,sBAAQ,MAAM,+BAAc,MAAM,cAAc,sBAAK,YAAY,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC;AAE/G,QAAM,oBAAgB;AAAA,IACpB,MAAO,MAAM,UAAU,OAAO,kBAAkB;AAAA,IAChD,CAAC,iBAAiB,gBAAgB,MAAM,KAAK;AAAA,EAC/C;AACA,QAAM,aAAS;AAAA,IACb,UACE,gBAAK,EACF,EAAE,CAAC,GAAG,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,EACzC,EAAE,CAAC,GAAG,MAAM,cAAc,MAAM,KAAK,CAAC,CAAC,CAAC,EACxC,MAAM,UAAU;AAAA,IACrB,CAAC,YAAY,gBAAgB,eAAe,MAAM,IAAI;AAAA,EACxD;AAEA,8BAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAElB,UAAM,mBAAe,kBAAO,KAAK,OAAO;AAExC,iBAAa,UAAU,GAAG,EAAE,OAAO;AACnC,UAAM,OAAO,aACV,OAAO,MAAM,EACb,MAAM,MAAM,IAAI,EAChB,KAAK,QAAQ,MAAM,EACnB,KAAK,UAAU,WAAW,MAAM,IAAI,CAAW,EAC/C,KAAK,mBAAmB,OAAO,EAC/B,KAAK,gBAAgB,CAAC,EACtB,KAAK,KAAK,MAAM;AAEnB,QAAI,MAAM;AACR,WAAK,KAAK,oBAAoB,sBAAK,kBAAkB,MAAM,SAAgD,CAAC;AAAA,EAChH,GAAG,CAAC,YAAY,WAAW,WAAW,QAAQ,OAAO,MAAM,CAAC;AAI5D,QAAM,iBAAa,sBAAQ,OAAO,QAAQ,eAAe,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC;AAE9E,SACE,6CAAC,gCAAW,WAAW,MAAM,MAAM,WAAW,aAAa,UAAU,QACnE;AAAA,gDAAC,OAAE,KAAU,eAAa,sCAAmB,MAAM;AAAA,IACnD,4CAAC,wBAAO,OAAc;AAAA,KACxB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -153,12 +153,10 @@ const Point = ({
|
|
|
153
153
|
yValueFormatted
|
|
154
154
|
]);
|
|
155
155
|
const handleMouseEnter = (0, import_react.useCallback)(() => {
|
|
156
|
-
if (!scrapper)
|
|
157
|
-
setActivePoint(datum);
|
|
156
|
+
if (!scrapper) setActivePoint(datum);
|
|
158
157
|
}, [datum, scrapper, setActivePoint]);
|
|
159
158
|
const handleOnMouseLeave = (0, import_react.useCallback)(() => {
|
|
160
|
-
if (!scrapper)
|
|
161
|
-
setActivePoint(null);
|
|
159
|
+
if (!scrapper) setActivePoint(null);
|
|
162
160
|
}, [scrapper, setActivePoint]);
|
|
163
161
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
164
162
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Point.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext.js';\nimport { FOCUS_RING, SCRAPPER, LINE } from '../../constants.js';\nimport { FocusableRegion } from '../parts/FocusableRegion.js';\nimport { TrendHighlight } from '../parts/TrendHighlight.js';\nimport { DataVizDataTestIds } from '../DataTestIds.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\ninterface PointProps {\n x: number;\n y: number;\n xValue: number;\n yValue: number;\n name: string;\n pointStyle: string;\n pointRadius: number;\n id: string;\n opacity: number;\n datum: DSChartT.InternalDatum;\n color: string;\n}\n\nexport const Point: React.ComponentType<PointProps> = ({\n x,\n y,\n xValue,\n yValue,\n name,\n pointStyle,\n pointRadius,\n id,\n opacity,\n datum,\n}) => {\n const {\n activePoint,\n scrapperPosY,\n scrapperPosX,\n getYValueFormatted,\n getXValueFormatted,\n setActivePoint,\n props: { scrapper, TooltipRenderer, withTrendHighlight, y2Axis, yAxis, xAxis },\n } = useContext(ChartContext);\n const finalYAxis = datum.scale === 'y2' ? y2Axis : yAxis;\n const yValueFormatted = getYValueFormatted(datum);\n const xValueFormatted = getXValueFormatted(datum);\n const isFocused = useMemo(() => {\n if (activePoint?.key === id) {\n return true;\n }\n if (scrapper?.type === SCRAPPER.TYPE_HORIZONTAL) {\n return y === scrapperPosY;\n }\n if (scrapper?.type === SCRAPPER.TYPE_VERTICAL) {\n return x === scrapperPosX;\n }\n return false;\n }, [activePoint, id, scrapper, y, scrapperPosY, x, scrapperPosX]);\n\n const point = useMemo(() => {\n const commonProps = {\n tabIndex: -1,\n ref: (_ref: SVGElement | null) => {\n if (isFocused) {\n _ref?.focus();\n }\n },\n 'aria-label': `${datum.serie} ${xAxis.label || ''} ${xValueFormatted} ${\n finalYAxis?.label || ''\n } ${yValueFormatted}`,\n role: 'img',\n };\n if (LINE.POINT_STYLE.DIAMOND === pointStyle) {\n const squareEdge = pointRadius * 2;\n\n return (\n <g transform=\"rotate(45)\">\n {isFocused ? (\n <rect\n x={-pointRadius - FOCUS_RING.STROKE_WIDTH}\n y={-pointRadius - FOCUS_RING.STROKE_WIDTH}\n width={squareEdge + FOCUS_RING.STROKE_WIDTH * 2}\n height={squareEdge + FOCUS_RING.STROKE_WIDTH * 2}\n fill=\"none\"\n stroke={FOCUS_RING.COLOR}\n strokeWidth={FOCUS_RING.STROKE_WIDTH}\n ></rect>\n ) : null}\n <rect {...commonProps} x={-pointRadius} y={-pointRadius} width={squareEdge} height={squareEdge}></rect>\n </g>\n );\n }\n if (LINE.POINT_STYLE.SQUARE === pointStyle) {\n const squareEdge = pointRadius * 2;\n\n return (\n <g>\n {isFocused ? (\n <rect\n x={-pointRadius - FOCUS_RING.STROKE_WIDTH}\n y={-pointRadius - FOCUS_RING.STROKE_WIDTH}\n width={squareEdge + FOCUS_RING.STROKE_WIDTH * 2}\n height={squareEdge + FOCUS_RING.STROKE_WIDTH * 2}\n fill=\"none\"\n stroke={FOCUS_RING.COLOR}\n strokeWidth={FOCUS_RING.STROKE_WIDTH}\n ></rect>\n ) : null}\n <rect {...commonProps} x={-pointRadius} y={-pointRadius} width={squareEdge} height={squareEdge}></rect>\n </g>\n );\n }\n\n return (\n <g>\n {isFocused ? (\n <g>\n <circle\n r={(pointRadius ?? LINE.DEFAULT_POINT_RADIUS) + FOCUS_RING.STROKE_WIDTH}\n fill=\"none\"\n stroke={FOCUS_RING.COLOR}\n strokeWidth={FOCUS_RING.STROKE_WIDTH}\n ></circle>\n </g>\n ) : null}\n <circle\n {...commonProps}\n r={pointRadius ?? (isFocused ? LINE.DEFAULT_POINT_RADIUS : 0)}\n opacity={opacity}\n ></circle>\n </g>\n );\n }, [\n datum.serie,\n finalYAxis?.label,\n isFocused,\n opacity,\n pointRadius,\n pointStyle,\n xAxis.label,\n xValueFormatted,\n yValueFormatted,\n ]);\n\n const handleMouseEnter = useCallback(() => {\n if (!scrapper) setActivePoint(datum);\n }, [datum, scrapper, setActivePoint]);\n\n const handleOnMouseLeave = useCallback(() => {\n if (!scrapper) setActivePoint(null);\n }, [scrapper, setActivePoint]);\n return (\n <>\n <g\n data-testid={DataVizDataTestIds.POINT}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n transform={`translate(${x},${y})`}\n >\n {point}\n {activePoint?.key === id && TooltipRenderer ? (\n <FocusableRegion\n id={id}\n width={(pointRadius ?? 3) * 4}\n height={(pointRadius ?? 3) * 4}\n style={{ transform: `translate(-${pointRadius ?? 3}px, -${pointRadius ?? 3}px)` }}\n content={<TooltipRenderer data={[{ name, yValue, xValue, datum }]} />}\n />\n ) : null}\n </g>\n {isFocused && withTrendHighlight ? <TrendHighlight currentDatum={datum} /> : null}\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD4Ef;AA3ER,mBAAwD;AACxD,0BAA6B;AAC7B,uBAA2C;AAC3C,6BAAgC;AAChC,4BAA+B;AAC/B,yBAAmC;AAgB5B,MAAM,QAAyC,CAAC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,iBAAiB,oBAAoB,QAAQ,OAAO,MAAM;AAAA,EAC/E,QAAI,yBAAW,gCAAY;AAC3B,QAAM,aAAa,MAAM,UAAU,OAAO,SAAS;AACnD,QAAM,kBAAkB,mBAAmB,KAAK;AAChD,QAAM,kBAAkB,mBAAmB,KAAK;AAChD,QAAM,gBAAY,sBAAQ,MAAM;AAC9B,QAAI,aAAa,QAAQ,IAAI;AAC3B,aAAO;AAAA,IACT;AACA,QAAI,UAAU,SAAS,0BAAS,iBAAiB;AAC/C,aAAO,MAAM;AAAA,IACf;AACA,QAAI,UAAU,SAAS,0BAAS,eAAe;AAC7C,aAAO,MAAM;AAAA,IACf;AACA,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,IAAI,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;AAEhE,QAAM,YAAQ,sBAAQ,MAAM;AAC1B,UAAM,cAAc;AAAA,MAClB,UAAU;AAAA,MACV,KAAK,CAAC,SAA4B;AAChC,YAAI,WAAW;AACb,gBAAM,MAAM;AAAA,QACd;AAAA,MACF;AAAA,MACA,cAAc,GAAG,MAAM,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD4Ef;AA3ER,mBAAwD;AACxD,0BAA6B;AAC7B,uBAA2C;AAC3C,6BAAgC;AAChC,4BAA+B;AAC/B,yBAAmC;AAgB5B,MAAM,QAAyC,CAAC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,iBAAiB,oBAAoB,QAAQ,OAAO,MAAM;AAAA,EAC/E,QAAI,yBAAW,gCAAY;AAC3B,QAAM,aAAa,MAAM,UAAU,OAAO,SAAS;AACnD,QAAM,kBAAkB,mBAAmB,KAAK;AAChD,QAAM,kBAAkB,mBAAmB,KAAK;AAChD,QAAM,gBAAY,sBAAQ,MAAM;AAC9B,QAAI,aAAa,QAAQ,IAAI;AAC3B,aAAO;AAAA,IACT;AACA,QAAI,UAAU,SAAS,0BAAS,iBAAiB;AAC/C,aAAO,MAAM;AAAA,IACf;AACA,QAAI,UAAU,SAAS,0BAAS,eAAe;AAC7C,aAAO,MAAM;AAAA,IACf;AACA,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,IAAI,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;AAEhE,QAAM,YAAQ,sBAAQ,MAAM;AAC1B,UAAM,cAAc;AAAA,MAClB,UAAU;AAAA,MACV,KAAK,CAAC,SAA4B;AAChC,YAAI,WAAW;AACb,gBAAM,MAAM;AAAA,QACd;AAAA,MACF;AAAA,MACA,cAAc,GAAG,MAAM,KAAK,IAAI,MAAM,SAAS,EAAE,IAAI,eAAe,IAClE,YAAY,SAAS,EACvB,IAAI,eAAe;AAAA,MACnB,MAAM;AAAA,IACR;AACA,QAAI,sBAAK,YAAY,YAAY,YAAY;AAC3C,YAAM,aAAa,cAAc;AAEjC,aACE,6CAAC,OAAE,WAAU,cACV;AAAA,oBACC;AAAA,UAAC;AAAA;AAAA,YACC,GAAG,CAAC,cAAc,4BAAW;AAAA,YAC7B,GAAG,CAAC,cAAc,4BAAW;AAAA,YAC7B,OAAO,aAAa,4BAAW,eAAe;AAAA,YAC9C,QAAQ,aAAa,4BAAW,eAAe;AAAA,YAC/C,MAAK;AAAA,YACL,QAAQ,4BAAW;AAAA,YACnB,aAAa,4BAAW;AAAA;AAAA,QACzB,IACC;AAAA,QACJ,4CAAC,UAAM,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,CAAC,aAAa,OAAO,YAAY,QAAQ,YAAY;AAAA,SAClG;AAAA,IAEJ;AACA,QAAI,sBAAK,YAAY,WAAW,YAAY;AAC1C,YAAM,aAAa,cAAc;AAEjC,aACE,6CAAC,OACE;AAAA,oBACC;AAAA,UAAC;AAAA;AAAA,YACC,GAAG,CAAC,cAAc,4BAAW;AAAA,YAC7B,GAAG,CAAC,cAAc,4BAAW;AAAA,YAC7B,OAAO,aAAa,4BAAW,eAAe;AAAA,YAC9C,QAAQ,aAAa,4BAAW,eAAe;AAAA,YAC/C,MAAK;AAAA,YACL,QAAQ,4BAAW;AAAA,YACnB,aAAa,4BAAW;AAAA;AAAA,QACzB,IACC;AAAA,QACJ,4CAAC,UAAM,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,CAAC,aAAa,OAAO,YAAY,QAAQ,YAAY;AAAA,SAClG;AAAA,IAEJ;AAEA,WACE,6CAAC,OACE;AAAA,kBACC,4CAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,eAAe,sBAAK,wBAAwB,4BAAW;AAAA,UAC3D,MAAK;AAAA,UACL,QAAQ,4BAAW;AAAA,UACnB,aAAa,4BAAW;AAAA;AAAA,MACzB,GACH,IACE;AAAA,MACJ;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,GAAG,gBAAgB,YAAY,sBAAK,uBAAuB;AAAA,UAC3D;AAAA;AAAA,MACD;AAAA,OACH;AAAA,EAEJ,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,uBAAmB,0BAAY,MAAM;AACzC,QAAI,CAAC,SAAU,gBAAe,KAAK;AAAA,EACrC,GAAG,CAAC,OAAO,UAAU,cAAc,CAAC;AAEpC,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,QAAI,CAAC,SAAU,gBAAe,IAAI;AAAA,EACpC,GAAG,CAAC,UAAU,cAAc,CAAC;AAC7B,SACE,4EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,sCAAmB;AAAA,QAChC,cAAc;AAAA,QACd,cAAc;AAAA,QACd,WAAW,aAAa,CAAC,IAAI,CAAC;AAAA,QAE7B;AAAA;AAAA,UACA,aAAa,QAAQ,MAAM,kBAC1B;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,QAAQ,eAAe,KAAK;AAAA,cAC5B,SAAS,eAAe,KAAK;AAAA,cAC7B,OAAO,EAAE,WAAW,cAAc,eAAe,CAAC,QAAQ,eAAe,CAAC,MAAM;AAAA,cAChF,SAAS,4CAAC,mBAAgB,MAAM,CAAC,EAAE,MAAM,QAAQ,QAAQ,MAAM,CAAC,GAAG;AAAA;AAAA,UACrE,IACE;AAAA;AAAA;AAAA,IACN;AAAA,IACC,aAAa,qBAAqB,4CAAC,wCAAe,cAAc,OAAO,IAAK;AAAA,KAC/E;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Points.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useMemo, useContext } from 'react';\nimport { Point } from './Point.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { getStackedData } from '../helpers/index.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const Points: React.ComponentType<DSChartT.SerieComponentT> = ({ serie }) => {\n const {\n colorScale,\n getXValue,\n getYValue,\n getY2ScaleValue,\n getYScaleValue,\n getXScaleValue,\n stackedData,\n props: { types },\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? getY2ScaleValue : getYScaleValue;\n\n const opacity = useMemo(() => (types === 'scatter' ? 0.8 : 1), [types]);\n return useMemo(\n () => (\n <g fill={colorScale(serie.name) as string}>\n {serie.data.map((point, i) => {\n const { pointRadius = 0, pointStyle = '' } = serie;\n // we need to recalculate the height with stacked data if is an AREA STACKED ELEMENT\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const deltaY = serieWithStackedValues ? serieWithStackedValues[i][0] : 0;\n const x = getXValue(point) as number;\n const y = getYValue(point) as number;\n const xPosition = getXScaleValue(point) ?? 0;\n const yPosition = finalYScale(y + deltaY);\n return (\n <Point\n pointRadius={pointRadius}\n id={point.key}\n opacity={opacity}\n x={xPosition}\n y={yPosition}\n xValue={x}\n yValue={y}\n pointStyle={pointStyle}\n name={serie.name}\n datum={point}\n key={`${point.key}-p`}\n color={colorScale(serie.name) as string}\n />\n );\n })}\n </g>\n ),\n [colorScale, finalYScale, getXScaleValue, getXValue, getYValue, opacity, serie, stackedData],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkCX;AAjCZ,mBAA2C;AAC3C,mBAAsB;AACtB,0BAA6B;AAC7B,qBAA+B;AAGxB,MAAM,SAAwD,CAAC,EAAE,MAAM,MAAM;AAClF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,MAAM;AAAA,EACjB,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,cAAU,sBAAQ,MAAO,UAAU,YAAY,MAAM,GAAI,CAAC,KAAK,CAAC;AACtE,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,MAAM,WAAW,MAAM,IAAI,GAC3B,gBAAM,KAAK,IAAI,CAAC,OAAO,MAAM;AAC5B,YAAM,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI;AAE7C,YAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,YAAM,SAAS,yBAAyB,uBAAuB,CAAC,EAAE,CAAC,IAAI;AACvE,YAAM,IAAI,UAAU,KAAK;AACzB,YAAM,IAAI,UAAU,KAAK;AACzB,YAAM,YAAY,eAAe,KAAK,KAAK;AAC3C,YAAM,YAAY,YAAY,IAAI,MAAM;AACxC,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,IAAI,MAAM;AAAA,UACV;AAAA,UACA,GAAG;AAAA,UACH,GAAG;AAAA,UACH,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA,MAAM,MAAM;AAAA,UACZ,OAAO;AAAA,UAEP,OAAO,WAAW,MAAM,IAAI;AAAA;AAAA,QADvB,GAAG,MAAM;AAAA,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkCX;AAjCZ,mBAA2C;AAC3C,mBAAsB;AACtB,0BAA6B;AAC7B,qBAA+B;AAGxB,MAAM,SAAwD,CAAC,EAAE,MAAM,MAAM;AAClF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,MAAM;AAAA,EACjB,QAAI,yBAAW,gCAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,kBAAkB;AAE7D,QAAM,cAAU,sBAAQ,MAAO,UAAU,YAAY,MAAM,GAAI,CAAC,KAAK,CAAC;AACtE,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,MAAM,WAAW,MAAM,IAAI,GAC3B,gBAAM,KAAK,IAAI,CAAC,OAAO,MAAM;AAC5B,YAAM,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI;AAE7C,YAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,YAAM,SAAS,yBAAyB,uBAAuB,CAAC,EAAE,CAAC,IAAI;AACvE,YAAM,IAAI,UAAU,KAAK;AACzB,YAAM,IAAI,UAAU,KAAK;AACzB,YAAM,YAAY,eAAe,KAAK,KAAK;AAC3C,YAAM,YAAY,YAAY,IAAI,MAAM;AACxC,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,IAAI,MAAM;AAAA,UACV;AAAA,UACA,GAAG;AAAA,UACH,GAAG;AAAA,UACH,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA,MAAM,MAAM;AAAA,UACZ,OAAO;AAAA,UAEP,OAAO,WAAW,MAAM,IAAI;AAAA;AAAA,QADvB,GAAG,MAAM,GAAG;AAAA,MAEnB;AAAA,IAEJ,CAAC,GACH;AAAA,IAEF,CAAC,YAAY,aAAa,gBAAgB,WAAW,WAAW,SAAS,OAAO,WAAW;AAAA,EAC7F;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -64,24 +64,19 @@ const Rect = ({
|
|
|
64
64
|
const xValueFormatted = getXValueFormatted(datum);
|
|
65
65
|
const isFocused = activePoint?.key === id;
|
|
66
66
|
const clipPathSign = (0, import_react.useMemo)(() => {
|
|
67
|
-
if (isHorizontal)
|
|
68
|
-
|
|
69
|
-
if (isNegative)
|
|
70
|
-
return `url(#rects-negative-${chartId})`;
|
|
67
|
+
if (isHorizontal) return "";
|
|
68
|
+
if (isNegative) return `url(#rects-negative-${chartId})`;
|
|
71
69
|
return `url(#rects-positive-${chartId})`;
|
|
72
70
|
}, [chartId, isHorizontal, isNegative]);
|
|
73
71
|
const transform = (0, import_react.useMemo)(() => {
|
|
74
|
-
if (isHorizontal)
|
|
75
|
-
return ``;
|
|
72
|
+
if (isHorizontal) return ``;
|
|
76
73
|
return `scale(1,-1) translate(0,${-height})`;
|
|
77
74
|
}, [height, isHorizontal]);
|
|
78
75
|
const handleMouseEnter = (0, import_react.useCallback)(() => {
|
|
79
|
-
if (!scrapper)
|
|
80
|
-
setActivePoint(datum);
|
|
76
|
+
if (!scrapper) setActivePoint(datum);
|
|
81
77
|
}, [datum, scrapper, setActivePoint]);
|
|
82
78
|
const handleOnMouseLeave = (0, import_react.useCallback)(() => {
|
|
83
|
-
if (!scrapper)
|
|
84
|
-
setActivePoint(null);
|
|
79
|
+
if (!scrapper) setActivePoint(null);
|
|
85
80
|
}, [scrapper, setActivePoint]);
|
|
86
81
|
return (0, import_react.useMemo)(
|
|
87
82
|
() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { clipPath: clipPathSign, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/Rect.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useMemo, useContext, useCallback } from 'react';\nimport { ChartContext } from '../ChartContext.js';\nimport { FOCUS_RING } from '../../constants.js';\nimport { FocusableRegion } from '../parts/FocusableRegion.js';\nimport { DataVizDataTestIds } from '../DataTestIds.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\ninterface RectProps {\n name: string;\n width: number;\n height: number;\n isNegative?: boolean;\n x?: number;\n y?: number;\n id: string;\n xValue: number;\n yValue: number;\n datum: DSChartT.InternalDatum;\n}\n\nexport const Rect: React.ComponentType<RectProps> = ({\n name,\n width,\n height,\n isNegative = false,\n x = 0,\n y = 0,\n id,\n xValue,\n yValue,\n datum,\n}) => {\n const {\n activePoint,\n chartId,\n isHorizontal,\n setActivePoint,\n getYValueFormatted,\n getXValueFormatted,\n props: { TooltipRenderer, scrapper, xAxis, yAxis, y2Axis },\n } = useContext(ChartContext);\n const finalYAxis = datum.scale === 'y2' ? y2Axis : yAxis;\n const yValueFormatted = getYValueFormatted(datum);\n const xValueFormatted = getXValueFormatted(datum);\n\n const isFocused = activePoint?.key === id;\n const clipPathSign = useMemo(() => {\n // @todo horizontal clip paths\n if (isHorizontal) return '';\n if (isNegative) return `url(#rects-negative-${chartId})`;\n return `url(#rects-positive-${chartId})`;\n }, [chartId, isHorizontal, isNegative]);\n\n const transform = useMemo(() => {\n if (isHorizontal) return ``;\n return `scale(1,-1) translate(0,${-height})`;\n }, [height, isHorizontal]);\n\n const handleMouseEnter = useCallback(() => {\n if (!scrapper) setActivePoint(datum);\n }, [datum, scrapper, setActivePoint]);\n\n const handleOnMouseLeave = useCallback(() => {\n if (!scrapper) setActivePoint(null);\n }, [scrapper, setActivePoint]);\n\n return useMemo(\n () => (\n <g clipPath={clipPathSign}>\n <g\n id={isFocused ? `data-focused-${chartId}` : ''}\n transform={transform}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n data-testid={DataVizDataTestIds.BAR}\n >\n {isFocused ? (\n <rect\n x={(isHorizontal ? x : 0) - FOCUS_RING.STROKE_WIDTH}\n y={(!isHorizontal ? -y : 0) - FOCUS_RING.STROKE_WIDTH}\n width={width + FOCUS_RING.OFFSET}\n height={height + FOCUS_RING.OFFSET}\n fill=\"none\"\n rx=\"1\"\n ry=\"1\"\n stroke={FOCUS_RING.COLOR}\n strokeWidth={FOCUS_RING.STROKE_WIDTH}\n ></rect>\n ) : null}\n <rect\n width={width}\n height={height}\n y={-y}\n x={x}\n aria-label={`${datum.serie} ${xAxis.label || ''} ${xValueFormatted} ${\n finalYAxis?.label || ''\n } ${yValueFormatted}`}\n role=\"img\"\n tabIndex={-1}\n ref={(_ref) => {\n if (isFocused) {\n _ref?.focus();\n }\n }}\n ></rect>\n {activePoint?.key === id && TooltipRenderer ? (\n <FocusableRegion\n id={id}\n y={y}\n x={x}\n width={width}\n height={height}\n transform={transform}\n content={<TooltipRenderer data={[{ name, yValue, xValue, datum }]} />}\n />\n ) : (\n ''\n )}\n </g>\n </g>\n ),\n [\n clipPathSign,\n isFocused,\n chartId,\n transform,\n handleMouseEnter,\n handleOnMouseLeave,\n isHorizontal,\n x,\n y,\n width,\n height,\n datum,\n xAxis.label,\n xValueFormatted,\n finalYAxis?.label,\n yValueFormatted,\n activePoint?.key,\n id,\n TooltipRenderer,\n name,\n yValue,\n xValue,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoEf;AApER,mBAAwD;AACxD,0BAA6B;AAC7B,uBAA2B;AAC3B,6BAAgC;AAChC,yBAAmC;AAe5B,MAAM,OAAuC,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,iBAAiB,UAAU,OAAO,OAAO,OAAO;AAAA,EAC3D,QAAI,yBAAW,gCAAY;AAC3B,QAAM,aAAa,MAAM,UAAU,OAAO,SAAS;AACnD,QAAM,kBAAkB,mBAAmB,KAAK;AAChD,QAAM,kBAAkB,mBAAmB,KAAK;AAEhD,QAAM,YAAY,aAAa,QAAQ;AACvC,QAAM,mBAAe,sBAAQ,MAAM;AAEjC,QAAI
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphs/Chart/series/StackedBar.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { Rect } from './Rect.js';\nimport { ChartContext } from '../ChartContext.js';\nimport { getStackedData, getStackedIndex } from '../helpers/index.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const StackedBar: React.ComponentType<DSChartT.SerieComponentT> = ({ serie }) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXValue,\n getXScaleValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const sequence = serieWithStackedValues ? serieWithStackedValues[bar.position] : [0, 0];\n\n const isFloorStack = sequence[0] === 0;\n\n const xValue = getXValue(bar) as number;\n const xScaleValue = getXScaleValue(bar) ?? 0;\n const yValue = sequence[1] - sequence[0];\n const width = subGroupScale?.bandwidth() ?? 0;\n const height =\n (yScale?.get(sequence[0] as never) ?? 0) - (yScale?.get(sequence[1] as never) ?? 0) - (!isFloorStack ? 1 : 0);\n const transformY = (yScale?.get(sequence[1] as never) ?? 0) + (sequence[0] < 0 ? 2 : 0);\n\n const transformX =\n xScale?.type !== 'BAND'\n ? xScaleValue - width / 2\n : xScaleValue + (subGroupScale ? subGroupScale(`stacked-data-${stackIndex}`) ?? 0 : 0);\n return (\n <g key={serie.data[i].key} fill={colorScale(serie.name) as string} transform={`translate(${transformX},0)`}>\n <Rect\n width={width}\n height={height}\n xValue={xValue}\n yValue={yValue}\n y={transformY}\n id={serie.data[i].key}\n name={serie.name}\n datum={bar}\n />\n </g>\n );\n })}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2CX;AA1CZ,mBAAkC;AAClC,kBAAqB;AACrB,0BAA6B;AAC7B,qBAAgD;AAGzC,MAAM,aAA4D,CAAC,EAAE,MAAM,MAAM;AACtF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAM,iBAAa,gCAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,4CAAC,OAAE,UAAU,wBAAwB,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2CX;AA1CZ,mBAAkC;AAClC,kBAAqB;AACrB,0BAA6B;AAC7B,qBAAgD;AAGzC,MAAM,aAA4D,CAAC,EAAE,MAAM,MAAM;AACtF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,6BAAyB,+BAAe,aAAa,KAAK;AAChE,QAAM,iBAAa,gCAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,4CAAC,OAAE,UAAU,wBAAwB,OAAO,KACzC,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,UAAM,WAAW,yBAAyB,uBAAuB,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC;AAEtF,UAAM,eAAe,SAAS,CAAC,MAAM;AAErC,UAAM,SAAS,UAAU,GAAG;AAC5B,UAAM,cAAc,eAAe,GAAG,KAAK;AAC3C,UAAM,SAAS,SAAS,CAAC,IAAI,SAAS,CAAC;AACvC,UAAM,QAAQ,eAAe,UAAU,KAAK;AAC5C,UAAM,UACH,QAAQ,IAAI,SAAS,CAAC,CAAU,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,CAAU,KAAK,MAAM,CAAC,eAAe,IAAI;AAC7G,UAAM,cAAc,QAAQ,IAAI,SAAS,CAAC,CAAU,KAAK,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI;AAErF,UAAM,aACJ,QAAQ,SAAS,SACb,cAAc,QAAQ,IACtB,eAAe,gBAAgB,cAAc,gBAAgB,UAAU,EAAE,KAAK,IAAI;AACxF,WACE,4CAAC,OAA0B,MAAM,WAAW,MAAM,IAAI,GAAa,WAAW,aAAa,UAAU,OACnG;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,QACH,IAAI,MAAM,KAAK,CAAC,EAAE;AAAA,QAClB,MAAM,MAAM;AAAA,QACZ,OAAO;AAAA;AAAA,IACT,KAVM,MAAM,KAAK,CAAC,EAAE,GAWtB;AAAA,EAEJ,CAAC,GACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/graphs/Chart/styles.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import { styled } from '@elliemae/ds-system';\n\ninterface StyledAxisT {\n axisColor: string;\n}\nexport const StyledSVGWrapper = styled.div<{ isGrabbed: boolean }>`\n rect:focus,\n rect:focus-visible,\n circle:focus,\n circle:focus-visible {\n outline: none;\n }\n\n :focus,\n :focus-visible {\n outline: none;\n }\n\n cursor: ${({ isGrabbed }) => (isGrabbed ? 'grabbing' : 'default')};\n\n text {\n font-size: 1rem;\n }\n\n min-width: 300px;\n`;\n\nexport const StyledAxis = styled('line')<StyledAxisT>`\n stroke-width: 2px;\n stroke: ${({ theme }) => theme.colors.neutral['700']};\n ${({ axisColor }) => (axisColor ? `stroke: ${axisColor}` : '')}\n`;\n\nexport const StyledAxisLabel = styled('text')`\n font-size: 1rem;\n font-weight: 600;\n`;\n\nexport const StyledGrid = styled('g')`\n line {\n opacity: 0.2;\n }\n`;\n\nexport const StyleFocusableRegion = styled('div')<{ s: number }>`\n width: ${({ s }) => s * 2 ?? '1'}px;\n height: ${({ s }) => s * 2 ?? '1'}px;\n :focus {\n outline: none;\n }\n`;\n\nexport const StyledLine = styled('path')`\n fill: none;\n stroke-width: 3;\n stroke-linejoin: round;\n`;\nexport const StyledArea = styled('path')`\n stroke-width: 3;\n stroke-linejoin: round;\n opacity: 0.2;\n`;\n\nexport const StyledTooltipContainer = styled.div`\n max-width: 350px;\n background-color: white;\n`;\n\nexport const StyledMouseOverDetectionBox = styled.div`\n position: absolute;\n top: -15px;\n right: -15px;\n width: calc(100% + 30px);\n height: calc(100% + 30px);\n z-index: -1;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AAKhB,MAAM,mBAAmB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAa3B,CAAC,EAAE,UAAU,MAAO,YAAY,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AAKhB,MAAM,mBAAmB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAa3B,CAAC,EAAE,UAAU,MAAO,YAAY,aAAa,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5D,MAAM,iBAAa,yBAAO,MAAM;AAAA;AAAA,YAE3B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,IAClD,CAAC,EAAE,UAAU,MAAO,YAAY,WAAW,SAAS,KAAK,EAAG;AAAA;AAGzD,MAAM,sBAAkB,yBAAO,MAAM;AAAA;AAAA;AAAA;AAKrC,MAAM,iBAAa,yBAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAM7B,MAAM,2BAAuB,yBAAO,KAAK;AAAA,WACrC,CAAC,EAAE,EAAE,MAAM,IAAI,CAAQ;AAAA,YACtB,CAAC,EAAE,EAAE,MAAM,IAAI,CAAQ;AAAA;AAAA;AAAA;AAAA;AAM5B,MAAM,iBAAa,yBAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAKhC,MAAM,iBAAa,yBAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAMhC,MAAM,yBAAyB,wBAAO;AAAA;AAAA;AAAA;AAKtC,MAAM,8BAA8B,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -73,10 +73,8 @@ const DSSingleStackedBar = (props) => {
|
|
|
73
73
|
const barNames = useMemo(() => data.map((datum) => datum.name), [data]);
|
|
74
74
|
const getBorderRadius = useCallback(
|
|
75
75
|
(index) => {
|
|
76
|
-
if (index === 0)
|
|
77
|
-
|
|
78
|
-
if (index === data.length - 1)
|
|
79
|
-
return "0 50px 50px 0";
|
|
76
|
+
if (index === 0) return "50px 0 0 50px";
|
|
77
|
+
if (index === data.length - 1) return "0 50px 50px 0";
|
|
80
78
|
return void 0;
|
|
81
79
|
},
|
|
82
80
|
[data.length]
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/SingleStackedBar/SingleStackedBar.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useCallback, useMemo, useState, type WeakValidationMap } from 'react';\nimport type { DSGridT } from '@elliemae/ds-grid';\nimport { Grid } from '@elliemae/ds-grid';\nimport {\n useGetGlobalAttributes,\n useGetXstyledProps,\n useMemoMergePropsWithDefault,\n useValidateTypescriptPropTypes,\n describe,\n} from '@elliemae/ds-props-helpers';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { COLOR_PALLET } from '../../../index.js';\nimport { type DSSingleStackedBarT, defaultProps, DSSingleStackedBarPropTypes } from './react-desc-prop-types.js';\nimport { StyledBar, StyledMouseOverDetectionBox, StyledTooltipContainer, Wrapper } from './styles.js';\nimport { DSSingleStackedBarName } from './exported-related/index.js';\nconst Bar = React.memo((props: DSSingleStackedBarT.BarT) => {\n const [referenceElement, setReferenceElement] = useState<HTMLDivElement | null>(null);\n const [isHover, setIsHover] = useState(false);\n const { height, TooltipRenderer, datum, tabIndex, isFocused, borderRadius, bg } = props;\n const handleRefCallback = useCallback(\n (_ref: HTMLDivElement | null) => {\n if (isFocused) {\n _ref?.focus();\n }\n },\n [isFocused],\n );\n\n const handleMouseEnter = useCallback(() => {\n setIsHover(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsHover(false);\n }, []);\n return (\n <div>\n {(isFocused || isHover) && TooltipRenderer ? (\n <DSPopperJS referenceElement={referenceElement} showPopover>\n <StyledMouseOverDetectionBox />\n <StyledTooltipContainer>\n <TooltipRenderer datum={datum} />\n </StyledTooltipContainer>\n </DSPopperJS>\n ) : null}\n <StyledBar\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n bg={bg}\n height={height}\n borderRadius={borderRadius}\n innerRef={mergeRefs(handleRefCallback, setReferenceElement)}\n tabIndex={tabIndex}\n role=\"img\"\n // until uziel work is merged we keep this default value\n aria-label={`${datum.name} value: ${datum.data}`}\n />\n </div>\n );\n});\n\nconst DSSingleStackedBar: React.ComponentType<DSSingleStackedBarT.Props> = (props) => {\n const propsWithDefaults = useMemoMergePropsWithDefault<DSSingleStackedBarT.InternalProps>(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefaults, DSSingleStackedBarPropTypes, 'DSSingleStackedBar');\n\n const globalAttributes = useGetGlobalAttributes<DSSingleStackedBarT.InternalProps, HTMLDivElement, DSGridT.Props>(\n propsWithDefaults,\n );\n\n const xstyledProps = useGetXstyledProps(propsWithDefaults);\n\n const { data, LegendRenderer, gutter, height } = propsWithDefaults;\n const [keyBarFocused, setKeyBarFocused] = useState<number>(0);\n const [isChartFocused, setIsChartFocused] = useState(false);\n\n const total = useMemo(() => data.map((datum) => datum.data).reduce((acc, curr) => acc + curr, 0), [data]);\n const cols = useMemo(() => data.map((datum) => `${Math.ceil(datum.data * 100) / total}%`), [data, total]);\n const rows = useMemo(\n () => (LegendRenderer !== undefined ? [`${height}px`, 'auto'] : [`${height}px`]),\n [LegendRenderer, height],\n );\n const barNames = useMemo(() => data.map((datum) => datum.name), [data]);\n const getBorderRadius = useCallback(\n (index: number) => {\n if (index === 0) return '50px 0 0 50px';\n if (index === data.length - 1) return '0 50px 50px 0';\n return undefined;\n },\n [data.length],\n );\n\n const handleOnKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n if (e.code === 'ArrowRight') {\n if (barNames[keyBarFocused + 1]) {\n setKeyBarFocused(keyBarFocused + 1);\n } else {\n setKeyBarFocused(0);\n }\n }\n if (e.code === 'ArrowLeft') {\n if (barNames[keyBarFocused - 1]) {\n setKeyBarFocused(keyBarFocused - 1);\n } else {\n setKeyBarFocused(barNames.length - 1);\n }\n }\n },\n [keyBarFocused, barNames],\n );\n\n return (\n <Wrapper\n cols={cols}\n gutter={gutter}\n role=\"region\"\n onKeyDown={handleOnKeyDown}\n tabIndex={-1}\n onFocus={() => setIsChartFocused(true)}\n onBlur={(e) => e.currentTarget !== e.target && setIsChartFocused(false)}\n {...xstyledProps}\n {...globalAttributes}\n >\n {data.map((datum, i) => (\n <Grid rows={rows}>\n <Bar\n key={datum.name}\n datum={datum}\n isFocused={barNames[keyBarFocused] === datum.name && isChartFocused}\n borderRadius={getBorderRadius(i)}\n bg={COLOR_PALLET[datum.color as keyof typeof COLOR_PALLET] ?? datum.color}\n tabIndex={i === keyBarFocused ? 0 : -1}\n {...props}\n />\n {LegendRenderer !== undefined ? <LegendRenderer key={`${datum.name}-legend`} datum={datum} /> : null}\n </Grid>\n ))}\n </Wrapper>\n );\n};\n\nDSSingleStackedBar.displayName = DSSingleStackedBarName;\nconst DSSingleStackedBarWithSchema = describe(DSSingleStackedBar);\nDSSingleStackedBarWithSchema.propTypes =\n DSSingleStackedBarPropTypes as unknown as WeakValidationMap<DSSingleStackedBarT.Props>;\n\nexport { DSSingleStackedBarWithSchema, DSSingleStackedBar };\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACwCf,SACE,KADF;AAvCR,OAAOA,UAAS,aAAa,SAAS,gBAAwC;AAE9E,SAAS,YAAY;AACrB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAmC,cAAc,mCAAmC;AACpF,SAAS,WAAW,6BAA6B,wBAAwB,eAAe;AACxF,SAAS,8BAA8B;AACvC,MAAM,MAAMA,OAAM,KAAK,CAAC,UAAoC;AAC1D,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAgC,IAAI;AACpF,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,EAAE,QAAQ,iBAAiB,OAAO,UAAU,WAAW,cAAc,GAAG,IAAI;AAClF,QAAM,oBAAoB;AAAA,IACxB,CAAC,SAAgC;AAC/B,UAAI,WAAW;AACb,cAAM,MAAM;AAAA,MACd;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,mBAAmB,YAAY,MAAM;AACzC,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB,YAAY,MAAM;AACzC,eAAW,KAAK;AAAA,EAClB,GAAG,CAAC,CAAC;AACL,SACE,qBAAC,SACG;AAAA,kBAAa,YAAY,kBACzB,qBAAC,cAAW,kBAAoC,aAAW,MACzD;AAAA,0BAAC,+BAA4B;AAAA,MAC7B,oBAAC,0BACC,8BAAC,mBAAgB,OAAc,GACjC;AAAA,OACF,IACE;AAAA,IACJ;AAAA,MAAC;AAAA;AAAA,QACC,cAAc;AAAA,QACd,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,UAAU,mBAAmB,mBAAmB;AAAA,QAC1D;AAAA,QACA,MAAK;AAAA,QAEL,cAAY,GAAG,MAAM,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/SingleStackedBar/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from '../SingleStackedBar/SingleStackedBar.js';\nexport { type DSSingleStackedBarT } from '../SingleStackedBar/react-desc-prop-types.js';\nexport * from '../SingleStackedBar/exported-related/index.js';\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AAEd,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/SingleStackedBar/styles.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled, css } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSingleStackedBarSlots, DSSingleStackedBarName } from './exported-related/index.js';\nconst focusRing = css`\n outline: 2px solid brand-700;\n outline-offset: 2px;\n`;\nexport const StyledBar = styled(Grid)`\n &:focus,\n :focus-visible {\n ${focusRing}\n }\n`;\n\nexport const Wrapper = styled(Grid, { name: DSSingleStackedBarName, slot: DSSingleStackedBarSlots.WRAPPER })``;\n\nexport const StyledTooltipContainer = styled.div`\n max-width: 350px;\n background-color: white;\n`;\n\nexport const StyledMouseOverDetectionBox = styled.div`\n position: absolute;\n top: -15px;\n right: -15px;\n width: calc(100% + 30px);\n height: calc(100% + 30px);\n z-index: -1;\n`;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,QAAQ,WAAW;AAC5B,SAAS,YAAY;AACrB,SAAS,yBAAyB,8BAA8B;AAChE,MAAM,YAAY;AAAA;AAAA;AAAA;AAIX,MAAM,YAAY,OAAO,IAAI;AAAA;AAAA;AAAA,MAG9B;AAAA;AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,QAAQ,WAAW;AAC5B,SAAS,YAAY;AACrB,SAAS,yBAAyB,8BAA8B;AAChE,MAAM,YAAY;AAAA;AAAA;AAAA;AAIX,MAAM,YAAY,OAAO,IAAI;AAAA;AAAA;AAAA,MAG9B,SAAS;AAAA;AAAA;AAIR,MAAM,UAAU,OAAO,MAAM,EAAE,MAAM,wBAAwB,MAAM,wBAAwB,QAAQ,CAAC;AAEpG,MAAM,yBAAyB,OAAO;AAAA;AAAA;AAAA;AAKtC,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/config/useChart.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-nested-callbacks */\n/* eslint-disable max-statements */\n/* eslint-disable indent */\nimport { useMemo, useState, useEffect, useRef } from 'react';\nimport { uid } from 'uid';\nimport { debounce } from 'lodash';\nimport type { DSChartT } from '../react-desc-prop-types.js';\nimport { defaultProps } from '../react-desc-prop-types.js';\nimport { useScales } from './useScales.js';\nimport { stackData } from '../helpers/index.js';\nimport { useInternalMargins } from './useInternalMargins.js';\nimport { useGetters } from './useGetters.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { useValidateProps } from './useValidateProps.js';\nimport { COLOR_PALLET } from '../helpers/colorPallet.js';\ntype ResizeObserverConstructorEntries = Parameters<ConstructorParameters<typeof ResizeObserver>[0]>[0];\n\nconst useResizeObserver = (ref: HTMLElement | null | undefined) => {\n const [dimensions, setDimensions] = useState<number>(0);\n\n useEffect(() => {\n if (ref) {\n const observeTarget = ref;\n const resizeObserver = new ResizeObserver(\n debounce((entries: ResizeObserverConstructorEntries) => {\n entries.forEach((entry) => {\n setDimensions(Math.ceil(entry.contentRect.width));\n });\n }, 200),\n );\n resizeObserver.observe(observeTarget);\n\n return () => {\n resizeObserver.unobserve(observeTarget);\n };\n }\n }, [ref]);\n return dimensions;\n};\n\nexport const useChart = (props: DSChartT.Props) => {\n useValidateProps(props);\n\n // const propsWithDefaults = useMemoMergePropsWithDefault(props, defaultProps);\n const { series, yAxis, xAxis, width: userWidth, height: userHeight, groups: groupsStacked } = props;\n const userRatio = useMemo(\n () => props?.xAxis.advanced?.pointSpacing?.value ?? props?.yAxis.advanced?.pointSpacing?.value ?? 1,\n [props?.xAxis.advanced?.pointSpacing?.value, props?.yAxis.advanced?.pointSpacing?.value],\n );\n const originalSeries = useMemo(() => {\n if (series.length === 0) {\n return defaultProps.series;\n }\n return series;\n }, [series]);\n const [containerRef, setContainerRef] = useState<HTMLDivElement | null>(null);\n\n const dimensionWidth = useResizeObserver(containerRef);\n\n const width = useMemo(() => userWidth ?? dimensionWidth ?? 0, [dimensionWidth, userWidth]);\n\n const height = useMemo(() => userHeight ?? 500, [userHeight]);\n\n const [isGrabbed, setIsGrabbed] = useState(false);\n const [startPosition, setStartPosition] = useState(0);\n\n // zoom\n\n const [isZooming, setIsZooming] = useState(false);\n const [zoomStartingPosition, setZoomStartingPosition] = useState(0);\n const [movingPosition, setMovingPosition] = useState(0);\n\n //\n\n const [activePoint, setActivePoint] = useState<DSChartT.InternalDatum | null>(null);\n const [activeSerie, setActiveSerie] = useState('');\n const [scrapperPosY, setScrapperPosY] = useState(-1);\n const [scrapperPosX, setScrapperPosX] = useState(-1);\n const [xScrollbarPosition, setXScrollbarPosition] = useState(0);\n const [isScrollbarVisible, setIsScrollbarVisible] = useState(false);\n const [containerRatio, setContainerRatio] = useState(userRatio);\n\n const lastScrollbarPosition = useRef(0);\n\n const [axisLeftRef, setAxisLeftRef] = useState<SVGGElement | null>(null);\n const [axisBottomRef, setAxisBottomRef] = useState<SVGGElement | null>(null);\n const [axisRightRef, setAxisRightRef] = useState<SVGGElement | null>(null);\n\n const [leftLegend, setLeftLegend] = useState<SVGGElement | null>(null);\n const [rightLegend, setRightLegend] = useState<SVGGElement | null>(null);\n const [topLegend, setTopLegend] = useState<SVGGElement | null>(null);\n const [bottomLegend, setBottomLegend] = useState<SVGGElement | null>(null);\n\n const [rightLabel, setRightLabel] = useState<SVGGElement | null>(null);\n const [leftLabel, setLeftLabel] = useState<SVGGElement | null>(null);\n const [bottomLabel, setBottomLabel] = useState<SVGGElement | null>(null);\n\n const [toolbarRef, setToolbarRef] = useState<SVGGElement | null>(null);\n\n // we reset the scrollbar position when the chart resize\n useEffect(() => {\n lastScrollbarPosition.current = 0;\n setXScrollbarPosition(0);\n }, [dimensionWidth]);\n\n useEffect(() => {\n setContainerRatio(userRatio);\n }, [userRatio]);\n\n const {\n toolbarHeight,\n axisBottomHeight,\n axisRightWidth,\n bottomLabelHeight,\n internalMargin,\n leftLegendWidth,\n rightLabelWidth,\n leftLabelHeight,\n rightLegendHeight,\n bottomLegendWidth,\n leftLabelWidth,\n axisLeftWidth,\n topLegendHeight,\n leftLegendHeight,\n } = useInternalMargins({\n axisLeftRef,\n axisBottomRef,\n axisRightRef,\n leftLabel,\n leftLegend,\n rightLegend,\n topLegend,\n bottomLegend,\n rightLabel,\n bottomLabel,\n toolbarRef,\n });\n\n const innerWidth = useMemo(\n () => width - internalMargin.left - internalMargin.right,\n [internalMargin.left, internalMargin.right, width],\n );\n const innerHeight = useMemo(\n () => height - internalMargin.top - internalMargin.bottom,\n [internalMargin.top, internalMargin.bottom, height],\n );\n\n const [hiddenSeries, setHiddenSeries] = useState<string[]>([]);\n\n const defaultScale = useMemo(() => {\n if (yAxis.type === 'band') {\n return 'x';\n }\n\n if ([undefined, 'band'].includes(xAxis.type)) {\n return 'y';\n }\n\n return 'y';\n }, [xAxis.type, yAxis.type]);\n\n const [currentDataWithNullValues, currentData] = useMemo(() => {\n const baseData = originalSeries\n .filter((serie) => !hiddenSeries.includes(serie.name))\n .map((d, i) => ({\n ...d,\n // we set a default on the scale if the user do not pass it\n scale: d.scale || defaultScale,\n key: `${d.name}-${i}`,\n data: d.data.map((value, index) => ({\n key: `${d.name}-${i}-${index}`,\n value,\n position: index,\n serie: d.name,\n scale: d.scale,\n color: COLOR_PALLET[d.color as keyof typeof COLOR_PALLET] ?? d.color,\n })),\n })) as DSChartT.InternalData;\n\n const currentDataWithoutNulls = baseData.map((data) => ({\n ...data,\n data: data.data.filter((datum) => datum.value !== null && datum.value !== undefined),\n }));\n\n return [baseData, currentDataWithoutNulls];\n }, [defaultScale, hiddenSeries, originalSeries]);\n\n const isHorizontal = useMemo(() => yAxis?.type === 'band', [yAxis]);\n\n const { stackedData, scalesStackedDataMap } = useMemo(\n () => stackData(groupsStacked, originalSeries, hiddenSeries, isHorizontal),\n [groupsStacked, originalSeries, hiddenSeries, isHorizontal],\n );\n\n // @TODO we need to create a logic to get this from both axis\n // const containerRatio = props?.xAxis.advanced?.pointSpacing?.value ?? props?.yAxis.advanced?.pointSpacing?.value ?? 1;\n\n const groups = useMemo(() => currentData.map((serie) => serie.name), [currentData]);\n\n const { xScale, yScale, y2Scale, subGroupScale, colorScale, getBandwidth } = useScales({\n props,\n originalSeries,\n innerHeight,\n innerWidth,\n groups,\n stackedData,\n scalesStackedDataMap,\n currentData,\n containerRatio,\n });\n\n const {\n getXValue,\n getY2ScaleValue,\n getYValue,\n getXScaleValue,\n getYScaleValue,\n getYValueFormatted,\n getXValueFormatted,\n } = useGetters({\n xAxis,\n yAxis,\n isHorizontal,\n xScale,\n yScale,\n y2Scale,\n });\n const chartId = useMemo(() => uid(6), []);\n\n return useMemo(\n () => ({\n props,\n originalSeries,\n isZooming,\n setIsZooming,\n zoomStartingPosition,\n setZoomStartingPosition,\n setMovingPosition,\n movingPosition,\n innerHeight,\n innerWidth,\n groups,\n currentData,\n colorScale,\n stackedData,\n subGroupScale,\n xScale,\n yScale,\n y2Scale,\n containerRef,\n getBandwidth,\n scrapperPosY,\n setScrapperPosY,\n scrapperPosX,\n setScrapperPosX,\n activePoint,\n setActivePoint,\n activeSerie,\n setActiveSerie,\n xScrollbarPosition,\n setXScrollbarPosition,\n isGrabbed,\n setIsGrabbed,\n setContainerRef,\n startPosition,\n setStartPosition,\n isScrollbarVisible,\n setIsScrollbarVisible,\n lastScrollbarPosition,\n containerRatio,\n internalMargin,\n axisLeftRef,\n leftLegendWidth,\n leftLegend,\n setAxisLeftRef,\n setLeftLegend,\n setRightLegend,\n rightLegend,\n setTopLegend,\n setBottomLegend,\n setAxisBottomRef,\n axisBottomHeight,\n setAxisRightRef,\n setRightLabel,\n setBottomLabel,\n getXScaleValue,\n getYScaleValue,\n getY2ScaleValue,\n getYValueFormatted,\n getXValueFormatted,\n bottomLabelHeight,\n rightLabelWidth,\n axisRightWidth,\n getXValue,\n getYValue,\n isHorizontal,\n setLeftLabel,\n leftLabel,\n chartId,\n hiddenSeries,\n setHiddenSeries,\n height,\n width,\n setContainerRatio,\n toolbarHeight,\n setToolbarRef,\n leftLabelHeight,\n rightLegendHeight,\n bottomLegendWidth,\n bottomLegend,\n leftLabelWidth,\n axisLeftWidth,\n topLegendHeight,\n leftLegendHeight,\n currentDataWithNullValues,\n }),\n [\n props,\n originalSeries,\n isZooming,\n zoomStartingPosition,\n movingPosition,\n innerHeight,\n innerWidth,\n groups,\n currentData,\n colorScale,\n stackedData,\n subGroupScale,\n xScale,\n yScale,\n y2Scale,\n containerRef,\n getBandwidth,\n scrapperPosY,\n getY2ScaleValue,\n scrapperPosX,\n activePoint,\n activeSerie,\n xScrollbarPosition,\n isGrabbed,\n startPosition,\n isScrollbarVisible,\n containerRatio,\n internalMargin,\n axisLeftRef,\n leftLegendWidth,\n leftLegend,\n rightLegend,\n axisBottomHeight,\n getXScaleValue,\n getYScaleValue,\n getYValueFormatted,\n getXValueFormatted,\n bottomLabelHeight,\n rightLabelWidth,\n axisRightWidth,\n getXValue,\n getYValue,\n isHorizontal,\n leftLabel,\n chartId,\n hiddenSeries,\n height,\n width,\n toolbarHeight,\n leftLabelHeight,\n rightLegendHeight,\n bottomLegendWidth,\n bottomLegend,\n leftLabelWidth,\n axisLeftWidth,\n topLegendHeight,\n leftLegendHeight,\n currentDataWithNullValues,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "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
|
|
5
|
+
"mappings": "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A;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,14 +15,12 @@ function isValueT(value) {
|
|
|
15
15
|
const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) => {
|
|
16
16
|
const getXValue = useCallback(
|
|
17
17
|
(datum) => {
|
|
18
|
-
if (!datum)
|
|
19
|
-
return null;
|
|
18
|
+
if (!datum) return null;
|
|
20
19
|
if (!isHorizontal) {
|
|
21
20
|
if (xAxis?.cols?.[datum.position]) {
|
|
22
21
|
return xAxis?.cols?.[datum.position];
|
|
23
22
|
}
|
|
24
|
-
if (typeof datum.value === "object")
|
|
25
|
-
return datum.value?.x;
|
|
23
|
+
if (typeof datum.value === "object") return datum.value?.x;
|
|
26
24
|
return datum.position.toString();
|
|
27
25
|
}
|
|
28
26
|
if (typeof datum.value === "number") {
|
|
@@ -34,8 +32,7 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
34
32
|
);
|
|
35
33
|
const getYValue = useCallback(
|
|
36
34
|
(datum) => {
|
|
37
|
-
if (!datum)
|
|
38
|
-
return null;
|
|
35
|
+
if (!datum) return null;
|
|
39
36
|
if (!isHorizontal) {
|
|
40
37
|
if (typeof datum.value === "number") {
|
|
41
38
|
return datum.value;
|
|
@@ -45,8 +42,7 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
45
42
|
if (yAxis?.cols?.[datum.position]) {
|
|
46
43
|
return yAxis?.cols?.[datum.position];
|
|
47
44
|
}
|
|
48
|
-
if (typeof datum.value === "object")
|
|
49
|
-
return datum.value?.y;
|
|
45
|
+
if (typeof datum.value === "object") return datum.value?.y;
|
|
50
46
|
return datum.position.toString();
|
|
51
47
|
},
|
|
52
48
|
[isHorizontal, yAxis?.cols]
|
|
@@ -54,18 +50,15 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
54
50
|
const getXScaleValue = useCallback(
|
|
55
51
|
(datum) => {
|
|
56
52
|
if (isLinear(xScale)) {
|
|
57
|
-
if (isValueT(datum))
|
|
58
|
-
return xScale?.get(datum);
|
|
53
|
+
if (isValueT(datum)) return xScale?.get(datum);
|
|
59
54
|
return xScale?.get(getXValue(datum));
|
|
60
55
|
}
|
|
61
56
|
if (isBand(xScale)) {
|
|
62
|
-
if (isValueT(datum))
|
|
63
|
-
return xScale?.get(datum) ?? 0;
|
|
57
|
+
if (isValueT(datum)) return xScale?.get(datum) ?? 0;
|
|
64
58
|
return xScale?.get(getXValue(datum)) ?? 0;
|
|
65
59
|
}
|
|
66
60
|
if (isTime(xScale)) {
|
|
67
|
-
if (isValueT(datum))
|
|
68
|
-
return xScale?.get(datum);
|
|
61
|
+
if (isValueT(datum)) return xScale?.get(datum);
|
|
69
62
|
return xScale?.get(new Date(getXValue(datum)));
|
|
70
63
|
}
|
|
71
64
|
return 0;
|
|
@@ -75,13 +68,11 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
75
68
|
const getYScaleValue = useCallback(
|
|
76
69
|
(datum) => {
|
|
77
70
|
if (isLinear(yScale)) {
|
|
78
|
-
if (isValueT(datum))
|
|
79
|
-
return yScale?.get(datum);
|
|
71
|
+
if (isValueT(datum)) return yScale?.get(datum);
|
|
80
72
|
return yScale.get(getYValue(datum));
|
|
81
73
|
}
|
|
82
74
|
if (isBand(yScale)) {
|
|
83
|
-
if (isValueT(datum))
|
|
84
|
-
return yScale?.get(datum) ?? 0;
|
|
75
|
+
if (isValueT(datum)) return yScale?.get(datum) ?? 0;
|
|
85
76
|
return yScale?.get(getYValue(datum)) ?? 0;
|
|
86
77
|
}
|
|
87
78
|
return 0;
|
|
@@ -91,13 +82,11 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
91
82
|
const getY2ScaleValue = useCallback(
|
|
92
83
|
(datum) => {
|
|
93
84
|
if (isLinear(y2Scale)) {
|
|
94
|
-
if (isValueT(datum))
|
|
95
|
-
return y2Scale?.get(datum);
|
|
85
|
+
if (isValueT(datum)) return y2Scale?.get(datum);
|
|
96
86
|
return y2Scale.get(getYValue(datum));
|
|
97
87
|
}
|
|
98
88
|
if (isBand(y2Scale)) {
|
|
99
|
-
if (isValueT(datum))
|
|
100
|
-
return y2Scale?.get(datum) ?? 0;
|
|
89
|
+
if (isValueT(datum)) return y2Scale?.get(datum) ?? 0;
|
|
101
90
|
return y2Scale?.get(getYValue(datum)) ?? 0;
|
|
102
91
|
}
|
|
103
92
|
return 0;
|
|
@@ -106,22 +95,18 @@ const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }) =>
|
|
|
106
95
|
);
|
|
107
96
|
const getYValueFormatted = useCallback(
|
|
108
97
|
(datum) => {
|
|
109
|
-
if (!datum)
|
|
110
|
-
return null;
|
|
98
|
+
if (!datum) return null;
|
|
111
99
|
const value = getYValue(datum);
|
|
112
|
-
if (typeof yAxis.tick?.tickFormat === "function")
|
|
113
|
-
return yAxis.tick.tickFormat(value);
|
|
100
|
+
if (typeof yAxis.tick?.tickFormat === "function") return yAxis.tick.tickFormat(value);
|
|
114
101
|
return value;
|
|
115
102
|
},
|
|
116
103
|
[getYValue, yAxis.tick]
|
|
117
104
|
);
|
|
118
105
|
const getXValueFormatted = useCallback(
|
|
119
106
|
(datum) => {
|
|
120
|
-
if (!datum)
|
|
121
|
-
return null;
|
|
107
|
+
if (!datum) return null;
|
|
122
108
|
const value = getXValue(datum);
|
|
123
|
-
if (typeof xAxis.tick?.tickFormat === "function")
|
|
124
|
-
return xAxis.tick.tickFormat(value);
|
|
109
|
+
if (typeof xAxis.tick?.tickFormat === "function") return xAxis.tick.tickFormat(value);
|
|
125
110
|
return value;
|
|
126
111
|
},
|
|
127
112
|
[getXValue, xAxis.tick]
|