@redsift/charts 11.7.0 → 11.8.0-muiv5
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/_internal/Axis2.js +18 -9
- package/_internal/Axis2.js.map +1 -1
- package/_internal/BarChart2.js +35 -19
- package/_internal/BarChart2.js.map +1 -1
- package/_internal/Legend3.js +1 -1
- package/_internal/LineChart2.js +6 -4
- package/_internal/LineChart2.js.map +1 -1
- package/_internal/PieChart2.js +2 -2
- package/_internal/ScatterPlot2.js +2 -2
- package/index.d.ts +25 -39
- package/index.js +2 -2
- package/package.json +4 -4
package/_internal/Axis2.js
CHANGED
|
@@ -186,7 +186,7 @@ const computeTicks = _ref => {
|
|
|
186
186
|
};
|
|
187
187
|
};
|
|
188
188
|
|
|
189
|
-
const _excluded = ["className", "disableAnimations", "grid", "length", "legend", "legendOffset", "legendPosition", "legendX", "legendY", "legendRotation", "legendStyle", "position", "scale", "tickPadding", "tickRotation", "tickSize", "tickValues", "tickFormat", "tickRemodelling", "variant", "x", "y", "chartWidth", "chartHeight", "sectionHeight", "textColor", "tickToColor"],
|
|
189
|
+
const _excluded = ["className", "disableAnimations", "grid", "length", "legend", "legendOffset", "legendPosition", "legendX", "legendY", "legendRotation", "legendStyle", "position", "scale", "tickPadding", "tickRotation", "tickSize", "tickValues", "tickFormat", "tickRemodelling", "tickStyle", "variant", "x", "y", "chartWidth", "chartHeight", "sectionHeight", "textColor", "tickToColor"],
|
|
190
190
|
_excluded2 = ["length"];
|
|
191
191
|
const COMPONENT_NAME = 'Axis';
|
|
192
192
|
const CLASSNAME = 'redsift-axis';
|
|
@@ -212,6 +212,7 @@ const Axis = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
212
212
|
tickValues,
|
|
213
213
|
tickFormat,
|
|
214
214
|
tickRemodelling,
|
|
215
|
+
tickStyle,
|
|
215
216
|
variant = AxisVariant.default,
|
|
216
217
|
x = 0,
|
|
217
218
|
y = 0,
|
|
@@ -329,6 +330,7 @@ const Axis = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
329
330
|
opacity: 0
|
|
330
331
|
}
|
|
331
332
|
}));
|
|
333
|
+
const tickStyles = tickStyle ? tickStyle(ticks) : [];
|
|
332
334
|
return /*#__PURE__*/React__default.createElement(StyledAxis, _extends({
|
|
333
335
|
"aria-hidden": "true",
|
|
334
336
|
className: classNames(Axis.className, className),
|
|
@@ -337,7 +339,10 @@ const Axis = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
337
339
|
transform: `translate(${x},${y})${axis === 'x' ? '' : ',rotate(180)'}`,
|
|
338
340
|
ref: axisRef,
|
|
339
341
|
$color: textColor
|
|
340
|
-
}), variant === AxisVariant.default || variant === AxisVariant.tick || variant === AxisVariant.lineTick || variant === AxisVariant.tickValue ? transition((transitionProps, tick, _state, tickIndex) => {
|
|
342
|
+
}), variant === AxisVariant.default || variant === AxisVariant.tick || variant === AxisVariant.lineTick || variant === AxisVariant.tickValue || grid ? transition((transitionProps, tick, _state, tickIndex) => {
|
|
343
|
+
var _tickStyles$tickIndex, _tickStyles$tickIndex2, _tickStyles$tickIndex3;
|
|
344
|
+
let formattedTickValues = tickFormat ? tickFormat(tick.value) : tick.value;
|
|
345
|
+
formattedTickValues = Array.isArray(formattedTickValues) ? formattedTickValues : [formattedTickValues];
|
|
341
346
|
return /*#__PURE__*/React__default.createElement(it.g, {
|
|
342
347
|
className: `${Axis.className}__tick`,
|
|
343
348
|
key: tickIndex,
|
|
@@ -353,23 +358,27 @@ const Axis = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
353
358
|
y2: axis === 'x' ? gridLength * (position === 'bottom' ? -1 : 1) : tick.lineY,
|
|
354
359
|
style: _objectSpread2(_objectSpread2({
|
|
355
360
|
strokeDasharray: '4,4',
|
|
356
|
-
opacity: 0.2
|
|
357
|
-
strokeWidth: 0.5
|
|
361
|
+
opacity: 0.2
|
|
358
362
|
}, gridStyle), {}, {
|
|
359
|
-
|
|
363
|
+
strokeWidth: tickStyles && tickStyles.length > 0 ? ((_tickStyles$tickIndex = tickStyles[tickIndex]) === null || _tickStyles$tickIndex === void 0 ? void 0 : _tickStyles$tickIndex.gridStrokeWidth) || 0.5 : gridStyle.strokeWidth || 0.5,
|
|
364
|
+
stroke: tickStyles && tickStyles.length > 0 ? ((_tickStyles$tickIndex2 = tickStyles[tickIndex]) === null || _tickStyles$tickIndex2 === void 0 ? void 0 : _tickStyles$tickIndex2.gridStroke) || 'currentColor' : gridStyle.stroke || 'currentColor'
|
|
360
365
|
})
|
|
361
366
|
}) : null, /*#__PURE__*/React__default.createElement("line", {
|
|
362
367
|
className: `${Axis.className}-tick__line`,
|
|
363
368
|
x1: 0,
|
|
364
369
|
x2: tick.lineX,
|
|
365
370
|
y1: 0,
|
|
366
|
-
y2: tick.lineY
|
|
367
|
-
|
|
371
|
+
y2: tick.lineY,
|
|
372
|
+
style: {
|
|
373
|
+
strokeWidth: tickStyles && tickStyles.length > 0 ? (_tickStyles$tickIndex3 = tickStyles[tickIndex]) === null || _tickStyles$tickIndex3 === void 0 ? void 0 : _tickStyles$tickIndex3.strokeWidth : 1
|
|
374
|
+
}
|
|
375
|
+
}), variant === AxisVariant.default || variant === AxisVariant.tickValue ? formattedTickValues.map((value, index) => /*#__PURE__*/React__default.createElement(it.text, {
|
|
376
|
+
key: value,
|
|
368
377
|
dominantBaseline: textBaseline,
|
|
369
378
|
textAnchor: textAlign,
|
|
370
|
-
transform:
|
|
379
|
+
transform: `translate(${tick.textX},${tick.textY + 14 * index}),rotate(${tickRotation})`,
|
|
371
380
|
className: !textColor ? '' : tickToColor(tick, tickIndex) ? 'colored' : ''
|
|
372
|
-
},
|
|
381
|
+
}, value)) : null);
|
|
373
382
|
}) : null, variant === AxisVariant.default || variant === AxisVariant.line || variant === AxisVariant.lineTick ? /*#__PURE__*/React__default.createElement(it.line, {
|
|
374
383
|
className: `${Axis.className}__line`,
|
|
375
384
|
x1: 0,
|
package/_internal/Axis2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Axis2.js","sources":["../../src/components/Axis/types.ts","../../src/components/Axis/styles.ts","../../src/components/Axis/computeTicks.ts","../../src/components/Axis/Axis.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ValueOf, Theme } from '@redsift/design-system';\nimport { AnyScale, NumericValue, ScaleValue, StringValue, TicksSpec } from '../../types';\n\n/**\n * Component variant.\n */\nexport const AxisVariant = {\n none: 'none',\n line: 'line',\n lineTick: 'lineTick',\n tick: 'tick',\n tickValue: 'tickValue',\n default: 'default',\n} as const;\nexport type AxisVariant = ValueOf<typeof AxisVariant>;\n\nexport const AxisPosition = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n};\nexport type AxisPosition = ValueOf<typeof AxisPosition>;\n\n/**\n * Component props.\n */\nexport interface AxisProps extends Omit<ComponentProps<'g'>, 'scale'> {\n /** Disable animations. */\n disableAnimations?: boolean;\n format?: string;\n /** Whether to display grid or not. The length is mandatory and should usually be the length of the other axis. */\n grid?:\n | boolean\n | {\n length?: number;\n stroke?: string;\n strokeWidth?: number;\n strokeDasharray?: string;\n opacity?: number;\n };\n legend?: string;\n legendOffset?: number;\n legendPosition?: 'start' | 'middle' | 'end';\n legendX?: number;\n legendY?: number;\n legendRotation?: number;\n legendStyle?: React.CSSProperties;\n /** Length of the axis. */\n length?: number;\n /** Position of axis. top|bottom means this is an x axis, right|left means this is an y axis. */\n position?: AxisPosition;\n /** Scale (d3.js) used to generate the axis. */\n scale?: AnyScale;\n tickFormat?:\n | ((d: NumericValue) => string)\n | ((d: StringValue) => string)\n | ((d: Date) => string)\n | ((d: ScaleValue) => string);\n tickPadding?: number;\n tickRotation?: number;\n tickSize?: number;\n tickValues?: TicksSpec;\n tickRemodelling?: (tickValues: any[]) => any[];\n /** Variant. */\n variant?: AxisVariant;\n /** X position. */\n x?: number;\n /** Y position. */\n y?: number;\n /** Chart width, used for horizontal grid. */\n chartWidth?: number;\n /** Chart height, used for horizontal grid. */\n chartHeight?: number;\n /** Section height, used for horizontal grid within a section. */\n sectionHeight?: number;\n /** Color used for tick values. */\n textColor?: string;\n /** Custom method to choose which tick value to color if not all. */\n tickToColor?: (\n tick?: {\n textX: number;\n textY: number;\n lineX: number;\n lineY: number;\n x: number;\n y: number;\n key: string;\n value: ScaleValue;\n },\n index?: number\n ) => boolean;\n}\n\nexport type StyledAxisProps = Omit<AxisProps, 'areXLabelsRotated' | 'size' | 'scale'> & {\n $theme: Theme;\n $color?: string;\n};\n","import styled, { css } from 'styled-components';\nimport { StyledAxisProps } from './types';\nimport { animated } from '@react-spring/web';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledAxis = styled(animated.g)<StyledAxisProps>`\n .redsift-axis__line,\n .redsift-axis-tick__line {\n fill: none;\n ${({ $theme }) => css`\n stroke: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-poppins);\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n font-size: 10px;\n user-select: none;\n }\n\n text.colored {\n ${({ $theme, $color }) => css`\n fill: ${$color === 'green'\n ? '#029B57'\n : $color === 'red'\n ? '#CB0E0E'\n : `var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};\n `}\n }\n`;\n","import { AnyScale, Coordinates, ScaleValue, ScaleWithBandwidth, TicksSpec } from '../../types';\n\nconst getScaleTicks = (scale: AnyScale, spec?: TicksSpec) => {\n // specific values\n if (Array.isArray(spec)) {\n return spec;\n }\n\n // continuous scales\n if ('ticks' in scale) {\n // default behaviour\n if (spec === undefined) {\n return scale.ticks();\n }\n\n // specific tick count\n if (typeof spec === 'number' && isFinite(spec) && Math.floor(spec) === spec) {\n return scale.ticks(spec);\n }\n\n if (typeof spec === 'function') {\n return scale.ticks();\n }\n }\n\n // non linear scale default\n return scale.domain();\n};\n\nexport const centerScale = (scale: ScaleWithBandwidth) => {\n const bandwidth = scale.bandwidth();\n\n if (bandwidth === 0) return scale;\n\n let offset = bandwidth / 2;\n if (scale.round()) {\n offset = Math.round(offset);\n }\n\n return <T extends ScaleValue>(d: T) => (scale(d) ?? 0) + offset;\n};\n\nexport const computeTicks = ({\n axis,\n scale,\n ticksPosition,\n tickValues,\n tickSize,\n tickPadding,\n tickRotation,\n tickRemodelling,\n}: {\n axis: 'x' | 'y';\n scale: AnyScale;\n ticksPosition?: 'after' | 'before';\n tickValues?: TicksSpec;\n tickSize: number;\n tickPadding: number;\n tickRotation: number;\n tickRemodelling?: (tickValues: any[]) => any[];\n}) => {\n const values = tickRemodelling ? tickRemodelling(getScaleTicks(scale, tickValues)) : getScaleTicks(scale, tickValues);\n\n const position = 'bandwidth' in scale ? centerScale(scale) : scale;\n const line = { lineX: 0, lineY: 0 };\n const text = { textX: 0, textY: 0 };\n\n const isRTL = typeof document === 'object' ? document.dir === 'rtl' : false;\n let translate: (value: ScaleValue) => Coordinates;\n let textAlign = 'middle';\n let textBaseline = 'central';\n\n if (axis === 'x') {\n translate = (d) => ({ x: position(d) ?? 0, y: 0 });\n\n line.lineY = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textY = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textBaseline = 'text-before-edge';\n } else {\n textBaseline = 'alphabetic';\n }\n\n if (tickRotation === 0) {\n textAlign = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation < 0) || (ticksPosition === 'before' && tickRotation > 0)) {\n textAlign = isRTL ? 'start' : 'end';\n textBaseline = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation > 0) || (ticksPosition === 'before' && tickRotation < 0)) {\n textAlign = isRTL ? 'end' : 'start';\n textBaseline = 'middle';\n }\n } else {\n translate = (d) => ({ x: 0, y: position(d) ?? 0 });\n\n line.lineX = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textX = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textAlign = 'start';\n } else {\n textAlign = 'end';\n }\n }\n\n const ticks = values.map((value: ScaleValue) => ({\n key: value instanceof Date ? `${value.valueOf()}` : `${value}`,\n value,\n ...translate(value),\n ...line,\n ...text,\n }));\n\n return {\n ticks,\n textAlign,\n textBaseline,\n };\n};\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useTheme } from '@redsift/design-system';\n\nimport { AxisProps, AxisPosition, AxisVariant } from './types';\nimport { StyledAxis } from './styles';\nimport { animated, useSpring, useTransition } from '@react-spring/web';\nimport { computeTicks } from './computeTicks';\nimport { config } from '../../config';\nimport { AnyScale } from '@redsift/charts/types';\n\nconst COMPONENT_NAME = 'Axis';\nconst CLASSNAME = 'redsift-axis';\n\nexport const getAxisType = (position: AxisPosition) =>\n [AxisPosition.top, AxisPosition.bottom].includes(position) ? 'x' : 'y';\n\nexport const Axis: Comp<AxisProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n className,\n disableAnimations,\n grid,\n length,\n legend,\n legendOffset = -32,\n legendPosition = 'end',\n legendX: propsLegendX,\n legendY: propsLegendY,\n legendRotation: propsLegendRotation,\n legendStyle,\n position = AxisPosition.bottom,\n scale,\n tickPadding = 5,\n tickRotation = 0,\n tickSize = 5,\n tickValues,\n tickFormat,\n tickRemodelling,\n variant = AxisVariant.default,\n x = 0,\n y = 0,\n chartWidth,\n chartHeight,\n sectionHeight,\n textColor,\n tickToColor = () => true,\n ...forwardedProps\n } = props;\n const theme = useTheme();\n const axis = getAxisType(position!);\n const { length: gridLength, ...gridStyle } =\n typeof grid === 'object'\n ? { length: axis === 'x' ? sectionHeight ?? chartHeight : chartWidth, ...grid }\n : grid === true\n ? {\n length: axis === 'x' ? sectionHeight ?? chartHeight : chartWidth,\n }\n : { length: 0 };\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({\n lineX2: axis === 'x' ? length : 0,\n lineY2: axis === 'x' ? 0 : length,\n });\n },\n from: { lineX2: 0, lineY2: 0 },\n reset: false,\n });\n\n let legendNode = null;\n if (legend !== undefined) {\n let legendX = 0;\n let legendY = 0;\n let legendRotation = 0;\n let textAnchor;\n\n if (axis === 'y') {\n legendRotation = propsLegendRotation ?? 90;\n legendX = propsLegendX ?? legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n legendY = propsLegendY ?? length!;\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendY = propsLegendY ?? length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n legendY = propsLegendY ?? legendY;\n }\n } else {\n legendY = propsLegendY ?? legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n legendX = propsLegendX ?? legendX;\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendX = propsLegendX ?? length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n legendX = propsLegendX ?? length!;\n }\n }\n\n legendNode = (\n <>\n <text\n transform={`translate(${legendX}, ${legendY}) rotate(${legendRotation})`}\n textAnchor={textAnchor}\n style={{\n dominantBaseline: 'central',\n ...legendStyle,\n }}\n >\n {legend}\n </text>\n </>\n );\n }\n\n const { ticks, textAlign, textBaseline } = computeTicks({\n axis,\n scale: scale as AnyScale,\n ticksPosition: [AxisPosition.top, AxisPosition.left].includes(position!) ? 'before' : 'after',\n tickValues,\n tickSize: tickSize!,\n tickPadding: tickPadding!,\n tickRotation: tickRotation!,\n tickRemodelling,\n });\n\n const transition = useTransition<(typeof ticks)[0], { opacity: number; transform: string; textTransform: string }>(\n ticks,\n {\n ...config,\n keys: (tick) => tick.key,\n initial: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n from: (tick) => ({\n opacity: 0,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n enter: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n update: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n leave: {\n opacity: 0,\n },\n }\n );\n\n return (\n <StyledAxis\n aria-hidden=\"true\"\n className={classNames(Axis.className, className)}\n $theme={theme}\n {...forwardedProps}\n transform={`translate(${x},${y})${axis === 'x' ? '' : ',rotate(180)'}`}\n ref={axisRef}\n $color={textColor}\n >\n {variant === AxisVariant.default ||\n variant === AxisVariant.tick ||\n variant === AxisVariant.lineTick ||\n variant === AxisVariant.tickValue\n ? transition((transitionProps, tick, _state, tickIndex) => {\n return (\n <animated.g\n className={`${Axis.className}__tick`}\n key={tickIndex}\n transform={transitionProps.transform}\n style={{ opacity: transitionProps.opacity }}\n >\n {gridLength ? (\n <line\n className={`${Axis.className}-grid__line`}\n x1={axis === 'x' ? tick.lineX : 0}\n x2={axis === 'x' ? tick.lineX : gridLength! * (position === 'right' ? -1 : 1)}\n y1={axis === 'x' ? 0 : tick.lineY}\n y2={axis === 'x' ? gridLength! * (position === 'bottom' ? -1 : 1) : tick.lineY}\n style={{\n strokeDasharray: '4,4',\n opacity: 0.2,\n strokeWidth: 0.5,\n ...gridStyle,\n stroke: 'currentColor',\n }}\n />\n ) : null}\n <line className={`${Axis.className}-tick__line`} x1={0} x2={tick.lineX} y1={0} y2={tick.lineY} />\n {variant === AxisVariant.default || variant === AxisVariant.tickValue ? (\n <animated.text\n dominantBaseline={textBaseline}\n textAnchor={textAlign}\n transform={transitionProps.textTransform}\n className={!textColor ? '' : tickToColor(tick, tickIndex) ? 'colored' : ''}\n >\n {`${tickFormat ? tickFormat(tick.value as any) : tick.value}`}\n </animated.text>\n ) : null}\n </animated.g>\n );\n })\n : null}\n\n {variant === AxisVariant.default || variant === AxisVariant.line || variant === AxisVariant.lineTick ? (\n <animated.line\n className={`${Axis.className}__line`}\n x1={0}\n x2={config.immediate || disableAnimations ? (axis === 'x' ? length : 0) : animatedProps.lineX2}\n y1={0}\n y2={config.immediate || disableAnimations ? (axis === 'x' ? 0 : length) : animatedProps.lineY2}\n />\n ) : null}\n {legendNode}\n </StyledAxis>\n );\n});\nAxis.className = CLASSNAME;\nAxis.displayName = COMPONENT_NAME;\n"],"names":["AxisVariant","none","line","lineTick","tick","tickValue","default","AxisPosition","top","right","bottom","left","StyledAxis","styled","animated","g","_ref","$theme","css","Theme","dark","_ref2","_ref3","$color","getScaleTicks","scale","spec","Array","isArray","undefined","ticks","isFinite","Math","floor","domain","centerScale","bandwidth","offset","round","d","_scale","computeTicks","axis","ticksPosition","tickValues","tickSize","tickPadding","tickRotation","tickRemodelling","values","position","lineX","lineY","text","textX","textY","isRTL","document","dir","translate","textAlign","textBaseline","_position","x","y","_position2","map","value","_objectSpread","key","Date","valueOf","COMPONENT_NAME","CLASSNAME","getAxisType","includes","Axis","forwardRef","props","ref","className","disableAnimations","grid","length","legend","legendOffset","legendPosition","legendX","propsLegendX","legendY","propsLegendY","legendRotation","propsLegendRotation","legendStyle","tickFormat","variant","chartWidth","chartHeight","sectionHeight","textColor","tickToColor","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","gridLength","gridStyle","_excluded2","axisRef","useRef","animatedProps","useSpring","config","to","next","lineX2","lineY2","from","reset","legendNode","textAnchor","React","createElement","Fragment","transform","style","dominantBaseline","transition","useTransition","keys","initial","opacity","textTransform","enter","update","leave","_extends","classNames","transitionProps","_state","tickIndex","x1","x2","y1","y2","strokeDasharray","strokeWidth","stroke","immediate","displayName"],"mappings":";;;;;;;;AAIA;AACA;AACA;AACO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAGH,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAA;AACR,EAAC;;AAGD;AACA;AACA;;ACtBA;AACA;AACA;AACO,MAAMC,UAAU,GAAGC,MAAM,CAACC,EAAQ,CAACC,CAAC,CAAmB,CAAA;AAC9D;AACA;AACA;AACA,IAAA,EAAMC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AAC1B,0CAA4CD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AAC5F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMC,KAAA,IAAA;EAAA,IAAC;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAI,KAAA,CAAA;AAAA,EAAA,OAAKH,GAAI,CAAA;AAC1B,wCAA0CD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AAC1F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA,IAAA,EAAME,KAAA,IAAA;EAAA,IAAC;IAAEL,MAAM;AAAEM,IAAAA,MAAAA;AAAO,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKJ,GAAI,CAAA;AAClC,YAAcK,EAAAA,MAAM,KAAK,OAAO,GACtB,SAAS,GACTA,MAAM,KAAK,KAAK,GAChB,SAAS,GACR,CAA8BN,4BAAAA,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAG,CAAA,CAAA,CAAA;AAC5F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;;AClCA,MAAMI,aAAa,GAAGA,CAACC,KAAe,EAAEC,IAAgB,KAAK;AAC3D;AACA,EAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;AACvB,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;EACA,IAAI,OAAO,IAAID,KAAK,EAAE;AACpB;IACA,IAAIC,IAAI,KAAKG,SAAS,EAAE;AACtB,MAAA,OAAOJ,KAAK,CAACK,KAAK,EAAE,CAAA;AACtB,KAAA;;AAEA;AACA,IAAA,IAAI,OAAOJ,IAAI,KAAK,QAAQ,IAAIK,QAAQ,CAACL,IAAI,CAAC,IAAIM,IAAI,CAACC,KAAK,CAACP,IAAI,CAAC,KAAKA,IAAI,EAAE;AAC3E,MAAA,OAAOD,KAAK,CAACK,KAAK,CAACJ,IAAI,CAAC,CAAA;AAC1B,KAAA;AAEA,IAAA,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;AAC9B,MAAA,OAAOD,KAAK,CAACK,KAAK,EAAE,CAAA;AACtB,KAAA;AACF,GAAA;;AAEA;AACA,EAAA,OAAOL,KAAK,CAACS,MAAM,EAAE,CAAA;AACvB,CAAC,CAAA;AAEM,MAAMC,WAAW,GAAIV,KAAyB,IAAK;AACxD,EAAA,MAAMW,SAAS,GAAGX,KAAK,CAACW,SAAS,EAAE,CAAA;AAEnC,EAAA,IAAIA,SAAS,KAAK,CAAC,EAAE,OAAOX,KAAK,CAAA;AAEjC,EAAA,IAAIY,MAAM,GAAGD,SAAS,GAAG,CAAC,CAAA;AAC1B,EAAA,IAAIX,KAAK,CAACa,KAAK,EAAE,EAAE;AACjBD,IAAAA,MAAM,GAAGL,IAAI,CAACM,KAAK,CAACD,MAAM,CAAC,CAAA;AAC7B,GAAA;AAEA,EAAA,OAA8BE,CAAI,IAAA;AAAA,IAAA,IAAAC,MAAA,CAAA;AAAA,IAAA,OAAK,CAAAA,CAAAA,MAAA,GAACf,KAAK,CAACc,CAAC,CAAC,MAAAC,IAAAA,IAAAA,MAAA,KAAAA,KAAAA,CAAAA,GAAAA,MAAA,GAAI,CAAC,IAAIH,MAAM,CAAA;AAAA,GAAA,CAAA;AACjE,CAAC,CAAA;AAEM,MAAMI,YAAY,GAAGzB,IAAA,IAkBtB;EAAA,IAlBuB;IAC3B0B,IAAI;IACJjB,KAAK;IACLkB,aAAa;IACbC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,YAAY;AACZC,IAAAA,eAAAA;AAUF,GAAC,GAAAhC,IAAA,CAAA;AACC,EAAA,MAAMiC,MAAM,GAAGD,eAAe,GAAGA,eAAe,CAACxB,aAAa,CAACC,KAAK,EAAEmB,UAAU,CAAC,CAAC,GAAGpB,aAAa,CAACC,KAAK,EAAEmB,UAAU,CAAC,CAAA;EAErH,MAAMM,QAAQ,GAAG,WAAW,IAAIzB,KAAK,GAAGU,WAAW,CAACV,KAAK,CAAC,GAAGA,KAAK,CAAA;AAClE,EAAA,MAAMvB,IAAI,GAAG;AAAEiD,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAA;GAAG,CAAA;AACnC,EAAA,MAAMC,IAAI,GAAG;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAA;GAAG,CAAA;AAEnC,EAAA,MAAMC,KAAK,GAAG,OAAOC,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,CAACC,GAAG,KAAK,KAAK,GAAG,KAAK,CAAA;AAC3E,EAAA,IAAIC,SAA6C,CAAA;EACjD,IAAIC,SAAS,GAAG,QAAQ,CAAA;EACxB,IAAIC,YAAY,GAAG,SAAS,CAAA;EAE5B,IAAInB,IAAI,KAAK,GAAG,EAAE;AAChBiB,IAAAA,SAAS,GAAIpB,CAAC,IAAA;AAAA,MAAA,IAAAuB,SAAA,CAAA;MAAA,OAAM;AAAEC,QAAAA,CAAC,EAAAD,CAAAA,SAAA,GAAEZ,QAAQ,CAACX,CAAC,CAAC,MAAA,IAAA,IAAAuB,SAAA,KAAA,KAAA,CAAA,GAAAA,SAAA,GAAI,CAAC;AAAEE,QAAAA,CAAC,EAAE,CAAA;OAAG,CAAA;KAAC,CAAA;AAElD9D,IAAAA,IAAI,CAACkD,KAAK,GAAGP,QAAQ,IAAIF,aAAa,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5DU,IAAAA,IAAI,CAACE,KAAK,GAAG,CAACV,QAAQ,GAAGC,WAAW,KAAKH,aAAa,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAE5E,IAAIA,aAAa,KAAK,OAAO,EAAE;AAC7BkB,MAAAA,YAAY,GAAG,kBAAkB,CAAA;AACnC,KAAC,MAAM;AACLA,MAAAA,YAAY,GAAG,YAAY,CAAA;AAC7B,KAAA;IAEA,IAAId,YAAY,KAAK,CAAC,EAAE;AACtBa,MAAAA,SAAS,GAAG,QAAQ,CAAA;AACtB,KAAC,MAAM,IAAKjB,aAAa,KAAK,OAAO,IAAII,YAAY,GAAG,CAAC,IAAMJ,aAAa,KAAK,QAAQ,IAAII,YAAY,GAAG,CAAE,EAAE;AAC9Ga,MAAAA,SAAS,GAAGJ,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AACnCK,MAAAA,YAAY,GAAG,QAAQ,CAAA;AACzB,KAAC,MAAM,IAAKlB,aAAa,KAAK,OAAO,IAAII,YAAY,GAAG,CAAC,IAAMJ,aAAa,KAAK,QAAQ,IAAII,YAAY,GAAG,CAAE,EAAE;AAC9Ga,MAAAA,SAAS,GAAGJ,KAAK,GAAG,KAAK,GAAG,OAAO,CAAA;AACnCK,MAAAA,YAAY,GAAG,QAAQ,CAAA;AACzB,KAAA;AACF,GAAC,MAAM;AACLF,IAAAA,SAAS,GAAIpB,CAAC,IAAA;AAAA,MAAA,IAAA0B,UAAA,CAAA;MAAA,OAAM;AAAEF,QAAAA,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAA,CAAAC,UAAA,GAAEf,QAAQ,CAACX,CAAC,CAAC,MAAA0B,IAAAA,IAAAA,UAAA,KAAAA,KAAAA,CAAAA,GAAAA,UAAA,GAAI,CAAA;OAAG,CAAA;KAAC,CAAA;AAElD/D,IAAAA,IAAI,CAACiD,KAAK,GAAGN,QAAQ,IAAIF,aAAa,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5DU,IAAAA,IAAI,CAACC,KAAK,GAAG,CAACT,QAAQ,GAAGC,WAAW,KAAKH,aAAa,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAE5E,IAAIA,aAAa,KAAK,OAAO,EAAE;AAC7BiB,MAAAA,SAAS,GAAG,OAAO,CAAA;AACrB,KAAC,MAAM;AACLA,MAAAA,SAAS,GAAG,KAAK,CAAA;AACnB,KAAA;AACF,GAAA;AAEA,EAAA,MAAM9B,KAAK,GAAGmB,MAAM,CAACiB,GAAG,CAAEC,KAAiB,IAAAC,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;AACzCC,IAAAA,GAAG,EAAEF,KAAK,YAAYG,IAAI,GAAI,CAAEH,EAAAA,KAAK,CAACI,OAAO,EAAG,CAAA,CAAC,GAAI,CAAA,EAAEJ,KAAM,CAAC,CAAA;AAC9DA,IAAAA,KAAAA;GACGR,EAAAA,SAAS,CAACQ,KAAK,CAAC,GAChBjE,IAAI,CAAA,EACJmD,IAAI,CACP,CAAC,CAAA;EAEH,OAAO;IACLvB,KAAK;IACL8B,SAAS;AACTC,IAAAA,YAAAA;GACD,CAAA;AACH,CAAC;;;;AC3GD,MAAMW,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,SAAS,GAAG,cAAc,CAAA;AAEzB,MAAMC,WAAW,GAAIxB,QAAsB,IAChD,CAAC3C,YAAY,CAACC,GAAG,EAAED,YAAY,CAACG,MAAM,CAAC,CAACiE,QAAQ,CAACzB,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAG;AAEjE,MAAM0B,IAAkC,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC3E,MAAM;MACJC,SAAS;MACTC,iBAAiB;MACjBC,IAAI;MACJC,MAAM;MACNC,MAAM;MACNC,YAAY,GAAG,CAAC,EAAE;AAClBC,MAAAA,cAAc,GAAG,KAAK;AACtBC,MAAAA,OAAO,EAAEC,YAAY;AACrBC,MAAAA,OAAO,EAAEC,YAAY;AACrBC,MAAAA,cAAc,EAAEC,mBAAmB;MACnCC,WAAW;MACX3C,QAAQ,GAAG3C,YAAY,CAACG,MAAM;MAC9Be,KAAK;AACLqB,MAAAA,WAAW,GAAG,CAAC;AACfC,MAAAA,YAAY,GAAG,CAAC;AAChBF,MAAAA,QAAQ,GAAG,CAAC;MACZD,UAAU;MACVkD,UAAU;MACV9C,eAAe;MACf+C,OAAO,GAAG/F,WAAW,CAACM,OAAO;AAC7ByD,MAAAA,CAAC,GAAG,CAAC;AACLC,MAAAA,CAAC,GAAG,CAAC;MACLgC,UAAU;MACVC,WAAW;MACXC,aAAa;MACbC,SAAS;MACTC,WAAW,GAAGA,MAAM,IAAA;AAEtB,KAAC,GAAGtB,KAAK;AADJuB,IAAAA,cAAc,GAAAC,wBAAA,CACfxB,KAAK,EAAAyB,SAAA,CAAA,CAAA;AACT,EAAA,MAAMC,KAAK,GAAGC,QAAQ,EAAE,CAAA;AACxB,EAAA,MAAM/D,IAAI,GAAGgC,WAAW,CAACxB,QAAS,CAAC,CAAA;AACnC,EAAA,MAAAlC,IAAA,GACE,OAAOkE,IAAI,KAAK,QAAQ,GAAAd,cAAA,CAAA;AAClBe,MAAAA,MAAM,EAAEzC,IAAI,KAAK,GAAG,GAAGwD,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,aAAa,GAAID,WAAW,GAAGD,UAAAA;AAAU,KAAA,EAAKd,IAAI,CAAA,GAC3EA,IAAI,KAAK,IAAI,GACb;AACEC,MAAAA,MAAM,EAAEzC,IAAI,KAAK,GAAG,GAAGwD,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,aAAa,GAAID,WAAW,GAAGD,UAAAA;AACxD,KAAC,GACD;AAAEb,MAAAA,MAAM,EAAE,CAAA;KAAG;AAPb,IAAA;AAAEA,MAAAA,MAAM,EAAEuB,UAAAA;AAAyB,KAAC,GAAA1F,IAAA;AAAX2F,IAAAA,SAAS,GAAAL,wBAAA,CAAAtF,IAAA,EAAA4F,UAAA,CAAA,CAAA;AASxC,EAAA,MAAMC,OAAO,GAAI9B,GAAG,IAAI+B,MAAM,EAA0C,CAAA;EAExE,MAAMC,aAAa,GAAGC,CAAS,CAAA5C,cAAA,CAAAA,cAAA,KAC1B6C,MAAM,CAAA,EAAA,EAAA,EAAA;IACTC,EAAE,EAAE,MAAOC,IAAuC,IAAK;AACrD,MAAA,MAAMA,IAAI,CAAC;AACTC,QAAAA,MAAM,EAAE1E,IAAI,KAAK,GAAG,GAAGyC,MAAM,GAAG,CAAC;AACjCkC,QAAAA,MAAM,EAAE3E,IAAI,KAAK,GAAG,GAAG,CAAC,GAAGyC,MAAAA;AAC7B,OAAC,CAAC,CAAA;KACH;AACDmC,IAAAA,IAAI,EAAE;AAAEF,MAAAA,MAAM,EAAE,CAAC;AAAEC,MAAAA,MAAM,EAAE,CAAA;KAAG;AAC9BE,IAAAA,KAAK,EAAE,KAAA;AAAK,GAAA,CACb,CAAC,CAAA;EAEF,IAAIC,UAAU,GAAG,IAAI,CAAA;EACrB,IAAIpC,MAAM,KAAKvD,SAAS,EAAE;IACxB,IAAI0D,OAAO,GAAG,CAAC,CAAA;IACf,IAAIE,OAAO,GAAG,CAAC,CAAA;IACf,IAAIE,cAAc,GAAG,CAAC,CAAA;AACtB,IAAA,IAAI8B,UAAU,CAAA;IAEd,IAAI/E,IAAI,KAAK,GAAG,EAAE;AAChBiD,MAAAA,cAAc,GAAGC,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,mBAAmB,GAAI,EAAE,CAAA;AAC1CL,MAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAIH,YAAa,CAAA;MACvC,IAAIC,cAAc,KAAK,OAAO,EAAE;AAC9BmC,QAAAA,UAAU,GAAG,OAAO,CAAA;AACpBhC,QAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAIP,MAAO,CAAA;AACnC,OAAC,MAAM,IAAIG,cAAc,KAAK,QAAQ,EAAE;AACtCmC,QAAAA,UAAU,GAAG,QAAQ,CAAA;QACrBhC,OAAO,GAAGC,YAAY,KAAZA,IAAAA,IAAAA,YAAY,cAAZA,YAAY,GAAIP,MAAM,GAAI,CAAC,CAAA;AACvC,OAAC,MAAM,IAAIG,cAAc,KAAK,KAAK,EAAE;AACnCmC,QAAAA,UAAU,GAAG,KAAK,CAAA;AAClBhC,QAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAID,OAAO,CAAA;AACnC,OAAA;AACF,KAAC,MAAM;AACLA,MAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAIL,YAAa,CAAA;MACvC,IAAIC,cAAc,KAAK,OAAO,EAAE;AAC9BmC,QAAAA,UAAU,GAAG,OAAO,CAAA;AACpBlC,QAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAID,OAAO,CAAA;AACnC,OAAC,MAAM,IAAID,cAAc,KAAK,QAAQ,EAAE;AACtCmC,QAAAA,UAAU,GAAG,QAAQ,CAAA;QACrBlC,OAAO,GAAGC,YAAY,KAAZA,IAAAA,IAAAA,YAAY,cAAZA,YAAY,GAAIL,MAAM,GAAI,CAAC,CAAA;AACvC,OAAC,MAAM,IAAIG,cAAc,KAAK,KAAK,EAAE;AACnCmC,QAAAA,UAAU,GAAG,KAAK,CAAA;AAClBlC,QAAAA,OAAO,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,YAAY,GAAIL,MAAO,CAAA;AACnC,OAAA;AACF,KAAA;IAEAqC,UAAU,gBACRE,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAA,IAAA,eACEF,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEE,MAAAA,SAAS,EAAG,CAAYtC,UAAAA,EAAAA,OAAQ,KAAIE,OAAQ,CAAA,SAAA,EAAWE,cAAe,CAAG,CAAA,CAAA;AACzE8B,MAAAA,UAAU,EAAEA,UAAW;AACvBK,MAAAA,KAAK,EAAA1D,cAAA,CAAA;AACH2D,QAAAA,gBAAgB,EAAE,SAAA;AAAS,OAAA,EACxBlC,WAAW,CAAA;KAGfT,EAAAA,MACG,CACN,CACH,CAAA;AACH,GAAA;EAEA,MAAM;IAAEtD,KAAK;IAAE8B,SAAS;AAAEC,IAAAA,YAAAA;GAAc,GAAGpB,YAAY,CAAC;IACtDC,IAAI;AACJjB,IAAAA,KAAK,EAAEA,KAAiB;AACxBkB,IAAAA,aAAa,EAAE,CAACpC,YAAY,CAACC,GAAG,EAAED,YAAY,CAACI,IAAI,CAAC,CAACgE,QAAQ,CAACzB,QAAS,CAAC,GAAG,QAAQ,GAAG,OAAO;IAC7FN,UAAU;AACVC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,eAAAA;AACF,GAAC,CAAC,CAAA;EAEF,MAAMgF,UAAU,GAAGC,EAAa,CAC9BnG,KAAK,EAAAsC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAEA6C,MAAM,CAAA,EAAA,EAAA,EAAA;AACTiB,IAAAA,IAAI,EAAG9H,IAAI,IAAKA,IAAI,CAACiE,GAAG;IACxB8D,OAAO,EAAG/H,IAAI,KAAM;AAClBgI,MAAAA,OAAO,EAAE,CAAC;AACVP,MAAAA,SAAS,EAAG,CAAA,UAAA,EAAYzH,IAAI,CAAC2D,CAAE,CAAA,CAAA,EAAGrB,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC4D,CAAC,GAAG,CAACA,CAAC,IAAI,CAAC,IAAI5D,IAAI,CAAC4D,CAAE,CAAA,SAAA,EAC1EtB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,GACpB,CAAE,CAAA,CAAA;MACH2F,aAAa,EAAG,CAAYjI,UAAAA,EAAAA,IAAI,CAACkD,KAAM,IAAGlD,IAAI,CAACmD,KAAM,CAAA,SAAA,EAAWR,YAAa,CAAA,CAAA,CAAA;AAC/E,KAAC,CAAC;IACFuE,IAAI,EAAGlH,IAAI,KAAM;AACfgI,MAAAA,OAAO,EAAE,CAAC;AACVP,MAAAA,SAAS,EAAG,CAAA,UAAA,EAAYzH,IAAI,CAAC2D,CAAE,CAAA,CAAA,EAAGrB,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC4D,CAAC,GAAG,CAACA,CAAC,IAAI,CAAC,IAAI5D,IAAI,CAAC4D,CAAE,CAAA,SAAA,EAC1EtB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,GACpB,CAAE,CAAA,CAAA;MACH2F,aAAa,EAAG,CAAYjI,UAAAA,EAAAA,IAAI,CAACkD,KAAM,IAAGlD,IAAI,CAACmD,KAAM,CAAA,SAAA,EAAWR,YAAa,CAAA,CAAA,CAAA;AAC/E,KAAC,CAAC;IACFuF,KAAK,EAAGlI,IAAI,KAAM;AAChBgI,MAAAA,OAAO,EAAE,CAAC;AACVP,MAAAA,SAAS,EAAG,CAAA,UAAA,EAAYzH,IAAI,CAAC2D,CAAE,CAAA,CAAA,EAAGrB,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC4D,CAAC,GAAG,CAACA,CAAC,IAAI,CAAC,IAAI5D,IAAI,CAAC4D,CAAE,CAAA,SAAA,EAC1EtB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,GACpB,CAAE,CAAA,CAAA;MACH2F,aAAa,EAAG,CAAYjI,UAAAA,EAAAA,IAAI,CAACkD,KAAM,IAAGlD,IAAI,CAACmD,KAAM,CAAA,SAAA,EAAWR,YAAa,CAAA,CAAA,CAAA;AAC/E,KAAC,CAAC;IACFwF,MAAM,EAAGnI,IAAI,KAAM;AACjBgI,MAAAA,OAAO,EAAE,CAAC;AACVP,MAAAA,SAAS,EAAG,CAAA,UAAA,EAAYzH,IAAI,CAAC2D,CAAE,CAAA,CAAA,EAAGrB,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC4D,CAAC,GAAG,CAACA,CAAC,IAAI,CAAC,IAAI5D,IAAI,CAAC4D,CAAE,CAAA,SAAA,EAC1EtB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,GACpB,CAAE,CAAA,CAAA;MACH2F,aAAa,EAAG,CAAYjI,UAAAA,EAAAA,IAAI,CAACkD,KAAM,IAAGlD,IAAI,CAACmD,KAAM,CAAA,SAAA,EAAWR,YAAa,CAAA,CAAA,CAAA;AAC/E,KAAC,CAAC;AACFyF,IAAAA,KAAK,EAAE;AACLJ,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;AAAC,GAAA,CAEL,CAAC,CAAA;AAED,EAAA,oBACEV,cAAA,CAAAC,aAAA,CAAC/G,UAAU,EAAA6H,QAAA,CAAA;AACT,IAAA,aAAA,EAAY,MAAM;IAClBzD,SAAS,EAAE0D,UAAU,CAAC9D,IAAI,CAACI,SAAS,EAAEA,SAAS,CAAE;AACjD/D,IAAAA,MAAM,EAAEuF,KAAAA;AAAM,GAAA,EACVH,cAAc,EAAA;AAClBwB,IAAAA,SAAS,EAAG,CAAA,UAAA,EAAY9D,CAAE,CAAA,CAAA,EAAGC,CAAE,CAAA,CAAA,EAAGtB,IAAI,KAAK,GAAG,GAAG,EAAE,GAAG,cAAe,CAAE,CAAA;AACvEqC,IAAAA,GAAG,EAAE8B,OAAQ;AACbtF,IAAAA,MAAM,EAAE4E,SAAAA;AAAU,GAAA,CAAA,EAEjBJ,OAAO,KAAK/F,WAAW,CAACM,OAAO,IAChCyF,OAAO,KAAK/F,WAAW,CAACI,IAAI,IAC5B2F,OAAO,KAAK/F,WAAW,CAACG,QAAQ,IAChC4F,OAAO,KAAK/F,WAAW,CAACK,SAAS,GAC7B2H,UAAU,CAAC,CAACW,eAAe,EAAEvI,IAAI,EAAEwI,MAAM,EAAEC,SAAS,KAAK;AACvD,IAAA,oBACEnB,cAAA,CAAAC,aAAA,CAAC7G,EAAQ,CAACC,CAAC,EAAA;AACTiE,MAAAA,SAAS,EAAG,CAAA,EAAEJ,IAAI,CAACI,SAAU,CAAQ,MAAA,CAAA;AACrCX,MAAAA,GAAG,EAAEwE,SAAU;MACfhB,SAAS,EAAEc,eAAe,CAACd,SAAU;AACrCC,MAAAA,KAAK,EAAE;QAAEM,OAAO,EAAEO,eAAe,CAACP,OAAAA;AAAQ,OAAA;AAAE,KAAA,EAE3C1B,UAAU,gBACTgB,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACE3C,MAAAA,SAAS,EAAG,CAAA,EAAEJ,IAAI,CAACI,SAAU,CAAa,WAAA,CAAA;MAC1C8D,EAAE,EAAEpG,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC+C,KAAK,GAAG,CAAE;AAClC4F,MAAAA,EAAE,EAAErG,IAAI,KAAK,GAAG,GAAGtC,IAAI,CAAC+C,KAAK,GAAGuD,UAAU,IAAKxD,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE;MAC9E8F,EAAE,EAAEtG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAGtC,IAAI,CAACgD,KAAM;AAClC6F,MAAAA,EAAE,EAAEvG,IAAI,KAAK,GAAG,GAAGgE,UAAU,IAAKxD,QAAQ,KAAK,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG9C,IAAI,CAACgD,KAAM;MAC/E0E,KAAK,EAAA1D,cAAA,CAAAA,cAAA,CAAA;AACH8E,QAAAA,eAAe,EAAE,KAAK;AACtBd,QAAAA,OAAO,EAAE,GAAG;AACZe,QAAAA,WAAW,EAAE,GAAA;AAAG,OAAA,EACbxC,SAAS,CAAA,EAAA,EAAA,EAAA;AACZyC,QAAAA,MAAM,EAAE,cAAA;AAAc,OAAA,CAAA;AACtB,KACH,CAAC,GACA,IAAI,eACR1B,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM3C,MAAAA,SAAS,EAAG,CAAA,EAAEJ,IAAI,CAACI,SAAU,CAAa,WAAA,CAAA;AAAC8D,MAAAA,EAAE,EAAE,CAAE;MAACC,EAAE,EAAE3I,IAAI,CAAC+C,KAAM;AAAC6F,MAAAA,EAAE,EAAE,CAAE;MAACC,EAAE,EAAE7I,IAAI,CAACgD,KAAAA;KAAQ,CAAC,EAChG2C,OAAO,KAAK/F,WAAW,CAACM,OAAO,IAAIyF,OAAO,KAAK/F,WAAW,CAACK,SAAS,gBACnEqH,cAAA,CAAAC,aAAA,CAAC7G,EAAQ,CAACuC,IAAI,EAAA;AACZ0E,MAAAA,gBAAgB,EAAElE,YAAa;AAC/B4D,MAAAA,UAAU,EAAE7D,SAAU;MACtBiE,SAAS,EAAEc,eAAe,CAACN,aAAc;AACzCrD,MAAAA,SAAS,EAAE,CAACmB,SAAS,GAAG,EAAE,GAAGC,WAAW,CAAChG,IAAI,EAAEyI,SAAS,CAAC,GAAG,SAAS,GAAG,EAAA;AAAG,KAAA,EAEzE,GAAE/C,UAAU,GAAGA,UAAU,CAAC1F,IAAI,CAAC+D,KAAY,CAAC,GAAG/D,IAAI,CAAC+D,KAAM,EAC/C,CAAC,GACd,IACM,CAAC,CAAA;AAEjB,GAAC,CAAC,GACF,IAAI,EAEP4B,OAAO,KAAK/F,WAAW,CAACM,OAAO,IAAIyF,OAAO,KAAK/F,WAAW,CAACE,IAAI,IAAI6F,OAAO,KAAK/F,WAAW,CAACG,QAAQ,gBAClGuH,cAAA,CAAAC,aAAA,CAAC7G,EAAQ,CAACZ,IAAI,EAAA;AACZ8E,IAAAA,SAAS,EAAG,CAAA,EAAEJ,IAAI,CAACI,SAAU,CAAQ,MAAA,CAAA;AACrC8D,IAAAA,EAAE,EAAE,CAAE;AACNC,IAAAA,EAAE,EAAE9B,MAAM,CAACoC,SAAS,IAAIpE,iBAAiB,GAAIvC,IAAI,KAAK,GAAG,GAAGyC,MAAM,GAAG,CAAC,GAAI4B,aAAa,CAACK,MAAO;AAC/F4B,IAAAA,EAAE,EAAE,CAAE;AACNC,IAAAA,EAAE,EAAEhC,MAAM,CAACoC,SAAS,IAAIpE,iBAAiB,GAAIvC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAGyC,MAAM,GAAI4B,aAAa,CAACM,MAAAA;AAAO,GAChG,CAAC,GACA,IAAI,EACPG,UACS,CAAC,CAAA;AAEjB,CAAC,EAAC;AACF5C,IAAI,CAACI,SAAS,GAAGP,SAAS,CAAA;AAC1BG,IAAI,CAAC0E,WAAW,GAAG9E,cAAc;;;;"}
|
|
1
|
+
{"version":3,"file":"Axis2.js","sources":["../../src/components/Axis/types.ts","../../src/components/Axis/styles.ts","../../src/components/Axis/computeTicks.ts","../../src/components/Axis/Axis.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ValueOf, Theme } from '@redsift/design-system';\nimport { AnyScale, NumericValue, ScaleValue, StringValue, TicksSpec } from '../../types';\n\n/**\n * Component variant.\n */\nexport const AxisVariant = {\n none: 'none',\n line: 'line',\n lineTick: 'lineTick',\n tick: 'tick',\n tickValue: 'tickValue',\n default: 'default',\n} as const;\nexport type AxisVariant = ValueOf<typeof AxisVariant>;\n\nexport const AxisPosition = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n};\nexport type AxisPosition = ValueOf<typeof AxisPosition>;\n\n/**\n * Component props.\n */\nexport interface AxisProps extends Omit<ComponentProps<'g'>, 'scale'> {\n /** Disable animations. */\n disableAnimations?: boolean;\n format?: string;\n /** Whether to display grid or not. The length is mandatory and should usually be the length of the other axis. */\n grid?:\n | boolean\n | {\n length?: number;\n stroke?: string;\n strokeWidth?: number;\n strokeDasharray?: string;\n opacity?: number;\n };\n legend?: string;\n legendOffset?: number;\n legendPosition?: 'start' | 'middle' | 'end';\n legendX?: number;\n legendY?: number;\n legendRotation?: number;\n legendStyle?: React.CSSProperties;\n /** Length of the axis. */\n length?: number;\n /** Position of axis. top|bottom means this is an x axis, right|left means this is an y axis. */\n position?: AxisPosition;\n /** Scale (d3.js) used to generate the axis. */\n scale?: AnyScale;\n tickFormat?:\n | ((d: NumericValue) => string | string[])\n | ((d: StringValue) => string | string[])\n | ((d: Date) => string | string[])\n | ((d: ScaleValue) => string | string[]);\n tickPadding?: number;\n tickRotation?: number;\n tickSize?: number;\n tickStyle?: (ticks: any[]) => {\n strokeWidth?: number;\n gridStrokeWidth?: number;\n gridStroke?: string;\n }[];\n tickValues?: TicksSpec;\n tickRemodelling?: (tickValues: any[]) => any[];\n /** Variant. */\n variant?: AxisVariant;\n /** X position. */\n x?: number;\n /** Y position. */\n y?: number;\n /** Chart width, used for horizontal grid. */\n chartWidth?: number;\n /** Chart height, used for horizontal grid. */\n chartHeight?: number;\n /** Section height, used for horizontal grid within a section. */\n sectionHeight?: number;\n /** Color used for tick values. */\n textColor?: string;\n /** Custom method to choose which tick value to color if not all. */\n tickToColor?: (\n tick?: {\n textX: number;\n textY: number;\n lineX: number;\n lineY: number;\n x: number;\n y: number;\n key: string;\n value: ScaleValue;\n },\n index?: number\n ) => boolean;\n}\n\nexport type StyledAxisProps = Omit<AxisProps, 'areXLabelsRotated' | 'size' | 'scale'> & {\n $theme: Theme;\n $color?: string;\n};\n","import styled, { css } from 'styled-components';\nimport { StyledAxisProps } from './types';\nimport { animated } from '@react-spring/web';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledAxis = styled(animated.g)<StyledAxisProps>`\n .redsift-axis__line,\n .redsift-axis-tick__line {\n fill: none;\n ${({ $theme }) => css`\n stroke: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-poppins);\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n font-size: 10px;\n user-select: none;\n }\n\n text.colored {\n ${({ $theme, $color }) => css`\n fill: ${$color === 'green'\n ? '#029B57'\n : $color === 'red'\n ? '#CB0E0E'\n : `var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};\n `}\n }\n`;\n","import { AnyScale, Coordinates, ScaleValue, ScaleWithBandwidth, TicksSpec } from '../../types';\n\nconst getScaleTicks = (scale: AnyScale, spec?: TicksSpec) => {\n // specific values\n if (Array.isArray(spec)) {\n return spec;\n }\n\n // continuous scales\n if ('ticks' in scale) {\n // default behaviour\n if (spec === undefined) {\n return scale.ticks();\n }\n\n // specific tick count\n if (typeof spec === 'number' && isFinite(spec) && Math.floor(spec) === spec) {\n return scale.ticks(spec);\n }\n\n if (typeof spec === 'function') {\n return scale.ticks();\n }\n }\n\n // non linear scale default\n return scale.domain();\n};\n\nexport const centerScale = (scale: ScaleWithBandwidth) => {\n const bandwidth = scale.bandwidth();\n\n if (bandwidth === 0) return scale;\n\n let offset = bandwidth / 2;\n if (scale.round()) {\n offset = Math.round(offset);\n }\n\n return <T extends ScaleValue>(d: T) => (scale(d) ?? 0) + offset;\n};\n\nexport const computeTicks = ({\n axis,\n scale,\n ticksPosition,\n tickValues,\n tickSize,\n tickPadding,\n tickRotation,\n tickRemodelling,\n}: {\n axis: 'x' | 'y';\n scale: AnyScale;\n ticksPosition?: 'after' | 'before';\n tickValues?: TicksSpec;\n tickSize: number;\n tickPadding: number;\n tickRotation: number;\n tickRemodelling?: (tickValues: any[]) => any[];\n}) => {\n const values = tickRemodelling ? tickRemodelling(getScaleTicks(scale, tickValues)) : getScaleTicks(scale, tickValues);\n\n const position = 'bandwidth' in scale ? centerScale(scale) : scale;\n const line = { lineX: 0, lineY: 0 };\n const text = { textX: 0, textY: 0 };\n\n const isRTL = typeof document === 'object' ? document.dir === 'rtl' : false;\n let translate: (value: ScaleValue) => Coordinates;\n let textAlign = 'middle';\n let textBaseline = 'central';\n\n if (axis === 'x') {\n translate = (d) => ({ x: position(d) ?? 0, y: 0 });\n\n line.lineY = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textY = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textBaseline = 'text-before-edge';\n } else {\n textBaseline = 'alphabetic';\n }\n\n if (tickRotation === 0) {\n textAlign = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation < 0) || (ticksPosition === 'before' && tickRotation > 0)) {\n textAlign = isRTL ? 'start' : 'end';\n textBaseline = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation > 0) || (ticksPosition === 'before' && tickRotation < 0)) {\n textAlign = isRTL ? 'end' : 'start';\n textBaseline = 'middle';\n }\n } else {\n translate = (d) => ({ x: 0, y: position(d) ?? 0 });\n\n line.lineX = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textX = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textAlign = 'start';\n } else {\n textAlign = 'end';\n }\n }\n\n const ticks = values.map((value: ScaleValue) => ({\n key: value instanceof Date ? `${value.valueOf()}` : `${value}`,\n value,\n ...translate(value),\n ...line,\n ...text,\n }));\n\n return {\n ticks,\n textAlign,\n textBaseline,\n };\n};\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useTheme } from '@redsift/design-system';\n\nimport { AxisProps, AxisPosition, AxisVariant } from './types';\nimport { StyledAxis } from './styles';\nimport { animated, useSpring, useTransition } from '@react-spring/web';\nimport { computeTicks } from './computeTicks';\nimport { config } from '../../config';\nimport { AnyScale } from '@redsift/charts/types';\n\nconst COMPONENT_NAME = 'Axis';\nconst CLASSNAME = 'redsift-axis';\n\nexport const getAxisType = (position: AxisPosition) =>\n [AxisPosition.top, AxisPosition.bottom].includes(position) ? 'x' : 'y';\n\nexport const Axis: Comp<AxisProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n className,\n disableAnimations,\n grid,\n length,\n legend,\n legendOffset = -32,\n legendPosition = 'end',\n legendX: propsLegendX,\n legendY: propsLegendY,\n legendRotation: propsLegendRotation,\n legendStyle,\n position = AxisPosition.bottom,\n scale,\n tickPadding = 5,\n tickRotation = 0,\n tickSize = 5,\n tickValues,\n tickFormat,\n tickRemodelling,\n tickStyle,\n variant = AxisVariant.default,\n x = 0,\n y = 0,\n chartWidth,\n chartHeight,\n sectionHeight,\n textColor,\n tickToColor = () => true,\n ...forwardedProps\n } = props;\n const theme = useTheme();\n const axis = getAxisType(position!);\n const { length: gridLength, ...gridStyle } =\n typeof grid === 'object'\n ? { length: axis === 'x' ? sectionHeight ?? chartHeight : chartWidth, ...grid }\n : grid === true\n ? {\n length: axis === 'x' ? sectionHeight ?? chartHeight : chartWidth,\n }\n : { length: 0 };\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({\n lineX2: axis === 'x' ? length : 0,\n lineY2: axis === 'x' ? 0 : length,\n });\n },\n from: { lineX2: 0, lineY2: 0 },\n reset: false,\n });\n\n let legendNode = null;\n if (legend !== undefined) {\n let legendX = 0;\n let legendY = 0;\n let legendRotation = 0;\n let textAnchor;\n\n if (axis === 'y') {\n legendRotation = propsLegendRotation ?? 90;\n legendX = propsLegendX ?? legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n legendY = propsLegendY ?? length!;\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendY = propsLegendY ?? length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n legendY = propsLegendY ?? legendY;\n }\n } else {\n legendY = propsLegendY ?? legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n legendX = propsLegendX ?? legendX;\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendX = propsLegendX ?? length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n legendX = propsLegendX ?? length!;\n }\n }\n\n legendNode = (\n <>\n <text\n transform={`translate(${legendX}, ${legendY}) rotate(${legendRotation})`}\n textAnchor={textAnchor}\n style={{\n dominantBaseline: 'central',\n ...legendStyle,\n }}\n >\n {legend}\n </text>\n </>\n );\n }\n\n const { ticks, textAlign, textBaseline } = computeTicks({\n axis,\n scale: scale as AnyScale,\n ticksPosition: [AxisPosition.top, AxisPosition.left].includes(position!) ? 'before' : 'after',\n tickValues,\n tickSize: tickSize!,\n tickPadding: tickPadding!,\n tickRotation: tickRotation!,\n tickRemodelling,\n });\n\n const transition = useTransition<(typeof ticks)[0], { opacity: number; transform: string; textTransform: string }>(\n ticks,\n {\n ...config,\n keys: (tick) => tick.key,\n initial: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n from: (tick) => ({\n opacity: 0,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n enter: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n update: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${axis === 'x' ? tick.y : (y || 0) - tick.y}),rotate(${\n axis === 'x' ? 0 : 180\n })`,\n textTransform: `translate(${tick.textX},${tick.textY}),rotate(${tickRotation})`,\n }),\n leave: {\n opacity: 0,\n },\n }\n );\n\n const tickStyles = tickStyle ? tickStyle(ticks) : [];\n\n return (\n <StyledAxis\n aria-hidden=\"true\"\n className={classNames(Axis.className, className)}\n $theme={theme}\n {...forwardedProps}\n transform={`translate(${x},${y})${axis === 'x' ? '' : ',rotate(180)'}`}\n ref={axisRef}\n $color={textColor}\n >\n {variant === AxisVariant.default ||\n variant === AxisVariant.tick ||\n variant === AxisVariant.lineTick ||\n variant === AxisVariant.tickValue ||\n grid\n ? transition((transitionProps, tick, _state, tickIndex) => {\n let formattedTickValues = tickFormat ? tickFormat(tick.value as any) : tick.value;\n formattedTickValues = Array.isArray(formattedTickValues) ? formattedTickValues : [formattedTickValues];\n\n return (\n <animated.g\n className={`${Axis.className}__tick`}\n key={tickIndex}\n transform={transitionProps.transform}\n style={{ opacity: transitionProps.opacity }}\n >\n {gridLength ? (\n <line\n className={`${Axis.className}-grid__line`}\n x1={axis === 'x' ? tick.lineX : 0}\n x2={axis === 'x' ? tick.lineX : gridLength! * (position === 'right' ? -1 : 1)}\n y1={axis === 'x' ? 0 : tick.lineY}\n y2={axis === 'x' ? gridLength! * (position === 'bottom' ? -1 : 1) : tick.lineY}\n style={{\n strokeDasharray: '4,4',\n opacity: 0.2,\n ...gridStyle,\n strokeWidth:\n tickStyles && tickStyles.length > 0\n ? tickStyles[tickIndex]?.gridStrokeWidth || 0.5\n : gridStyle.strokeWidth || 0.5,\n stroke:\n tickStyles && tickStyles.length > 0\n ? tickStyles[tickIndex]?.gridStroke || 'currentColor'\n : gridStyle.stroke || 'currentColor',\n }}\n />\n ) : null}\n <line\n className={`${Axis.className}-tick__line`}\n x1={0}\n x2={tick.lineX}\n y1={0}\n y2={tick.lineY}\n style={{\n strokeWidth: tickStyles && tickStyles.length > 0 ? tickStyles[tickIndex]?.strokeWidth : 1,\n }}\n />\n {variant === AxisVariant.default || variant === AxisVariant.tickValue\n ? (formattedTickValues as string[]).map((value, index) => (\n <animated.text\n key={value}\n dominantBaseline={textBaseline}\n textAnchor={textAlign}\n transform={`translate(${tick.textX},${tick.textY + 14 * index}),rotate(${tickRotation})`}\n className={!textColor ? '' : tickToColor(tick, tickIndex) ? 'colored' : ''}\n >\n {value}\n </animated.text>\n ))\n : null}\n </animated.g>\n );\n })\n : null}\n\n {variant === AxisVariant.default || variant === AxisVariant.line || variant === AxisVariant.lineTick ? (\n <animated.line\n className={`${Axis.className}__line`}\n x1={0}\n x2={config.immediate || disableAnimations ? (axis === 'x' ? length : 0) : animatedProps.lineX2}\n y1={0}\n y2={config.immediate || disableAnimations ? (axis === 'x' ? 0 : length) : animatedProps.lineY2}\n />\n ) : null}\n {legendNode}\n </StyledAxis>\n );\n});\nAxis.className = CLASSNAME;\nAxis.displayName = COMPONENT_NAME;\n"],"names":["AxisVariant","none","line","lineTick","tick","tickValue","default","AxisPosition","top","right","bottom","left","StyledAxis","styled","animated","g","_ref","$theme","css","Theme","dark","_ref2","_ref3","$color","getScaleTicks","scale","spec","Array","isArray","undefined","ticks","isFinite","Math","floor","domain","centerScale","bandwidth","offset","round","d","_scale","computeTicks","axis","ticksPosition","tickValues","tickSize","tickPadding","tickRotation","tickRemodelling","values","position","lineX","lineY","text","textX","textY","isRTL","document","dir","translate","textAlign","textBaseline","_position","x","y","_position2","map","value","_objectSpread","key","Date","valueOf","COMPONENT_NAME","CLASSNAME","getAxisType","includes","Axis","forwardRef","props","ref","className","disableAnimations","grid","length","legend","legendOffset","legendPosition","legendX","propsLegendX","legendY","propsLegendY","legendRotation","propsLegendRotation","legendStyle","tickFormat","tickStyle","variant","chartWidth","chartHeight","sectionHeight","textColor","tickToColor","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","gridLength","gridStyle","_excluded2","axisRef","useRef","animatedProps","useSpring","config","to","next","lineX2","lineY2","from","reset","legendNode","textAnchor","React","createElement","Fragment","transform","style","dominantBaseline","transition","useTransition","keys","initial","opacity","textTransform","enter","update","leave","tickStyles","_extends","classNames","transitionProps","_state","tickIndex","_tickStyles$tickIndex","_tickStyles$tickIndex2","_tickStyles$tickIndex3","formattedTickValues","x1","x2","y1","y2","strokeDasharray","strokeWidth","gridStrokeWidth","stroke","gridStroke","index","immediate","displayName"],"mappings":"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"}
|
package/_internal/BarChart2.js
CHANGED
|
@@ -2,15 +2,15 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef, useRef, createContext, useContext, useEffect, useMemo } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { useTheme, useMessageFormatter, Flexbox, Text, isComponent, RedsiftColorGreenD1, RedsiftColorRedD1, RedsiftColorNeutralBlack, useId } from '@redsift/design-system';
|
|
5
|
-
import {
|
|
6
|
-
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
7
|
-
import { scaleLinear, sum, scaleBand, extent, scaleUtc, scalePoint, utcParse, scaleLog } from 'd3';
|
|
5
|
+
import { scaleLinear, sum, scaleBand, scaleOrdinal, extent, scaleUtc, scalePoint, utcParse, scaleLog } from 'd3';
|
|
8
6
|
import styled, { css } from 'styled-components';
|
|
9
7
|
import { C as ChartContainer, a as ChartContainerTitle, b as ChartContainerDescription } from './ChartContainer2.js';
|
|
8
|
+
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
10
9
|
import { A as Axis, a as AxisVariant, g as getAxisType } from './Axis2.js';
|
|
11
10
|
import { u as useFormatCategoricalData } from './useFormatCategoricalData.js';
|
|
12
11
|
import { a as BarOrientation, B as Bar, b as BarDirection } from './Bar2.js';
|
|
13
12
|
import { L as Legend } from './Legend3.js';
|
|
13
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
14
14
|
import { L as LegendItem } from './LegendItem2.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -274,6 +274,7 @@ const ChartTypeContext = /*#__PURE__*/React__default.createContext(undefined);
|
|
|
274
274
|
|
|
275
275
|
const _excluded$5 = ["areXLabelsRotated", "barProps", "caping", "className", "data", "disableAnimations", "id", "isBarSelected", "getBarAnchorProps", "labelDecorator", "margins", "onBarClick", "orientation", "others", "size", "sortingMethod", "barRole", "colorTheme", "tooltipVariant", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues"];
|
|
276
276
|
const RenderedOrdinalBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
277
|
+
var _barProps$gap;
|
|
277
278
|
const {
|
|
278
279
|
areXLabelsRotated,
|
|
279
280
|
barProps,
|
|
@@ -342,7 +343,7 @@ const RenderedOrdinalBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
342
343
|
const chartHeight = height - margins.top - margins.bottom;
|
|
343
344
|
const chartWidth = width - margins.left - margins.right;
|
|
344
345
|
const numberOfRows = data.filter(datum => datum.value).length;
|
|
345
|
-
const gap = 5;
|
|
346
|
+
const gap = (_barProps$gap = barProps === null || barProps === void 0 ? void 0 : barProps.gap) !== null && _barProps$gap !== void 0 ? _barProps$gap : 5;
|
|
346
347
|
const barHeight = chartHeight / numberOfRows - gap;
|
|
347
348
|
const barWidth = chartWidth / numberOfRows - gap;
|
|
348
349
|
const total = sum(data, d => d.value);
|
|
@@ -521,7 +522,8 @@ const BarChartBars = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
521
522
|
scaleY,
|
|
522
523
|
tooltipVariant,
|
|
523
524
|
tooltipDecorator,
|
|
524
|
-
xScaleType
|
|
525
|
+
xScaleType,
|
|
526
|
+
regions
|
|
525
527
|
} = useBarChartContext();
|
|
526
528
|
const filteredBarChartBars = bars.filter(bar => bar.category === category && bar.value > 0);
|
|
527
529
|
const categoryIndex = categories.indexOf(category);
|
|
@@ -540,6 +542,7 @@ const BarChartBars = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
540
542
|
} : {}, forwardedProps, {
|
|
541
543
|
ref: ref
|
|
542
544
|
}), filteredBarChartBars.map((bar, index) => {
|
|
545
|
+
var _d3scaleOrdinal$domai;
|
|
543
546
|
const to = {
|
|
544
547
|
data: bar,
|
|
545
548
|
category
|
|
@@ -547,11 +550,14 @@ const BarChartBars = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
547
550
|
const from = cache.current ? {
|
|
548
551
|
data: cache.current[index]
|
|
549
552
|
} : undefined;
|
|
553
|
+
const region = regions === null || regions === void 0 ? void 0 : regions.find(r => {
|
|
554
|
+
return xScaleType === 'Date' || xScaleType === 'dateString' ? new Date(r.from).getTime() <= bar.key.getTime() && new Date(r.to).getTime() >= bar.key.getTime() : r.from <= bar.key && r.to >= bar.key;
|
|
555
|
+
});
|
|
550
556
|
const groupedBars = bars.filter(b => {
|
|
551
557
|
return xScaleType === 'Date' || xScaleType === 'dateString' ? b.key.getTime() === bar.key.getTime() : b.key === bar.key;
|
|
552
558
|
});
|
|
553
559
|
return [/*#__PURE__*/React__default.createElement(Bar, _extends({
|
|
554
|
-
color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(to.data.category),
|
|
560
|
+
color: region && region.colorTheme ? (_d3scaleOrdinal$domai = scaleOrdinal().domain(Object.keys(region.colorTheme)).range(Object.values(region.colorTheme))) === null || _d3scaleOrdinal$domai === void 0 ? void 0 : _d3scaleOrdinal$domai(to.data.category) : colorScale === null || colorScale === void 0 ? void 0 : colorScale(to.data.category),
|
|
555
561
|
data: to,
|
|
556
562
|
dataset: bars,
|
|
557
563
|
groupedData: groupedBars,
|
|
@@ -571,7 +577,7 @@ const BarChartBars = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
571
577
|
scale: scaleY,
|
|
572
578
|
scalePosition: scaleX,
|
|
573
579
|
tooltipVariant: tooltipVariant,
|
|
574
|
-
tooltipDecorator: tooltipDecorator
|
|
580
|
+
tooltipDecorator: region && region.tooltipDecorator ? region.tooltipDecorator : tooltipDecorator
|
|
575
581
|
}, barProps, {
|
|
576
582
|
width: barProps !== null && barProps !== void 0 && barProps.width && typeof barProps.width === 'number' ? barProps.width : barWidth,
|
|
577
583
|
height: undefined,
|
|
@@ -587,6 +593,7 @@ const BarChartGroupedTooltip = _ref => {
|
|
|
587
593
|
categories,
|
|
588
594
|
categoryDecorator,
|
|
589
595
|
categoryColor,
|
|
596
|
+
children,
|
|
590
597
|
datum,
|
|
591
598
|
groupedData
|
|
592
599
|
} = _ref;
|
|
@@ -646,7 +653,7 @@ const BarChartGroupedTooltip = _ref => {
|
|
|
646
653
|
fontSize: "14px",
|
|
647
654
|
lineHeight: "18px"
|
|
648
655
|
}, value)) : null;
|
|
649
|
-
})));
|
|
656
|
+
})), children);
|
|
650
657
|
};
|
|
651
658
|
|
|
652
659
|
const _excluded$3 = ["barProps", "children", "className", "data", "direction", "disableAnimations", "id", "getBarAnchorProps", "isBarSelected", "labelDecorator", "legendDecorator", "legendVariant", "legendProps", "margins", "onBarClick", "size", "sortingMethod", "barRole", "colorTheme", "tooltipVariant", "tooltipDecorator", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "xAxisMinValue", "xAxisMaxValue", "xAxisTickRemodelling", "xAxisStartDateOffset", "xAxisEndDateOffset", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues", "yAxisMinValue", "yAxisMaxValue", "yAxisTickRemodelling", "xScaleType", "yScaleLogBase", "dateParser"],
|
|
@@ -684,7 +691,7 @@ const reduceData = (hasCategory, data, reduceFn, initialValue) => {
|
|
|
684
691
|
};
|
|
685
692
|
const isSameKey = (key, previousKey, xScaleType) => xScaleType === 'Date' || xScaleType === 'dateString' ? key.getTime() === previousKey.getTime() : key === previousKey;
|
|
686
693
|
const RenderedLinearBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
687
|
-
var _chartDimensions$maxW, _chartDimensions$minW;
|
|
694
|
+
var _chartDimensions$maxW, _chartDimensions$minW, _barProps$gap;
|
|
688
695
|
const {
|
|
689
696
|
barProps,
|
|
690
697
|
children,
|
|
@@ -770,7 +777,7 @@ const RenderedLinearBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
770
777
|
const chartHeight = height - margins.top - margins.bottom;
|
|
771
778
|
const chartWidth = width - margins.left - margins.right;
|
|
772
779
|
const numberOfBars = filterData(hasCategory, data, datum => datum.value).length;
|
|
773
|
-
const gap = 5;
|
|
780
|
+
const gap = (_barProps$gap = barProps === null || barProps === void 0 ? void 0 : barProps.gap) !== null && _barProps$gap !== void 0 ? _barProps$gap : 5;
|
|
774
781
|
let barWidth = chartWidth / (numberOfBars * 2) - gap;
|
|
775
782
|
const scaleX = (() => {
|
|
776
783
|
if (xScaleType === 'number') {
|
|
@@ -880,7 +887,8 @@ const RenderedLinearBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
880
887
|
if (!categories.includes(category)) {
|
|
881
888
|
categories.push(category);
|
|
882
889
|
}
|
|
883
|
-
|
|
890
|
+
let formattedKey = xAxisTickFormat ? xAxisTickFormat(key) : key.toString();
|
|
891
|
+
formattedKey = Array.isArray(formattedKey) ? formattedKey.join(' ') : formattedKey;
|
|
884
892
|
let entry = acc.find(e => e.key === formattedKey);
|
|
885
893
|
if (!entry) {
|
|
886
894
|
entry = {
|
|
@@ -1088,7 +1096,8 @@ const RenderedLinearBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1088
1096
|
scope: "col"
|
|
1089
1097
|
}, "Value"))),
|
|
1090
1098
|
body: /*#__PURE__*/React__default.createElement("tbody", null, bars.map(datum => {
|
|
1091
|
-
|
|
1099
|
+
let key = xAxisTickFormat ? xAxisTickFormat(datum.key) : datum.key.toString();
|
|
1100
|
+
key = Array.isArray(key) ? key.join(' ') : key;
|
|
1092
1101
|
return /*#__PURE__*/React__default.createElement("tr", {
|
|
1093
1102
|
key: key
|
|
1094
1103
|
}, /*#__PURE__*/React__default.createElement("th", {
|
|
@@ -1303,7 +1312,8 @@ const BarChartSection = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1303
1312
|
scaleX: scaleX,
|
|
1304
1313
|
scaleY: scaleY,
|
|
1305
1314
|
direction,
|
|
1306
|
-
sectionHeight
|
|
1315
|
+
sectionHeight,
|
|
1316
|
+
regions
|
|
1307
1317
|
})
|
|
1308
1318
|
}, /*#__PURE__*/React__default.createElement(StyledBarChartSection, _extends({}, forwardedProps, {
|
|
1309
1319
|
className: classNames(BarChartSection.className, className),
|
|
@@ -1340,8 +1350,8 @@ const BarChartSection = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1340
1350
|
y: 0,
|
|
1341
1351
|
width: width,
|
|
1342
1352
|
height: sectionHeight,
|
|
1343
|
-
fill: region.
|
|
1344
|
-
opacity: region.
|
|
1353
|
+
fill: region.backgroundColor || 'transparent',
|
|
1354
|
+
opacity: region.backgroundOpacity || 0.05
|
|
1345
1355
|
});
|
|
1346
1356
|
}) : null, title && /*#__PURE__*/React__default.createElement("text", {
|
|
1347
1357
|
className: "title colored",
|
|
@@ -1355,13 +1365,14 @@ const BarChartSection = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1355
1365
|
BarChartSection.className = CLASSNAME$2;
|
|
1356
1366
|
BarChartSection.displayName = COMPONENT_NAME$2;
|
|
1357
1367
|
|
|
1358
|
-
const _excluded$1 = ["from", "to"];
|
|
1368
|
+
const _excluded$1 = ["from", "to", "regions"];
|
|
1359
1369
|
const COMPONENT_NAME$1 = 'BarChartOverlay';
|
|
1360
1370
|
const CLASSNAME$1 = 'redsift-barchart-overlay';
|
|
1361
1371
|
const BarChartOverlay = /*#__PURE__*/forwardRef((props, ref) => {
|
|
1362
1372
|
const {
|
|
1363
1373
|
from,
|
|
1364
|
-
to
|
|
1374
|
+
to,
|
|
1375
|
+
regions
|
|
1365
1376
|
} = props,
|
|
1366
1377
|
forwardedProps = _objectWithoutProperties(props, _excluded$1);
|
|
1367
1378
|
const {
|
|
@@ -1380,7 +1391,8 @@ const BarChartOverlay = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1380
1391
|
scaleY,
|
|
1381
1392
|
tooltipVariant,
|
|
1382
1393
|
tooltipDecorator,
|
|
1383
|
-
xScaleType
|
|
1394
|
+
xScaleType,
|
|
1395
|
+
regions: contextRegions
|
|
1384
1396
|
} = useBarChartContext();
|
|
1385
1397
|
const filteredBarChartBars = bars.filter(bar => bar.category === bars[0].category && bar.value > 0);
|
|
1386
1398
|
const sectionHeight = Math.max(0, Math.min(1, to - from)) * chartHeight;
|
|
@@ -1394,6 +1406,10 @@ const BarChartOverlay = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1394
1406
|
ref: ref,
|
|
1395
1407
|
transform: from === 0 && to === 1 ? `translate(${margins.left},${(margins.top || 0) + sectionY})` : undefined
|
|
1396
1408
|
}), filteredBarChartBars.map((bar, index) => {
|
|
1409
|
+
var _ref;
|
|
1410
|
+
const region = (_ref = regions || contextRegions) === null || _ref === void 0 ? void 0 : _ref.find(r => {
|
|
1411
|
+
return xScaleType === 'Date' || xScaleType === 'dateString' ? new Date(r.from).getTime() <= bar.key.getTime() && new Date(r.to).getTime() >= bar.key.getTime() : r.from <= bar.key && r.to >= bar.key;
|
|
1412
|
+
});
|
|
1397
1413
|
const groupedBars = bars.filter(b => {
|
|
1398
1414
|
return xScaleType === 'Date' || xScaleType === 'dateString' ? b.key.getTime() === bar.key.getTime() : b.key === bar.key;
|
|
1399
1415
|
});
|
|
@@ -1418,7 +1434,7 @@ const BarChartOverlay = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1418
1434
|
scale: constantY,
|
|
1419
1435
|
scalePosition: scaleX,
|
|
1420
1436
|
tooltipVariant: tooltipVariant,
|
|
1421
|
-
tooltipDecorator: tooltipDecorator
|
|
1437
|
+
tooltipDecorator: region && region.tooltipDecorator ? region.tooltipDecorator : tooltipDecorator
|
|
1422
1438
|
}, barProps, {
|
|
1423
1439
|
width: barProps !== null && barProps !== void 0 && barProps.width && typeof barProps.width === 'number' ? barProps.width : barWidth,
|
|
1424
1440
|
height: undefined,
|