@redsift/charts 11.9.4 → 12.0.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/CONTRIBUTING.md +1 -5
- package/_internal/BarChart2.js +2 -2
- package/_internal/ChartContainer2.js +14 -5
- package/_internal/ChartContainer2.js.map +1 -1
- package/_internal/DataPoint2.js +1 -1
- package/_internal/DataPoint2.js.map +1 -1
- package/_internal/Legend3.js +19 -11
- package/_internal/Legend3.js.map +1 -1
- package/_internal/LegendItem2.js +9 -11
- package/_internal/LegendItem2.js.map +1 -1
- package/_internal/LineChart2.js +2 -3
- package/_internal/LineChart2.js.map +1 -1
- package/_internal/PieChart2.js +2 -2
- package/_internal/ScatterPlot2.js +2 -3
- package/_internal/ScatterPlot2.js.map +1 -1
- package/index.d.ts +2674 -64
- package/index.js +2 -2
- package/package.json +5 -6
package/CONTRIBUTING.md
CHANGED
|
@@ -62,10 +62,6 @@ The Design System is following a monorepo architecture, providing multiple packa
|
|
|
62
62
|
|
|
63
63
|
This package provides ready-to-use implementation of components with a customize style to fit Red Sift's use cases. It is based on all other packages.
|
|
64
64
|
|
|
65
|
-
- _Deprecated_ `@redsift/design-system-legacy`
|
|
66
|
-
|
|
67
|
-
This package contains all components prior to the 6.0.0 version. These components are deprecated and contributing to this package is discouraged since it will be removed in the future.
|
|
68
|
-
|
|
69
65
|
Please make sure to work inside the correct package when making contribution.
|
|
70
66
|
|
|
71
67
|
If you need something inside more than one package, do not duplicate the code. Place it inside one package, export it from this package and import it inside the others.
|
|
@@ -410,8 +406,8 @@ yarn build:charts
|
|
|
410
406
|
yarn build:dashboard
|
|
411
407
|
yarn build:design-system
|
|
412
408
|
yarn build:icons
|
|
413
|
-
yarn build:legacy
|
|
414
409
|
yarn build:table
|
|
410
|
+
yarn build:products
|
|
415
411
|
```
|
|
416
412
|
|
|
417
413
|
## Publishing a release
|
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, Number as Number$1, isComponent, RedsiftColorGreenD1, RedsiftColorRedD1, RedsiftColorNeutralBlack, useId } from '@redsift/design-system';
|
|
5
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
-
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
7
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
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { b as _objectSpread2, _ as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef, useState } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import { baseStyling, baseContainer, focusRing, Theme, Flexbox, useId, useTheme, warnIfNoAccessibleLabelFound, useMessageFormatter, ThemeProvider, Heading, Button } from '@redsift/design-system';
|
|
4
|
+
import { baseStyling, baseContainer, focusRing, Theme, Flexbox, getStylingTransientProps, getFlexLayoutTransientProps, useId, useTheme, warnIfNoAccessibleLabelFound, useMessageFormatter, ThemeProvider, Heading, Button } from '@redsift/design-system';
|
|
5
5
|
import styled, { css } from 'styled-components';
|
|
6
6
|
|
|
7
7
|
var interactive$1 = "Interactive";
|
|
@@ -110,6 +110,15 @@ const _excluded = ["aria-label", "aria-labelledby", "description", "descriptionP
|
|
|
110
110
|
const COMPONENT_NAME = 'ChartContainer';
|
|
111
111
|
const CLASSNAME = 'redsift-chart-container';
|
|
112
112
|
const ChartContainer = /*#__PURE__*/forwardRef((props, ref) => {
|
|
113
|
+
const {
|
|
114
|
+
transientProps: stylingTransientProps,
|
|
115
|
+
otherProps: propsWithoutStyling
|
|
116
|
+
} = getStylingTransientProps(props);
|
|
117
|
+
const {
|
|
118
|
+
transientProps: flexTransientProps,
|
|
119
|
+
otherProps
|
|
120
|
+
} = getFlexLayoutTransientProps(propsWithoutStyling);
|
|
121
|
+
const transientProps = _objectSpread2(_objectSpread2({}, stylingTransientProps), flexTransientProps);
|
|
113
122
|
const {
|
|
114
123
|
'aria-label': propsAriaLabel,
|
|
115
124
|
'aria-labelledby': propsAriaLabelledby,
|
|
@@ -130,8 +139,8 @@ const ChartContainer = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
130
139
|
dataTableRepresentation,
|
|
131
140
|
xAxisDefinition,
|
|
132
141
|
yAxisDefinition
|
|
133
|
-
} =
|
|
134
|
-
forwardedProps = _objectWithoutProperties(
|
|
142
|
+
} = otherProps,
|
|
143
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
135
144
|
const [_id] = useId();
|
|
136
145
|
const id = propsId !== null && propsId !== void 0 ? propsId : _id;
|
|
137
146
|
const theme = useTheme(propsTheme);
|
|
@@ -152,7 +161,7 @@ const ChartContainer = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
152
161
|
'aria-label': `${ariaLabel}. ${format(mode)}.`
|
|
153
162
|
} : {}, ariaLabelledby ? {
|
|
154
163
|
'aria-labelledby': `${ariaLabelledby} id${id}__interactive-or-not`
|
|
155
|
-
} : {}, forwardedProps, {
|
|
164
|
+
} : {}, forwardedProps, transientProps, {
|
|
156
165
|
ref: ref,
|
|
157
166
|
className: classNames(ChartContainer.className, className),
|
|
158
167
|
id: id
|
|
@@ -1 +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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"}
|
|
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 { getFlexLayoutTransientProps, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport {\n Button,\n Comp,\n Flexbox,\n getStylingTransientProps,\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 { transientProps: stylingTransientProps, otherProps: propsWithoutStyling } = getStylingTransientProps(props);\n const { transientProps: flexTransientProps, otherProps } = getFlexLayoutTransientProps(propsWithoutStyling);\n const transientProps = { ...stylingTransientProps, ...flexTransientProps };\n\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 } = otherProps;\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 {...transientProps}\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","transientProps","stylingTransientProps","otherProps","propsWithoutStyling","getStylingTransientProps","flexTransientProps","getFlexLayoutTransientProps","_objectSpread","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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"}
|
package/_internal/DataPoint2.js
CHANGED
|
@@ -70,7 +70,7 @@ const DataPoint = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
70
70
|
"aria-labelledby": !showTooltip && !isEmpty ? `${id}-title` : undefined,
|
|
71
71
|
"aria-selected": isSelected ? true : isDeselected ? false : undefined,
|
|
72
72
|
onClick: onClick ? () => onClick(data, dataset) : undefined,
|
|
73
|
-
onKeyDown: onClick ?
|
|
73
|
+
onKeyDown: onClick ? event => onKeyDown(event) : undefined,
|
|
74
74
|
role: role ? role : onClick ? 'button' : href ? undefined : 'img'
|
|
75
75
|
}, forwardedProps, {
|
|
76
76
|
className: classNames(className, `_${index}`, {
|
|
@@ -1 +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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"}
|
|
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 ? (event: React.KeyboardEvent<SVGElement>) => onKeyDown(event) : 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","classNames","selected","deselected","$clickable","Boolean","Tooltip","placement","delay","Trigger","_objectSpread","Content","Text","variant","Number","type","maximumFractionDigits"],"mappings":"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"}
|
package/_internal/Legend3.js
CHANGED
|
@@ -2,10 +2,10 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { sum } from 'd3';
|
|
5
|
+
import { baseContainer, getContainerStylingTransientProps } from '@redsift/design-system';
|
|
5
6
|
import styled from 'styled-components';
|
|
6
|
-
import { baseContainer } from '@redsift/design-system';
|
|
7
|
-
import { L as LegendVariant } from './legend2.js';
|
|
8
7
|
import { L as LegendItem } from './LegendItem2.js';
|
|
8
|
+
import { L as LegendVariant } from './legend2.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Component style.
|
|
@@ -17,11 +17,20 @@ const StyledLegend = styled.ul`
|
|
|
17
17
|
${baseContainer}
|
|
18
18
|
`;
|
|
19
19
|
|
|
20
|
-
const _excluded = ["
|
|
21
|
-
_excluded2 = ["
|
|
20
|
+
const _excluded = ["width"],
|
|
21
|
+
_excluded2 = ["children", "className", "data", "isLegendItemSelected", "labelDecorator", "legendDecorator", "legendItemRole", "onLegendItemClick", "variant"],
|
|
22
|
+
_excluded3 = ["color"];
|
|
22
23
|
const COMPONENT_NAME = 'Legend';
|
|
23
24
|
const CLASSNAME = 'redsift-chart-legend';
|
|
24
25
|
const Legend = /*#__PURE__*/forwardRef((props, ref) => {
|
|
26
|
+
const {
|
|
27
|
+
width
|
|
28
|
+
} = props,
|
|
29
|
+
propsWithoutWidth = _objectWithoutProperties(props, _excluded);
|
|
30
|
+
const {
|
|
31
|
+
transientProps,
|
|
32
|
+
otherProps
|
|
33
|
+
} = getContainerStylingTransientProps(propsWithoutWidth);
|
|
25
34
|
const {
|
|
26
35
|
children,
|
|
27
36
|
className,
|
|
@@ -31,22 +40,21 @@ const Legend = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
31
40
|
legendDecorator,
|
|
32
41
|
legendItemRole,
|
|
33
42
|
onLegendItemClick,
|
|
34
|
-
variant = LegendVariant.label
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
43
|
+
variant = LegendVariant.label
|
|
44
|
+
} = otherProps,
|
|
45
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded2);
|
|
38
46
|
if (!data || data.length === 0) {
|
|
39
47
|
return null;
|
|
40
48
|
}
|
|
41
49
|
const total = sum(data, d => d.value);
|
|
42
50
|
if (children) {
|
|
43
51
|
const renderedChildren = typeof children === 'function' ? children(data, total) : children;
|
|
44
|
-
return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, {
|
|
52
|
+
return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, transientProps, {
|
|
45
53
|
className: classNames(Legend.className, className),
|
|
46
54
|
ref: ref
|
|
47
55
|
}), renderedChildren);
|
|
48
56
|
}
|
|
49
|
-
return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, {
|
|
57
|
+
return /*#__PURE__*/React__default.createElement(StyledLegend, _extends({}, forwardedProps, transientProps, {
|
|
50
58
|
className: classNames(Legend.className, className),
|
|
51
59
|
ref: ref,
|
|
52
60
|
$width: width
|
|
@@ -55,7 +63,7 @@ const Legend = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
55
63
|
let {
|
|
56
64
|
color
|
|
57
65
|
} = _ref,
|
|
58
|
-
datum = _objectWithoutProperties(_ref,
|
|
66
|
+
datum = _objectWithoutProperties(_ref, _excluded3);
|
|
59
67
|
return /*#__PURE__*/React__default.createElement(LegendItem, {
|
|
60
68
|
data: {
|
|
61
69
|
data: _objectSpread2(_objectSpread2({}, datum), {}, {
|
package/_internal/Legend3.js.map
CHANGED
|
@@ -1 +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
|
|
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, getContainerStylingTransientProps } 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 { width, ...propsWithoutWidth } = props;\n const { transientProps, otherProps } = getContainerStylingTransientProps(propsWithoutWidth);\n\n const {\n children,\n className,\n data,\n isLegendItemSelected = () => true,\n labelDecorator,\n legendDecorator,\n legendItemRole,\n onLegendItemClick,\n variant = LegendVariant.label,\n ...forwardedProps\n } = otherProps;\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\n {...forwardedProps}\n {...transientProps}\n className={classNames(Legend.className, className)}\n ref={ref}\n >\n {renderedChildren}\n </StyledLegend>\n );\n }\n\n return (\n <StyledLegend\n {...forwardedProps}\n {...transientProps}\n className={classNames(Legend.className, className)}\n ref={ref}\n $width={width}\n >\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","width","propsWithoutWidth","_objectWithoutProperties","_excluded","transientProps","otherProps","getContainerStylingTransientProps","children","className","data","isLegendItemSelected","labelDecorator","legendDecorator","legendItemRole","onLegendItemClick","variant","LegendVariant","label","forwardedProps","_excluded2","length","total","d3sum","d","value","renderedChildren","React","createElement","_extends","classNames","$width","map","_ref","index","_datum$percent","color","datum","_excluded3","LegendItem","_objectSpread","percent","dataset","isSelected","Boolean","key","onClick","role","displayName"],"mappings":"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"}
|
package/_internal/LegendItem2.js
CHANGED
|
@@ -63,25 +63,23 @@ const StyledLegendItem = styled.li`
|
|
|
63
63
|
}}}
|
|
64
64
|
`;
|
|
65
65
|
|
|
66
|
-
const _excluded = ["className", "color", "data", "dataset", "id", "variant"];
|
|
66
|
+
const _excluded = ["className", "color", "data", "dataset", "id", "variant", "index", "isSelected", "labelDecorator", "legendDecorator", "onClick", "role"];
|
|
67
67
|
const COMPONENT_NAME = 'LegendItem';
|
|
68
68
|
const CLASSNAME = 'redsift-legend-item';
|
|
69
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
70
|
const {
|
|
79
71
|
className,
|
|
80
72
|
color = monochrome,
|
|
81
73
|
data,
|
|
82
74
|
dataset,
|
|
83
75
|
id: propsId,
|
|
84
|
-
variant
|
|
76
|
+
variant,
|
|
77
|
+
index = 0,
|
|
78
|
+
isSelected: propsIsSelected,
|
|
79
|
+
labelDecorator,
|
|
80
|
+
legendDecorator,
|
|
81
|
+
onClick,
|
|
82
|
+
role
|
|
85
83
|
} = props,
|
|
86
84
|
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
87
85
|
const theme = useTheme();
|
|
@@ -117,7 +115,7 @@ const LegendItem = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
117
115
|
"aria-selected": isSelected ? true : isDeselected ? false : undefined,
|
|
118
116
|
id: id,
|
|
119
117
|
onClick: onClick ? () => onClick(data, dataset) : undefined,
|
|
120
|
-
onKeyDown: onClick ?
|
|
118
|
+
onKeyDown: onClick ? event => onKeyDown(event) : undefined,
|
|
121
119
|
role: role ? role : onClick ? 'button' : undefined,
|
|
122
120
|
tabIndex: onClick ? 0 : undefined,
|
|
123
121
|
$clickable: Boolean(onClick),
|
|
@@ -1 +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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"}
|
|
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 {\n className,\n color = monochrome,\n data,\n dataset,\n id: propsId,\n variant,\n index = 0,\n isSelected: propsIsSelected,\n labelDecorator,\n legendDecorator,\n onClick,\n role,\n ...forwardedProps\n } = 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 ? (event: React.KeyboardEvent<HTMLLIElement>) => onKeyDown(event) : 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","className","monochrome","data","dataset","id","propsId","variant","index","isSelected","propsIsSelected","labelDecorator","legendDecorator","onClick","role","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","tabIndex","Boolean","Fragment","Number","as","maximumFractionDigits","Text","percent","type","displayName"],"mappings":";;;;;;;;AAKA;AACA;AACA;AACaA,MAAAA,gBAAgB,GAAGC,MAAM,CAACC,EAA0B,CAAA;AACjE;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AACxB,uCAAyCD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AACzF,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA,EAAA,EAAIC,KAAA,IAAA;EAAA,IAAC;IAAEC,QAAQ;AAAEC,IAAAA,KAAAA;AAAM,GAAC,GAAAF,KAAA,CAAA;AAAA,EAAA,OACpBC,QAAQ,KAAKE,aAAa,CAACC,MAAM,GAC7BP,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA,8BAAA,EAAgCK,KAAM,CAAA;AACtC;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA,EAAA,EAAIG,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,KAAA,CAAA;EAAA,OACfC,UAAU,GACNT,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;;;ACxCA,MAAMU,cAAc,GAAG,YAAY,CAAA;AACnC,MAAMC,SAAS,GAAG,qBAAqB,CAAA;AAEhC,MAAMC,UAAgD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACzF,MAAM;MACJC,SAAS;AACTX,MAAAA,KAAK,GAAGY,UAAU;MAClBC,IAAI;MACJC,OAAO;AACPC,MAAAA,EAAE,EAAEC,OAAO;MACXC,OAAO;AACPC,MAAAA,KAAK,GAAG,CAAC;AACTC,MAAAA,UAAU,EAAEC,eAAe;MAC3BC,cAAc;MACdC,eAAe;MACfC,OAAO;AACPC,MAAAA,IAAAA;AAEF,KAAC,GAAGf,KAAK;AADJgB,IAAAA,cAAc,GAAAC,wBAAA,CACfjB,KAAK,EAAAkB,SAAA,CAAA,CAAA;AAET,EAAA,MAAMC,KAAK,GAAGC,QAAQ,EAAE,CAAA;AAExB,EAAA,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK,EAAE,CAAA;EACrB,MAAMhB,EAAE,GAAGC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,OAAO,GAAIc,GAAG,CAAA;EAEzB,MAAME,cAAc,GAAGf,OAAO,KAAKhB,aAAa,CAACC,MAAM,IAAIoB,eAAe,CAAA;AAC1E,EAAA,MAAMW,IAAI,GAAGZ,cAAc,GAAGA,cAAc,CAACR,IAAI,EAAE;IAAEK,KAAK;AAAEC,IAAAA,UAAU,EAAEC,eAAe;AAAEpB,IAAAA,KAAAA;AAAM,GAAC,CAAC,GAAGa,IAAI,CAACA,IAAI,CAACqB,GAAG,CAAA;EACjH,MAAMC,OAAO,GAAGtB,IAAI,CAACA,IAAI,CAACuB,KAAK,KAAK,CAAC,CAAA;AAErC,EAAA,MAAMC,YAAY,GAAGb,IAAI,KAAK,QAAQ,CAAA;AACtC,EAAA,MAAML,UAAU,GAAGkB,YAAY,IAAIjB,eAAe,KAAK,IAAI,CAAA;AAC3D,EAAA,MAAMkB,YAAY,GAAGD,YAAY,IAAIjB,eAAe,KAAK,KAAK,CAAA;EAE9D,MAAMmB,SAA8C,GAAIC,KAAK,IAAK;AAChE,IAAA,IAAIjB,OAAO,EAAE;MACXiB,KAAK,CAACC,eAAe,EAAE,CAAA;MAEvB,IAAID,KAAK,CAACE,IAAI,KAAK,OAAO,IAAIF,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;QACpDF,KAAK,CAACG,cAAc,EAAE,CAAA;AACtBpB,QAAAA,OAAO,CAACV,IAAI,EAAEC,OAAO,CAAC,CAAA;AACxB,OAAA;AACF,KAAA;GACD,CAAA;EAED,oBACE8B,cAAA,CAAAC,aAAA,CAACvD,gBAAgB,EAAAwD,QAAA,KACXrB,cAAc,EAAA;AAClBd,IAAAA,SAAS,EAAEoC,UAAU,CAACxC,UAAU,CAACI,SAAS,EAAEA,SAAS,EAAG,CAAA,CAAA,EAAGO,KAAM,CAAA,CAAC,EAAE;AAClE8B,MAAAA,QAAQ,EAAE7B,UAAU;AACpB8B,MAAAA,UAAU,EAAEX,YAAAA;AACd,KAAC,CAAE;AACHtC,IAAAA,KAAK,EAAEsC,YAAY,GAAG,yCAAyC,GAAGtC,KAAM;AACxEU,IAAAA,GAAG,EAAEA,GAAI;AACT,IAAA,iBAAA,EAAiB,CAACyB,OAAO,GAAI,GAAEpB,EAAG,CAAA,MAAA,CAAO,GAAGmC,SAAU;IACtD,eAAe/B,EAAAA,UAAU,GAAG,IAAI,GAAGmB,YAAY,GAAG,KAAK,GAAGY,SAAU;AACpEnC,IAAAA,EAAE,EAAEA,EAAG;IACPQ,OAAO,EAAEA,OAAO,GAAG,MAAMA,OAAO,CAACV,IAAI,EAAEC,OAAO,CAAC,GAAGoC,SAAU;IAC5DX,SAAS,EAAEhB,OAAO,GAAIiB,KAAyC,IAAKD,SAAS,CAACC,KAAK,CAAC,GAAGU,SAAU;IACjG1B,IAAI,EAAEA,IAAI,GAAGA,IAAI,GAAGD,OAAO,GAAG,QAAQ,GAAG2B,SAAU;AACnDC,IAAAA,QAAQ,EAAE5B,OAAO,GAAG,CAAC,GAAG2B,SAAU;AAClC9C,IAAAA,UAAU,EAAEgD,OAAO,CAAC7B,OAAO,CAAE;AAC7BxB,IAAAA,QAAQ,EAAEkB,OAAQ;AAClBvB,IAAAA,MAAM,EAAEkC,KAAAA;AAAM,GAAA,CAAA,EAEbI,cAAc,GACbV,eAAe,CAACT,IAAI,EAAE;IAAEK,KAAK;AAAEC,IAAAA,UAAU,EAAEC,eAAe;IAAEpB,KAAK,EAAES,KAAK,CAACT,KAAAA;AAAM,GAAC,CAAC,gBAEjF4C,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAS,QAAA,EAAA,IAAA,eACET,cAAA,CAAAC,aAAA,YAAM,CAAC,EACN,OAAOZ,IAAI,KAAK,QAAQ,GACvBhB,OAAO,KAAKhB,aAAa,CAACmC,KAAK,gBAC7BQ,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAS,QAAA,EAAA,IAAA,eACET,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AAACC,IAAAA,EAAE,EAAC,GAAG;AAACC,IAAAA,qBAAqB,EAAE,CAAE;AAACpB,IAAAA,KAAK,EAAEvB,IAAI,CAACA,IAAI,CAACuB,KAAM;AAACnB,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAE,CAAC,eACrF2B,cAAA,CAAAC,aAAA,CAACY,IAAI,EAAA;AAACxC,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAA,EAAEgB,IAAW,CACpC,CAAC,GACDhB,OAAO,KAAKhB,aAAa,CAACyD,OAAO,IAAI7C,IAAI,CAACA,IAAI,CAAC6C,OAAO,gBACxDd,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAS,QAAA,EAAA,IAAA,eACET,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AAACC,IAAAA,EAAE,EAAC,GAAG;AAACC,IAAAA,qBAAqB,EAAE,CAAE;AAACG,IAAAA,IAAI,EAAC,SAAS;AAACvB,IAAAA,KAAK,EAAEvB,IAAI,CAACA,IAAI,CAAC6C,OAAQ;AAACzC,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAE,CAAC,eACtG2B,cAAA,CAAAC,aAAA,CAACY,IAAI,EAAA;AAACxC,IAAAA,OAAO,EAAC,SAAA;GAAWgB,EAAAA,IAAW,CACpC,CAAC,gBAEHW,cAAA,CAAAC,aAAA,CAACY,IAAI,EAAA;AAACxC,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAA,EAAEgB,IAAW,CACrC,gBAEDW,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAS,QAAA,EAAA,IAAA,EAAGpB,IAAO,CAEZ,CAEY,CAAC,CAAA;AAEvB,CAAC,EAAC;AACF1B,UAAU,CAACI,SAAS,GAAGL,SAAS,CAAA;AAChCC,UAAU,CAACqD,WAAW,GAAGvD,cAAc;;;;"}
|
package/_internal/LineChart2.js
CHANGED
|
@@ -2,15 +2,15 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef, useRef, useEffect } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { useTheme, useMessageFormatter, Flexbox, useId } from '@redsift/design-system';
|
|
5
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
-
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
7
5
|
import styled from 'styled-components';
|
|
8
6
|
import { C as ChartContainer } from './ChartContainer2.js';
|
|
9
7
|
import { scaleLinear, extent, scaleTime, scalePoint, line } from 'd3';
|
|
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 } from './Axis2.js';
|
|
11
10
|
import { L as Line } from './Line2.js';
|
|
12
11
|
import { D as Dot, a as DotVariant } from './Dot2.js';
|
|
13
12
|
import { L as Legend } from './Legend3.js';
|
|
13
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Component's labels variant.
|
|
@@ -650,7 +650,6 @@ const LineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
650
650
|
labelDecorator: labelDecorator,
|
|
651
651
|
legendDecorator: legendDecorator,
|
|
652
652
|
legendVariant: legendVariant,
|
|
653
|
-
localeText: localeText,
|
|
654
653
|
onDotClick: onDotClick,
|
|
655
654
|
size: size,
|
|
656
655
|
sortingMethod: sortingMethod,
|