@redsift/charts 6.3.0 → 6.3.1

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/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PieArcDatum as PieArcDatum$1 } from 'd3-shape';
2
+ import { ScaleOrdinal } from 'd3';
2
3
  import { ValueOf as ValueOf$1, Comp } from '@redsift/design-system';
3
4
  import { ComponentProps } from 'react';
4
5
  import * as styled_components from 'styled-components';
@@ -49,7 +50,7 @@ declare const successDangerScheme: {
49
50
  danger: string;
50
51
  neutral: string;
51
52
  };
52
- declare const getColorScale: (theme: ColorTheme | SuccessDangerColorTheme, isEmpty?: boolean) => undefined<string, string, never>;
53
+ declare const getColorScale: (theme: ColorTheme | SuccessDangerColorTheme, isEmpty?: boolean) => ScaleOrdinal<string, string>;
53
54
 
54
55
  /**
55
56
  * Component size.
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { scaleOrdinal, pie, arc, sum } from 'd3';
2
- import React, { forwardRef, useState, useRef, useEffect, useImperativeHandle, useLayoutEffect } from 'react';
2
+ import React, { forwardRef, useState, useRef, useEffect, useImperativeHandle, useLayoutEffect, useId } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
4
  import ReactDOM from 'react-dom';
5
5
 
@@ -1060,7 +1060,7 @@ PieChartArc.className = CLASSNAME$1;
1060
1060
  PieChartArc.defaultProps = DEFAULT_PROPS$1;
1061
1061
  PieChartArc.displayName = COMPONENT_NAME$1;
1062
1062
 
1063
- const _excluded = ["caping", "caption", "className", "data", "labelVariant", "onSliceClick", "others", "size", "text", "middleText", "subtext", "theme", "title", "variant", "tooltipVariant", "localeText"];
1063
+ const _excluded = ["aria-label", "aria-labelledby", "caping", "caption", "className", "data", "labelVariant", "onSliceClick", "others", "size", "text", "middleText", "subtext", "theme", "title", "variant", "tooltipVariant", "localeText"];
1064
1064
  const COMPONENT_NAME = 'RedSiftPieChart';
1065
1065
  const CLASSNAME = 'redsift-piechart';
1066
1066
  const DEFAULT_PROPS = {
@@ -1068,7 +1068,6 @@ const DEFAULT_PROPS = {
1068
1068
  others: true,
1069
1069
  size: PieChartSize.medium,
1070
1070
  theme: PieChartTheme.default,
1071
- title: 'Pie Chart',
1072
1071
  variant: PieChartVariant.plain,
1073
1072
  tooltipVariant: PieChartTooltipVariant.value,
1074
1073
  localeText: {
@@ -1129,7 +1128,10 @@ const sizeToInnerRadius = size => {
1129
1128
  }
1130
1129
  };
1131
1130
  const PieChart = /*#__PURE__*/forwardRef((props, ref) => {
1131
+ const id = useId();
1132
1132
  const {
1133
+ 'aria-label': ariaLabel,
1134
+ 'aria-labelledby': ariaLabelledby,
1133
1135
  caping,
1134
1136
  caption,
1135
1137
  className,
@@ -1199,12 +1201,15 @@ const PieChart = /*#__PURE__*/forwardRef((props, ref) => {
1199
1201
  ref: ref
1200
1202
  }, forwardedProps, {
1201
1203
  className: className
1202
- }), /*#__PURE__*/React.createElement(StyledPieChartTitle, {
1203
- className: `${PieChart.className}__title`
1204
- }, title), /*#__PURE__*/React.createElement("div", {
1204
+ }), title ? /*#__PURE__*/React.createElement(StyledPieChartTitle, {
1205
+ className: `${PieChart.className}__title`,
1206
+ id: `id${id}__title`
1207
+ }, title) : null, /*#__PURE__*/React.createElement("div", {
1205
1208
  className: `${PieChart.className}__container`
1206
1209
  }, /*#__PURE__*/React.createElement("div", {
1207
- className: `${PieChart.className}-container__chart`
1210
+ className: `${PieChart.className}-container__chart`,
1211
+ "aria-label": ariaLabel ? ariaLabel : ariaLabelledby || title ? undefined : 'Pie Chart',
1212
+ "aria-labelledby": ariaLabelledby ? ariaLabelledby : title ? `id${id}__title` : undefined
1208
1213
  }, text && !isEmpty ? /*#__PURE__*/React.createElement(StyledPieChartCenterText, {
1209
1214
  $maxWidth: innerRadius * 2,
1210
1215
  $textSize: sizeToFontSize(size),
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/scheme.ts","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../../../node_modules/reactjs-popup/dist/reactjs-popup.esm.js","../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","import { scaleOrdinal as d3scaleOrdinal } from 'd3';\nimport { ColorTheme, SuccessDangerColorTheme } from './types';\n\nexport const monochrome = '#B6DAEE';\n\nexport const scheme = {\n default: [\n '#C1AAEA',\n '#B6DAEE',\n '#B3E3C5',\n '#EAADAC',\n '#E2A7D7',\n '#AFF5F3',\n '#F2D39E',\n '#F6EFC7',\n '#E6C2A0',\n '#E5E5E5',\n ],\n dark: [\n '#A78ADB',\n '#97C5DE',\n '#90D2A9',\n '#D18785',\n '#D185C3',\n '#8CEAE6',\n '#D8B475',\n '#DED4A0',\n '#CDA279',\n '#BDBDBD',\n ],\n darker: [\n '#8D6CC9',\n '#73ADCC',\n '#6DBE8B',\n '#BA6361',\n '#BD63AC',\n '#6CDCD8',\n '#BD954F',\n '#C6BB7A',\n '#B58556',\n '#666666',\n ],\n light: [\n '#D9CAF5',\n '#D8EDF8',\n '#D3F0DE',\n '#FFD3D2',\n '#EFC8E8',\n '#D4FCFA',\n '#FFE8C0',\n '#FFFBE1',\n '#FFE3C9',\n '#F5F5F5',\n ],\n lighter: [\n '#F0E9FC',\n '#F6FBFE',\n '#EDFAF1',\n '#FFE5E5',\n '#F9E6F6',\n '#E1FFFF',\n '#FFF0D7',\n '#FFFDF0',\n '#FFEEDE',\n '#FFFFFF',\n ],\n monochrome: [monochrome],\n empty: ['#BDBDBD'],\n};\n\nexport const successDangerScheme = {\n success: '#90D2A9',\n warning: '#D8B475',\n danger: '#D18785',\n neutral: '#BDBDBD',\n};\n\nexport const getColorScale = (\n theme: ColorTheme | SuccessDangerColorTheme,\n isEmpty?: boolean\n) => {\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';\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 /** 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 color: string;\n data: Datum;\n index: number;\n onClick?: () => void;\n path: string;\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 | '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-text-primary);\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-text-primary);\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-text-primary);\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-text-secondary)`\n : css`var(--redsift-color-text-primary)`};\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 &:hover {\n opacity: 0.8;\n }\n `\n : ''}}\n`;\n\nexport const Tooltip = 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-primary-contrast);\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 } from 'react';\nimport Popup from 'reactjs-popup';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { PieChartArcProps } from './types';\nimport { StyledPieChartArc, Tooltip } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftPieChartArc';\nconst CLASSNAME = 'redsift-piechart-arc';\nconst DEFAULT_PROPS: Partial<PieChartArcProps> = {};\n\nexport const PieChartArc: Comp<PieChartArcProps, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n color,\n data,\n index,\n onClick,\n path,\n spaced,\n showTooltip,\n tooltipPercent,\n tooltipLabelOnly,\n isEmpty,\n ...forwardedProps\n } = props;\n const Arc = (\n <StyledPieChartArc\n ref={ref as any}\n {...forwardedProps}\n role={onClick ? 'button' : undefined}\n className={`pie-slice _${index}`}\n onClick={onClick}\n $clickable={Boolean(onClick)}\n $spaced={Boolean(spaced)}\n >\n <path d={path} fill={color} />\n {!showTooltip && !isEmpty && (\n <title>{`${data.name}: ${data.value}`}</title>\n )}\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 <Tooltip>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </Tooltip>\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 } 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 = 'RedSiftPieChart';\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 title: 'Pie Chart',\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 {\n caping,\n caption,\n className,\n data: propData,\n labelVariant,\n onSliceClick,\n others,\n size,\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 <StyledPieChartTitle className={`${PieChart.className}__title`}>\n {title}\n </StyledPieChartTitle>\n <div className={`${PieChart.className}__container`}>\n <div className={`${PieChart.className}-container__chart`}>\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 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 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 ? (\n <g className=\"pie-label-group\">\n {pieData.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 {index < 2 || caping ? datum.data.name : null}\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","scheme","light","lighter","empty","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","isEmpty","d3colors","d3scaleOrdinal","domain","range","unknown","PieChartSize","small","medium","large","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","none","internal","externalLabel","externalLabelValue","externalLabelPercent","PieChartTheme","PieChartTooltipVariant","label","value","percent","StyledPieChart","styled","div","StyledPieChartTitle","StyledPieChartCaption","p","StyledPieChartCenterText","$maxWidth","$textSize","$smallTextSize","StyledPieChartEmptyText","$isDonut","css","StyledPieChartLabel","li","$color","StyledPieChartArc","g","$spaced","$clickable","Tooltip","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","PieChartArc","forwardRef","props","ref","color","data","index","onClick","path","showTooltip","tooltipPercent","tooltipLabelOnly","forwardedProps","_excluded","Arc","_extends","undefined","Boolean","name","tooltipValue","className","defaultProps","displayName","labelVariant","others","size","title","variant","tooltipVariant","localeText","emptyChartText","sizeToDimension","width","height","sizeToSmallFontSize","sizeToFontSize","sizeToInnerRadius","PieChart","caping","caption","propData","onSliceClick","text","middleText","subtext","every","d","isDonut","sort","a","b","slice","reduce","acc","curr","chartDimensions","externalRadiusPadding","innerRadius","createPie","d3pie","createArc","d3arc","outerRadius","pieData","total","d3sum","map","datum","toFixed","centroid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/scheme.ts","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../../../node_modules/reactjs-popup/dist/reactjs-popup.esm.js","../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","import {\n scaleOrdinal as d3scaleOrdinal,\n ScaleOrdinal as d3ScaleOrdinal,\n} from 'd3';\nimport { ColorTheme, SuccessDangerColorTheme } from './types';\n\nexport const monochrome = '#B6DAEE';\n\nexport const scheme = {\n default: [\n '#C1AAEA',\n '#B6DAEE',\n '#B3E3C5',\n '#EAADAC',\n '#E2A7D7',\n '#AFF5F3',\n '#F2D39E',\n '#F6EFC7',\n '#E6C2A0',\n '#E5E5E5',\n ],\n dark: [\n '#A78ADB',\n '#97C5DE',\n '#90D2A9',\n '#D18785',\n '#D185C3',\n '#8CEAE6',\n '#D8B475',\n '#DED4A0',\n '#CDA279',\n '#BDBDBD',\n ],\n darker: [\n '#8D6CC9',\n '#73ADCC',\n '#6DBE8B',\n '#BA6361',\n '#BD63AC',\n '#6CDCD8',\n '#BD954F',\n '#C6BB7A',\n '#B58556',\n '#666666',\n ],\n light: [\n '#D9CAF5',\n '#D8EDF8',\n '#D3F0DE',\n '#FFD3D2',\n '#EFC8E8',\n '#D4FCFA',\n '#FFE8C0',\n '#FFFBE1',\n '#FFE3C9',\n '#F5F5F5',\n ],\n lighter: [\n '#F0E9FC',\n '#F6FBFE',\n '#EDFAF1',\n '#FFE5E5',\n '#F9E6F6',\n '#E1FFFF',\n '#FFF0D7',\n '#FFFDF0',\n '#FFEEDE',\n '#FFFFFF',\n ],\n monochrome: [monochrome],\n empty: ['#BDBDBD'],\n};\n\nexport const successDangerScheme = {\n success: '#90D2A9',\n warning: '#D8B475',\n danger: '#D18785',\n neutral: '#BDBDBD',\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';\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 /** 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 color: string;\n data: Datum;\n index: number;\n onClick?: () => void;\n path: string;\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 | '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-text-primary);\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-text-primary);\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-text-primary);\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-text-secondary)`\n : css`var(--redsift-color-text-primary)`};\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 &:hover {\n opacity: 0.8;\n }\n `\n : ''}}\n`;\n\nexport const Tooltip = 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-primary-contrast);\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 } from 'react';\nimport Popup from 'reactjs-popup';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { PieChartArcProps } from './types';\nimport { StyledPieChartArc, Tooltip } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftPieChartArc';\nconst CLASSNAME = 'redsift-piechart-arc';\nconst DEFAULT_PROPS: Partial<PieChartArcProps> = {};\n\nexport const PieChartArc: Comp<PieChartArcProps, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n color,\n data,\n index,\n onClick,\n path,\n spaced,\n showTooltip,\n tooltipPercent,\n tooltipLabelOnly,\n isEmpty,\n ...forwardedProps\n } = props;\n const Arc = (\n <StyledPieChartArc\n ref={ref as any}\n {...forwardedProps}\n role={onClick ? 'button' : undefined}\n className={`pie-slice _${index}`}\n onClick={onClick}\n $clickable={Boolean(onClick)}\n $spaced={Boolean(spaced)}\n >\n <path d={path} fill={color} />\n {!showTooltip && !isEmpty && (\n <title>{`${data.name}: ${data.value}`}</title>\n )}\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 <Tooltip>\n {`${data.name}${tooltipLabelOnly ? '' : ` - ${tooltipValue}`}`}\n </Tooltip>\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 = 'RedSiftPieChart';\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 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 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 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 ? (\n <g className=\"pie-label-group\">\n {pieData.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 {index < 2 || caping ? datum.data.name : null}\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","scheme","light","lighter","empty","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","isEmpty","d3colors","d3scaleOrdinal","domain","range","unknown","PieChartSize","small","medium","large","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","none","internal","externalLabel","externalLabelValue","externalLabelPercent","PieChartTheme","PieChartTooltipVariant","label","value","percent","StyledPieChart","styled","div","StyledPieChartTitle","StyledPieChartCaption","p","StyledPieChartCenterText","$maxWidth","$textSize","$smallTextSize","StyledPieChartEmptyText","$isDonut","css","StyledPieChartLabel","li","$color","StyledPieChartArc","g","$spaced","$clickable","Tooltip","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","PieChartArc","forwardRef","props","ref","color","data","index","onClick","path","showTooltip","tooltipPercent","tooltipLabelOnly","forwardedProps","_excluded","Arc","_extends","undefined","Boolean","name","tooltipValue","className","defaultProps","displayName","labelVariant","others","size","variant","tooltipVariant","localeText","emptyChartText","sizeToDimension","width","height","sizeToSmallFontSize","sizeToFontSize","sizeToInnerRadius","PieChart","id","useId","ariaLabel","ariaLabelledby","caping","caption","propData","onSliceClick","text","middleText","subtext","title","every","d","isDonut","sort","a","b","slice","reduce","acc","curr","chartDimensions","externalRadiusPadding","innerRadius","createPie","d3pie","createArc","d3arc","outerRadius","pieData","total","d3sum","map","datum","toFixed","centroid"],"mappings":"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"}
package/package.json CHANGED
@@ -28,12 +28,12 @@
28
28
  "test": "NODE_ENV=test jest --verbose"
29
29
  },
30
30
  "types": "types.d.ts",
31
- "version": "6.3.0",
31
+ "version": "6.3.1",
32
32
  "dependencies": {
33
33
  "@emotion/react": "^11.10.4",
34
34
  "@emotion/styled": "^11.10.4",
35
- "@redsift/design-system": "^6.3.0",
36
- "@redsift/table": "^6.3.0",
35
+ "@redsift/design-system": "^6.3.1",
36
+ "@redsift/table": "^6.3.1",
37
37
  "d3": "^7.6.1",
38
38
  "d3-shape": "^3.1.0"
39
39
  },
@@ -94,5 +94,5 @@
94
94
  "react-dom": "18",
95
95
  "styled-components": "^5.3.3"
96
96
  },
97
- "gitHead": "2c934b635a38eff689bc98eebdd3a2646a22a02f"
97
+ "gitHead": "389da11f3efb89ed456332d5dc8a099fb235237c"
98
98
  }