@redsift/charts 11.5.0-muiv5 → 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.
Files changed (73) hide show
  1. package/_internal/Arc.js +2 -0
  2. package/_internal/Arc.js.map +1 -0
  3. package/_internal/Arc2.js +117 -0
  4. package/_internal/Arc2.js.map +1 -0
  5. package/_internal/Arcs.js +2 -0
  6. package/_internal/Arcs.js.map +1 -0
  7. package/_internal/Arcs2.js +94 -0
  8. package/_internal/Arcs2.js.map +1 -0
  9. package/_internal/Axis.js +2 -0
  10. package/_internal/Axis.js.map +1 -0
  11. package/_internal/Axis2.js +388 -0
  12. package/_internal/Axis2.js.map +1 -0
  13. package/_internal/Bar.js +2 -0
  14. package/_internal/Bar.js.map +1 -0
  15. package/_internal/Bar2.js +170 -0
  16. package/_internal/Bar2.js.map +1 -0
  17. package/_internal/BarChart.js +2 -0
  18. package/_internal/BarChart.js.map +1 -0
  19. package/_internal/BarChart2.js +1419 -0
  20. package/_internal/BarChart2.js.map +1 -0
  21. package/_internal/ChartContainer.js +2 -0
  22. package/_internal/ChartContainer.js.map +1 -0
  23. package/_internal/ChartContainer2.js +266 -0
  24. package/_internal/ChartContainer2.js.map +1 -0
  25. package/_internal/DataPoint.js +2 -0
  26. package/_internal/DataPoint.js.map +1 -0
  27. package/_internal/DataPoint2.js +110 -0
  28. package/_internal/DataPoint2.js.map +1 -0
  29. package/_internal/Dot.js +2 -0
  30. package/_internal/Dot.js.map +1 -0
  31. package/_internal/Dot2.js +110 -0
  32. package/_internal/Dot2.js.map +1 -0
  33. package/_internal/Legend.js +2 -0
  34. package/_internal/Legend.js.map +1 -0
  35. package/_internal/Legend3.js +84 -0
  36. package/_internal/Legend3.js.map +1 -0
  37. package/_internal/LegendItem.js +2 -0
  38. package/_internal/LegendItem.js.map +1 -0
  39. package/_internal/LegendItem2.js +153 -0
  40. package/_internal/LegendItem2.js.map +1 -0
  41. package/_internal/Line.js +2 -0
  42. package/_internal/Line.js.map +1 -0
  43. package/_internal/Line2.js +59 -0
  44. package/_internal/Line2.js.map +1 -0
  45. package/_internal/LineChart.js +2 -0
  46. package/_internal/LineChart.js.map +1 -0
  47. package/_internal/LineChart2.js +669 -0
  48. package/_internal/LineChart2.js.map +1 -0
  49. package/_internal/PieChart.js +2 -0
  50. package/_internal/PieChart.js.map +1 -0
  51. package/_internal/PieChart2.js +605 -0
  52. package/_internal/PieChart2.js.map +1 -0
  53. package/_internal/ScatterPlot.js +2 -0
  54. package/_internal/ScatterPlot.js.map +1 -0
  55. package/_internal/ScatterPlot2.js +744 -0
  56. package/_internal/ScatterPlot2.js.map +1 -0
  57. package/_internal/_rollupPluginBabelHelpers.js +93 -0
  58. package/_internal/_rollupPluginBabelHelpers.js.map +1 -0
  59. package/_internal/config.js +13 -0
  60. package/_internal/config.js.map +1 -0
  61. package/_internal/legend2.js +21 -0
  62. package/_internal/legend2.js.map +1 -0
  63. package/_internal/scheme.js +47 -0
  64. package/_internal/scheme.js.map +1 -0
  65. package/_internal/theme.js +79 -0
  66. package/_internal/theme.js.map +1 -0
  67. package/_internal/useFormatCategoricalData.js +56 -0
  68. package/_internal/useFormatCategoricalData.js.map +1 -0
  69. package/index.js +17 -5118
  70. package/index.js.map +1 -1
  71. package/index2.js +16 -0
  72. package/index2.js.map +1 -0
  73. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartContainer2.js","sources":["../../src/components/ChartContainer/intl/index.ts","../../src/components/ChartContainer/styles.ts","../../src/components/ChartContainer/ChartContainer.tsx"],"sourcesContent":["import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { Flexbox, Theme, baseContainer, baseStyling, focusRing } from '@redsift/design-system';\nimport { StyledChartContainerProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledChartContainer = styled.div<StyledChartContainerProps>`\n ${baseStyling}\n\n .redsift-chart-container__content {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-poppins);\n font-size: 11px;\n justify-content: center;\n position: relative;\n\n ${baseContainer}\n\n ${focusRing}\n }\n\n svg {\n display: block;\n user-select: none;\n }\n\n text {\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n }\n\n table {\n border-collapse: collapse;\n border: 1px solid #ebebeb;\n margin: 10px auto;\n text-align: center;\n width: 100%;\n max-width: 500px;\n\n td, th, caption {\n padding: 0.5em;\n }\n\n caption {\n padding: 1em 0;\n font-size: 1.2em;\n color: #555;\n }\n\n thead tr, tr:nth-child(even) {\n background: #f8f8f8;\n }\n\n th {\n font-weight: 600; \n }\n`;\n\nexport const StyledChartContainerTitle = styled(Flexbox)<StyledChartContainerProps>``;\n\nexport const StyledChartContainerCaption = styled.p<Omit<StyledChartContainerProps, 'onReset'>>`\n font-family: var(--redsift-typography-caption-font-family);\n font-size: var(--redsift-typography-caption-font-size);\n font-weight: var(--redsift-typography-caption-font-weight);\n line-height: var(--redsift-typography-caption-line-height);\n margin: 8px 0;\n`;\n","import React, { ComponentProps, forwardRef, RefObject, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport {\n Button,\n Comp,\n Flexbox,\n Heading,\n ThemeProvider,\n useId,\n useTheme,\n warnIfNoAccessibleLabelFound,\n} from '@redsift/design-system';\n\nimport { ChartContainerProps } from './types';\nimport { StyledChartContainer, StyledChartContainerCaption, StyledChartContainerTitle } from './styles';\n\nconst COMPONENT_NAME = 'ChartContainer';\nconst CLASSNAME = 'redsift-chart-container';\n\nexport const ChartContainer: Comp<ChartContainerProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-label': propsAriaLabel,\n 'aria-labelledby': propsAriaLabelledby,\n description,\n descriptionPosition = 'belowChart',\n chartProps,\n chartRef,\n children,\n className,\n id: propsId,\n title,\n onReset,\n theme: propsTheme,\n mode = 'static',\n definition,\n interactionExplanation,\n descriptionForAssistiveTechnology,\n dataTableRepresentation,\n xAxisDefinition,\n yAxisDefinition,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const theme = useTheme(propsTheme);\n const [viewAsDataTable, setViewAsDataTable] = useState(false);\n\n warnIfNoAccessibleLabelFound(props as ComponentProps<keyof JSX.IntrinsicElements>, [title]);\n\n const format = useMessageFormatter(intlMessages);\n\n const ariaLabel = propsAriaLabel ? propsAriaLabel : propsAriaLabelledby || title ? undefined : undefined;\n const ariaLabelledby = propsAriaLabelledby ? propsAriaLabelledby : title ? `id${id}__title` : undefined;\n\n return (\n <ThemeProvider value={{ theme }}>\n <figure>\n <div>\n <StyledChartContainer\n $theme={theme}\n role=\"region\"\n aria-hidden=\"false\"\n {...(ariaLabel ? { 'aria-label': `${ariaLabel}. ${format(mode)}.` } : {})}\n {...(ariaLabelledby ? { 'aria-labelledby': `${ariaLabelledby} id${id}__interactive-or-not` } : {})}\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={classNames(ChartContainer.className, className)}\n id={id}\n >\n <div id={`id${id}__screen-reader-region-before`} aria-hidden=\"false\" style={{ position: 'relative' }}>\n <div\n aria-hidden=\"false\"\n style={{\n position: 'absolute',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n clip: 'rect(1px, 1px, 1px, 1px)',\n marginTop: '-3px',\n opacity: '0.01',\n }}\n >\n <p id={`id${id}__interactive-or-not`} aria-hidden=\"true\" style={{ display: 'none' }}>\n {format(`${mode}-chart`)}\n </p>\n {ariaLabel ? (\n <p>{`${ariaLabel}. ${format(`${mode}-chart`)}`}</p>\n ) : (\n <p aria-labelledby={`${ariaLabelledby} id${id}__interactive-or-not`} />\n )}\n <div>{descriptionForAssistiveTechnology ?? description}</div>\n <div>{interactionExplanation}</div>\n <div>{definition}</div>\n {dataTableRepresentation ? (\n <div>\n <button\n tabIndex={-1}\n aria-expanded={viewAsDataTable}\n onClick={() => setViewAsDataTable(!viewAsDataTable)}\n >\n {format('view-as-data-table')}\n {', '}\n {ariaLabel ? <span>{ariaLabel}</span> : <span aria-labelledby={ariaLabelledby} />}\n </button>\n </div>\n ) : null}\n <div>{xAxisDefinition}</div>\n <div>{yAxisDefinition}</div>\n </div>\n </div>\n <Flexbox flexDirection=\"column\">\n {title || onReset ? (\n <ChartContainerTitle onReset={onReset} id={id}>\n {title}\n </ChartContainerTitle>\n ) : null}\n {descriptionPosition === 'belowTitle' ? (\n <ChartContainerDescription id={id}>{description}</ChartContainerDescription>\n ) : null}\n </Flexbox>\n\n <Flexbox flexDirection=\"column\">\n {children ? (\n <div\n aria-hidden=\"false\"\n dir=\"ltr\"\n {...chartProps}\n ref={chartRef}\n className={`${ChartContainer.className}__content`}\n >\n {children}\n </div>\n ) : null}\n {descriptionPosition === 'belowChart' ? (\n <ChartContainerDescription id={id}>{description}</ChartContainerDescription>\n ) : null}\n {viewAsDataTable && dataTableRepresentation ? (\n <table tabIndex={-1} summary={format('table-summary')}>\n {ariaLabel ? <caption>{ariaLabel}</caption> : <caption aria-labelledby={ariaLabelledby} />}\n {dataTableRepresentation.header}\n {dataTableRepresentation.body}\n </table>\n ) : null}\n </Flexbox>\n </StyledChartContainer>\n </div>\n </figure>\n </ThemeProvider>\n );\n});\nChartContainer.className = CLASSNAME;\nChartContainer.displayName = COMPONENT_NAME;\n\nexport const ChartContainerTitle: Comp<Pick<ChartContainerProps, 'onReset'> & ComponentProps<'div'>, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, onReset, id, ...forwardedProps } = props;\n const theme = useTheme();\n const format = useMessageFormatter(intlMessages);\n\n return (\n <StyledChartContainerTitle\n aria-hidden=\"true\"\n $theme={theme}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n className={classNames(`${ChartContainer.className}__title`, className)}\n id={`id${id}__title`}\n {...forwardedProps}\n ref={ref}\n >\n {typeof children === 'string' ? <Heading as=\"h3\">{children}</Heading> : children ? children : null}\n\n {onReset ? (\n <Button\n className={`${ChartContainer.className}-title__reset-button`}\n color=\"grey\"\n variant=\"unstyled\"\n onClick={onReset}\n >\n {format('reset')}\n </Button>\n ) : null}\n </StyledChartContainerTitle>\n );\n });\nChartContainerTitle.displayName = 'ChartContainerTitle';\n\nexport const ChartContainerDescription: Comp<ComponentProps<'div'>, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, id, ...forwardedProps } = props;\n const theme = useTheme();\n\n return typeof children === 'string' ? (\n <StyledChartContainerCaption\n aria-hidden=\"true\"\n $theme={theme}\n className={classNames(`${ChartContainer.className}__description`, className)}\n id={`id${id}__description`}\n {...forwardedProps}\n ref={ref}\n >\n {children}\n </StyledChartContainerCaption>\n ) : (\n <>{children}</>\n );\n});\nChartContainerDescription.displayName = 'ChartContainerDescription';\n"],"names":["enUS","frFR","StyledChartContainer","styled","div","baseStyling","baseContainer","focusRing","_ref","$theme","css","Theme","dark","StyledChartContainerTitle","Flexbox","StyledChartContainerCaption","p","COMPONENT_NAME","CLASSNAME","ChartContainer","forwardRef","props","ref","propsAriaLabel","propsAriaLabelledby","description","descriptionPosition","chartProps","chartRef","children","className","id","propsId","title","onReset","theme","propsTheme","mode","definition","interactionExplanation","descriptionForAssistiveTechnology","dataTableRepresentation","xAxisDefinition","yAxisDefinition","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","useTheme","viewAsDataTable","setViewAsDataTable","useState","warnIfNoAccessibleLabelFound","format","useMessageFormatter","intlMessages","ariaLabel","undefined","ariaLabelledby","React","createElement","ThemeProvider","value","_extends","role","classNames","style","position","width","height","overflow","whiteSpace","clip","marginTop","opacity","display","tabIndex","onClick","flexDirection","ChartContainerTitle","ChartContainerDescription","dir","summary","header","body","displayName","_excluded2","alignItems","justifyContent","Heading","as","Button","color","variant","_excluded3","Fragment"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { D as DataPoint, S as StyledDataPoint } from './DataPoint2.js';
2
+ //# sourceMappingURL=DataPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPoint.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { useId, useTheme, Text, Number } from '@redsift/design-system';
5
+ import { Tooltip } from '@redsift/popovers';
6
+ import styled from 'styled-components';
7
+ import { i as it } from '../index2.js';
8
+ import { T as TooltipVariant } from './legend2.js';
9
+
10
+ /**
11
+ * Component style.
12
+ */
13
+ const StyledDataPoint = styled(it.g)``;
14
+
15
+ const _excluded = ["as", "href"],
16
+ _excluded2 = ["anchorProps", "children", "className", "data", "id", "index", "isSelected", "labelDecorator", "onClick", "role", "tooltipDecorator", "tooltipVariant", "theme", "tooltipProps", "dataset", "groupedData"];
17
+ const DataPoint = /*#__PURE__*/forwardRef((props, ref) => {
18
+ const {
19
+ anchorProps: {
20
+ as,
21
+ href
22
+ } = {},
23
+ children,
24
+ className,
25
+ data,
26
+ id: propsId,
27
+ index,
28
+ isSelected: propsIsSelected,
29
+ labelDecorator,
30
+ onClick,
31
+ role,
32
+ tooltipDecorator,
33
+ tooltipVariant,
34
+ theme: propsTheme,
35
+ tooltipProps,
36
+ dataset,
37
+ groupedData
38
+ } = props,
39
+ anchorProps = _objectWithoutProperties(props.anchorProps, _excluded),
40
+ forwardedProps = _objectWithoutProperties(props, _excluded2);
41
+ const [_id] = useId();
42
+ const id = propsId !== null && propsId !== void 0 ? propsId : _id;
43
+ const theme = useTheme(propsTheme);
44
+ const isTooltipCustom = tooltipVariant === TooltipVariant.custom && tooltipDecorator;
45
+ const text = labelDecorator ? labelDecorator(data, {
46
+ index,
47
+ isSelected: propsIsSelected,
48
+ color: props.color
49
+ }) : data.data.key;
50
+ const hasText = text && tooltipVariant !== TooltipVariant.none;
51
+ const tooltipValue = tooltipVariant === TooltipVariant.value ? data.data.value : tooltipVariant === TooltipVariant.percent && data.data.percent ? data.data.percent : undefined;
52
+ const hasValue = tooltipValue && [TooltipVariant.value, TooltipVariant.percent].includes(tooltipVariant);
53
+ const showTooltip = tooltipVariant !== TooltipVariant.none && (hasText || hasValue);
54
+ const isEmpty = data.data.value === 0;
55
+ const isSelectable = role === 'option';
56
+ const isSelected = isSelectable && propsIsSelected === true;
57
+ const isDeselected = isSelectable && propsIsSelected === false;
58
+ const onKeyDown = event => {
59
+ if (onClick) {
60
+ event.stopPropagation();
61
+ if (event.code === 'Enter' || event.code === 'Space') {
62
+ event.preventDefault();
63
+ onClick(data, dataset);
64
+ }
65
+ }
66
+ };
67
+ const DataPointComponent = /*#__PURE__*/React__default.createElement(StyledDataPoint, _extends({
68
+ tabIndex: onClick ? 0 : undefined,
69
+ "aria-label": showTooltip && !isEmpty ? labelDecorator ? text : `${data.data.key}, ${data.data.value}` : undefined,
70
+ "aria-labelledby": !showTooltip && !isEmpty ? `${id}-title` : undefined,
71
+ "aria-selected": isSelected ? true : isDeselected ? false : undefined,
72
+ onClick: onClick ? () => onClick(data, dataset) : undefined,
73
+ onKeyDown: onClick ? e => onKeyDown(e) : undefined,
74
+ role: role ? role : onClick ? 'button' : href ? undefined : 'img'
75
+ }, forwardedProps, {
76
+ className: classNames(className, `_${index}`, {
77
+ selected: isSelected,
78
+ deselected: isDeselected
79
+ }),
80
+ ref: ref,
81
+ id: id,
82
+ $clickable: Boolean(onClick)
83
+ }), children, !showTooltip && !isEmpty ? /*#__PURE__*/React__default.createElement("title", {
84
+ id: `${id}-title`
85
+ }, `${text}: ${data.data.value}`) : null);
86
+ if (showTooltip) {
87
+ return /*#__PURE__*/React__default.createElement(Tooltip, _extends({
88
+ placement: "right",
89
+ theme: theme,
90
+ delay: 50
91
+ }, tooltipProps), /*#__PURE__*/React__default.createElement(Tooltip.Trigger, null, href !== undefined ? /*#__PURE__*/React__default.createElement(as || 'a', _objectSpread2({
92
+ href
93
+ }, anchorProps), DataPointComponent) : DataPointComponent), /*#__PURE__*/React__default.createElement(Tooltip.Content, null, isTooltipCustom ? tooltipDecorator(data, {
94
+ index,
95
+ isSelected: propsIsSelected,
96
+ color: props.color
97
+ }, dataset, groupedData) : /*#__PURE__*/React__default.createElement(Text, {
98
+ variant: "caption"
99
+ }, text, hasText && hasValue ? ' - ' : null, hasValue ? /*#__PURE__*/React__default.createElement(Number, {
100
+ value: tooltipValue,
101
+ type: tooltipVariant === TooltipVariant.percent ? 'percent' : 'decimal',
102
+ variant: "caption",
103
+ maximumFractionDigits: 2
104
+ }) : null)));
105
+ }
106
+ return DataPointComponent;
107
+ });
108
+
109
+ export { DataPoint as D, StyledDataPoint as S };
110
+ //# sourceMappingURL=DataPoint2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPoint2.js","sources":["../../src/components/DataPoint/styles.ts","../../src/components/DataPoint/DataPoint.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { animated } from '@react-spring/web';\nimport { StyledDataPointProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataPoint = styled(animated.g)<StyledDataPointProps>``;\n","import React, { forwardRef, KeyboardEventHandler, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, Number, Text, useId, useTheme } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { DataPointProps } from './types';\nimport { StyledDataPoint } from './styles';\nimport { TooltipVariant } from '../../types';\n\nexport const DataPoint: Comp<DataPointProps<any>, SVGGElement> = forwardRef((props, ref) => {\n const {\n anchorProps: { as, href, ...anchorProps } = {},\n children,\n className,\n data,\n id: propsId,\n index,\n isSelected: propsIsSelected,\n labelDecorator,\n onClick,\n role,\n tooltipDecorator,\n tooltipVariant,\n theme: propsTheme,\n tooltipProps,\n dataset,\n groupedData,\n ...forwardedProps\n } = props;\n\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const theme = useTheme(propsTheme);\n\n const isTooltipCustom = tooltipVariant === TooltipVariant.custom && tooltipDecorator;\n const text = labelDecorator\n ? labelDecorator(data, { index, isSelected: propsIsSelected, color: props.color })\n : data.data.key;\n const hasText = text && tooltipVariant !== TooltipVariant.none;\n const tooltipValue =\n tooltipVariant === TooltipVariant.value\n ? data.data.value\n : tooltipVariant === TooltipVariant.percent && data.data.percent\n ? data.data.percent\n : undefined;\n const hasValue = tooltipValue && [TooltipVariant.value, TooltipVariant.percent].includes(tooltipVariant!);\n const showTooltip = tooltipVariant !== TooltipVariant.none && (hasText || hasValue);\n\n const isEmpty = data.data.value === 0;\n\n const isSelectable = role === 'option';\n const isSelected = isSelectable && propsIsSelected === true;\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const onKeyDown: KeyboardEventHandler<SVGElement> = (event) => {\n if (onClick) {\n event.stopPropagation();\n\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n onClick(data, dataset);\n }\n }\n };\n\n const DataPointComponent = (\n <StyledDataPoint\n tabIndex={onClick ? 0 : undefined}\n aria-label={\n showTooltip && !isEmpty ? (labelDecorator ? text : `${data.data.key}, ${data.data.value}`) : undefined\n }\n aria-labelledby={!showTooltip && !isEmpty ? `${id}-title` : undefined}\n aria-selected={isSelected ? true : isDeselected ? false : undefined}\n onClick={onClick ? () => onClick(data, dataset) : undefined}\n onKeyDown={onClick ? (e) => onKeyDown(e) : undefined}\n role={role ? role : onClick ? 'button' : href ? undefined : 'img'}\n {...forwardedProps}\n className={classNames(className, `_${index}`, {\n selected: isSelected,\n deselected: isDeselected,\n })}\n ref={ref as RefObject<SVGGElement>}\n id={id}\n $clickable={Boolean(onClick)}\n >\n {children}\n {!showTooltip && !isEmpty ? <title id={`${id}-title`}>{`${text}: ${data.data.value}`}</title> : null}\n </StyledDataPoint>\n );\n\n if (showTooltip) {\n return (\n <Tooltip placement=\"right\" theme={theme} delay={50} {...tooltipProps}>\n <Tooltip.Trigger>\n {href !== undefined\n ? React.createElement(as || 'a', { href, ...anchorProps }, DataPointComponent)\n : DataPointComponent}\n </Tooltip.Trigger>\n <Tooltip.Content>\n {isTooltipCustom ? (\n tooltipDecorator(data, { index, isSelected: propsIsSelected, color: props.color }, dataset, groupedData)\n ) : (\n <Text variant=\"caption\">\n {text}\n {hasText && hasValue ? ' - ' : null}\n {hasValue ? (\n <Number\n value={tooltipValue!}\n type={tooltipVariant === TooltipVariant.percent ? 'percent' : 'decimal'}\n variant=\"caption\"\n maximumFractionDigits={2}\n />\n ) : null}\n </Text>\n )}\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return DataPointComponent;\n});\n"],"names":["StyledDataPoint","styled","animated","g","DataPoint","forwardRef","props","ref","anchorProps","as","href","children","className","data","id","propsId","index","isSelected","propsIsSelected","labelDecorator","onClick","role","tooltipDecorator","tooltipVariant","theme","propsTheme","tooltipProps","dataset","groupedData","_objectWithoutProperties","_excluded","forwardedProps","_excluded2","_id","useId","useTheme","isTooltipCustom","TooltipVariant","custom","text","color","key","hasText","none","tooltipValue","value","percent","undefined","hasValue","includes","showTooltip","isEmpty","isSelectable","isDeselected","onKeyDown","event","stopPropagation","code","preventDefault","DataPointComponent","React","createElement","_extends","tabIndex","e","classNames","selected","deselected","$clickable","Boolean","Tooltip","placement","delay","Trigger","_objectSpread","Content","Text","variant","Number","type","maximumFractionDigits"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { D as Dot, a as DotVariant, S as StyledDot } from './Dot2.js';
2
+ //# sourceMappingURL=Dot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dot.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ import { _ as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { useTheme, Theme } from '@redsift/design-system';
5
+ import styled, { css } from 'styled-components';
6
+ import { D as DataPoint } from './DataPoint2.js';
7
+ import { m as monochrome } from './scheme.js';
8
+
9
+ /**
10
+ * Component's variant.
11
+ */
12
+ const DotVariant = {
13
+ plain: 'plain',
14
+ hollow: 'hollow'
15
+ };
16
+
17
+ /**
18
+ * Component props.
19
+ */
20
+
21
+ /**
22
+ * Component style.
23
+ */
24
+ const StyledDot = styled(DataPoint)`
25
+ text {
26
+ user-select: none;
27
+ }
28
+
29
+ ${_ref => {
30
+ let {
31
+ $variant
32
+ } = _ref;
33
+ return css`
34
+ circle {
35
+ fill-opacity: ${$variant === DotVariant.hollow ? 1 : 0.7};
36
+ }
37
+ `;
38
+ }}
39
+
40
+ ${_ref2 => {
41
+ let {
42
+ $clickable
43
+ } = _ref2;
44
+ return $clickable ? css`
45
+ cursor: pointer;
46
+
47
+ &:hover,
48
+ &:focus {
49
+ opacity: 0.5;
50
+ outline: none;
51
+ }
52
+
53
+ &:focus-visible {
54
+ circle {
55
+ stroke: var(--redsift-color-primary-n);
56
+ stroke-width: 4px;
57
+ paint-order: stroke;
58
+ }
59
+ }
60
+ ` : '';
61
+ }}}
62
+ `;
63
+
64
+ const _excluded = ["className", "labelDecorator", "scaleX", "scaleY", "variant", "children"];
65
+ const COMPONENT_NAME = 'Dot';
66
+ const CLASSNAME = 'redsift-dot';
67
+ const Dot = /*#__PURE__*/forwardRef((props, ref) => {
68
+ const {
69
+ color = monochrome,
70
+ data,
71
+ isSelected: propsIsSelected,
72
+ onClick,
73
+ role
74
+ } = props;
75
+ const {
76
+ className,
77
+ labelDecorator = datum => {
78
+ return datum.data.key[2] !== undefined && datum.data.key[2] !== null ? datum.data.key[2] : `${datum.data.key[0]},${datum.data.key[1]}`;
79
+ },
80
+ scaleX,
81
+ scaleY,
82
+ variant = DotVariant.plain,
83
+ children
84
+ } = props,
85
+ forwardedProps = _objectWithoutProperties(props, _excluded);
86
+ const theme = useTheme();
87
+ const isSelectable = role === 'option';
88
+ const isDeselected = isSelectable && propsIsSelected === false;
89
+ return /*#__PURE__*/React__default.createElement(StyledDot, _extends({
90
+ labelDecorator: labelDecorator
91
+ }, forwardedProps, {
92
+ ref: ref,
93
+ className: classNames(Dot.className, className),
94
+ $clickable: Boolean(onClick),
95
+ $variant: variant,
96
+ $theme: theme
97
+ }), /*#__PURE__*/React__default.createElement("circle", {
98
+ cx: scaleX(data.x),
99
+ cy: scaleY(data.y),
100
+ r: data.r,
101
+ fill: variant === DotVariant.hollow ? `var(--redsift-color-neutral-${theme === Theme.light ? 'white' : 'x-dark-grey'})` : isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color,
102
+ stroke: isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color,
103
+ strokeWidth: variant === DotVariant.hollow ? '2' : '0'
104
+ }), children);
105
+ });
106
+ Dot.className = CLASSNAME;
107
+ Dot.displayName = COMPONENT_NAME;
108
+
109
+ export { Dot as D, StyledDot as S, DotVariant as a };
110
+ //# sourceMappingURL=Dot2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dot2.js","sources":["../../src/components/Dot/types.ts","../../src/components/Dot/styles.ts","../../src/components/Dot/Dot.tsx"],"sourcesContent":["import { ScaleLinear as d3ScaleLinear, ScaleTime as d3ScaleTime, ScalePoint as d3ScalePoint } from 'd3';\nimport { DotDatum } from '../../types';\nimport { DataPointProps, StyledDataPointProps } from '../DataPoint';\nimport { Theme, ValueOf } from '@redsift/design-system';\n\n/**\n * Component's variant.\n */\nexport const DotVariant = {\n plain: 'plain',\n hollow: 'hollow',\n} as const;\nexport type DotVariant = ValueOf<typeof DotVariant>;\n\n/**\n * Component props.\n */\nexport interface DotProps extends DataPointProps<DotDatum> {\n /** A scale defined over a numeric/time/ordinal domain used to determine the x position based on the coordinates. */\n scaleX: d3ScaleLinear<number, number, never> | d3ScaleTime<number, number, never> | d3ScalePoint<string>;\n /** A linear continuous scale defined over a numeric domain used to determine the y position based on the coordinates. */\n scaleY: d3ScaleLinear<number, number, never>;\n /** Variant. */\n variant?: DotVariant;\n}\n\nexport type StyledDotProps = StyledDataPointProps &\n Omit<DotProps, 'scaleX' | 'scaleY'> & {\n $variant: DotProps['variant'];\n $theme: Theme;\n };\n","import styled, { css } from 'styled-components';\nimport { DotVariant, StyledDotProps } from './types';\nimport { DataPoint } from '../DataPoint';\n\n/**\n * Component style.\n */\nexport const StyledDot = styled(DataPoint)<StyledDotProps>`\n text {\n user-select: none;\n }\n\n ${({ $variant }) => css`\n circle {\n fill-opacity: ${$variant === DotVariant.hollow ? 1 : 0.7};\n }\n `}\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n opacity: 0.5;\n outline: none;\n }\n\n &:focus-visible {\n circle {\n stroke: var(--redsift-color-primary-n);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, Theme, useTheme } from '@redsift/design-system';\n\nimport { DotProps, DotVariant } from './types';\nimport { StyledDot } from './styles';\nimport { monochrome } from '../../scheme';\nimport { DotDatum } from '../../types';\n\nconst COMPONENT_NAME = 'Dot';\nconst CLASSNAME = 'redsift-dot';\n\nexport const Dot: Comp<DotProps, SVGGElement> = forwardRef((props, ref) => {\n const { color = monochrome, data, isSelected: propsIsSelected, onClick, role } = props;\n\n const {\n className,\n labelDecorator = (datum: DotDatum) => {\n return datum.data.key[2] !== undefined && datum.data.key[2] !== null\n ? datum.data.key[2]\n : `${datum.data.key[0]},${datum.data.key[1]}`;\n },\n scaleX,\n scaleY,\n variant = DotVariant.plain,\n children,\n ...forwardedProps\n } = props;\n\n const theme = useTheme();\n\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n\n return (\n <StyledDot\n labelDecorator={labelDecorator}\n {...forwardedProps}\n ref={ref}\n className={classNames(Dot.className, className)}\n $clickable={Boolean(onClick)}\n $variant={variant}\n $theme={theme}\n >\n <circle\n cx={scaleX(data.x as any)}\n cy={scaleY(data.y as any)}\n r={data.r}\n fill={\n variant === DotVariant.hollow\n ? `var(--redsift-color-neutral-${theme === Theme.light ? 'white' : 'x-dark-grey'})`\n : isDeselected\n ? 'var(--redsift-color-neutral-light-grey)'\n : color\n }\n stroke={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n strokeWidth={variant === DotVariant.hollow ? '2' : '0'}\n />\n {children}\n </StyledDot>\n );\n});\nDot.className = CLASSNAME;\nDot.displayName = COMPONENT_NAME;\n"],"names":["DotVariant","plain","hollow","StyledDot","styled","DataPoint","_ref","$variant","css","_ref2","$clickable","COMPONENT_NAME","CLASSNAME","Dot","forwardRef","props","ref","color","monochrome","data","isSelected","propsIsSelected","onClick","role","className","labelDecorator","datum","key","undefined","scaleX","scaleY","variant","children","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","isSelectable","isDeselected","React","createElement","_extends","classNames","Boolean","$theme","cx","x","cy","y","r","fill","Theme","light","stroke","strokeWidth","displayName"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { L as Legend, S as StyledLegend } from './Legend3.js';
2
+ //# sourceMappingURL=Legend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Legend.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { sum } from 'd3';
5
+ import styled from 'styled-components';
6
+ import { baseContainer } from '@redsift/design-system';
7
+ import { L as LegendVariant } from './legend2.js';
8
+ import { L as LegendItem } from './LegendItem2.js';
9
+
10
+ /**
11
+ * Component style.
12
+ */
13
+ const StyledLegend = styled.ul`
14
+ display: flex;
15
+ flex-direction: column;
16
+
17
+ ${baseContainer}
18
+ `;
19
+
20
+ const _excluded = ["children", "className", "data", "isLegendItemSelected", "labelDecorator", "legendDecorator", "legendItemRole", "onLegendItemClick", "variant", "width"],
21
+ _excluded2 = ["color"];
22
+ const COMPONENT_NAME = 'Legend';
23
+ const CLASSNAME = 'redsift-chart-legend';
24
+ const Legend = /*#__PURE__*/forwardRef((props, ref) => {
25
+ const {
26
+ children,
27
+ className,
28
+ data,
29
+ isLegendItemSelected = () => true,
30
+ labelDecorator,
31
+ legendDecorator,
32
+ legendItemRole,
33
+ onLegendItemClick,
34
+ variant = LegendVariant.label,
35
+ width
36
+ } = props,
37
+ forwardedProps = _objectWithoutProperties(props, _excluded);
38
+ if (!data || data.length === 0) {
39
+ return null;
40
+ }
41
+ const total = sum(data, d => d.value);
42
+ if (children) {
43
+ const renderedChildren = typeof children === 'function' ? children(data, total) : children;
44
+ return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, {
45
+ className: classNames(Legend.className, className),
46
+ ref: ref
47
+ }), renderedChildren);
48
+ }
49
+ return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, {
50
+ className: classNames(Legend.className, className),
51
+ ref: ref,
52
+ $width: width
53
+ }), data.map((_ref, index) => {
54
+ var _datum$percent;
55
+ let {
56
+ color
57
+ } = _ref,
58
+ datum = _objectWithoutProperties(_ref, _excluded2);
59
+ return /*#__PURE__*/React__default.createElement(LegendItem, {
60
+ data: {
61
+ data: _objectSpread2(_objectSpread2({}, datum), {}, {
62
+ percent: (_datum$percent = datum.percent) !== null && _datum$percent !== void 0 ? _datum$percent : datum.value / total
63
+ })
64
+ },
65
+ dataset: data,
66
+ color: color,
67
+ variant: variant,
68
+ index: index,
69
+ isSelected: Boolean(isLegendItemSelected({
70
+ data: datum
71
+ })),
72
+ key: `legend-item _${index}`,
73
+ labelDecorator: labelDecorator,
74
+ legendDecorator: legendDecorator,
75
+ onClick: onLegendItemClick,
76
+ role: legendItemRole
77
+ });
78
+ }));
79
+ });
80
+ Legend.className = CLASSNAME;
81
+ Legend.displayName = COMPONENT_NAME;
82
+
83
+ export { Legend as L, StyledLegend as S };
84
+ //# sourceMappingURL=Legend3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Legend3.js","sources":["../../src/components/Legend/styles.ts","../../src/components/Legend/Legend.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { StyledLegendProps } from './types';\nimport { baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledLegend = styled.ul<StyledLegendProps>`\n display: flex;\n flex-direction: column;\n\n ${baseContainer}\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { LegendProps } from './types';\nimport { StyledLegend } from './styles';\nimport { LegendVariant } from '../../types';\nimport { LegendItem } from '../LegendItem';\n\nconst COMPONENT_NAME = 'Legend';\nconst CLASSNAME = 'redsift-chart-legend';\n\nexport const Legend: Comp<LegendProps, HTMLUListElement> = forwardRef((props, ref) => {\n const {\n children,\n className,\n data,\n isLegendItemSelected = () => true,\n labelDecorator,\n legendDecorator,\n legendItemRole,\n onLegendItemClick,\n variant = LegendVariant.label,\n width,\n ...forwardedProps\n } = props;\n\n if (!data || data.length === 0) {\n return null;\n }\n\n const total = d3sum(data, (d) => d.value);\n\n if (children) {\n const renderedChildren = typeof children === 'function' ? children(data, total) : children;\n\n return (\n <StyledLegend {...forwardedProps} className={classNames(Legend.className, className)} ref={ref}>\n {renderedChildren}\n </StyledLegend>\n );\n }\n\n return (\n <StyledLegend {...forwardedProps} className={classNames(Legend.className, className)} ref={ref} $width={width}>\n {data.map(({ color, ...datum }, index) => (\n <LegendItem\n data={{ data: { ...datum, percent: datum.percent ?? datum.value / total } }}\n dataset={data}\n color={color}\n variant={variant}\n index={index}\n isSelected={Boolean(isLegendItemSelected!({ data: datum }))}\n key={`legend-item _${index}`}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n onClick={onLegendItemClick}\n role={legendItemRole}\n />\n ))}\n </StyledLegend>\n );\n});\nLegend.className = CLASSNAME;\nLegend.displayName = COMPONENT_NAME;\n"],"names":["StyledLegend","styled","ul","baseContainer","COMPONENT_NAME","CLASSNAME","Legend","forwardRef","props","ref","children","className","data","isLegendItemSelected","labelDecorator","legendDecorator","legendItemRole","onLegendItemClick","variant","LegendVariant","label","width","forwardedProps","_objectWithoutProperties","_excluded","length","total","d3sum","d","value","renderedChildren","React","createElement","_extends","classNames","$width","map","_ref","index","_datum$percent","color","datum","_excluded2","LegendItem","_objectSpread","percent","dataset","isSelected","Boolean","key","onClick","role","displayName"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { L as LegendItem, S as StyledLegendItem } from './LegendItem2.js';
2
+ //# sourceMappingURL=LegendItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendItem.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,153 @@
1
+ import { _ as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { Theme, useTheme, useId, Number, Text } from '@redsift/design-system';
5
+ import styled, { css } from 'styled-components';
6
+ import { L as LegendVariant } from './legend2.js';
7
+ import { m as monochrome } from './scheme.js';
8
+
9
+ /**
10
+ * Component style.
11
+ */
12
+ const StyledLegendItem = styled.li`
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 8px;
16
+ font-size: var(--redsift-typography-caption-font-size);
17
+
18
+ ${_ref => {
19
+ let {
20
+ $theme
21
+ } = _ref;
22
+ return css`
23
+ color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
24
+ `;
25
+ }}
26
+
27
+ ${_ref2 => {
28
+ let {
29
+ $variant,
30
+ color
31
+ } = _ref2;
32
+ return $variant !== LegendVariant.custom ? css`
33
+ > div {
34
+ height: 16px;
35
+ width: 16px;
36
+ min-width: 16px;
37
+ background-color: ${color};
38
+ }
39
+ ` : '';
40
+ }}}
41
+
42
+ ${_ref3 => {
43
+ let {
44
+ $clickable
45
+ } = _ref3;
46
+ return $clickable ? css`
47
+ cursor: pointer;
48
+
49
+ &:hover,
50
+ &:focus {
51
+ outline: none;
52
+ > div {
53
+ opacity: 0.7;
54
+ }
55
+ }
56
+
57
+ &:focus-visible {
58
+ > div {
59
+ outline: 4px solid var(--redsift-color-primary-n);
60
+ }
61
+ }
62
+ ` : '';
63
+ }}}
64
+ `;
65
+
66
+ const _excluded = ["className", "color", "data", "dataset", "id", "variant"];
67
+ const COMPONENT_NAME = 'LegendItem';
68
+ const CLASSNAME = 'redsift-legend-item';
69
+ const LegendItem = /*#__PURE__*/forwardRef((props, ref) => {
70
+ const {
71
+ index = 0,
72
+ isSelected: propsIsSelected,
73
+ labelDecorator,
74
+ legendDecorator,
75
+ onClick,
76
+ role
77
+ } = props;
78
+ const {
79
+ className,
80
+ color = monochrome,
81
+ data,
82
+ dataset,
83
+ id: propsId,
84
+ variant
85
+ } = props,
86
+ forwardedProps = _objectWithoutProperties(props, _excluded);
87
+ const theme = useTheme();
88
+ const [_id] = useId();
89
+ const id = propsId !== null && propsId !== void 0 ? propsId : _id;
90
+ const isLegendCustom = variant === LegendVariant.custom && legendDecorator;
91
+ const text = labelDecorator ? labelDecorator(data, {
92
+ index,
93
+ isSelected: propsIsSelected,
94
+ color
95
+ }) : data.data.key;
96
+ const isEmpty = data.data.value === 0;
97
+ const isSelectable = role === 'option';
98
+ const isSelected = isSelectable && propsIsSelected === true;
99
+ const isDeselected = isSelectable && propsIsSelected === false;
100
+ const onKeyDown = event => {
101
+ if (onClick) {
102
+ event.stopPropagation();
103
+ if (event.code === 'Enter' || event.code === 'Space') {
104
+ event.preventDefault();
105
+ onClick(data, dataset);
106
+ }
107
+ }
108
+ };
109
+ return /*#__PURE__*/React__default.createElement(StyledLegendItem, _extends({}, forwardedProps, {
110
+ className: classNames(LegendItem.className, className, `_${index}`, {
111
+ selected: isSelected,
112
+ deselected: isDeselected
113
+ }),
114
+ color: isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color,
115
+ ref: ref,
116
+ "aria-labelledby": !isEmpty ? `${id}-title` : undefined,
117
+ "aria-selected": isSelected ? true : isDeselected ? false : undefined,
118
+ id: id,
119
+ onClick: onClick ? () => onClick(data, dataset) : undefined,
120
+ onKeyDown: onClick ? e => onKeyDown(e) : undefined,
121
+ role: role ? role : onClick ? 'button' : undefined,
122
+ tabIndex: onClick ? 0 : undefined,
123
+ $clickable: Boolean(onClick),
124
+ $variant: variant,
125
+ $theme: theme
126
+ }), isLegendCustom ? legendDecorator(data, {
127
+ index,
128
+ isSelected: propsIsSelected,
129
+ color: props.color
130
+ }) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", null), typeof text === 'string' ? variant === LegendVariant.value ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Number, {
131
+ as: "b",
132
+ maximumFractionDigits: 2,
133
+ value: data.data.value,
134
+ variant: "inherit"
135
+ }), /*#__PURE__*/React__default.createElement(Text, {
136
+ variant: "caption"
137
+ }, text)) : variant === LegendVariant.percent && data.data.percent ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Number, {
138
+ as: "b",
139
+ maximumFractionDigits: 2,
140
+ type: "percent",
141
+ value: data.data.percent,
142
+ variant: "inherit"
143
+ }), /*#__PURE__*/React__default.createElement(Text, {
144
+ variant: "caption"
145
+ }, text)) : /*#__PURE__*/React__default.createElement(Text, {
146
+ variant: "caption"
147
+ }, text) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, text)));
148
+ });
149
+ LegendItem.className = CLASSNAME;
150
+ LegendItem.displayName = COMPONENT_NAME;
151
+
152
+ export { LegendItem as L, StyledLegendItem as S };
153
+ //# sourceMappingURL=LegendItem2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendItem2.js","sources":["../../src/components/LegendItem/styles.ts","../../src/components/LegendItem/LegendItem.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledLegendItemProps } from './types';\nimport { LegendVariant } from '@redsift/charts/types';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledLegendItem = styled.li<StyledLegendItemProps>`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: var(--redsift-typography-caption-font-size);\n\n ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n\n ${({ $variant, color }) =>\n $variant !== LegendVariant.custom\n ? css`\n > div {\n height: 16px;\n width: 16px;\n min-width: 16px;\n background-color: ${color};\n }\n `\n : ''}}\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n outline: none;\n > div {\n opacity: 0.7;\n }\n }\n\n &:focus-visible {\n > div {\n outline: 4px solid var(--redsift-color-primary-n);\n }\n }\n `\n : ''}}\n`;\n","import React, { KeyboardEventHandler, forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, Number, Text, useId, useTheme } from '@redsift/design-system';\n\nimport { LegendItemProps } from './types';\nimport { StyledLegendItem } from './styles';\nimport { monochrome } from '../../scheme';\nimport { LegendVariant } from '../../types';\n\nconst COMPONENT_NAME = 'LegendItem';\nconst CLASSNAME = 'redsift-legend-item';\n\nexport const LegendItem: Comp<LegendItemProps, HTMLLIElement> = forwardRef((props, ref) => {\n const { index = 0, isSelected: propsIsSelected, labelDecorator, legendDecorator, onClick, role } = props;\n\n const { className, color = monochrome, data, dataset, id: propsId, variant, ...forwardedProps } = props;\n\n const theme = useTheme();\n\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const isLegendCustom = variant === LegendVariant.custom && legendDecorator;\n const text = labelDecorator ? labelDecorator(data, { index, isSelected: propsIsSelected, color }) : data.data.key;\n const isEmpty = data.data.value === 0;\n\n const isSelectable = role === 'option';\n const isSelected = isSelectable && propsIsSelected === true;\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const onKeyDown: KeyboardEventHandler<HTMLLIElement> = (event) => {\n if (onClick) {\n event.stopPropagation();\n\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n onClick(data, dataset);\n }\n }\n };\n\n return (\n <StyledLegendItem\n {...forwardedProps}\n className={classNames(LegendItem.className, className, `_${index}`, {\n selected: isSelected,\n deselected: isDeselected,\n })}\n color={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n ref={ref}\n aria-labelledby={!isEmpty ? `${id}-title` : undefined}\n aria-selected={isSelected ? true : isDeselected ? false : undefined}\n id={id}\n onClick={onClick ? () => onClick(data, dataset) : undefined}\n onKeyDown={onClick ? (e) => onKeyDown(e) : undefined}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n $clickable={Boolean(onClick)}\n $variant={variant}\n $theme={theme}\n >\n {isLegendCustom ? (\n legendDecorator(data, { index, isSelected: propsIsSelected, color: props.color })\n ) : (\n <>\n <div />\n {typeof text === 'string' ? (\n variant === LegendVariant.value ? (\n <>\n <Number as=\"b\" maximumFractionDigits={2} value={data.data.value} variant=\"inherit\" />\n <Text variant=\"caption\">{text}</Text>\n </>\n ) : variant === LegendVariant.percent && data.data.percent ? (\n <>\n <Number as=\"b\" maximumFractionDigits={2} type=\"percent\" value={data.data.percent} variant=\"inherit\" />\n <Text variant=\"caption\">{text}</Text>\n </>\n ) : (\n <Text variant=\"caption\">{text}</Text>\n )\n ) : (\n <>{text}</>\n )}\n </>\n )}\n </StyledLegendItem>\n );\n});\nLegendItem.className = CLASSNAME;\nLegendItem.displayName = COMPONENT_NAME;\n"],"names":["StyledLegendItem","styled","li","_ref","$theme","css","Theme","dark","_ref2","$variant","color","LegendVariant","custom","_ref3","$clickable","COMPONENT_NAME","CLASSNAME","LegendItem","forwardRef","props","ref","index","isSelected","propsIsSelected","labelDecorator","legendDecorator","onClick","role","className","monochrome","data","dataset","id","propsId","variant","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","_id","useId","isLegendCustom","text","key","isEmpty","value","isSelectable","isDeselected","onKeyDown","event","stopPropagation","code","preventDefault","React","createElement","_extends","classNames","selected","deselected","undefined","e","tabIndex","Boolean","Fragment","Number","as","maximumFractionDigits","Text","percent","type","displayName"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { L as Line, S as StyledLine } from './Line2.js';
2
+ //# sourceMappingURL=Line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Line.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}