@redsift/charts 11.5.0 → 11.6.0-alpha.0
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/Arc.js +2 -0
- package/_internal/Arc.js.map +1 -0
- package/_internal/Arc2.js +117 -0
- package/_internal/Arc2.js.map +1 -0
- package/_internal/Arcs.js +2 -0
- package/_internal/Arcs.js.map +1 -0
- package/_internal/Arcs2.js +94 -0
- package/_internal/Arcs2.js.map +1 -0
- package/_internal/Axis.js +2 -0
- package/_internal/Axis.js.map +1 -0
- package/_internal/Axis2.js +388 -0
- package/_internal/Axis2.js.map +1 -0
- package/_internal/Bar.js +2 -0
- package/_internal/Bar.js.map +1 -0
- package/_internal/Bar2.js +170 -0
- package/_internal/Bar2.js.map +1 -0
- package/_internal/BarChart.js +2 -0
- package/_internal/BarChart.js.map +1 -0
- package/_internal/BarChart2.js +1419 -0
- package/_internal/BarChart2.js.map +1 -0
- package/_internal/ChartContainer.js +2 -0
- package/_internal/ChartContainer.js.map +1 -0
- package/_internal/ChartContainer2.js +266 -0
- package/_internal/ChartContainer2.js.map +1 -0
- package/_internal/DataPoint.js +2 -0
- package/_internal/DataPoint.js.map +1 -0
- package/_internal/DataPoint2.js +110 -0
- package/_internal/DataPoint2.js.map +1 -0
- package/_internal/Dot.js +2 -0
- package/_internal/Dot.js.map +1 -0
- package/_internal/Dot2.js +110 -0
- package/_internal/Dot2.js.map +1 -0
- package/_internal/Legend.js +2 -0
- package/_internal/Legend.js.map +1 -0
- package/_internal/Legend3.js +84 -0
- package/_internal/Legend3.js.map +1 -0
- package/_internal/LegendItem.js +2 -0
- package/_internal/LegendItem.js.map +1 -0
- package/_internal/LegendItem2.js +153 -0
- package/_internal/LegendItem2.js.map +1 -0
- package/_internal/Line.js +2 -0
- package/_internal/Line.js.map +1 -0
- package/_internal/Line2.js +59 -0
- package/_internal/Line2.js.map +1 -0
- package/_internal/LineChart.js +2 -0
- package/_internal/LineChart.js.map +1 -0
- package/_internal/LineChart2.js +669 -0
- package/_internal/LineChart2.js.map +1 -0
- package/_internal/PieChart.js +2 -0
- package/_internal/PieChart.js.map +1 -0
- package/_internal/PieChart2.js +605 -0
- package/_internal/PieChart2.js.map +1 -0
- package/_internal/ScatterPlot.js +2 -0
- package/_internal/ScatterPlot.js.map +1 -0
- package/_internal/ScatterPlot2.js +744 -0
- package/_internal/ScatterPlot2.js.map +1 -0
- package/_internal/_rollupPluginBabelHelpers.js +93 -0
- package/_internal/_rollupPluginBabelHelpers.js.map +1 -0
- package/_internal/config.js +13 -0
- package/_internal/config.js.map +1 -0
- package/_internal/legend2.js +21 -0
- package/_internal/legend2.js.map +1 -0
- package/_internal/scheme.js +47 -0
- package/_internal/scheme.js.map +1 -0
- package/_internal/theme.js +79 -0
- package/_internal/theme.js.map +1 -0
- package/_internal/useFormatCategoricalData.js +56 -0
- package/_internal/useFormatCategoricalData.js.map +1 -0
- package/index.js +17 -5118
- package/index.js.map +1 -1
- package/index2.js +16 -0
- package/index2.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +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 {gridLength ? (\n <g className={`${Axis.className}__grid`}>\n {ticks.map((tick, i) => (\n <line\n key={`grid-${tick.key}-${i}`}\n className={`${Axis.className}-grid__line`}\n x1={axis === 'x' ? tick.x : 0}\n x2={axis === 'x' ? tick.x : gridLength! * -1}\n y1={axis === 'x' ? 0 : tick.y}\n y2={axis === 'x' ? gridLength! * -1 : tick.y}\n style={{\n strokeDasharray: '4,4',\n opacity: 0.2,\n strokeWidth: 0.5,\n ...gridStyle,\n stroke: 'currentColor',\n }}\n />\n ))}\n </g>\n ) : null}\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 <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","i","x1","x2","y1","y2","strokeDasharray","strokeWidth","stroke","transitionProps","_state","tickIndex","immediate","displayName"],"mappings":"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"}
|
package/_internal/Bar.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { _ as _objectWithoutProperties, b as _objectSpread2, a as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { J, i as it } from '../index2.js';
|
|
5
|
+
import { interpolate } from 'd3';
|
|
6
|
+
import { Theme, useTheme } from '@redsift/design-system';
|
|
7
|
+
import styled, { css } from 'styled-components';
|
|
8
|
+
import { D as DataPoint } from './DataPoint2.js';
|
|
9
|
+
import { m as monochrome } from './scheme.js';
|
|
10
|
+
import { c as config } from './config.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Component variant.
|
|
14
|
+
*/
|
|
15
|
+
const BarOrientation = {
|
|
16
|
+
horizontal: 'horizontal',
|
|
17
|
+
vertical: 'vertical'
|
|
18
|
+
};
|
|
19
|
+
const BarDirection = {
|
|
20
|
+
up: 'up',
|
|
21
|
+
down: 'down'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Component props.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Component style.
|
|
30
|
+
*/
|
|
31
|
+
const StyledBar = styled(DataPoint)`
|
|
32
|
+
text {
|
|
33
|
+
${_ref => {
|
|
34
|
+
let {
|
|
35
|
+
$theme
|
|
36
|
+
} = _ref;
|
|
37
|
+
return css`
|
|
38
|
+
fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
39
|
+
`;
|
|
40
|
+
}}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
${_ref2 => {
|
|
44
|
+
let {
|
|
45
|
+
$clickable
|
|
46
|
+
} = _ref2;
|
|
47
|
+
return $clickable ? css`
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
|
|
50
|
+
&:hover,
|
|
51
|
+
&:focus,
|
|
52
|
+
&.focused {
|
|
53
|
+
outline: none;
|
|
54
|
+
rect {
|
|
55
|
+
fill-opacity: 0.7;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// &:focus-visible {
|
|
60
|
+
// rect {
|
|
61
|
+
// stroke: var(--redsift-color-primary-n);
|
|
62
|
+
// stroke-width: 4px;
|
|
63
|
+
// paint-order: stroke;
|
|
64
|
+
// }
|
|
65
|
+
// }
|
|
66
|
+
|
|
67
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
68
|
+
&:focus-visible,
|
|
69
|
+
&.focused {
|
|
70
|
+
outline: 2px solid var(--redsift-color-primary-n);
|
|
71
|
+
transition: outline-offset 75ms ease-out;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:not(&:active)&:focus-visible,
|
|
75
|
+
&:not(&:active)&.focused {
|
|
76
|
+
transition-duration: 0.25s;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&:not(&:active)&:focus-visible,
|
|
81
|
+
&:not(&:active)&.focused {
|
|
82
|
+
outline-offset: 0.2rem;
|
|
83
|
+
}
|
|
84
|
+
` : '';
|
|
85
|
+
}}}
|
|
86
|
+
`;
|
|
87
|
+
|
|
88
|
+
const _excluded = ["className", "disableAnimations", "gap", "height", "maxHeight", "orientation", "direction", "previousData", "scale", "scalePosition", "width", "minWidth"];
|
|
89
|
+
const COMPONENT_NAME = 'Bar';
|
|
90
|
+
const CLASSNAME = 'redsift-bar';
|
|
91
|
+
const Bar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
92
|
+
const {
|
|
93
|
+
color = monochrome,
|
|
94
|
+
data,
|
|
95
|
+
index = 0,
|
|
96
|
+
isSelected: propsIsSelected,
|
|
97
|
+
labelDecorator,
|
|
98
|
+
onClick,
|
|
99
|
+
role
|
|
100
|
+
} = props;
|
|
101
|
+
const {
|
|
102
|
+
className,
|
|
103
|
+
disableAnimations,
|
|
104
|
+
gap = 5,
|
|
105
|
+
height = 40,
|
|
106
|
+
maxHeight = 100,
|
|
107
|
+
orientation = BarOrientation.horizontal,
|
|
108
|
+
direction = BarDirection.up,
|
|
109
|
+
previousData = {
|
|
110
|
+
data: {
|
|
111
|
+
key: '',
|
|
112
|
+
value: 0
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
scale,
|
|
116
|
+
scalePosition,
|
|
117
|
+
width = 40,
|
|
118
|
+
minWidth
|
|
119
|
+
} = props,
|
|
120
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
121
|
+
const theme = useTheme();
|
|
122
|
+
const getValue = data => (data === null || data === void 0 ? void 0 : data.cumulativeValue) !== undefined ? data.cumulativeValue : data === null || data === void 0 ? void 0 : data.value;
|
|
123
|
+
const interpolator = interpolate(getValue(previousData.data) || 0, getValue(data.data) || 0);
|
|
124
|
+
const text = labelDecorator ? labelDecorator(data, {
|
|
125
|
+
index,
|
|
126
|
+
isSelected: propsIsSelected,
|
|
127
|
+
color
|
|
128
|
+
}) : data.data.key;
|
|
129
|
+
const isSelectable = role === 'option';
|
|
130
|
+
const isDeselected = isSelectable && propsIsSelected === false;
|
|
131
|
+
const isHorizontal = orientation === BarOrientation.horizontal;
|
|
132
|
+
const goesUp = direction === BarDirection.up;
|
|
133
|
+
const isOrdinal = typeof scalePosition.domain()[0] === 'string';
|
|
134
|
+
const animatedProps = J(_objectSpread2(_objectSpread2({}, config), {}, {
|
|
135
|
+
to: async next => {
|
|
136
|
+
await next({
|
|
137
|
+
t: 1
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
from: {
|
|
141
|
+
t: 0
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
const computedWidth = minWidth ? Math.max(minWidth, width) : width;
|
|
145
|
+
return /*#__PURE__*/React__default.createElement(StyledBar, _extends({}, forwardedProps, {
|
|
146
|
+
ref: ref,
|
|
147
|
+
className: classNames(Bar.className, className),
|
|
148
|
+
transform: isHorizontal ? `translate(0, ${scalePosition(data.data.key) + gap / 2})` : `translate(${goesUp ? scalePosition(data.data.key) + (isOrdinal ? computedWidth + gap / 2 : computedWidth / 2) : scalePosition(data.data.key) + (isOrdinal ? -computedWidth + gap / 2 : -computedWidth / 2)}, ${maxHeight})${goesUp ? ', rotate(180)' : ''}`,
|
|
149
|
+
$clickable: Boolean(onClick),
|
|
150
|
+
$theme: theme
|
|
151
|
+
}), isHorizontal ? /*#__PURE__*/React__default.createElement(it.rect, {
|
|
152
|
+
height: height,
|
|
153
|
+
fill: isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color,
|
|
154
|
+
width: config.immediate || disableAnimations ? scale(data.data.value) : animatedProps.t.to(t => scale(interpolator(t)))
|
|
155
|
+
}) : /*#__PURE__*/React__default.createElement(it.rect, {
|
|
156
|
+
height: config.immediate || disableAnimations ? goesUp ? maxHeight - scale(getValue(data.data)) : scale(getValue(data.data)) - maxHeight : animatedProps.t.to(t => Math.max(0, goesUp ? maxHeight - scale(interpolator(t)) : scale(interpolator(t)) - maxHeight)),
|
|
157
|
+
fill: isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color,
|
|
158
|
+
width: computedWidth
|
|
159
|
+
}), isHorizontal ? /*#__PURE__*/React__default.createElement("text", {
|
|
160
|
+
x: "10",
|
|
161
|
+
y: height / 2,
|
|
162
|
+
dy: "0.35em",
|
|
163
|
+
"aria-hidden": true
|
|
164
|
+
}, text) : null);
|
|
165
|
+
});
|
|
166
|
+
Bar.className = CLASSNAME;
|
|
167
|
+
Bar.displayName = COMPONENT_NAME;
|
|
168
|
+
|
|
169
|
+
export { Bar as B, StyledBar as S, BarOrientation as a, BarDirection as b };
|
|
170
|
+
//# sourceMappingURL=Bar2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bar2.js","sources":["../../src/components/Bar/types.ts","../../src/components/Bar/styles.ts","../../src/components/Bar/Bar.tsx"],"sourcesContent":["import { ScaleLinear as d3ScaleLinear, ScaleTime as d3ScaleTime, ScalePoint as d3ScalePoint } from 'd3';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { BarDatum } from '../../types';\nimport { DataPointProps, StyledDataPointProps } from '../DataPoint';\n\n/**\n * Component variant.\n */\nexport const BarOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\nexport type BarOrientation = ValueOf<typeof BarOrientation>;\n\nexport const BarDirection = {\n up: 'up',\n down: 'down',\n};\nexport type BarDirection = ValueOf<typeof BarDirection>;\n\n/**\n * Component props.\n */\nexport interface BarProps extends DataPointProps<BarDatum> {\n /** Gap between two siblings. */\n gap?: number;\n /** Height of the bar in horizontal orientation. */\n height?: number;\n /** Maximum height of the bar. */\n maxHeight?: number;\n /** Orientation of the bar. */\n orientation?: BarOrientation;\n /** Direction of the bar, works only with vertical orientation. */\n direction?: BarOrientation;\n /** A linear continuous scale defined over a numeric domain used to determine the width or height of the bar (depending on the orientation). */\n scale: d3ScaleLinear<number, number, never>;\n /** A scale defined over a numeric/time/ordinal domain used to determine the position of the bar. */\n scalePosition: d3ScaleLinear<number, number, never> | d3ScaleTime<number, number, never> | d3ScalePoint<string>;\n /** Width of the bar in vertical orientation. */\n width?: number;\n /** Min width of the bar in vertical orientation. */\n minWidth?: number;\n}\n\nexport type StyledBarProps = StyledDataPointProps &\n Omit<BarProps, 'scale' | 'scalePosition'> & {\n $theme: Theme;\n };\n","import styled, { css } from 'styled-components';\nimport { StyledBarProps } from './types';\nimport { DataPoint } from '../DataPoint';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledBar = styled(DataPoint)<StyledBarProps>`\n text {\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus,\n &.focused {\n outline: none;\n rect {\n fill-opacity: 0.7;\n }\n }\n\n // &:focus-visible {\n // rect {\n // stroke: var(--redsift-color-primary-n);\n // stroke-width: 4px;\n // paint-order: stroke;\n // }\n // }\n\n @media (prefers-reduced-motion: no-preference) {\n &:focus-visible,\n &.focused {\n outline: 2px solid var(--redsift-color-primary-n);\n transition: outline-offset 75ms ease-out;\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n transition-duration: 0.25s;\n }\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n outline-offset: 0.2rem;\n }\n `\n : ''}}\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { interpolate as d3interpolate } from 'd3';\n\nimport { Comp, useTheme } from '@redsift/design-system';\n\nimport { BarDirection, BarOrientation, BarProps } from './types';\nimport { StyledBar } from './styles';\nimport { monochrome } from '../../scheme';\nimport { config } from '../../config';\nimport { BarDatum } from '@redsift/charts/types';\n\nconst COMPONENT_NAME = 'Bar';\nconst CLASSNAME = 'redsift-bar';\n\nexport const Bar: Comp<BarProps, SVGGElement> = forwardRef((props, ref) => {\n const { color = monochrome, data, index = 0, isSelected: propsIsSelected, labelDecorator, onClick, role } = props;\n\n const {\n className,\n disableAnimations,\n gap = 5,\n height = 40,\n maxHeight = 100,\n orientation = BarOrientation.horizontal,\n direction = BarDirection.up,\n previousData = {\n data: {\n key: '',\n value: 0,\n },\n },\n scale,\n scalePosition,\n width = 40,\n minWidth,\n ...forwardedProps\n } = props;\n\n const theme = useTheme();\n\n const getValue = (data: BarDatum['data']) =>\n data?.cumulativeValue !== undefined ? data.cumulativeValue : data?.value;\n const interpolator = d3interpolate(getValue(previousData!.data) || 0, getValue(data.data) || 0);\n\n const text = labelDecorator\n ? labelDecorator(data, { index, isSelected: propsIsSelected, color })\n : (data.data.key as string);\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n const isHorizontal = orientation === BarOrientation.horizontal;\n const goesUp = direction === BarDirection.up;\n const isOrdinal = typeof scalePosition.domain()[0] === 'string';\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({ t: 1 });\n },\n from: { t: 0 },\n });\n\n const computedWidth: number = minWidth ? Math.max(minWidth, width) : width;\n\n return (\n <StyledBar\n {...forwardedProps}\n ref={ref}\n className={classNames(Bar.className, className)}\n transform={\n isHorizontal\n ? `translate(0, ${scalePosition(data.data.key as any)! + gap! / 2})`\n : `translate(${\n goesUp\n ? scalePosition(data.data.key as any)! + (isOrdinal ? computedWidth + gap! / 2 : computedWidth / 2)\n : scalePosition(data.data.key as any)! + (isOrdinal ? -computedWidth + gap! / 2 : -computedWidth / 2)\n }, ${maxHeight})${goesUp ? ', rotate(180)' : ''}`\n }\n $clickable={Boolean(onClick)}\n $theme={theme}\n >\n {isHorizontal ? (\n <animated.rect\n height={height}\n fill={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n width={\n config.immediate || disableAnimations\n ? scale(data.data.value)\n : animatedProps.t.to((t) => scale(interpolator(t)))\n }\n />\n ) : (\n <animated.rect\n height={\n config.immediate || disableAnimations\n ? goesUp\n ? maxHeight! - scale(getValue(data.data))\n : scale(getValue(data.data)) - maxHeight!\n : animatedProps.t.to((t) =>\n Math.max(0, goesUp ? maxHeight! - scale(interpolator(t)) : scale(interpolator(t)) - maxHeight!)\n )\n }\n fill={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n width={computedWidth}\n />\n )}\n {isHorizontal ? (\n <text x=\"10\" y={height! / 2} dy=\"0.35em\" aria-hidden={true}>\n {text}\n </text>\n ) : null}\n </StyledBar>\n );\n});\nBar.className = CLASSNAME;\nBar.displayName = COMPONENT_NAME;\n"],"names":["BarOrientation","horizontal","vertical","BarDirection","up","down","StyledBar","styled","DataPoint","_ref","$theme","css","Theme","dark","_ref2","$clickable","COMPONENT_NAME","CLASSNAME","Bar","forwardRef","props","ref","color","monochrome","data","index","isSelected","propsIsSelected","labelDecorator","onClick","role","className","disableAnimations","gap","height","maxHeight","orientation","direction","previousData","key","value","scale","scalePosition","width","minWidth","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","getValue","cumulativeValue","undefined","interpolator","d3interpolate","text","isSelectable","isDeselected","isHorizontal","goesUp","isOrdinal","domain","animatedProps","useSpring","_objectSpread","config","to","next","t","from","computedWidth","Math","max","React","createElement","_extends","classNames","transform","Boolean","animated","rect","fill","immediate","x","y","dy","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|