@redsift/charts 7.4.1 → 7.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +4 -0
- package/index.d.ts +1 -3
- package/index.js +22 -672
- package/index.js.map +1 -1
- package/package.json +4 -3
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types.ts","../../design-system/src/utils/redsift-design-tokens.ts","../src/scheme.ts","../src/components/HorizontalBarChart/types.ts","../src/components/HorizontalBarChart/styles.ts","../../../node_modules/reactjs-popup/dist/reactjs-popup.esm.js","../src/components/HorizontalBarChart/HorizontalBarChartBar.tsx","../src/components/HorizontalBarChart/HorizontalBarChartAxisBottom.tsx","../src/components/HorizontalBarChart/HorizontalBarChart.tsx","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../src/components/PieChart/PieChartArc.tsx","../src/components/PieChart/PieChart.tsx"],"sourcesContent":["import { PieArcDatum as D3PieArcDatum } from 'd3-shape';\nimport { ValueOf } from '~/types';\n\nexport type ChartDimensions = {\n width: number;\n height: number;\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n};\n\nexport type Datum = {\n name: string;\n value: number;\n};\n\nexport type PieArcDatum = D3PieArcDatum<Datum>;\n\nexport const ColorTheme = {\n default: 'default',\n dark: 'dark',\n darker: 'darker',\n monochrome: 'monochrome',\n} as const;\nexport type ColorTheme = ValueOf<typeof ColorTheme>;\n\nexport type SuccessDangerColorTheme = {\n success: string;\n warning: string;\n danger: string;\n neutral?: string;\n};\n","/**\n * Do not edit directly\n * Generated on Thu, 09 Feb 2023 16:05:01 GMT\n */\n\nexport const RedsiftColorDefaultPrimary = '#0079e1';\nexport const RedsiftColorDefaultSecondary = '#0063b9';\nexport const RedsiftColorDefaultHover = '#dce8f3';\nexport const RedsiftColorDefaultActive = '#c4dcf1';\nexport const RedsiftColorDefaultActiveHover = '#abcfef';\nexport const RedsiftColorDefaultPrimaryActive = '#004a8a';\nexport const RedsiftColorWebsitePrimary = '#0079e1';\nexport const RedsiftColorWebsiteSecondary = '#0063b9';\nexport const RedsiftColorWebsiteHover = '#dce8f3';\nexport const RedsiftColorWebsiteActive = '#c4dcf1';\nexport const RedsiftColorWebsiteActiveHover = '#abcfef';\nexport const RedsiftColorWebsitePrimaryActive = '#004a8a';\nexport const RedsiftColorOndmarcPrimary = '#02ac61';\nexport const RedsiftColorOndmarcSecondary = '#009252';\nexport const RedsiftColorOndmarcHover = '#dcede6';\nexport const RedsiftColorOndmarcActive = '#c4e6d7';\nexport const RedsiftColorOndmarcActiveHover = '#acdfc8';\nexport const RedsiftColorOndmarcPrimaryActive = '#00512e';\nexport const RedsiftColorOninboxPrimary = '#33b222';\nexport const RedsiftColorOninboxSecondary = '#268519';\nexport const RedsiftColorOninboxHover = '#e1eedf';\nexport const RedsiftColorOninboxActive = '#cee8cb';\nexport const RedsiftColorOninboxActiveHover = '#bae0b5';\nexport const RedsiftColorOninboxPrimaryActive = '#164e0e';\nexport const RedsiftColorOndomainPrimary = '#028062';\nexport const RedsiftColorOndomainSecondary = '#015944';\nexport const RedsiftColorOndomainHover = '#dce9e6';\nexport const RedsiftColorOndomainActive = '#c4ded8';\nexport const RedsiftColorOndomainActiveHover = '#acd1c8';\nexport const RedsiftColorOndomainPrimaryActive = '#003f30';\nexport const RedsiftColorHardenizePrimary = '#0f7ab3';\nexport const RedsiftColorHardenizeSecondary = '#3498db';\nexport const RedsiftColorHardenizeHover = '#dee8ee';\nexport const RedsiftColorHardenizeActive = '#c7dce8';\nexport const RedsiftColorHardenizeActiveHover = '#b0d0e1';\nexport const RedsiftColorHardenizePrimaryActive = '#0a5379';\nexport const RedsiftColorToolsPrimary = '#37bdfb';\nexport const RedsiftColorToolsSecondary = '#02a2ef';\nexport const RedsiftColorToolsHover = '#e2eff5';\nexport const RedsiftColorToolsActive = '#cfeaf6';\nexport const RedsiftColorToolsActiveHover = '#bce4f6';\nexport const RedsiftColorToolsPrimaryActive = '#237ea8';\nexport const RedsiftColorSuccessPrimary = '#02ac61';\nexport const RedsiftColorSuccessSecondary = '#009252';\nexport const RedsiftColorSuccessHover = '#dcede6';\nexport const RedsiftColorSuccessActive = '#c4e6d7';\nexport const RedsiftColorSuccessActiveHover = '#acdfc8';\nexport const RedsiftColorSuccessPrimaryActive = '#00512e';\nexport const RedsiftColorErrorPrimary = '#e11010';\nexport const RedsiftColorErrorSecondary = '#b41010';\nexport const RedsiftColorErrorHover = '#f3dede';\nexport const RedsiftColorErrorActive = '#f1c7c7';\nexport const RedsiftColorErrorActiveHover = '#efb0b0';\nexport const RedsiftColorErrorPrimaryActive = '#770a0a';\nexport const RedsiftColorWarningPrimary = '#fcbb54';\nexport const RedsiftColorWarningSecondary = '#c09300';\nexport const RedsiftColorWarningHover = '#f5efe4';\nexport const RedsiftColorWarningActive = '#f6e9d5';\nexport const RedsiftColorWarningActiveHover = '#f7e3c4';\nexport const RedsiftColorWarningPrimaryActive = '#ae833f';\nexport const RedsiftColorInfoPrimary = '#0079e1';\nexport const RedsiftColorInfoSecondary = '#0063b9';\nexport const RedsiftColorInfoHover = '#dce8f3';\nexport const RedsiftColorInfoActive = '#c4dcf1';\nexport const RedsiftColorInfoActiveHover = '#abcfef';\nexport const RedsiftColorInfoPrimaryActive = '#004a8a';\nexport const RedsiftColorQuestionPrimary = '#666666';\nexport const RedsiftColorQuestionSecondary = '#1c1c1c';\nexport const RedsiftColorQuestionHover = '#e6e6e6';\nexport const RedsiftColorQuestionActive = '#d8d8d8';\nexport const RedsiftColorQuestionActiveHover = '#cacaca';\nexport const RedsiftColorNoDataPrimary = '#bdbdbd';\nexport const RedsiftColorNoDataSecondary = '#666666';\nexport const RedsiftColorNoDataHover = '#efefef';\nexport const RedsiftColorNoDataActive = '#eaeaea';\nexport const RedsiftColorNoDataActiveHover = '#e4e4e4';\nexport const RedsiftColorNeutralBlack = '#1c1c1c';\nexport const RedsiftColorNeutralDarkgrey = '#666666';\nexport const RedsiftColorNeutralMidgrey = '#bdbdbd';\nexport const RedsiftColorNeutralLightgrey = '#ebebeb';\nexport const RedsiftColorNeutralXlightgrey = '#f5f5f5';\nexport const RedsiftColorNeutralWhite = '#ffffff';\nexport const RedsiftAppBarColorBackground = '#0079e1';\nexport const RedsiftAppBarColorText = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconResting = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconHover = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconBackgroundHover = '#0063b9';\nexport const RedsiftDataVizColorPurpleDefault = '#C1AAEA';\nexport const RedsiftDataVizColorPurpleDark = '#A78ADB';\nexport const RedsiftDataVizColorPurpleDarker = '#8D6CC9';\nexport const RedsiftDataVizColorPurpleLight = '#D9CAF5';\nexport const RedsiftDataVizColorPurpleLighter = '#F0E9FC';\nexport const RedsiftDataVizColorBlueDefault = '#B6DAEE';\nexport const RedsiftDataVizColorBlueDark = '#97C5DE';\nexport const RedsiftDataVizColorBlueDarker = '#73ADCC';\nexport const RedsiftDataVizColorBlueLight = '#D8EDF8';\nexport const RedsiftDataVizColorBlueLighter = '#F6FBFE';\nexport const RedsiftDataVizColorGreenDefault = '#B3E3C5';\nexport const RedsiftDataVizColorGreenDark = '#90D2A9';\nexport const RedsiftDataVizColorGreenDarker = '#6DBE8B';\nexport const RedsiftDataVizColorGreenLight = '#D3F0DE';\nexport const RedsiftDataVizColorGreenLighter = '#EDFAF1';\nexport const RedsiftDataVizColorRedDefault = '#EAADAC';\nexport const RedsiftDataVizColorRedDark = '#D18785';\nexport const RedsiftDataVizColorRedDarker = '#BA6361';\nexport const RedsiftDataVizColorRedLight = '#FFD3D2';\nexport const RedsiftDataVizColorRedLighter = '#FFE5E5';\nexport const RedsiftDataVizColorPinkDefault = '#E2A7D7';\nexport const RedsiftDataVizColorPinkDark = '#D185C3';\nexport const RedsiftDataVizColorPinkDarker = '#BD63AC';\nexport const RedsiftDataVizColorPinkLight = '#EFC8E8';\nexport const RedsiftDataVizColorPinkLighter = '#F9E6F6';\nexport const RedsiftDataVizColorCyanDefault = '#AFF5F3';\nexport const RedsiftDataVizColorCyanDark = '#8CEAE6';\nexport const RedsiftDataVizColorCyanDarker = '#6CDCD8';\nexport const RedsiftDataVizColorCyanLight = '#D4FCFA';\nexport const RedsiftDataVizColorCyanLighter = '#E1FFFF';\nexport const RedsiftDataVizColorOrangeDefault = '#F2D39E';\nexport const RedsiftDataVizColorOrangeDark = '#D8B475';\nexport const RedsiftDataVizColorOrangeDarker = '#BD954F';\nexport const RedsiftDataVizColorOrangeLight = '#FFE8C0';\nexport const RedsiftDataVizColorOrangeLighter = '#FFF0D7';\nexport const RedsiftDataVizColorYellowDefault = '#F6EFC7';\nexport const RedsiftDataVizColorYellowDark = '#DED4A0';\nexport const RedsiftDataVizColorYellowDarker = '#C6BB7A';\nexport const RedsiftDataVizColorYellowLight = '#FFFBE1';\nexport const RedsiftDataVizColorYellowLighter = '#FFFDF0';\nexport const RedsiftDataVizColorBrownDefault = '#E6C2A0';\nexport const RedsiftDataVizColorBrownDark = '#CDA279';\nexport const RedsiftDataVizColorBrownDarker = '#B58556';\nexport const RedsiftDataVizColorBrownLight = '#FFE3C9';\nexport const RedsiftDataVizColorBrownLighter = '#FFEEDE';\nexport const RedsiftDataVizColorGreyDefault = '#E5E5E5';\nexport const RedsiftDataVizColorGreyDark = '#BDBDBD';\nexport const RedsiftDataVizColorGreyDarker = '#666666';\nexport const RedsiftDataVizColorGreyLight = '#F5F5F5';\nexport const RedsiftDataVizColorGreyLighter = '#FFFFFF';\nexport const RedsiftSideNavigationColorBackground = '#2D2D34';\nexport const RedsiftSideNavigationColorMenuItemTextResting = '#FFFFFFB3';\nexport const RedsiftSideNavigationColorMenuItemTextDisabled = '#76767A';\nexport const RedsiftSideNavigationColorMenuItemTextHover = '#FFFFFF';\nexport const RedsiftSideNavigationColorMenuItemBackgroundHover = '#4C4C64';\nexport const RedsiftSideNavigationColorMenuItemBackgroundSecondary = '#333340';\nexport const RedsiftSideNavigationColorMenuItemBackgroundActive = '#39394C';\nexport const RedsiftSideNavigationColorMenuItemActive = '#02AC61';\nexport const RedsiftSideNavigationColorScrollbarResting = '#4C4C64';\nexport const RedsiftSideNavigationColorScrollbarHover = '#5d5d73';\nexport const RedsiftTypographyFontFamilyRaleway = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyFontFamilyElectrolize =\n \"'electrolize', sans-serif\";\nexport const RedsiftTypographyFontFamilySourceCodePro =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyFontWeightRegular = '400';\nexport const RedsiftTypographyFontWeightMedium = '500';\nexport const RedsiftTypographyFontWeightSemiBold = '600';\nexport const RedsiftTypographyFontWeightBold = '700';\nexport const RedsiftTypographyH1FontFamily = \"'electrolize', sans-serif\";\nexport const RedsiftTypographyH1FontSize = '24px';\nexport const RedsiftTypographyH1FontWeight = '400';\nexport const RedsiftTypographyH1LineHeight = '28px';\nexport const RedsiftTypographyH1TextTransform = 'uppercase';\nexport const RedsiftTypographyH2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH2FontSize = '24px';\nexport const RedsiftTypographyH2FontWeight = '600';\nexport const RedsiftTypographyH2LineHeight = '28px';\nexport const RedsiftTypographyH2TextTransform = 'unset';\nexport const RedsiftTypographyH3FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH3FontSize = '20px';\nexport const RedsiftTypographyH3FontWeight = '500';\nexport const RedsiftTypographyH3LineHeight = '24px';\nexport const RedsiftTypographyH3TextTransform = 'unset';\nexport const RedsiftTypographyH4FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH4FontSize = '18px';\nexport const RedsiftTypographyH4FontWeight = '500';\nexport const RedsiftTypographyH4LineHeight = '22px';\nexport const RedsiftTypographyH4TextTransform = 'unset';\nexport const RedsiftTypographyH5FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH5FontSize = '16px';\nexport const RedsiftTypographyH5FontWeight = '600';\nexport const RedsiftTypographyH5LineHeight = '20px';\nexport const RedsiftTypographyH5TextTransform = 'unset';\nexport const RedsiftTypographySubtitleFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographySubtitleFontSize = '15px';\nexport const RedsiftTypographySubtitleFontWeight = '700';\nexport const RedsiftTypographySubtitleLineHeight = '26px';\nexport const RedsiftTypographySubtitleTextTransform = 'unset';\nexport const RedsiftTypographyBodyFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBodyFontSize = '15px';\nexport const RedsiftTypographyBodyFontWeight = '400';\nexport const RedsiftTypographyBodyLineHeight = '26px';\nexport const RedsiftTypographyBodyTextTransform = 'unset';\nexport const RedsiftTypographyBody2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBody2FontSize = '14px';\nexport const RedsiftTypographyBody2FontWeight = '400';\nexport const RedsiftTypographyBody2LineHeight = '20px';\nexport const RedsiftTypographyLinkFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyLinkFontSize = '15px';\nexport const RedsiftTypographyLinkFontWeight = '400';\nexport const RedsiftTypographyLinkLineHeight = '26px';\nexport const RedsiftTypographyInputTextFontFamily =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyInputTextFontSize = '15px';\nexport const RedsiftTypographyInputTextFontWeight = '400';\nexport const RedsiftTypographyInputTextLineHeight = '26px';\nexport const RedsiftTypographyButtonFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyButtonFontSize = '15px';\nexport const RedsiftTypographyButtonFontWeight = '500';\nexport const RedsiftTypographyButtonLineHeight = '26px';\nexport const RedsiftTypographyButtonTextTransform = 'uppercase';\nexport const RedsiftTypographyCaptionFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyCaptionFontSize = '13px';\nexport const RedsiftTypographyCaptionFontWeight = '400';\nexport const RedsiftTypographyCaptionLineHeight = '23px';\nexport const RedsiftTypographyCaptionTextTransform = 'unset';\nexport const RedsiftTypographyHelperFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyHelperFontSize = '12px';\nexport const RedsiftTypographyHelperFontWeight = '400';\nexport const RedsiftTypographyHelperLineHeight = '16px';\nexport const RedsiftTypographyBadgeFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyBadgeFontSize = '12px';\nexport const RedsiftTypographyBadgeFontWeight = '500';\nexport const RedsiftTypographyBadgeLineHeight = '20px';\nexport const RedsiftTypographyPillFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyPillFontSize = '15px';\nexport const RedsiftTypographyPillFontWeight = '500';\nexport const RedsiftTypographyPillLineHeight = '28px';\nexport const RedsiftTypographyChipFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyChipFontSize = '13px';\nexport const RedsiftTypographyChipFontWeight = '400';\nexport const RedsiftTypographyChipLineHeight = '18px';\n","import {\n scaleOrdinal as d3scaleOrdinal,\n ScaleOrdinal as d3ScaleOrdinal,\n} from 'd3';\nimport { ColorTheme, SuccessDangerColorTheme } from './types';\n\nimport {\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorGreyDark,\n RedsiftDataVizColorGreyDarker,\n RedsiftDataVizColorGreyDefault,\n RedsiftDataVizColorGreyLight,\n RedsiftDataVizColorGreyLighter,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorYellowLighter,\n} from '~/utils';\n\nexport const monochrome = RedsiftDataVizColorBlueDefault;\n\nexport const scheme = {\n default: [\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorGreyDefault,\n ],\n dark: [\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorGreyDark,\n ],\n darker: [\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorGreyDarker,\n ],\n light: [\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorGreyLight,\n ],\n lighter: [\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorYellowLighter,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorGreyLighter,\n ],\n monochrome: [monochrome],\n empty: [RedsiftDataVizColorGreyDark],\n};\n\nexport const successDangerScheme = {\n success: RedsiftDataVizColorGreenDark,\n warning: RedsiftDataVizColorOrangeDark,\n danger: RedsiftDataVizColorRedDark,\n neutral: RedsiftDataVizColorGreyDark,\n};\n\nexport const getColorScale = (\n theme: ColorTheme | SuccessDangerColorTheme,\n isEmpty?: boolean\n): d3ScaleOrdinal<string, string> => {\n let d3colors = d3scaleOrdinal(scheme.default);\n if (isEmpty) {\n d3colors = d3scaleOrdinal(scheme.empty);\n } else if (typeof theme === 'string') {\n d3colors = d3scaleOrdinal(scheme[theme]);\n } else if (typeof theme === 'object') {\n d3colors = d3scaleOrdinal()\n .domain([\n theme.success,\n theme.warning,\n theme.danger,\n ...(theme.neutral ? [theme.neutral] : []),\n ])\n .range([\n successDangerScheme.success,\n successDangerScheme.warning,\n successDangerScheme.danger,\n ...(theme.neutral ? [successDangerScheme.neutral] : []),\n ])\n .unknown(monochrome) as any;\n }\n\n return d3colors;\n};\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\n\n/**\n * Component size.\n */\nexport const HorizontalBarChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type HorizontalBarChartSize = ValueOf<typeof HorizontalBarChartSize>;\n\n/**\n * Component theme.\n */\nexport const HorizontalBarChartTheme = ColorTheme;\nexport type HorizontalBarChartTheme = ValueOf<typeof HorizontalBarChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const HorizontalBarChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type HorizontalBarChartTooltipVariant = ValueOf<\n typeof HorizontalBarChartTooltipVariant\n>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface HorizontalBarChartProps extends ComponentProps<'div'> {\n /** Whether the x axis labels are rotated or not. */\n areXLabelsRotated?: boolean;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a bar. */\n onBarClick?: (data: Datum) => void;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** HorizontalBarChart size. */\n size?: HorizontalBarChartSize;\n /** Bar role. Used to indicate that bars are to be considered buttons or links. If an onClick is provided, the bars will have the role `button` unless specifically set to `link` with this prop. */\n barRole?: 'button' | 'link';\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: HorizontalBarChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** Tooltip variant. */\n tooltipVariant?: HorizontalBarChartTooltipVariant;\n}\n\nexport type StyledHorizontalBarChartProps = Omit<\n HorizontalBarChartProps,\n 'data'\n> & {};\n\nexport interface HorizontalBarChartBarProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n gap: number;\n height: number;\n index: number;\n isEmpty: boolean;\n onClick?: () => void;\n role?: HorizontalBarChartProps['barRole'];\n showTooltip: boolean;\n tooltipLabelOnly: boolean;\n tooltipPercent: string | null;\n width: number;\n}\n\nexport type StyledHorizontalBarChartBarProps = Omit<\n HorizontalBarChartBarProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'gap'\n | 'height'\n | 'index'\n | 'isEmpty'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'width'\n> & {\n $clickable: boolean;\n};\n\nexport interface HorizontalBarChartAxisBottomProps extends ComponentProps<'g'> {\n areXLabelsRotated: boolean;\n chartHeight: number;\n d3scale: d3ScaleLinear<number, number>;\n}\n\nexport type StyledHorizontalBarChartAxisBottomProps = Omit<\n HorizontalBarChartAxisBottomProps,\n 'areXLabelsRotated' | 'chartHeight' | 'd3scale'\n> & {};\n","import styled, { css } from 'styled-components';\nimport {\n StyledHorizontalBarChartProps,\n StyledHorizontalBarChartBarProps,\n} from './types';\n\n/**\n * Component style.\n */\nexport const StyledHorizontalBarChart = styled.div<StyledHorizontalBarChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-horizontal-barchart__container {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 11px;\n justify-content: center;\n margin: 8px 0;\n\n .redsift-horizontal-barchart-container__chart {\n position: relative;\n }\n }\n\n svg {\n display: block;\n\n g {\n margin: 8px;\n }\n }\n`;\n\nexport const StyledHorizontalBarChartTitle = styled.div<StyledHorizontalBarChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledHorizontalBarChartCaption = styled.p<StyledHorizontalBarChartProps>`\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`;\n\nexport const StyledHorizontalBarChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n\nexport const StyledHorizontalBarChartBar = styled.g<StyledHorizontalBarChartBarProps>`\n rect {\n fill-opacity: 0.9;\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n outline: none;\n rect {\n fill-opacity: 0.7;\n }\n }\n\n &:focus-visible {\n rect {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n\nexport const StyledHorizontalBarChartTooltip = styled.div`\n font-family: var(--redsift-typography-font-family-raleway);\n border: 1px solid rgb(0 0 0 / 20%);\n padding: 10px;\n box-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%),\n 0 1px 3px 0 rgb(0 0 0 / 12%);\n background-color: var(--redsift-color-neutral-white);\n`;\n\nexport const StyledHorizontalBarChartAxisBottom = styled.g`\n line.grid-line {\n fill: none;\n stroke: #ccc;\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 10px;\n }\n`;\n","import React, { useEffect, useLayoutEffect, forwardRef, useState, useRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar useOnEscape = function useOnEscape(handler, active) {\n if (active === void 0) {\n active = true;\n }\n\n useEffect(function () {\n if (!active) return;\n\n var listener = function listener(event) {\n // check if key is an Escape\n if (event.key === 'Escape') handler(event);\n };\n\n document.addEventListener('keyup', listener);\n return function () {\n if (!active) return;\n document.removeEventListener('keyup', listener);\n };\n }, [handler, active]);\n};\nvar useRepositionOnResize = function useRepositionOnResize(handler, active) {\n if (active === void 0) {\n active = true;\n }\n\n useEffect(function () {\n if (!active) return;\n\n var listener = function listener() {\n handler();\n };\n\n window.addEventListener('resize', listener);\n return function () {\n if (!active) return;\n window.removeEventListener('resize', listener);\n };\n }, [handler, active]);\n};\nvar useOnClickOutside = function useOnClickOutside(ref, handler, active) {\n if (active === void 0) {\n active = true;\n }\n\n useEffect(function () {\n if (!active) return;\n\n var listener = function listener(event) {\n // Do nothing if clicking ref's element or descendent elements\n var refs = Array.isArray(ref) ? ref : [ref];\n var contains = false;\n refs.forEach(function (r) {\n if (!r.current || r.current.contains(event.target)) {\n contains = true;\n return;\n }\n });\n event.stopPropagation();\n if (!contains) handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return function () {\n if (!active) return;\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, handler, active]);\n}; // Make sure that user is not able TAB out of the Modal content on Open\n\nvar useTabbing = function useTabbing(contentRef, active) {\n if (active === void 0) {\n active = true;\n }\n\n useEffect(function () {\n if (!active) return;\n\n var listener = function listener(event) {\n // check if key is an Tab\n if (event.keyCode === 9) {\n var _contentRef$current;\n\n var els = contentRef === null || contentRef === void 0 ? void 0 : (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]');\n var focusableEls = Array.prototype.slice.call(els);\n\n if (focusableEls.length === 1) {\n event.preventDefault();\n return;\n }\n\n var firstFocusableEl = focusableEls[0];\n var lastFocusableEl = focusableEls[focusableEls.length - 1];\n\n if (event.shiftKey && document.activeElement === firstFocusableEl) {\n event.preventDefault();\n lastFocusableEl.focus();\n } else if (document.activeElement === lastFocusableEl) {\n event.preventDefault();\n firstFocusableEl.focus();\n }\n }\n };\n\n document.addEventListener('keydown', listener);\n return function () {\n if (!active) return;\n document.removeEventListener('keydown', listener);\n };\n }, [contentRef, active]);\n};\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nvar Style = {\n popupContent: {\n tooltip: {\n position: 'absolute',\n zIndex: 999\n },\n modal: {\n position: 'relative',\n margin: 'auto'\n }\n },\n popupArrow: {\n height: '8px',\n width: '16px',\n position: 'absolute',\n background: 'transparent',\n color: '#FFF',\n zIndex: -1\n },\n overlay: {\n tooltip: {\n position: 'fixed',\n top: '0',\n bottom: '0',\n left: '0',\n right: '0',\n zIndex: 999\n },\n modal: {\n position: 'fixed',\n top: '0',\n bottom: '0',\n left: '0',\n right: '0',\n display: 'flex',\n zIndex: 999\n }\n }\n};\n\nvar POSITION_TYPES = ['top left', 'top center', 'top right', 'right top', 'right center', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left center', 'left bottom'];\n\nvar getCoordinatesForPosition = function getCoordinatesForPosition(triggerBounding, ContentBounding, position, //PopupPosition | PopupPosition[],\narrow, _ref) {\n var offsetX = _ref.offsetX,\n offsetY = _ref.offsetY;\n var margin = arrow ? 8 : 0;\n var args = position.split(' '); // the step N 1 : center the popup content => ok\n\n var CenterTop = triggerBounding.top + triggerBounding.height / 2;\n var CenterLeft = triggerBounding.left + triggerBounding.width / 2;\n var height = ContentBounding.height,\n width = ContentBounding.width;\n var top = CenterTop - height / 2;\n var left = CenterLeft - width / 2;\n var transform = '';\n var arrowTop = '0%';\n var arrowLeft = '0%'; // the step N 2 : => ok\n\n switch (args[0]) {\n case 'top':\n top -= height / 2 + triggerBounding.height / 2 + margin;\n transform = \"rotate(180deg) translateX(50%)\";\n arrowTop = '100%';\n arrowLeft = '50%';\n break;\n\n case 'bottom':\n top += height / 2 + triggerBounding.height / 2 + margin;\n transform = \"rotate(0deg) translateY(-100%) translateX(-50%)\";\n arrowLeft = '50%';\n break;\n\n case 'left':\n left -= width / 2 + triggerBounding.width / 2 + margin;\n transform = \" rotate(90deg) translateY(50%) translateX(-25%)\";\n arrowLeft = '100%';\n arrowTop = '50%';\n break;\n\n case 'right':\n left += width / 2 + triggerBounding.width / 2 + margin;\n transform = \"rotate(-90deg) translateY(-150%) translateX(25%)\";\n arrowTop = '50%';\n break;\n }\n\n switch (args[1]) {\n case 'top':\n top = triggerBounding.top;\n arrowTop = triggerBounding.height / 2 + \"px\";\n break;\n\n case 'bottom':\n top = triggerBounding.top - height + triggerBounding.height;\n arrowTop = height - triggerBounding.height / 2 + \"px\";\n break;\n\n case 'left':\n left = triggerBounding.left;\n arrowLeft = triggerBounding.width / 2 + \"px\";\n break;\n\n case 'right':\n left = triggerBounding.left - width + triggerBounding.width;\n arrowLeft = width - triggerBounding.width / 2 + \"px\";\n break;\n }\n\n top = args[0] === 'top' ? top - offsetY : top + offsetY;\n left = args[0] === 'left' ? left - offsetX : left + offsetX;\n return {\n top: top,\n left: left,\n transform: transform,\n arrowLeft: arrowLeft,\n arrowTop: arrowTop\n };\n};\n\nvar getTooltipBoundary = function getTooltipBoundary(keepTooltipInside) {\n // add viewport\n var boundingBox = {\n top: 0,\n left: 0,\n\n /* eslint-disable-next-line no-undef */\n width: window.innerWidth,\n\n /* eslint-disable-next-line no-undef */\n height: window.innerHeight\n };\n\n if (typeof keepTooltipInside === 'string') {\n /* eslint-disable-next-line no-undef */\n var selector = document.querySelector(keepTooltipInside);\n\n if (process.env.NODE_ENV !== 'production') {\n if (selector === null) throw new Error(keepTooltipInside + \" selector does not exist : keepTooltipInside must be a valid html selector 'class' or 'Id' or a boolean value\");\n }\n\n if (selector !== null) boundingBox = selector.getBoundingClientRect();\n }\n\n return boundingBox;\n};\n\nvar calculatePosition = function calculatePosition(triggerBounding, ContentBounding, position, arrow, _ref2, keepTooltipInside) {\n var offsetX = _ref2.offsetX,\n offsetY = _ref2.offsetY;\n var bestCoords = {\n arrowLeft: '0%',\n arrowTop: '0%',\n left: 0,\n top: 0,\n transform: 'rotate(135deg)'\n };\n var i = 0;\n var wrapperBox = getTooltipBoundary(keepTooltipInside);\n var positions = Array.isArray(position) ? position : [position]; // keepTooltipInside would be activated if the keepTooltipInside exist or the position is Array\n\n if (keepTooltipInside || Array.isArray(position)) positions = [].concat(positions, POSITION_TYPES); // add viewPort for WarpperBox\n // wrapperBox.top = wrapperBox.top + window.scrollY;\n // wrapperBox.left = wrapperBox.left + window.scrollX;\n\n while (i < positions.length) {\n bestCoords = getCoordinatesForPosition(triggerBounding, ContentBounding, positions[i], arrow, {\n offsetX: offsetX,\n offsetY: offsetY\n });\n var contentBox = {\n top: bestCoords.top,\n left: bestCoords.left,\n width: ContentBounding.width,\n height: ContentBounding.height\n };\n\n if (contentBox.top <= wrapperBox.top || contentBox.left <= wrapperBox.left || contentBox.top + contentBox.height >= wrapperBox.top + wrapperBox.height || contentBox.left + contentBox.width >= wrapperBox.left + wrapperBox.width) {\n i++;\n } else {\n break;\n }\n }\n\n return bestCoords;\n};\n\nvar popupIdCounter = 0;\n\nvar getRootPopup = function getRootPopup() {\n var PopupRoot = document.getElementById('popup-root');\n\n if (PopupRoot === null) {\n PopupRoot = document.createElement('div');\n PopupRoot.setAttribute('id', 'popup-root');\n document.body.appendChild(PopupRoot);\n }\n\n return PopupRoot;\n};\n\nvar Popup = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$trigger = _ref.trigger,\n trigger = _ref$trigger === void 0 ? null : _ref$trigger,\n _ref$onOpen = _ref.onOpen,\n onOpen = _ref$onOpen === void 0 ? function () {} : _ref$onOpen,\n _ref$onClose = _ref.onClose,\n onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,\n _ref$defaultOpen = _ref.defaultOpen,\n defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? undefined : _ref$open,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$nested = _ref.nested,\n nested = _ref$nested === void 0 ? false : _ref$nested,\n _ref$closeOnDocumentC = _ref.closeOnDocumentClick,\n closeOnDocumentClick = _ref$closeOnDocumentC === void 0 ? true : _ref$closeOnDocumentC,\n _ref$repositionOnResi = _ref.repositionOnResize,\n repositionOnResize = _ref$repositionOnResi === void 0 ? true : _ref$repositionOnResi,\n _ref$closeOnEscape = _ref.closeOnEscape,\n closeOnEscape = _ref$closeOnEscape === void 0 ? true : _ref$closeOnEscape,\n _ref$on = _ref.on,\n on = _ref$on === void 0 ? ['click'] : _ref$on,\n _ref$contentStyle = _ref.contentStyle,\n contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle,\n _ref$arrowStyle = _ref.arrowStyle,\n arrowStyle = _ref$arrowStyle === void 0 ? {} : _ref$arrowStyle,\n _ref$overlayStyle = _ref.overlayStyle,\n overlayStyle = _ref$overlayStyle === void 0 ? {} : _ref$overlayStyle,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? 'bottom center' : _ref$position,\n _ref$modal = _ref.modal,\n modal = _ref$modal === void 0 ? false : _ref$modal,\n _ref$lockScroll = _ref.lockScroll,\n lockScroll = _ref$lockScroll === void 0 ? false : _ref$lockScroll,\n _ref$arrow = _ref.arrow,\n arrow = _ref$arrow === void 0 ? true : _ref$arrow,\n _ref$offsetX = _ref.offsetX,\n offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,\n _ref$offsetY = _ref.offsetY,\n offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY,\n _ref$mouseEnterDelay = _ref.mouseEnterDelay,\n mouseEnterDelay = _ref$mouseEnterDelay === void 0 ? 100 : _ref$mouseEnterDelay,\n _ref$mouseLeaveDelay = _ref.mouseLeaveDelay,\n mouseLeaveDelay = _ref$mouseLeaveDelay === void 0 ? 100 : _ref$mouseLeaveDelay,\n _ref$keepTooltipInsid = _ref.keepTooltipInside,\n keepTooltipInside = _ref$keepTooltipInsid === void 0 ? false : _ref$keepTooltipInsid,\n children = _ref.children;\n\n var _useState = useState(open || defaultOpen),\n isOpen = _useState[0],\n setIsOpen = _useState[1];\n\n var triggerRef = useRef(null);\n var contentRef = useRef(null);\n var arrowRef = useRef(null);\n var focusedElBeforeOpen = useRef(null);\n var popupId = useRef(\"popup-\" + ++popupIdCounter);\n var isModal = modal ? true : !trigger;\n var timeOut = useRef(0);\n useIsomorphicLayoutEffect(function () {\n if (isOpen) {\n focusedElBeforeOpen.current = document.activeElement;\n setPosition();\n focusContentOnOpen(); // for accessibility\n\n lockScrolll();\n } else {\n resetScroll();\n }\n\n return function () {\n clearTimeout(timeOut.current);\n };\n }, [isOpen]); // for uncontrolled popup we need to sync isOpen with open prop\n\n useEffect(function () {\n if (typeof open === 'boolean') {\n if (open) openPopup();else closePopup();\n }\n }, [open, disabled]);\n\n var openPopup = function openPopup(event) {\n if (isOpen || disabled) return;\n setIsOpen(true);\n setTimeout(function () {\n return onOpen(event);\n }, 0);\n };\n\n var closePopup = function closePopup(event) {\n var _focusedElBeforeOpen$;\n\n if (!isOpen || disabled) return;\n setIsOpen(false);\n if (isModal) (_focusedElBeforeOpen$ = focusedElBeforeOpen.current) === null || _focusedElBeforeOpen$ === void 0 ? void 0 : _focusedElBeforeOpen$.focus();\n setTimeout(function () {\n return onClose(event);\n }, 0);\n };\n\n var togglePopup = function togglePopup(event) {\n event === null || event === void 0 ? void 0 : event.stopPropagation();\n if (!isOpen) openPopup(event);else closePopup(event);\n };\n\n var onMouseEnter = function onMouseEnter(event) {\n clearTimeout(timeOut.current);\n timeOut.current = setTimeout(function () {\n return openPopup(event);\n }, mouseEnterDelay);\n };\n\n var onContextMenu = function onContextMenu(event) {\n event === null || event === void 0 ? void 0 : event.preventDefault();\n togglePopup();\n };\n\n var onMouseLeave = function onMouseLeave(event) {\n clearTimeout(timeOut.current);\n timeOut.current = setTimeout(function () {\n return closePopup(event);\n }, mouseLeaveDelay);\n };\n\n var lockScrolll = function lockScrolll() {\n if (isModal && lockScroll) document.getElementsByTagName('body')[0].style.overflow = 'hidden'; // migrate to document.body\n };\n\n var resetScroll = function resetScroll() {\n if (isModal && lockScroll) document.getElementsByTagName('body')[0].style.overflow = 'auto';\n };\n\n var focusContentOnOpen = function focusContentOnOpen() {\n var _contentRef$current;\n\n var focusableEls = contentRef === null || contentRef === void 0 ? void 0 : (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]');\n var firstEl = Array.prototype.slice.call(focusableEls)[0];\n firstEl === null || firstEl === void 0 ? void 0 : firstEl.focus();\n };\n\n useImperativeHandle(ref, function () {\n return {\n open: function open() {\n openPopup();\n },\n close: function close() {\n closePopup();\n },\n toggle: function toggle() {\n togglePopup();\n }\n };\n }); // set Position\n\n var setPosition = function setPosition() {\n if (isModal || !isOpen) return;\n if (!(triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) || !(triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) || !(contentRef === null || contentRef === void 0 ? void 0 : contentRef.current)) return; /// show error as one of ref is undefined\n\n var trigger = triggerRef.current.getBoundingClientRect();\n var content = contentRef.current.getBoundingClientRect();\n var cords = calculatePosition(trigger, content, position, arrow, {\n offsetX: offsetX,\n offsetY: offsetY\n }, keepTooltipInside);\n contentRef.current.style.top = cords.top + window.scrollY + \"px\";\n contentRef.current.style.left = cords.left + window.scrollX + \"px\";\n\n if (arrow && !!arrowRef.current) {\n var _arrowStyle$top, _arrowStyle$left;\n\n arrowRef.current.style.transform = cords.transform;\n arrowRef.current.style.setProperty('-ms-transform', cords.transform);\n arrowRef.current.style.setProperty('-webkit-transform', cords.transform);\n arrowRef.current.style.top = ((_arrowStyle$top = arrowStyle.top) === null || _arrowStyle$top === void 0 ? void 0 : _arrowStyle$top.toString()) || cords.arrowTop;\n arrowRef.current.style.left = ((_arrowStyle$left = arrowStyle.left) === null || _arrowStyle$left === void 0 ? void 0 : _arrowStyle$left.toString()) || cords.arrowLeft;\n }\n }; // hooks\n\n\n useOnEscape(closePopup, closeOnEscape); // can be optimized if we disabled for hover\n\n useTabbing(contentRef, isOpen && isModal);\n useRepositionOnResize(setPosition, repositionOnResize);\n useOnClickOutside(!!trigger ? [contentRef, triggerRef] : [contentRef], closePopup, closeOnDocumentClick && !nested); // we need to add a ne\n // render the trigger element and add events\n\n var renderTrigger = function renderTrigger() {\n var triggerProps = {\n key: 'T',\n ref: triggerRef,\n 'aria-describedby': popupId.current\n };\n var onAsArray = Array.isArray(on) ? on : [on];\n\n for (var i = 0, len = onAsArray.length; i < len; i++) {\n switch (onAsArray[i]) {\n case 'click':\n triggerProps.onClick = togglePopup;\n break;\n\n case 'right-click':\n triggerProps.onContextMenu = onContextMenu;\n break;\n\n case 'hover':\n triggerProps.onMouseEnter = onMouseEnter;\n triggerProps.onMouseLeave = onMouseLeave;\n break;\n\n case 'focus':\n triggerProps.onFocus = onMouseEnter;\n triggerProps.onBlur = onMouseLeave;\n break;\n }\n }\n\n if (typeof trigger === 'function') {\n var comp = trigger(isOpen);\n return !!trigger && React.cloneElement(comp, triggerProps);\n }\n\n return !!trigger && React.cloneElement(trigger, triggerProps);\n };\n\n var addWarperAction = function addWarperAction() {\n var popupContentStyle = isModal ? Style.popupContent.modal : Style.popupContent.tooltip;\n var childrenElementProps = {\n className: \"popup-content \" + (className !== '' ? className.split(' ').map(function (c) {\n return c + \"-content\";\n }).join(' ') : ''),\n style: _extends({}, popupContentStyle, contentStyle, {\n pointerEvents: 'auto'\n }),\n ref: contentRef,\n onClick: function onClick(e) {\n e.stopPropagation();\n }\n };\n\n if (!modal && on.indexOf('hover') >= 0) {\n childrenElementProps.onMouseEnter = onMouseEnter;\n childrenElementProps.onMouseLeave = onMouseLeave;\n }\n\n return childrenElementProps;\n };\n\n var renderContent = function renderContent() {\n return React.createElement(\"div\", Object.assign({}, addWarperAction(), {\n key: \"C\",\n role: isModal ? 'dialog' : 'tooltip',\n id: popupId.current\n }), arrow && !isModal && React.createElement(\"div\", {\n ref: arrowRef,\n style: Style.popupArrow\n }, React.createElement(\"svg\", {\n \"data-testid\": \"arrow\",\n className: \"popup-arrow \" + (className !== '' ? className.split(' ').map(function (c) {\n return c + \"-arrow\";\n }).join(' ') : ''),\n viewBox: \"0 0 32 16\",\n style: _extends({\n position: 'absolute'\n }, arrowStyle)\n }, React.createElement(\"path\", {\n d: \"M16 0l16 16H0z\",\n fill: \"currentcolor\"\n }))), children && typeof children === 'function' ? children(closePopup, isOpen) : children);\n };\n\n var overlay = !(on.indexOf('hover') >= 0);\n var ovStyle = isModal ? Style.overlay.modal : Style.overlay.tooltip;\n var content = [overlay && React.createElement(\"div\", {\n key: \"O\",\n \"data-testid\": \"overlay\",\n \"data-popup\": isModal ? 'modal' : 'tooltip',\n className: \"popup-overlay \" + (className !== '' ? className.split(' ').map(function (c) {\n return c + \"-overlay\";\n }).join(' ') : ''),\n style: _extends({}, ovStyle, overlayStyle, {\n pointerEvents: closeOnDocumentClick && nested || isModal ? 'auto' : 'none'\n }),\n onClick: closeOnDocumentClick && nested ? closePopup : undefined,\n tabIndex: -1\n }, isModal && renderContent()), !isModal && renderContent()];\n return React.createElement(React.Fragment, null, renderTrigger(), isOpen && ReactDOM.createPortal(content, getRootPopup()));\n});\n\nexport default Popup;\nexport { Popup };\n//# sourceMappingURL=reactjs-popup.esm.js.map\n","import React, { forwardRef, KeyboardEventHandler } from 'react';\nimport Popup from 'reactjs-popup';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { HorizontalBarChartBarProps } from './types';\nimport {\n StyledHorizontalBarChartBar,\n StyledHorizontalBarChartTooltip,\n} from './styles';\n\nconst COMPONENT_NAME = 'HorizontalBarChartBar';\nconst CLASSNAME = 'redsift-horizontal-barchart-bar';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartBarProps> = {};\n\nexport const HorizontalBarChartBar: Comp<\n HorizontalBarChartBarProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const {\n chartId,\n color,\n data,\n gap,\n height,\n index,\n isEmpty,\n onClick,\n role,\n showTooltip,\n tooltipLabelOnly,\n tooltipPercent,\n width,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Bar = (\n <StyledHorizontalBarChartBar\n ref={ref as any}\n {...forwardedProps}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n id={`id${chartId}__slice-${index}`}\n className={`row _${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n transform={`translate(0,${gap * (index + 1) + height * index})`}\n $clickable={Boolean(onClick)}\n >\n <rect height={height} width={width} fill={color} />\n <text x=\"10\" y={height / 2} dy=\"0.35em\" aria-hidden={true}>\n {data.name}\n </text>\n {!showTooltip && !isEmpty && (\n <title>{`${data.name}: ${data.value}`}</title>\n )}\n </StyledHorizontalBarChartBar>\n );\n\n if (showTooltip) {\n const tooltipValue =\n tooltipPercent !== null ? `${tooltipPercent}%` : data.value;\n return (\n <Popup on=\"hover\" arrow={false} position=\"right center\" trigger={Bar}>\n <StyledHorizontalBarChartTooltip>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </StyledHorizontalBarChartTooltip>\n </Popup>\n );\n }\n\n return Bar;\n});\nHorizontalBarChartBar.className = CLASSNAME;\nHorizontalBarChartBar.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartBar.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { HorizontalBarChartAxisBottomProps } from './types';\nimport { StyledHorizontalBarChartAxisBottom } from './styles';\nimport { select, axisBottom } from 'd3';\n\nconst COMPONENT_NAME = 'HorizontalBarChartAxisBottom';\nconst CLASSNAME = 'redsift-horizontal-barchart-axis-bottom';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartAxisBottomProps> = {};\n\nexport const HorizontalBarChartAxisBottom: Comp<\n HorizontalBarChartAxisBottomProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const { areXLabelsRotated, chartHeight, d3scale, ...forwardedProps } = props;\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n useEffect(() => {\n if (axisRef.current) {\n select(axisRef.current).call(axisBottom(d3scale).ticks(5));\n\n select(axisRef.current)\n .selectAll('g.tick')\n .select('line.grid-line')\n .remove();\n\n select(axisRef.current)\n .selectAll('g.tick')\n .append('line')\n .attr('class', 'grid-line')\n .attr('x1', 0)\n .attr('y1', 0)\n .attr('x2', 0)\n .attr('y2', () => -chartHeight);\n\n if (areXLabelsRotated) {\n select(axisRef.current)\n .attr('text-anchor', 'end')\n .selectAll('text')\n .attr('transform', 'translate(-6,5) rotate(-45)');\n }\n }\n }, [d3scale]);\n\n return (\n <StyledHorizontalBarChartAxisBottom\n className=\"axis\"\n {...forwardedProps}\n ref={axisRef}\n />\n );\n});\nHorizontalBarChartAxisBottom.className = CLASSNAME;\nHorizontalBarChartAxisBottom.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartAxisBottom.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useId } from 'react';\nimport { scaleLinear as d3scaleLinear, sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n HorizontalBarChartProps,\n HorizontalBarChartSize,\n HorizontalBarChartTheme,\n HorizontalBarChartTooltipVariant,\n} from './types';\nimport {\n StyledHorizontalBarChart,\n StyledHorizontalBarChartCaption,\n StyledHorizontalBarChartEmptyText,\n StyledHorizontalBarChartTitle,\n} from './styles';\nimport { HorizontalBarChartBar } from './HorizontalBarChartBar';\nimport { HorizontalBarChartAxisBottom } from './HorizontalBarChartAxisBottom';\n\nconst COMPONENT_NAME = 'HorizontalBarChart';\nconst CLASSNAME = 'redsift-horizontal-barchart';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartProps> = {\n others: true,\n size: HorizontalBarChartSize.medium,\n theme: HorizontalBarChartTheme.default,\n tooltipVariant: HorizontalBarChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: HorizontalBarChartSize): ChartDimensions => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return { width: 300, height: 200 };\n case HorizontalBarChartSize.large:\n return { width: 500, height: 400 };\n case HorizontalBarChartSize.medium:\n default:\n return { width: 400, height: 300 };\n }\n};\n\nconst sizeToFontSize = (size: HorizontalBarChartSize | undefined): number => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return 30;\n case HorizontalBarChartSize.large:\n return 38;\n case HorizontalBarChartSize.medium:\n default:\n return 34;\n }\n};\n\nexport const HorizontalBarChart: Comp<HorizontalBarChartProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n areXLabelsRotated,\n caping,\n caption,\n className,\n data: propData,\n onBarClick,\n others,\n size,\n barRole,\n theme,\n title,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n if (isEmpty) {\n data = [];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width - 16;\n const height = chartDimensions.height;\n const chartHeight = height - 48 - (areXLabelsRotated ? 30 : 0);\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const numberOfRows = data.length;\n const gap = 5;\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const scaleX = d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range([0, width - 32]);\n const barHeight = (chartHeight - (numberOfRows + 1) * gap) / numberOfRows;\n\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledHorizontalBarChart\n ref={ref as any}\n {...forwardedProps}\n className={className}\n >\n {title ? (\n <StyledHorizontalBarChartTitle\n className={`${HorizontalBarChart.className}__title`}\n id={`id${id}__title`}\n >\n {title}\n </StyledHorizontalBarChartTitle>\n ) : null}\n <div className={`${HorizontalBarChart.className}__container`}>\n <div\n className={`${HorizontalBarChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Horizontal Bar Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {isEmpty ? (\n <StyledHorizontalBarChartEmptyText\n $maxWidth={width}\n $textSize={sizeToFontSize(size) / 2}\n >\n <span>{emptyChartText}</span>\n </StyledHorizontalBarChartEmptyText>\n ) : null}\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <HorizontalBarChartAxisBottom\n areXLabelsRotated={!!areXLabelsRotated}\n chartHeight={chartHeight}\n d3scale={scaleX}\n transform={`translate(0,${chartHeight})`}\n />\n {data.map(({ value, name }, index) => {\n const percent = ((value / total) * 100).toFixed(2);\n return (\n <HorizontalBarChartBar\n chartId={id}\n color={d3colors(name)}\n data={{ value, name }}\n gap={gap}\n height={barHeight}\n index={index}\n isEmpty={isEmpty}\n key={`row _${index}`}\n onClick={\n onBarClick ? () => onBarClick(data[index]) : undefined\n }\n role={barRole}\n showTooltip={\n tooltipVariant !==\n HorizontalBarChartTooltipVariant.none && !isEmpty\n }\n tooltipLabelOnly={\n tooltipVariant == HorizontalBarChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant ===\n HorizontalBarChartTooltipVariant.percent\n ? percent\n : null\n }\n width={Math.abs(scaleX(value))}\n />\n );\n })}\n </g>\n </svg>\n </div>\n </div>\n {caption ? (\n <StyledHorizontalBarChartCaption\n className={`${HorizontalBarChart.className}__caption`}\n >\n {caption}\n </StyledHorizontalBarChartCaption>\n ) : null}\n </StyledHorizontalBarChart>\n );\n });\nHorizontalBarChart.className = CLASSNAME;\nHorizontalBarChart.defaultProps = DEFAULT_PROPS;\nHorizontalBarChart.displayName = COMPONENT_NAME;\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\n\n/**\n * Component size.\n */\nexport const PieChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type PieChartSize = ValueOf<typeof PieChartSize>;\n\n/**\n * Component variant.\n */\nexport const PieChartVariant = {\n plain: 'plain',\n spaced: 'spaced',\n donut: 'donut',\n spacedDonut: 'spacedDonut',\n} as const;\nexport type PieChartVariant = ValueOf<typeof PieChartVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const PieChartLabelVariant = {\n none: 'none',\n internal: 'internal',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n} as const;\nexport type PieChartLabelVariant = ValueOf<typeof PieChartLabelVariant>;\n\n/**\n * Component theme.\n */\nexport const PieChartTheme = ColorTheme;\nexport type PieChartTheme = ValueOf<typeof PieChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const PieChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type PieChartTooltipVariant = ValueOf<typeof PieChartTooltipVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface PieChartProps extends ComponentProps<'div'> {\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. */\n labelVariant?: PieChartLabelVariant;\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a slice. */\n onSliceClick?: (data: Datum) => void;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** PieChart size. */\n size?: PieChartSize;\n /** Slice role. Used to indicate that slices are to be considered buttons or links. If an onClick is provided, the slices will have the role `button` unless specifically set to `link` with this prop. */\n sliceRole?: 'button' | 'link';\n /** Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. */\n middleText?: string;\n /** Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. */\n subtext?: string;\n /** Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. */\n text?: string;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: PieChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** PieChart variant. */\n variant?: PieChartVariant;\n /** Tooltip variant. */\n tooltipVariant?: PieChartTooltipVariant;\n}\n\nexport type StyledPieChartProps = Omit<PieChartProps, 'data'> & {};\n\nexport interface PieChartArcProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n index: number;\n onClick?: () => void;\n path: string;\n role?: PieChartProps['sliceRole'];\n spaced?: boolean;\n showTooltip: boolean;\n tooltipPercent: string | null;\n tooltipLabelOnly: boolean;\n isEmpty: boolean;\n}\n\nexport type StyledPieChartArcProps = Omit<\n PieChartArcProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'index'\n | 'path'\n | 'spaced'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'isEmpty'\n> & {\n $spaced: boolean;\n $clickable: boolean;\n};\n","import styled, { css } from 'styled-components';\nimport { StyledPieChartProps, StyledPieChartArcProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPieChart = styled.div<StyledPieChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-piechart__container {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 11px;\n justify-content: center;\n margin: 8px 0;\n\n .redsift-piechart-container__chart {\n position: relative;\n }\n }\n svg {\n display: block;\n }\n`;\n\nexport const StyledPieChartTitle = styled.div<StyledPieChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledPieChartCaption = styled.p<StyledPieChartProps>`\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`;\n\nexport const StyledPieChartCenterText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $smallTextSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > b {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n color: var(--redsift-color-neutral-black);\n font-weight: var(--redsift-typography-font-weight-medium);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n\n &:nth-child(2) {\n font-weight: normal;\n margin-top: 8px;\n font-family: var(--redsift-typography-font-family-raleway);\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > span {\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n &:nth-child(3) {\n margin-top: 4px;\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > b + span {\n font-size: var(--redsift-typography-body-font-size);\n font-family: var(--redsift-typography-font-family-raleway);\n line-height: var(--redsift-typography-badge-line-height);\n color: rgba(0, 0, 0, 0.6);\n text-align: center;\n }\n`;\n\nexport const StyledPieChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $isDonut: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: ${({ $isDonut }) =>\n $isDonut\n ? css`var(--redsift-color-neutral-midgrey)`\n : css`var(--redsift-color-neutral-black)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n\nexport const StyledPieChartLabel = styled.li<{ $color: string }>`\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n max-width: 262px;\n font-family: var(--redsift-typography-font-family-raleway);\n font-weight: var(--redsift-typography-font-weight-regular);\n font-size: var(--redsift-typography-caption-font-size);\n\n > div {\n height: 16px;\n width: 16px;\n min-width: 16px;\n background-color: ${({ $color }) => $color};\n }\n\n > b {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-weight: var(--redsift-typography-font-weight-bold);\n font-size: var(--redsift-typography-caption-font-size);\n }\n`;\n\nexport const StyledPieChartArc = styled.g<StyledPieChartArcProps>`\n ${({ $spaced }) =>\n $spaced\n ? css`\n path {\n stroke-width: 2px;\n stroke: #fff;\n }\n `\n : ''}\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n opacity: 0.8;\n outline: none;\n }\n\n &:focus-visible {\n path {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n\nexport const StyledPieChartTooltip = styled.div`\n font-family: var(--redsift-typography-font-family-raleway);\n border: 1px solid rgb(0 0 0 / 20%);\n padding: 10px;\n box-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%),\n 0 1px 3px 0 rgb(0 0 0 / 12%);\n background-color: var(--redsift-color-neutral-white);\n`;\n","import React, { forwardRef, KeyboardEventHandler } from 'react';\nimport Popup from 'reactjs-popup';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { PieChartArcProps } from './types';\nimport { StyledPieChartArc, StyledPieChartTooltip } from './styles';\n\nconst COMPONENT_NAME = 'PieChartArc';\nconst CLASSNAME = 'redsift-piechart-arc';\nconst DEFAULT_PROPS: Partial<PieChartArcProps> = {};\n\nexport const PieChartArc: Comp<PieChartArcProps, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n chartId,\n color,\n data,\n index,\n onClick,\n path,\n role,\n spaced,\n showTooltip,\n tooltipPercent,\n tooltipLabelOnly,\n isEmpty,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Arc = (\n <StyledPieChartArc\n ref={ref as any}\n {...forwardedProps}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n className={`pie-slice _${index}`}\n id={`id${chartId}__slice-${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n $clickable={Boolean(onClick)}\n $spaced={Boolean(spaced)}\n >\n <path d={path} fill={color} />\n {!showTooltip && !isEmpty ? (\n <title\n id={`id${chartId}__slice-${index}-title`}\n >{`${data.name}: ${data.value}`}</title>\n ) : null}\n </StyledPieChartArc>\n );\n\n if (showTooltip) {\n const tooltipValue =\n tooltipPercent !== null ? `${tooltipPercent}%` : data.value;\n return (\n <Popup on=\"hover\" arrow={false} position=\"right center\" trigger={Arc}>\n <StyledPieChartTooltip>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </StyledPieChartTooltip>\n </Popup>\n );\n }\n\n return Arc;\n }\n);\nPieChartArc.className = CLASSNAME;\nPieChartArc.defaultProps = DEFAULT_PROPS;\nPieChartArc.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useId } from 'react';\nimport { arc as d3arc, pie as d3pie, sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum, PieArcDatum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n PieChartLabelVariant,\n PieChartProps,\n PieChartSize,\n PieChartTheme,\n PieChartTooltipVariant,\n PieChartVariant,\n} from './types';\nimport {\n StyledPieChartCenterText,\n StyledPieChart,\n StyledPieChartCaption,\n StyledPieChartLabel,\n StyledPieChartTitle,\n StyledPieChartEmptyText,\n} from './styles';\nimport { PieChartArc } from './PieChartArc';\n\nconst COMPONENT_NAME = 'PieChart';\nconst CLASSNAME = 'redsift-piechart';\nconst DEFAULT_PROPS: Partial<PieChartProps> = {\n labelVariant: PieChartLabelVariant.none,\n others: true,\n size: PieChartSize.medium,\n theme: PieChartTheme.default,\n variant: PieChartVariant.plain,\n tooltipVariant: PieChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: PieChartSize): ChartDimensions => {\n switch (size) {\n case PieChartSize.small:\n return { width: 200, height: 200 };\n case PieChartSize.large:\n return { width: 300, height: 300 };\n case PieChartSize.medium:\n default:\n return { width: 240, height: 240 };\n }\n};\n\nconst sizeToSmallFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 13;\n case PieChartSize.large:\n return 18;\n case PieChartSize.medium:\n default:\n return 14;\n }\n};\n\nconst sizeToFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 30;\n case PieChartSize.large:\n return 38;\n case PieChartSize.medium:\n default:\n return 34;\n }\n};\n\nconst sizeToInnerRadius = (size: PieChartSize): number => {\n switch (size) {\n case PieChartSize.small:\n return 55;\n case PieChartSize.large:\n return 80;\n case PieChartSize.medium:\n default:\n return 65;\n }\n};\n\nexport const PieChart: Comp<PieChartProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n caping,\n caption,\n className,\n data: propData,\n labelVariant,\n onSliceClick,\n others,\n size,\n sliceRole,\n text,\n middleText,\n subtext,\n theme,\n title,\n variant,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n const isDonut =\n variant === PieChartVariant.donut ||\n variant === PieChartVariant.spacedDonut;\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n if (isEmpty) {\n data = [\n {\n name: emptyChartText as string,\n value: 100,\n },\n ];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const externalRadiusPadding = 8;\n const innerRadius = sizeToInnerRadius(size!);\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const createPie = d3pie<Datum>()\n .value((d) => d.value)\n .sort(null);\n const createArc = d3arc<PieArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(chartDimensions.width / 2 - externalRadiusPadding);\n const pieData = createPie(data);\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledPieChart\n ref={ref as any}\n {...forwardedProps}\n className={className}\n >\n {title ? (\n <StyledPieChartTitle\n className={`${PieChart.className}__title`}\n id={`id${id}__title`}\n >\n {title}\n </StyledPieChartTitle>\n ) : null}\n <div className={`${PieChart.className}__container`}>\n <div\n className={`${PieChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Pie Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {text && !isEmpty ? (\n <StyledPieChartCenterText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size)}\n $smallTextSize={sizeToSmallFontSize(size)}\n >\n {subtext ? <b>{text}</b> : <span>{text}</span>}\n {middleText ? <b>{middleText}</b> : null}\n <span>{subtext}</span>\n </StyledPieChartCenterText>\n ) : null}\n {isEmpty ? (\n <StyledPieChartEmptyText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size) / 2}\n $isDonut={isDonut}\n >\n <span>{emptyChartText}</span>\n </StyledPieChartEmptyText>\n ) : null}\n <svg width={chartDimensions.width} height={chartDimensions.height}>\n <g\n transform={`translate(${chartDimensions.width / 2} ${\n chartDimensions.height / 2\n })`}\n >\n <g className=\"pie-slice-group\">\n {pieData.map((datum, index) => {\n const percent = ((datum.data.value / total) * 100).toFixed(\n 2\n );\n return (\n <PieChartArc\n chartId={id}\n color={d3colors(datum.data.name)}\n data={datum.data}\n isEmpty={isEmpty}\n index={index}\n key={`pie-slice _${index}`}\n onClick={\n onSliceClick\n ? () => onSliceClick(data[index])\n : undefined\n }\n showTooltip={\n tooltipVariant !== PieChartTooltipVariant.none &&\n !isEmpty\n }\n role={sliceRole}\n tooltipLabelOnly={\n tooltipVariant == PieChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant === PieChartTooltipVariant.percent\n ? percent\n : null\n }\n path={createArc(datum) as string}\n spaced={\n variant === PieChartVariant.spaced ||\n variant === PieChartVariant.spacedDonut\n }\n />\n );\n })}\n </g>\n {labelVariant === PieChartLabelVariant.internal && !isEmpty ? (\n <g className=\"pie-label-group\">\n {pieData\n .filter((datum) => {\n const value = datum.data.value;\n return value > 0 && value / total >= 0.1;\n })\n .map((datum, index) => (\n <text\n className={`pie-slice pie-label _${index}`}\n key={`pie-slice pie-label _${index}`}\n textAnchor=\"middle\"\n transform={`translate(${createArc.centroid(datum)})`}\n >\n {datum.data.name}\n </text>\n ))}\n </g>\n ) : null}\n </g>\n </svg>\n </div>\n {labelVariant !== PieChartLabelVariant.none &&\n labelVariant !== PieChartLabelVariant.internal ? (\n <ul>\n {data.map(({ name, value }: Datum, index) => (\n <StyledPieChartLabel\n key={`pie-external-label _${index}`}\n $color={d3colors(name)}\n >\n <div />\n {labelVariant === PieChartLabelVariant.externalLabelValue ? (\n <b>{value}</b>\n ) : labelVariant ===\n PieChartLabelVariant.externalLabelPercent ? (\n <b>{`${((value * 100) / total).toFixed(2)}%`}</b>\n ) : null}\n <span>{name}</span>\n </StyledPieChartLabel>\n ))}\n </ul>\n ) : null}\n </div>\n {caption ? (\n <StyledPieChartCaption className={`${PieChart.className}__caption`}>\n {caption}\n </StyledPieChartCaption>\n ) : null}\n </StyledPieChart>\n );\n }\n);\nPieChart.className = CLASSNAME;\nPieChart.defaultProps = DEFAULT_PROPS;\nPieChart.displayName = COMPONENT_NAME;\n"],"names":["ColorTheme","default","dark","darker","monochrome","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorBlueDefault","RedsiftDataVizColorBlueDark","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorBlueLight","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorGreenDark","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorGreenLight","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorRedDefault","RedsiftDataVizColorRedDark","RedsiftDataVizColorRedDarker","RedsiftDataVizColorRedLight","RedsiftDataVizColorRedLighter","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorPinkDark","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorPinkLight","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorCyanDefault","RedsiftDataVizColorCyanDark","RedsiftDataVizColorCyanDarker","RedsiftDataVizColorCyanLight","RedsiftDataVizColorCyanLighter","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorYellowDark","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorYellowLight","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorBrownDark","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorBrownLight","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorGreyDefault","RedsiftDataVizColorGreyDark","RedsiftDataVizColorGreyDarker","RedsiftDataVizColorGreyLight","RedsiftDataVizColorGreyLighter","scheme","light","lighter","empty","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","isEmpty","d3colors","d3scaleOrdinal","domain","range","unknown","HorizontalBarChartSize","small","medium","large","HorizontalBarChartTheme","HorizontalBarChartTooltipVariant","none","label","value","percent","StyledHorizontalBarChart","styled","div","StyledHorizontalBarChartTitle","StyledHorizontalBarChartCaption","p","StyledHorizontalBarChartEmptyText","$maxWidth","$textSize","StyledHorizontalBarChartBar","g","$clickable","css","StyledHorizontalBarChartTooltip","StyledHorizontalBarChartAxisBottom","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","HorizontalBarChartBar","forwardRef","props","ref","chartId","color","data","gap","height","index","onClick","role","showTooltip","tooltipLabelOnly","tooltipPercent","width","forwardedProps","_excluded","onKeyDown","event","stopPropagation","code","preventDefault","Bar","_extends","name","undefined","Boolean","tooltipValue","className","defaultProps","displayName","HorizontalBarChartAxisBottom","areXLabelsRotated","chartHeight","d3scale","axisRef","useRef","useEffect","current","select","call","axisBottom","ticks","selectAll","remove","append","attr","others","size","tooltipVariant","localeText","emptyChartText","sizeToDimension","sizeToFontSize","HorizontalBarChart","id","useId","ariaLabel","ariaLabelledby","caping","caption","propData","onBarClick","barRole","title","every","d","sort","a","b","slice","reduce","acc","curr","chartDimensions","margins","top","left","right","bottom","numberOfRows","length","scaleX","d3scaleLinear","Math","max","map","barHeight","total","d3sum","toFixed","abs","PieChartSize","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","internal","externalLabel","externalLabelValue","externalLabelPercent","PieChartTheme","PieChartTooltipVariant","StyledPieChart","StyledPieChartTitle","StyledPieChartCaption","StyledPieChartCenterText","$smallTextSize","StyledPieChartEmptyText","$isDonut","StyledPieChartLabel","li","$color","StyledPieChartArc","$spaced","StyledPieChartTooltip","PieChartArc","path","Arc","labelVariant","variant","sizeToSmallFontSize","sizeToInnerRadius","PieChart","onSliceClick","sliceRole","text","middleText","subtext","isDonut","externalRadiusPadding","innerRadius","createPie","d3pie","createArc","d3arc","outerRadius","pieData","datum","filter","centroid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types.ts","../../design-system/src/utils/redsift-design-tokens.ts","../src/scheme.ts","../src/components/HorizontalBarChart/types.ts","../src/components/HorizontalBarChart/styles.ts","../src/components/HorizontalBarChart/HorizontalBarChartBar.tsx","../src/components/HorizontalBarChart/HorizontalBarChartAxisBottom.tsx","../src/components/HorizontalBarChart/HorizontalBarChart.tsx","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../src/components/PieChart/PieChartArc.tsx","../src/components/PieChart/PieChart.tsx"],"sourcesContent":["import { PieArcDatum as D3PieArcDatum } from 'd3-shape';\nimport { ValueOf } from '~/types';\n\nexport type ChartDimensions = {\n width: number;\n height: number;\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n};\n\nexport type Datum = {\n name: string;\n value: number;\n};\n\nexport type PieArcDatum = D3PieArcDatum<Datum>;\n\nexport const ColorTheme = {\n default: 'default',\n dark: 'dark',\n darker: 'darker',\n monochrome: 'monochrome',\n} as const;\nexport type ColorTheme = ValueOf<typeof ColorTheme>;\n\nexport type SuccessDangerColorTheme = {\n success: string;\n warning: string;\n danger: string;\n neutral?: string;\n};\n","/**\n * Do not edit directly\n * Generated on Tue, 21 Feb 2023 15:02:26 GMT\n */\n\nexport const RedsiftColorDefaultPrimary = '#0079e1';\nexport const RedsiftColorDefaultSecondary = '#0063b9';\nexport const RedsiftColorDefaultHover = '#dce8f3';\nexport const RedsiftColorDefaultActive = '#c4dcf1';\nexport const RedsiftColorDefaultActiveHover = '#abcfef';\nexport const RedsiftColorDefaultPrimaryActive = '#004a8a';\nexport const RedsiftColorWebsitePrimary = '#0079e1';\nexport const RedsiftColorWebsiteSecondary = '#0063b9';\nexport const RedsiftColorWebsiteHover = '#dce8f3';\nexport const RedsiftColorWebsiteActive = '#c4dcf1';\nexport const RedsiftColorWebsiteActiveHover = '#abcfef';\nexport const RedsiftColorWebsitePrimaryActive = '#004a8a';\nexport const RedsiftColorOndmarcPrimary = '#02ac61';\nexport const RedsiftColorOndmarcSecondary = '#009252';\nexport const RedsiftColorOndmarcHover = '#dcede6';\nexport const RedsiftColorOndmarcActive = '#c4e6d7';\nexport const RedsiftColorOndmarcActiveHover = '#acdfc8';\nexport const RedsiftColorOndmarcPrimaryActive = '#00512e';\nexport const RedsiftColorOninboxPrimary = '#33b222';\nexport const RedsiftColorOninboxSecondary = '#268519';\nexport const RedsiftColorOninboxHover = '#e1eedf';\nexport const RedsiftColorOninboxActive = '#cee8cb';\nexport const RedsiftColorOninboxActiveHover = '#bae0b5';\nexport const RedsiftColorOninboxPrimaryActive = '#164e0e';\nexport const RedsiftColorOndomainPrimary = '#028062';\nexport const RedsiftColorOndomainSecondary = '#015944';\nexport const RedsiftColorOndomainHover = '#dce9e6';\nexport const RedsiftColorOndomainActive = '#c4ded8';\nexport const RedsiftColorOndomainActiveHover = '#acd1c8';\nexport const RedsiftColorOndomainPrimaryActive = '#003f30';\nexport const RedsiftColorHardenizePrimary = '#0f7ab3';\nexport const RedsiftColorHardenizeSecondary = '#3498db';\nexport const RedsiftColorHardenizeHover = '#dee8ee';\nexport const RedsiftColorHardenizeActive = '#c7dce8';\nexport const RedsiftColorHardenizeActiveHover = '#b0d0e1';\nexport const RedsiftColorHardenizePrimaryActive = '#0a5379';\nexport const RedsiftColorToolsPrimary = '#37bdfb';\nexport const RedsiftColorToolsSecondary = '#02a2ef';\nexport const RedsiftColorToolsHover = '#e2eff5';\nexport const RedsiftColorToolsActive = '#cfeaf6';\nexport const RedsiftColorToolsActiveHover = '#bce4f6';\nexport const RedsiftColorToolsPrimaryActive = '#237ea8';\nexport const RedsiftColorSuccessPrimary = '#02ac61';\nexport const RedsiftColorSuccessSecondary = '#009252';\nexport const RedsiftColorSuccessHover = '#dcede6';\nexport const RedsiftColorSuccessActive = '#c4e6d7';\nexport const RedsiftColorSuccessActiveHover = '#acdfc8';\nexport const RedsiftColorSuccessPrimaryActive = '#00512e';\nexport const RedsiftColorErrorPrimary = '#e11010';\nexport const RedsiftColorErrorSecondary = '#b41010';\nexport const RedsiftColorErrorHover = '#f3dede';\nexport const RedsiftColorErrorActive = '#f1c7c7';\nexport const RedsiftColorErrorActiveHover = '#efb0b0';\nexport const RedsiftColorErrorPrimaryActive = '#770a0a';\nexport const RedsiftColorWarningPrimary = '#fcbb54';\nexport const RedsiftColorWarningSecondary = '#c09300';\nexport const RedsiftColorWarningHover = '#f5efe4';\nexport const RedsiftColorWarningActive = '#f6e9d5';\nexport const RedsiftColorWarningActiveHover = '#f7e3c4';\nexport const RedsiftColorWarningPrimaryActive = '#ae833f';\nexport const RedsiftColorInfoPrimary = '#0079e1';\nexport const RedsiftColorInfoSecondary = '#0063b9';\nexport const RedsiftColorInfoHover = '#dce8f3';\nexport const RedsiftColorInfoActive = '#c4dcf1';\nexport const RedsiftColorInfoActiveHover = '#abcfef';\nexport const RedsiftColorInfoPrimaryActive = '#004a8a';\nexport const RedsiftColorQuestionPrimary = '#666666';\nexport const RedsiftColorQuestionSecondary = '#1c1c1c';\nexport const RedsiftColorQuestionHover = '#e6e6e6';\nexport const RedsiftColorQuestionActive = '#d8d8d8';\nexport const RedsiftColorQuestionActiveHover = '#cacaca';\nexport const RedsiftColorNoDataPrimary = '#bdbdbd';\nexport const RedsiftColorNoDataSecondary = '#666666';\nexport const RedsiftColorNoDataHover = '#efefef';\nexport const RedsiftColorNoDataActive = '#eaeaea';\nexport const RedsiftColorNoDataActiveHover = '#e4e4e4';\nexport const RedsiftColorNeutralBlack = '#1c1c1c';\nexport const RedsiftColorNeutralDarkgrey = '#666666';\nexport const RedsiftColorNeutralMidgrey = '#bdbdbd';\nexport const RedsiftColorNeutralLightgrey = '#ebebeb';\nexport const RedsiftColorNeutralXlightgrey = '#f5f5f5';\nexport const RedsiftColorNeutralWhite = '#ffffff';\nexport const RedsiftAppBarColorBackground = '#0079e1';\nexport const RedsiftAppBarColorText = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconResting = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconHover = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconBackgroundHover = '#0063b9';\nexport const RedsiftDataVizColorPurpleDefault = '#C1AAEA';\nexport const RedsiftDataVizColorPurpleDark = '#A78ADB';\nexport const RedsiftDataVizColorPurpleDarker = '#8D6CC9';\nexport const RedsiftDataVizColorPurpleLight = '#D9CAF5';\nexport const RedsiftDataVizColorPurpleLighter = '#F0E9FC';\nexport const RedsiftDataVizColorBlueDefault = '#B6DAEE';\nexport const RedsiftDataVizColorBlueDark = '#97C5DE';\nexport const RedsiftDataVizColorBlueDarker = '#73ADCC';\nexport const RedsiftDataVizColorBlueLight = '#D8EDF8';\nexport const RedsiftDataVizColorBlueLighter = '#F6FBFE';\nexport const RedsiftDataVizColorGreenDefault = '#B3E3C5';\nexport const RedsiftDataVizColorGreenDark = '#90D2A9';\nexport const RedsiftDataVizColorGreenDarker = '#6DBE8B';\nexport const RedsiftDataVizColorGreenLight = '#D3F0DE';\nexport const RedsiftDataVizColorGreenLighter = '#EDFAF1';\nexport const RedsiftDataVizColorRedDefault = '#EAADAC';\nexport const RedsiftDataVizColorRedDark = '#D18785';\nexport const RedsiftDataVizColorRedDarker = '#BA6361';\nexport const RedsiftDataVizColorRedLight = '#FFD3D2';\nexport const RedsiftDataVizColorRedLighter = '#FFE5E5';\nexport const RedsiftDataVizColorPinkDefault = '#E2A7D7';\nexport const RedsiftDataVizColorPinkDark = '#D185C3';\nexport const RedsiftDataVizColorPinkDarker = '#BD63AC';\nexport const RedsiftDataVizColorPinkLight = '#EFC8E8';\nexport const RedsiftDataVizColorPinkLighter = '#F9E6F6';\nexport const RedsiftDataVizColorCyanDefault = '#AFF5F3';\nexport const RedsiftDataVizColorCyanDark = '#8CEAE6';\nexport const RedsiftDataVizColorCyanDarker = '#6CDCD8';\nexport const RedsiftDataVizColorCyanLight = '#D4FCFA';\nexport const RedsiftDataVizColorCyanLighter = '#E1FFFF';\nexport const RedsiftDataVizColorOrangeDefault = '#F2D39E';\nexport const RedsiftDataVizColorOrangeDark = '#D8B475';\nexport const RedsiftDataVizColorOrangeDarker = '#BD954F';\nexport const RedsiftDataVizColorOrangeLight = '#FFE8C0';\nexport const RedsiftDataVizColorOrangeLighter = '#FFF0D7';\nexport const RedsiftDataVizColorYellowDefault = '#F6EFC7';\nexport const RedsiftDataVizColorYellowDark = '#DED4A0';\nexport const RedsiftDataVizColorYellowDarker = '#C6BB7A';\nexport const RedsiftDataVizColorYellowLight = '#FFFBE1';\nexport const RedsiftDataVizColorYellowLighter = '#FFFDF0';\nexport const RedsiftDataVizColorBrownDefault = '#E6C2A0';\nexport const RedsiftDataVizColorBrownDark = '#CDA279';\nexport const RedsiftDataVizColorBrownDarker = '#B58556';\nexport const RedsiftDataVizColorBrownLight = '#FFE3C9';\nexport const RedsiftDataVizColorBrownLighter = '#FFEEDE';\nexport const RedsiftDataVizColorGreyDefault = '#E5E5E5';\nexport const RedsiftDataVizColorGreyDark = '#BDBDBD';\nexport const RedsiftDataVizColorGreyDarker = '#666666';\nexport const RedsiftDataVizColorGreyLight = '#F5F5F5';\nexport const RedsiftDataVizColorGreyLighter = '#FFFFFF';\nexport const RedsiftSideNavigationColorBackground = '#2D2D34';\nexport const RedsiftSideNavigationColorMenuItemTextResting = '#FFFFFFB3';\nexport const RedsiftSideNavigationColorMenuItemTextDisabled = '#76767A';\nexport const RedsiftSideNavigationColorMenuItemTextHover = '#FFFFFF';\nexport const RedsiftSideNavigationColorMenuItemBackgroundHover = '#4C4C64';\nexport const RedsiftSideNavigationColorMenuItemBackgroundSecondary = '#333340';\nexport const RedsiftSideNavigationColorMenuItemBackgroundActive = '#39394C';\nexport const RedsiftSideNavigationColorMenuItemActive = '#02AC61';\nexport const RedsiftSideNavigationColorScrollbarResting = '#4C4C64';\nexport const RedsiftSideNavigationColorScrollbarHover = '#5d5d73';\nexport const RedsiftTypographyFontFamilyRaleway = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyFontFamilyElectrolize = \"'electrolize', sans-serif\";\nexport const RedsiftTypographyFontFamilySourceCodePro = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyFontWeightRegular = '400';\nexport const RedsiftTypographyFontWeightMedium = '500';\nexport const RedsiftTypographyFontWeightSemiBold = '600';\nexport const RedsiftTypographyFontWeightBold = '700';\nexport const RedsiftTypographyH1FontFamily = \"'electrolize', sans-serif\";\nexport const RedsiftTypographyH1FontSize = '24px';\nexport const RedsiftTypographyH1FontWeight = '400';\nexport const RedsiftTypographyH1LineHeight = '28px';\nexport const RedsiftTypographyH1TextTransform = 'uppercase';\nexport const RedsiftTypographyH2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH2FontSize = '24px';\nexport const RedsiftTypographyH2FontWeight = '600';\nexport const RedsiftTypographyH2LineHeight = '28px';\nexport const RedsiftTypographyH2TextTransform = 'unset';\nexport const RedsiftTypographyH3FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH3FontSize = '20px';\nexport const RedsiftTypographyH3FontWeight = '500';\nexport const RedsiftTypographyH3LineHeight = '24px';\nexport const RedsiftTypographyH3TextTransform = 'unset';\nexport const RedsiftTypographyH4FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH4FontSize = '18px';\nexport const RedsiftTypographyH4FontWeight = '500';\nexport const RedsiftTypographyH4LineHeight = '22px';\nexport const RedsiftTypographyH4TextTransform = 'unset';\nexport const RedsiftTypographyH5FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH5FontSize = '16px';\nexport const RedsiftTypographyH5FontWeight = '600';\nexport const RedsiftTypographyH5LineHeight = '20px';\nexport const RedsiftTypographyH5TextTransform = 'unset';\nexport const RedsiftTypographySubtitleFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographySubtitleFontSize = '15px';\nexport const RedsiftTypographySubtitleFontWeight = '700';\nexport const RedsiftTypographySubtitleLineHeight = '26px';\nexport const RedsiftTypographySubtitleTextTransform = 'unset';\nexport const RedsiftTypographyBodyFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBodyFontSize = '15px';\nexport const RedsiftTypographyBodyFontWeight = '400';\nexport const RedsiftTypographyBodyLineHeight = '26px';\nexport const RedsiftTypographyBodyTextTransform = 'unset';\nexport const RedsiftTypographyBody2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBody2FontSize = '14px';\nexport const RedsiftTypographyBody2FontWeight = '400';\nexport const RedsiftTypographyBody2LineHeight = '20px';\nexport const RedsiftTypographyLinkFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyLinkFontSize = '15px';\nexport const RedsiftTypographyLinkFontWeight = '400';\nexport const RedsiftTypographyLinkLineHeight = '26px';\nexport const RedsiftTypographyInputTextFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyInputTextFontSize = '15px';\nexport const RedsiftTypographyInputTextFontWeight = '400';\nexport const RedsiftTypographyInputTextLineHeight = '26px';\nexport const RedsiftTypographyButtonFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyButtonFontSize = '15px';\nexport const RedsiftTypographyButtonFontWeight = '500';\nexport const RedsiftTypographyButtonLineHeight = '26px';\nexport const RedsiftTypographyButtonTextTransform = 'uppercase';\nexport const RedsiftTypographyCaptionFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyCaptionFontSize = '13px';\nexport const RedsiftTypographyCaptionFontWeight = '400';\nexport const RedsiftTypographyCaptionLineHeight = '23px';\nexport const RedsiftTypographyCaptionTextTransform = 'unset';\nexport const RedsiftTypographyHelperFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyHelperFontSize = '12px';\nexport const RedsiftTypographyHelperFontWeight = '400';\nexport const RedsiftTypographyHelperLineHeight = '16px';\nexport const RedsiftTypographyBadgeFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyBadgeFontSize = '12px';\nexport const RedsiftTypographyBadgeFontWeight = '500';\nexport const RedsiftTypographyBadgeLineHeight = '20px';\nexport const RedsiftTypographyPillFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyPillFontSize = '15px';\nexport const RedsiftTypographyPillFontWeight = '500';\nexport const RedsiftTypographyPillLineHeight = '28px';\nexport const RedsiftTypographyChipFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyChipFontSize = '13px';\nexport const RedsiftTypographyChipFontWeight = '400';\nexport const RedsiftTypographyChipLineHeight = '18px';\nexport const RedsiftTypographyTooltipFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyTooltipFontSize = '13px';\nexport const RedsiftTypographyTooltipFontWeight = '500';\nexport const RedsiftTypographyTooltipLineHeight = '23px';","import {\n scaleOrdinal as d3scaleOrdinal,\n ScaleOrdinal as d3ScaleOrdinal,\n} from 'd3';\nimport { ColorTheme, SuccessDangerColorTheme } from './types';\n\nimport {\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorGreyDark,\n RedsiftDataVizColorGreyDarker,\n RedsiftDataVizColorGreyDefault,\n RedsiftDataVizColorGreyLight,\n RedsiftDataVizColorGreyLighter,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorYellowLighter,\n} from '~/utils';\n\nexport const monochrome = RedsiftDataVizColorBlueDefault;\n\nexport const scheme = {\n default: [\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorGreyDefault,\n ],\n dark: [\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorGreyDark,\n ],\n darker: [\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorGreyDarker,\n ],\n light: [\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorGreyLight,\n ],\n lighter: [\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorYellowLighter,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorGreyLighter,\n ],\n monochrome: [monochrome],\n empty: [RedsiftDataVizColorGreyDark],\n};\n\nexport const successDangerScheme = {\n success: RedsiftDataVizColorGreenDark,\n warning: RedsiftDataVizColorOrangeDark,\n danger: RedsiftDataVizColorRedDark,\n neutral: RedsiftDataVizColorGreyDark,\n};\n\nexport const getColorScale = (\n theme: ColorTheme | SuccessDangerColorTheme,\n isEmpty?: boolean\n): d3ScaleOrdinal<string, string> => {\n let d3colors = d3scaleOrdinal(scheme.default);\n if (isEmpty) {\n d3colors = d3scaleOrdinal(scheme.empty);\n } else if (typeof theme === 'string') {\n d3colors = d3scaleOrdinal(scheme[theme]);\n } else if (typeof theme === 'object') {\n d3colors = d3scaleOrdinal()\n .domain([\n theme.success,\n theme.warning,\n theme.danger,\n ...(theme.neutral ? [theme.neutral] : []),\n ])\n .range([\n successDangerScheme.success,\n successDangerScheme.warning,\n successDangerScheme.danger,\n ...(theme.neutral ? [successDangerScheme.neutral] : []),\n ])\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n }\n\n return d3colors;\n};\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\n\n/**\n * Component size.\n */\nexport const HorizontalBarChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type HorizontalBarChartSize = ValueOf<typeof HorizontalBarChartSize>;\n\n/**\n * Component theme.\n */\nexport const HorizontalBarChartTheme = ColorTheme;\nexport type HorizontalBarChartTheme = ValueOf<typeof HorizontalBarChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const HorizontalBarChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type HorizontalBarChartTooltipVariant = ValueOf<\n typeof HorizontalBarChartTooltipVariant\n>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface HorizontalBarChartProps extends ComponentProps<'div'> {\n /** Whether the x axis labels are rotated or not. */\n areXLabelsRotated?: boolean;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a bar. */\n onBarClick?: (data: Datum) => void;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** HorizontalBarChart size. */\n size?: HorizontalBarChartSize;\n /** Bar role. Used to indicate that bars are to be considered buttons or links. If an onClick is provided, the bars will have the role `button` unless specifically set to `link` with this prop. */\n barRole?: 'button' | 'link';\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: HorizontalBarChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** Tooltip variant. */\n tooltipVariant?: HorizontalBarChartTooltipVariant;\n}\n\nexport type StyledHorizontalBarChartProps = Omit<\n HorizontalBarChartProps,\n 'data'\n> & {};\n\nexport interface HorizontalBarChartBarProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n gap: number;\n height: number;\n index: number;\n isEmpty: boolean;\n onClick?: () => void;\n role?: HorizontalBarChartProps['barRole'];\n showTooltip: boolean;\n tooltipLabelOnly: boolean;\n tooltipPercent: string | null;\n width: number;\n}\n\nexport type StyledHorizontalBarChartBarProps = Omit<\n HorizontalBarChartBarProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'gap'\n | 'height'\n | 'index'\n | 'isEmpty'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'width'\n> & {\n $clickable: boolean;\n};\n\nexport interface HorizontalBarChartAxisBottomProps extends ComponentProps<'g'> {\n areXLabelsRotated: boolean;\n chartHeight: number;\n d3scale: d3ScaleLinear<number, number>;\n}\n\nexport type StyledHorizontalBarChartAxisBottomProps = Omit<\n HorizontalBarChartAxisBottomProps,\n 'areXLabelsRotated' | 'chartHeight' | 'd3scale'\n> & {};\n","import styled, { css } from 'styled-components';\nimport {\n StyledHorizontalBarChartProps,\n StyledHorizontalBarChartBarProps,\n} from './types';\n\n/**\n * Component style.\n */\nexport const StyledHorizontalBarChart = styled.div<StyledHorizontalBarChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-horizontal-barchart__container {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 11px;\n justify-content: center;\n margin: 8px 0;\n\n .redsift-horizontal-barchart-container__chart {\n position: relative;\n }\n }\n\n svg {\n display: block;\n\n g {\n margin: 8px;\n }\n }\n`;\n\nexport const StyledHorizontalBarChartTitle = styled.div<StyledHorizontalBarChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledHorizontalBarChartCaption = styled.p<StyledHorizontalBarChartProps>`\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`;\n\nexport const StyledHorizontalBarChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n\nexport const StyledHorizontalBarChartBar = styled.g<StyledHorizontalBarChartBarProps>`\n rect {\n fill-opacity: 0.9;\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n outline: none;\n rect {\n fill-opacity: 0.7;\n }\n }\n\n &:focus-visible {\n rect {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n\nexport const StyledHorizontalBarChartAxisBottom = styled.g`\n line.grid-line {\n fill: none;\n stroke: #ccc;\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 10px;\n }\n`;\n","import React, { forwardRef, KeyboardEventHandler, RefObject } from 'react';\n\nimport { Comp } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { HorizontalBarChartBarProps } from './types';\nimport { StyledHorizontalBarChartBar } from './styles';\n\nconst COMPONENT_NAME = 'HorizontalBarChartBar';\nconst CLASSNAME = 'redsift-horizontal-barchart-bar';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartBarProps> = {};\n\nexport const HorizontalBarChartBar: Comp<\n HorizontalBarChartBarProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const {\n chartId,\n color,\n data,\n gap,\n height,\n index,\n isEmpty,\n onClick,\n role,\n showTooltip,\n tooltipLabelOnly,\n tooltipPercent,\n width,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Bar = (\n <StyledHorizontalBarChartBar\n {...forwardedProps}\n ref={ref as RefObject<SVGGElement>}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n id={`id${chartId}__slice-${index}`}\n className={`row _${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n transform={`translate(0,${gap * (index + 1) + height * index})`}\n $clickable={Boolean(onClick)}\n >\n <rect height={height} width={width} fill={color} />\n <text x=\"10\" y={height / 2} dy=\"0.35em\" aria-hidden={true}>\n {data.name}\n </text>\n {!showTooltip && !isEmpty && (\n <title>{`${data.name}: ${data.value}`}</title>\n )}\n </StyledHorizontalBarChartBar>\n );\n\n if (showTooltip) {\n const tooltipValue =\n tooltipPercent !== null ? `${tooltipPercent}%` : data.value;\n return (\n <Tooltip placement=\"right\">\n <Tooltip.Trigger>{Bar}</Tooltip.Trigger>\n <Tooltip.Content>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return Bar;\n});\nHorizontalBarChartBar.className = CLASSNAME;\nHorizontalBarChartBar.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartBar.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { HorizontalBarChartAxisBottomProps } from './types';\nimport { StyledHorizontalBarChartAxisBottom } from './styles';\nimport { select, axisBottom } from 'd3';\n\nconst COMPONENT_NAME = 'HorizontalBarChartAxisBottom';\nconst CLASSNAME = 'redsift-horizontal-barchart-axis-bottom';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartAxisBottomProps> = {};\n\nexport const HorizontalBarChartAxisBottom: Comp<\n HorizontalBarChartAxisBottomProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const { areXLabelsRotated, chartHeight, d3scale, ...forwardedProps } = props;\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n useEffect(() => {\n if (axisRef.current) {\n select(axisRef.current).call(axisBottom(d3scale).ticks(5));\n\n select(axisRef.current)\n .selectAll('g.tick')\n .select('line.grid-line')\n .remove();\n\n select(axisRef.current)\n .selectAll('g.tick')\n .append('line')\n .attr('class', 'grid-line')\n .attr('x1', 0)\n .attr('y1', 0)\n .attr('x2', 0)\n .attr('y2', () => -chartHeight);\n\n if (areXLabelsRotated) {\n select(axisRef.current)\n .attr('text-anchor', 'end')\n .selectAll('text')\n .attr('transform', 'translate(-6,5) rotate(-45)');\n }\n }\n }, [d3scale]);\n\n return (\n <StyledHorizontalBarChartAxisBottom\n className=\"axis\"\n {...forwardedProps}\n ref={axisRef}\n />\n );\n});\nHorizontalBarChartAxisBottom.className = CLASSNAME;\nHorizontalBarChartAxisBottom.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartAxisBottom.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useId } from 'react';\nimport { scaleLinear as d3scaleLinear, sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n HorizontalBarChartProps,\n HorizontalBarChartSize,\n HorizontalBarChartTheme,\n HorizontalBarChartTooltipVariant,\n} from './types';\nimport {\n StyledHorizontalBarChart,\n StyledHorizontalBarChartCaption,\n StyledHorizontalBarChartEmptyText,\n StyledHorizontalBarChartTitle,\n} from './styles';\nimport { HorizontalBarChartBar } from './HorizontalBarChartBar';\nimport { HorizontalBarChartAxisBottom } from './HorizontalBarChartAxisBottom';\n\nconst COMPONENT_NAME = 'HorizontalBarChart';\nconst CLASSNAME = 'redsift-horizontal-barchart';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartProps> = {\n others: true,\n size: HorizontalBarChartSize.medium,\n theme: HorizontalBarChartTheme.default,\n tooltipVariant: HorizontalBarChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: HorizontalBarChartSize): ChartDimensions => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return { width: 300, height: 200 };\n case HorizontalBarChartSize.large:\n return { width: 500, height: 400 };\n case HorizontalBarChartSize.medium:\n default:\n return { width: 400, height: 300 };\n }\n};\n\nconst sizeToFontSize = (size: HorizontalBarChartSize | undefined): number => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return 30;\n case HorizontalBarChartSize.large:\n return 38;\n case HorizontalBarChartSize.medium:\n default:\n return 34;\n }\n};\n\nexport const HorizontalBarChart: Comp<HorizontalBarChartProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n areXLabelsRotated,\n caping,\n caption,\n className,\n data: propData,\n onBarClick,\n others,\n size,\n barRole,\n theme,\n title,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n if (isEmpty) {\n data = [];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width - 16;\n const height = chartDimensions.height;\n const chartHeight = height - 48 - (areXLabelsRotated ? 30 : 0);\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const numberOfRows = data.length;\n const gap = 5;\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const scaleX = d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range([0, width - 32]);\n const barHeight = (chartHeight - (numberOfRows + 1) * gap) / numberOfRows;\n\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledHorizontalBarChart\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={className}\n >\n {title ? (\n <StyledHorizontalBarChartTitle\n className={`${HorizontalBarChart.className}__title`}\n id={`id${id}__title`}\n >\n {title}\n </StyledHorizontalBarChartTitle>\n ) : null}\n <div className={`${HorizontalBarChart.className}__container`}>\n <div\n className={`${HorizontalBarChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Horizontal Bar Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {isEmpty ? (\n <StyledHorizontalBarChartEmptyText\n $maxWidth={width}\n $textSize={sizeToFontSize(size) / 2}\n >\n <span>{emptyChartText}</span>\n </StyledHorizontalBarChartEmptyText>\n ) : null}\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <HorizontalBarChartAxisBottom\n areXLabelsRotated={!!areXLabelsRotated}\n chartHeight={chartHeight}\n d3scale={scaleX}\n transform={`translate(0,${chartHeight})`}\n />\n {data.map(({ value, name }, index) => {\n const percent = ((value / total) * 100).toFixed(2);\n return (\n <HorizontalBarChartBar\n chartId={id}\n color={d3colors(name)}\n data={{ value, name }}\n gap={gap}\n height={barHeight}\n index={index}\n isEmpty={isEmpty}\n key={`row _${index}`}\n onClick={\n onBarClick ? () => onBarClick(data[index]) : undefined\n }\n role={barRole}\n showTooltip={\n tooltipVariant !==\n HorizontalBarChartTooltipVariant.none && !isEmpty\n }\n tooltipLabelOnly={\n tooltipVariant == HorizontalBarChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant ===\n HorizontalBarChartTooltipVariant.percent\n ? percent\n : null\n }\n width={Math.abs(scaleX(value))}\n />\n );\n })}\n </g>\n </svg>\n </div>\n </div>\n {caption ? (\n <StyledHorizontalBarChartCaption\n className={`${HorizontalBarChart.className}__caption`}\n >\n {caption}\n </StyledHorizontalBarChartCaption>\n ) : null}\n </StyledHorizontalBarChart>\n );\n });\nHorizontalBarChart.className = CLASSNAME;\nHorizontalBarChart.defaultProps = DEFAULT_PROPS;\nHorizontalBarChart.displayName = COMPONENT_NAME;\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\n\n/**\n * Component size.\n */\nexport const PieChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type PieChartSize = ValueOf<typeof PieChartSize>;\n\n/**\n * Component variant.\n */\nexport const PieChartVariant = {\n plain: 'plain',\n spaced: 'spaced',\n donut: 'donut',\n spacedDonut: 'spacedDonut',\n} as const;\nexport type PieChartVariant = ValueOf<typeof PieChartVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const PieChartLabelVariant = {\n none: 'none',\n internal: 'internal',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n} as const;\nexport type PieChartLabelVariant = ValueOf<typeof PieChartLabelVariant>;\n\n/**\n * Component theme.\n */\nexport const PieChartTheme = ColorTheme;\nexport type PieChartTheme = ValueOf<typeof PieChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const PieChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type PieChartTooltipVariant = ValueOf<typeof PieChartTooltipVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface PieChartProps extends ComponentProps<'div'> {\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. */\n labelVariant?: PieChartLabelVariant;\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a slice. */\n onSliceClick?: (data: Datum) => void;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** PieChart size. */\n size?: PieChartSize;\n /** Slice role. Used to indicate that slices are to be considered buttons or links. If an onClick is provided, the slices will have the role `button` unless specifically set to `link` with this prop. */\n sliceRole?: 'button' | 'link';\n /** Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. */\n middleText?: string;\n /** Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. */\n subtext?: string;\n /** Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. */\n text?: string;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: PieChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** PieChart variant. */\n variant?: PieChartVariant;\n /** Tooltip variant. */\n tooltipVariant?: PieChartTooltipVariant;\n}\n\nexport type StyledPieChartProps = Omit<PieChartProps, 'data'> & {};\n\nexport interface PieChartArcProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n index: number;\n onClick?: () => void;\n path: string;\n role?: PieChartProps['sliceRole'];\n spaced?: boolean;\n showTooltip: boolean;\n tooltipPercent: string | null;\n tooltipLabelOnly: boolean;\n isEmpty: boolean;\n}\n\nexport type StyledPieChartArcProps = Omit<\n PieChartArcProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'index'\n | 'path'\n | 'spaced'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'isEmpty'\n> & {\n $spaced: boolean;\n $clickable: boolean;\n};\n","import styled, { css } from 'styled-components';\nimport { StyledPieChartProps, StyledPieChartArcProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPieChart = styled.div<StyledPieChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-piechart__container {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 11px;\n justify-content: center;\n margin: 8px 0;\n\n .redsift-piechart-container__chart {\n position: relative;\n }\n }\n svg {\n display: block;\n }\n`;\n\nexport const StyledPieChartTitle = styled.div<StyledPieChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledPieChartCaption = styled.p<StyledPieChartProps>`\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`;\n\nexport const StyledPieChartCenterText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $smallTextSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > b {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n color: var(--redsift-color-neutral-black);\n font-weight: var(--redsift-typography-font-weight-medium);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n\n &:nth-child(2) {\n font-weight: normal;\n margin-top: 8px;\n font-family: var(--redsift-typography-font-family-raleway);\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > span {\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n &:nth-child(3) {\n margin-top: 4px;\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > b + span {\n font-size: var(--redsift-typography-body-font-size);\n font-family: var(--redsift-typography-font-family-raleway);\n line-height: var(--redsift-typography-badge-line-height);\n color: rgba(0, 0, 0, 0.6);\n text-align: center;\n }\n`;\n\nexport const StyledPieChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $isDonut: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: ${({ $isDonut }) =>\n $isDonut\n ? css`var(--redsift-color-neutral-midgrey)`\n : css`var(--redsift-color-neutral-black)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n\nexport const StyledPieChartLabel = styled.li<{ $color: string }>`\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n max-width: 262px;\n font-family: var(--redsift-typography-font-family-raleway);\n font-weight: var(--redsift-typography-font-weight-regular);\n font-size: var(--redsift-typography-caption-font-size);\n\n > div {\n height: 16px;\n width: 16px;\n min-width: 16px;\n background-color: ${({ $color }) => $color};\n }\n\n > b {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-weight: var(--redsift-typography-font-weight-bold);\n font-size: var(--redsift-typography-caption-font-size);\n }\n`;\n\nexport const StyledPieChartArc = styled.g<StyledPieChartArcProps>`\n ${({ $spaced }) =>\n $spaced\n ? css`\n path {\n stroke-width: 2px;\n stroke: #fff;\n }\n `\n : ''}\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n opacity: 0.8;\n outline: none;\n }\n\n &:focus-visible {\n path {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n","import React, { forwardRef, KeyboardEventHandler, RefObject } from 'react';\n\nimport { Comp } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { PieChartArcProps } from './types';\nimport { StyledPieChartArc } from './styles';\n\nconst COMPONENT_NAME = 'PieChartArc';\nconst CLASSNAME = 'redsift-piechart-arc';\nconst DEFAULT_PROPS: Partial<PieChartArcProps> = {};\n\nexport const PieChartArc: Comp<PieChartArcProps, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n chartId,\n color,\n data,\n index,\n onClick,\n path,\n role,\n spaced,\n showTooltip,\n tooltipPercent,\n tooltipLabelOnly,\n isEmpty,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Arc = (\n <StyledPieChartArc\n {...forwardedProps}\n ref={ref as RefObject<SVGGElement>}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n className={`pie-slice _${index}`}\n id={`id${chartId}__slice-${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n $clickable={Boolean(onClick)}\n $spaced={Boolean(spaced)}\n >\n <path d={path} fill={color} />\n {!showTooltip && !isEmpty ? (\n <title\n id={`id${chartId}__slice-${index}-title`}\n >{`${data.name}: ${data.value}`}</title>\n ) : null}\n </StyledPieChartArc>\n );\n\n if (showTooltip) {\n const tooltipValue =\n tooltipPercent !== null ? `${tooltipPercent}%` : data.value;\n return (\n <Tooltip placement=\"right\">\n <Tooltip.Trigger>{Arc}</Tooltip.Trigger>\n <Tooltip.Content>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return Arc;\n }\n);\nPieChartArc.className = CLASSNAME;\nPieChartArc.defaultProps = DEFAULT_PROPS;\nPieChartArc.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useId } from 'react';\nimport { arc as d3arc, pie as d3pie, sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum, PieArcDatum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n PieChartLabelVariant,\n PieChartProps,\n PieChartSize,\n PieChartTheme,\n PieChartTooltipVariant,\n PieChartVariant,\n} from './types';\nimport {\n StyledPieChartCenterText,\n StyledPieChart,\n StyledPieChartCaption,\n StyledPieChartLabel,\n StyledPieChartTitle,\n StyledPieChartEmptyText,\n} from './styles';\nimport { PieChartArc } from './PieChartArc';\n\nconst COMPONENT_NAME = 'PieChart';\nconst CLASSNAME = 'redsift-piechart';\nconst DEFAULT_PROPS: Partial<PieChartProps> = {\n labelVariant: PieChartLabelVariant.none,\n others: true,\n size: PieChartSize.medium,\n theme: PieChartTheme.default,\n variant: PieChartVariant.plain,\n tooltipVariant: PieChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: PieChartSize): ChartDimensions => {\n switch (size) {\n case PieChartSize.small:\n return { width: 200, height: 200 };\n case PieChartSize.large:\n return { width: 300, height: 300 };\n case PieChartSize.medium:\n default:\n return { width: 240, height: 240 };\n }\n};\n\nconst sizeToSmallFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 13;\n case PieChartSize.large:\n return 18;\n case PieChartSize.medium:\n default:\n return 14;\n }\n};\n\nconst sizeToFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 30;\n case PieChartSize.large:\n return 38;\n case PieChartSize.medium:\n default:\n return 34;\n }\n};\n\nconst sizeToInnerRadius = (size: PieChartSize): number => {\n switch (size) {\n case PieChartSize.small:\n return 55;\n case PieChartSize.large:\n return 80;\n case PieChartSize.medium:\n default:\n return 65;\n }\n};\n\nexport const PieChart: Comp<PieChartProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n caping,\n caption,\n className,\n data: propData,\n labelVariant,\n onSliceClick,\n others,\n size,\n sliceRole,\n text,\n middleText,\n subtext,\n theme,\n title,\n variant,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n const isDonut =\n variant === PieChartVariant.donut ||\n variant === PieChartVariant.spacedDonut;\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n if (isEmpty) {\n data = [\n {\n name: emptyChartText as string,\n value: 100,\n },\n ];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const externalRadiusPadding = 8;\n const innerRadius = sizeToInnerRadius(size!);\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const createPie = d3pie<Datum>()\n .value((d) => d.value)\n .sort(null);\n const createArc = d3arc<PieArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(chartDimensions.width / 2 - externalRadiusPadding);\n const pieData = createPie(data);\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledPieChart\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={className}\n >\n {title ? (\n <StyledPieChartTitle\n className={`${PieChart.className}__title`}\n id={`id${id}__title`}\n >\n {title}\n </StyledPieChartTitle>\n ) : null}\n <div className={`${PieChart.className}__container`}>\n <div\n className={`${PieChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Pie Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {text && !isEmpty ? (\n <StyledPieChartCenterText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size)}\n $smallTextSize={sizeToSmallFontSize(size)}\n >\n {subtext ? <b>{text}</b> : <span>{text}</span>}\n {middleText ? <b>{middleText}</b> : null}\n <span>{subtext}</span>\n </StyledPieChartCenterText>\n ) : null}\n {isEmpty ? (\n <StyledPieChartEmptyText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size) / 2}\n $isDonut={isDonut}\n >\n <span>{emptyChartText}</span>\n </StyledPieChartEmptyText>\n ) : null}\n <svg width={chartDimensions.width} height={chartDimensions.height}>\n <g\n transform={`translate(${chartDimensions.width / 2} ${\n chartDimensions.height / 2\n })`}\n >\n <g className=\"pie-slice-group\">\n {pieData.map((datum, index) => {\n const percent = ((datum.data.value / total) * 100).toFixed(\n 2\n );\n return (\n <PieChartArc\n chartId={id}\n color={d3colors(datum.data.name)}\n data={datum.data}\n isEmpty={isEmpty}\n index={index}\n key={`pie-slice _${index}`}\n onClick={\n onSliceClick\n ? () => onSliceClick(data[index])\n : undefined\n }\n showTooltip={\n tooltipVariant !== PieChartTooltipVariant.none &&\n !isEmpty\n }\n role={sliceRole}\n tooltipLabelOnly={\n tooltipVariant == PieChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant === PieChartTooltipVariant.percent\n ? percent\n : null\n }\n path={createArc(datum) as string}\n spaced={\n variant === PieChartVariant.spaced ||\n variant === PieChartVariant.spacedDonut\n }\n />\n );\n })}\n </g>\n {labelVariant === PieChartLabelVariant.internal && !isEmpty ? (\n <g className=\"pie-label-group\">\n {pieData\n .filter((datum) => {\n const value = datum.data.value;\n return value > 0 && value / total >= 0.1;\n })\n .map((datum, index) => (\n <text\n className={`pie-slice pie-label _${index}`}\n key={`pie-slice pie-label _${index}`}\n textAnchor=\"middle\"\n transform={`translate(${createArc.centroid(datum)})`}\n >\n {datum.data.name}\n </text>\n ))}\n </g>\n ) : null}\n </g>\n </svg>\n </div>\n {labelVariant !== PieChartLabelVariant.none &&\n labelVariant !== PieChartLabelVariant.internal ? (\n <ul>\n {data.map(({ name, value }: Datum, index) => (\n <StyledPieChartLabel\n key={`pie-external-label _${index}`}\n $color={d3colors(name)}\n >\n <div />\n {labelVariant === PieChartLabelVariant.externalLabelValue ? (\n <b>{value}</b>\n ) : labelVariant ===\n PieChartLabelVariant.externalLabelPercent ? (\n <b>{`${((value * 100) / total).toFixed(2)}%`}</b>\n ) : null}\n <span>{name}</span>\n </StyledPieChartLabel>\n ))}\n </ul>\n ) : null}\n </div>\n {caption ? (\n <StyledPieChartCaption className={`${PieChart.className}__caption`}>\n {caption}\n </StyledPieChartCaption>\n ) : null}\n </StyledPieChart>\n );\n }\n);\nPieChart.className = CLASSNAME;\nPieChart.defaultProps = DEFAULT_PROPS;\nPieChart.displayName = COMPONENT_NAME;\n"],"names":["ColorTheme","default","dark","darker","monochrome","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorBlueDefault","RedsiftDataVizColorBlueDark","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorBlueLight","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorGreenDark","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorGreenLight","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorRedDefault","RedsiftDataVizColorRedDark","RedsiftDataVizColorRedDarker","RedsiftDataVizColorRedLight","RedsiftDataVizColorRedLighter","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorPinkDark","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorPinkLight","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorCyanDefault","RedsiftDataVizColorCyanDark","RedsiftDataVizColorCyanDarker","RedsiftDataVizColorCyanLight","RedsiftDataVizColorCyanLighter","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorYellowDark","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorYellowLight","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorBrownDark","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorBrownLight","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorGreyDefault","RedsiftDataVizColorGreyDark","RedsiftDataVizColorGreyDarker","RedsiftDataVizColorGreyLight","RedsiftDataVizColorGreyLighter","scheme","light","lighter","empty","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","isEmpty","d3colors","d3scaleOrdinal","domain","range","unknown","HorizontalBarChartSize","small","medium","large","HorizontalBarChartTheme","HorizontalBarChartTooltipVariant","none","label","value","percent","StyledHorizontalBarChart","styled","div","StyledHorizontalBarChartTitle","StyledHorizontalBarChartCaption","p","StyledHorizontalBarChartEmptyText","$maxWidth","$textSize","StyledHorizontalBarChartBar","g","$clickable","css","StyledHorizontalBarChartAxisBottom","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","HorizontalBarChartBar","forwardRef","props","ref","chartId","color","data","gap","height","index","onClick","role","showTooltip","tooltipLabelOnly","tooltipPercent","width","forwardedProps","_excluded","onKeyDown","event","stopPropagation","code","preventDefault","Bar","name","undefined","Boolean","tooltipValue","className","defaultProps","displayName","HorizontalBarChartAxisBottom","areXLabelsRotated","chartHeight","d3scale","axisRef","useRef","useEffect","current","select","call","axisBottom","ticks","selectAll","remove","append","attr","others","size","tooltipVariant","localeText","emptyChartText","sizeToDimension","sizeToFontSize","HorizontalBarChart","id","useId","ariaLabel","ariaLabelledby","caping","caption","propData","onBarClick","barRole","title","every","d","sort","a","b","slice","reduce","acc","curr","chartDimensions","margins","top","left","right","bottom","numberOfRows","length","scaleX","d3scaleLinear","Math","max","map","barHeight","total","d3sum","toFixed","abs","PieChartSize","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","internal","externalLabel","externalLabelValue","externalLabelPercent","PieChartTheme","PieChartTooltipVariant","StyledPieChart","StyledPieChartTitle","StyledPieChartCaption","StyledPieChartCenterText","$smallTextSize","StyledPieChartEmptyText","$isDonut","StyledPieChartLabel","li","$color","StyledPieChartArc","$spaced","PieChartArc","path","Arc","labelVariant","variant","sizeToSmallFontSize","sizeToInnerRadius","PieChart","onSliceClick","sliceRole","text","middleText","subtext","isDonut","externalRadiusPadding","innerRadius","createPie","d3pie","createArc","d3arc","outerRadius","pieData","datum","filter","centroid"],"mappings":"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"}
|