@undp/data-viz 2.2.0 → 2.2.2
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/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +2 -0
- package/dist/BiVariateChoroplethMap.js +264 -250
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +2 -0
- package/dist/ChoroplethMap.js +272 -258
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/GraphEl-CAjJLOGk.cjs +2 -0
- package/dist/GraphEl-CAjJLOGk.cjs.map +1 -0
- package/dist/{GraphEl-DKrjuQNB.js → GraphEl-DcNr5JzH.js} +9 -7
- package/dist/GraphEl-DcNr5JzH.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +1 -0
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +1 -0
- package/dist/MultiGraphDashboard.d.ts +1 -0
- package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
- package/dist/ScrollStory.d.ts +1 -0
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +1 -0
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
- package/dist/Types.d.ts +1 -0
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +8 -9
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +13 -3162
- package/dist/index.js +112 -130
- package/dist/index.js.map +1 -1
- package/package.json +4 -16
- package/dist/GraphEl-CBZdcvb7.cjs +0 -2
- package/dist/GraphEl-CBZdcvb7.cjs.map +0 -1
- package/dist/GraphEl-DKrjuQNB.js.map +0 -1
- package/dist/getSchema.cjs +0 -2
- package/dist/getSchema.cjs.map +0 -1
- package/dist/getSchema.d.ts +0 -3258
- package/dist/getSchema.js +0 -1137
- package/dist/getSchema.js.map +0 -1
- package/dist/validateSchema.cjs +0 -2
- package/dist/validateSchema.cjs.map +0 -1
- package/dist/validateSchema.d.ts +0 -66
- package/dist/validateSchema.js +0 -109
- package/dist/validateSchema.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaterfallChart.js","sources":["../src/Components/Graphs/WaterfallChart/Graph.tsx","../src/Components/Graphs/WaterfallChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleBand } from 'd3-scale';\r\nimport { useMemo, useRef, useState } from 'react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport {\r\n AnimateDataType,\r\n BarGraphDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\n\r\ninterface Props {\r\n data: BarGraphDataType[];\r\n barColor: string[];\r\n colorDomain: string[];\r\n suffix: string;\r\n prefix: string;\r\n barPadding: number;\r\n showValues: boolean;\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n truncateBy: number;\r\n width: number;\r\n height: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n labelOrder?: string[];\r\n rtl: boolean;\r\n maxBarThickness?: number;\r\n minBarThickness?: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n barAxisTitle?: string;\r\n noOfTicks: number;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n animate: AnimateDataType;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n}\r\nfunction getWaterfallExtent(values: (number | null | undefined)[]) {\r\n let cumulative = 0;\r\n let max = 0;\r\n let min = 0;\r\n\r\n for (const v of values) {\r\n cumulative += v || 0;\r\n if (cumulative > max) max = cumulative;\r\n if (cumulative < min) min = cumulative;\r\n }\r\n\r\n return {\r\n max,\r\n min,\r\n };\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n leftMargin = 20,\r\n rightMargin = 20,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n data,\r\n width,\r\n height,\r\n barColor,\r\n suffix,\r\n prefix,\r\n barPadding,\r\n showLabels,\r\n showValues,\r\n showTicks,\r\n colorDomain,\r\n truncateBy,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n labelOrder,\r\n maxBarThickness,\r\n minBarThickness,\r\n detailsOnClick,\r\n barAxisTitle,\r\n noOfTicks,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n animate,\r\n precision,\r\n customLayers,\r\n naLabel,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: barAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n\r\n const { max, min } = getWaterfallExtent(data.map(d => d.size));\r\n\r\n const maxVal = !checkIfNullOrUndefined(maxValue) ? (maxValue as number) : max;\r\n const minVal = !checkIfNullOrUndefined(minValue) ? (minValue as number) : min;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataWithId = useMemo(() => {\r\n const idSet = new Set<string>();\r\n\r\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\r\n const id = labelOrder ? `${d.label}` : `${i}`;\r\n idSet.add(id);\r\n return { ...d, id };\r\n });\r\n\r\n const missingIds = labelOrder ? labelOrder.filter(id => !idSet.has(id)) : [];\r\n\r\n return [\r\n ...dataWithIdWithoutMissingIds,\r\n ...missingIds.map(id => ({\r\n id,\r\n label: id,\r\n color: null,\r\n size: null,\r\n })),\r\n ];\r\n }, [data, labelOrder]);\r\n\r\n const barOrder = useMemo(() => {\r\n return labelOrder ?? dataWithId.map(d => `${d.id}`);\r\n }, [labelOrder, dataWithId]);\r\n\r\n const y = scaleLinear().domain([minVal, maxVal]).range([graphHeight, 0]).nice();\r\n\r\n const x = scaleBand()\r\n .domain(barOrder)\r\n .range([\r\n 0,\r\n minBarThickness\r\n ? Math.max(graphWidth, minBarThickness * barOrder.length)\r\n : maxBarThickness\r\n ? Math.min(graphWidth, maxBarThickness * barOrder.length)\r\n : graphWidth,\r\n ])\r\n .paddingInner(barPadding);\r\n const yTicks = y.ticks(noOfTicks);\r\n let running = 0;\r\n\r\n const waterfallData = dataWithId.map(d => {\r\n const start = running;\r\n running += d.size || 0;\r\n return {\r\n ...d,\r\n start,\r\n end: running,\r\n };\r\n });\r\n return (\r\n <>\r\n <motion.svg\r\n ref={svgRef}\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <Axis\r\n y1={y(minVal < 0 ? 0 : minVal)}\r\n y2={y(minVal < 0 ? 0 : minVal)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minVal < 0 ? 0 : minVal,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n dx: 0,\r\n dy: maxVal < 0 ? '1em' : -5,\r\n y: y(minVal < 0 ? 0 : minVal),\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{ axis: styles?.xAxis?.axis, label: styles?.yAxis?.labels }}\r\n />\r\n {showTicks ? (\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n ) : null}\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={barAxisTitle}\r\n rotate90\r\n />\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <AnimatePresence>\r\n {waterfallData.map((d, _i) =>\r\n !checkIfNullOrUndefined(x(d.id)) ? (\r\n <motion.g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n variants={{\r\n initial: {\r\n opacity: selectedColor\r\n ? d.color\r\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n },\r\n whileInView: {\r\n opacity: selectedColor\r\n ? d.color\r\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d)) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n {d.size ? (\r\n <motion.rect\r\n width={x.bandwidth()}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n variants={{\r\n initial: {\r\n height: 0,\r\n x: x(`${d.id}`),\r\n y: y(d.start),\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? barColor[0]\r\n : !d.color\r\n ? Colors.gray\r\n : barColor[colorDomain.indexOf(d.color)],\r\n },\r\n whileInView: {\r\n height: Math.abs(y(d.start) - y(d.end)),\r\n y: y(Math.max(d.start, d.end)),\r\n x: x(`${d.id}`),\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? barColor[0]\r\n : !d.color\r\n ? Colors.gray\r\n : barColor[colorDomain.indexOf(d.color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n exit={{\r\n height: 0,\r\n y: y(d.start),\r\n transition: { duration: animate.duration },\r\n }}\r\n />\r\n ) : null}\r\n {showLabels ? (\r\n <XAxesLabels\r\n value={\r\n `${d.label}`.length < truncateBy\r\n ? `${d.label}`\r\n : `${`${d.label}`.substring(0, truncateBy)}...`\r\n }\r\n y={y(0) + 5}\r\n x={x(`${d.id}`) as number}\r\n width={x.bandwidth()}\r\n height={margin.bottom}\r\n style={styles?.xAxis?.labels}\r\n className={classNames?.xAxis?.labels}\r\n alignment='top'\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ) : null}\r\n {showValues && Math.abs(y(d.start) - y(d.end)) > 16 ? (\r\n <motion.text\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\r\n dy='0.33em'\r\n variants={{\r\n initial: {\r\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\r\n y: (y(d.start) + y(d.end)) / 2,\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? getTextColorBasedOnBgColor(barColor[0])\r\n : !d.color\r\n ? getTextColorBasedOnBgColor(Colors.gray)\r\n : getTextColorBasedOnBgColor(\r\n barColor[colorDomain.indexOf(d.color)],\r\n ),\r\n },\r\n whileInView: {\r\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\r\n y: (y(d.start) + y(d.end)) / 2,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? getTextColorBasedOnBgColor(barColor[0])\r\n : !d.color\r\n ? getTextColorBasedOnBgColor(Colors.gray)\r\n : getTextColorBasedOnBgColor(\r\n barColor[colorDomain.indexOf(d.color)],\r\n ),\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{\r\n opacity: 0,\r\n transition: { duration: animate.duration },\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d.size ? Math.abs(d.size) : d.size,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ) : null,\r\n )}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n </AnimatePresence>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphContainer, GraphArea } from '@/Components/Elements/GraphContainer';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n ReferenceDataType,\r\n BarGraphDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { checkIfNullOrUndefined } from '@/Utils';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: BarGraphDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for bars */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n /** Padding between bars */\r\n barPadding?: number;\r\n /** Maximum thickness of bars */\r\n maxBarThickness?: number;\r\n /** Minimum thickness of bars */\r\n minBarThickness?: number;\r\n /** Maximum number of bars shown in the graph */\r\n maxNumberOfBars?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Truncate labels by specified length */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Custom order for labels */\r\n labelOrder?: string[];\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Toggle visibility of axis ticks */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Title for the bar axis */\r\n barAxisTitle?: string;\r\n /** Toggles if data point which are undefined or has value null are filtered out. */\r\n filterNA?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function WaterfallChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n barPadding = 0.25,\r\n showValues = true,\r\n showTicks = true,\r\n truncateBy = 999,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n highlightedDataPoints = [],\r\n padding,\r\n backgroundColor = false,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n showLabels = true,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale = true,\r\n graphID,\r\n maxValue,\r\n minValue,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n labelOrder,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n maxBarThickness,\r\n maxNumberOfBars,\r\n minBarThickness,\r\n ariaLabel,\r\n detailsOnClick,\r\n barAxisTitle,\r\n noOfTicks = 5,\r\n styles,\r\n classNames,\r\n filterNA = true,\r\n animate = false,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n naLabel = 'NA',\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as (string | number)[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d)).length === 0 && (\r\n <EmptyState />\r\n )}\r\n {svgWidth &&\r\n svgHeight &&\r\n data.filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d)).length > 0 ? (\r\n <Graph\r\n data={data\r\n .filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d))\r\n .filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))}\r\n barColor={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n selectedColor={selectedColor}\r\n width={svgWidth}\r\n height={svgHeight}\r\n suffix={suffix}\r\n prefix={prefix}\r\n barPadding={barPadding}\r\n showValues={showValues}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n truncateBy={truncateBy}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n labelOrder={labelOrder}\r\n rtl={language === 'he' || language === 'ar'}\r\n maxBarThickness={maxBarThickness}\r\n minBarThickness={minBarThickness}\r\n detailsOnClick={detailsOnClick}\r\n barAxisTitle={barAxisTitle}\r\n noOfTicks={noOfTicks}\r\n classNames={classNames}\r\n styles={styles}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["getWaterfallExtent","values","cumulative","max","min","v","Graph","props","$","_c","leftMargin","t0","rightMargin","t1","topMargin","t2","bottomMargin","t3","data","width","height","barColor","suffix","prefix","barPadding","showLabels","showValues","showTicks","colorDomain","truncateBy","tooltip","onSeriesMouseOver","refValues","selectedColor","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","labelOrder","maxBarThickness","minBarThickness","detailsOnClick","barAxisTitle","noOfTicks","styles","classNames","dimmedOpacity","animate","precision","customLayers","naLabel","undefined","svgRef","useRef","t4","amount","once","isInView","useInView","t5","t6","top","bottom","left","right","margin","map","_temp","maxVal","checkIfNullOrUndefined","minVal","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","graphWidth","graphHeight","t7","idSet","Set","dataWithIdWithoutMissingIds","d_0","i","id","d","label","add","missingIds","filter","id_0","has","_temp2","dataWithId","t8","_temp3","barOrder","y","scaleLinear","domain","range","nice","x","scaleBand","Math","length","paddingInner","yTicks","ticks","running","waterfallData","d_2","start","size","end","t9","xAxis","axis","t10","yAxis","labels","t11","t12","t13","t14","t15","t16","t17","title","t18","t19","AxisTitle","t20","_temp6","_temp7","T0","AnimatePresence","t21","d_8","_i","jsxs","motion","initial","opacity","color","indexOf","whileInView","transition","duration","event","clientY","clientX","isEqual","event_0","jsx","bandwidth","fill","_temp8","Colors","gray","abs","_temp9","XAxesLabels","substring","textAnchor","graphObjectValues","cn","_temp0","getTextColorBasedOnBgColor","_temp1","numberFormattingFunction","t22","Fragment","el_3","i_0","RefLineY","el","text","value","t23","t24","_temp10","_temp11","t25","Tooltip","t26","modal","DetailsModal","Axis","dx","dy","YTicksAndGridLines","_temp4","_temp5","d_5","gridLines","d_10","layer","d_9","position","el_2","el_1","el_0","d_7","d_6","d_4","d_3","d_1","id_1","WaterfallChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","backgroundColor","relativeHeight","showColorScale","graphID","graphDownload","dataDownload","language","showNAColor","minHeight","theme","maxNumberOfBars","ariaLabel","filterNA","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","t27","graphContainer","t28","t29","description","GraphHeader","t30","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t31","EmptyState","t32","_d","primaryColors","t33","GraphArea","t34","footnote","source","GraphFooter","t35","GraphContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WaterfallChart.js","sources":["../src/Components/Graphs/WaterfallChart/Graph.tsx","../src/Components/Graphs/WaterfallChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleBand } from 'd3-scale';\r\nimport { useMemo, useRef, useState } from 'react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n WaterfallChartDataType,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\n\r\ninterface Props {\r\n data: WaterfallChartDataType[];\r\n barColor: string[];\r\n colorDomain: string[];\r\n suffix: string;\r\n prefix: string;\r\n barPadding: number;\r\n showValues: boolean;\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n truncateBy: number;\r\n width: number;\r\n height: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n labelOrder?: string[];\r\n rtl: boolean;\r\n maxBarThickness?: number;\r\n minBarThickness?: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n barAxisTitle?: string;\r\n noOfTicks: number;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n animate: AnimateDataType;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n}\r\nfunction getWaterfallExtent(values: (number | null | undefined)[]) {\r\n let cumulative = 0;\r\n let max = 0;\r\n let min = 0;\r\n\r\n for (const v of values) {\r\n cumulative += v || 0;\r\n if (cumulative > max) max = cumulative;\r\n if (cumulative < min) min = cumulative;\r\n }\r\n\r\n return {\r\n max,\r\n min,\r\n };\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n leftMargin = 20,\r\n rightMargin = 20,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n data,\r\n width,\r\n height,\r\n barColor,\r\n suffix,\r\n prefix,\r\n barPadding,\r\n showLabels,\r\n showValues,\r\n showTicks,\r\n colorDomain,\r\n truncateBy,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n labelOrder,\r\n maxBarThickness,\r\n minBarThickness,\r\n detailsOnClick,\r\n barAxisTitle,\r\n noOfTicks,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n animate,\r\n precision,\r\n customLayers,\r\n naLabel,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: barAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n\r\n const { max, min } = getWaterfallExtent(data.map(d => d.size));\r\n\r\n const maxVal = !checkIfNullOrUndefined(maxValue) ? (maxValue as number) : max;\r\n const minVal = !checkIfNullOrUndefined(minValue) ? (minValue as number) : min;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataWithId = useMemo(() => {\r\n const idSet = new Set<string>();\r\n\r\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\r\n const id = labelOrder ? `${d.label}` : `${i}`;\r\n idSet.add(id);\r\n return { ...d, id };\r\n });\r\n\r\n const missingIds = labelOrder ? labelOrder.filter(id => !idSet.has(id)) : [];\r\n\r\n return [\r\n ...dataWithIdWithoutMissingIds,\r\n ...missingIds.map(id => ({\r\n id,\r\n label: id,\r\n color: null,\r\n size: null,\r\n })),\r\n ];\r\n }, [data, labelOrder]);\r\n\r\n const barOrder = useMemo(() => {\r\n return labelOrder ?? dataWithId.map(d => `${d.id}`);\r\n }, [labelOrder, dataWithId]);\r\n\r\n const y = scaleLinear().domain([minVal, maxVal]).range([graphHeight, 0]).nice();\r\n\r\n const x = scaleBand()\r\n .domain(barOrder)\r\n .range([\r\n 0,\r\n minBarThickness\r\n ? Math.max(graphWidth, minBarThickness * barOrder.length)\r\n : maxBarThickness\r\n ? Math.min(graphWidth, maxBarThickness * barOrder.length)\r\n : graphWidth,\r\n ])\r\n .paddingInner(barPadding);\r\n const yTicks = y.ticks(noOfTicks);\r\n let running = 0;\r\n\r\n const waterfallData = dataWithId.map(d => {\r\n const start = running;\r\n running += d.size || 0;\r\n return {\r\n ...d,\r\n start,\r\n end: running,\r\n };\r\n });\r\n return (\r\n <>\r\n <motion.svg\r\n ref={svgRef}\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <Axis\r\n y1={y(minVal < 0 ? 0 : minVal)}\r\n y2={y(minVal < 0 ? 0 : minVal)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minVal < 0 ? 0 : minVal,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n dx: 0,\r\n dy: maxVal < 0 ? '1em' : -5,\r\n y: y(minVal < 0 ? 0 : minVal),\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{ axis: styles?.xAxis?.axis, label: styles?.yAxis?.labels }}\r\n />\r\n {showTicks ? (\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n ) : null}\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={barAxisTitle}\r\n rotate90\r\n />\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <AnimatePresence>\r\n {waterfallData.map((d, _i) =>\r\n !checkIfNullOrUndefined(x(d.id)) ? (\r\n <motion.g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n variants={{\r\n initial: {\r\n opacity: selectedColor\r\n ? d.color\r\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n },\r\n whileInView: {\r\n opacity: selectedColor\r\n ? d.color\r\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d)) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n {d.size ? (\r\n <motion.rect\r\n width={x.bandwidth()}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n variants={{\r\n initial: {\r\n height: 0,\r\n x: x(`${d.id}`),\r\n y: y(d.start),\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? barColor[0]\r\n : !d.color\r\n ? Colors.gray\r\n : barColor[colorDomain.indexOf(d.color)],\r\n },\r\n whileInView: {\r\n height: Math.abs(y(d.start) - y(d.end)),\r\n y: y(Math.max(d.start, d.end)),\r\n x: x(`${d.id}`),\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? barColor[0]\r\n : !d.color\r\n ? Colors.gray\r\n : barColor[colorDomain.indexOf(d.color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n exit={{\r\n height: 0,\r\n y: y(d.start),\r\n transition: { duration: animate.duration },\r\n }}\r\n />\r\n ) : null}\r\n {showLabels ? (\r\n <XAxesLabels\r\n value={\r\n `${d.label}`.length < truncateBy\r\n ? `${d.label}`\r\n : `${`${d.label}`.substring(0, truncateBy)}...`\r\n }\r\n y={y(0) + 5}\r\n x={x(`${d.id}`) as number}\r\n width={x.bandwidth()}\r\n height={margin.bottom}\r\n style={styles?.xAxis?.labels}\r\n className={classNames?.xAxis?.labels}\r\n alignment='top'\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ) : null}\r\n {showValues && Math.abs(y(d.start) - y(d.end)) > 16 ? (\r\n <motion.text\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\r\n dy='0.33em'\r\n variants={{\r\n initial: {\r\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\r\n y: (y(d.start) + y(d.end)) / 2,\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? getTextColorBasedOnBgColor(barColor[0])\r\n : !d.color\r\n ? getTextColorBasedOnBgColor(Colors.gray)\r\n : getTextColorBasedOnBgColor(\r\n barColor[colorDomain.indexOf(d.color)],\r\n ),\r\n },\r\n whileInView: {\r\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\r\n y: (y(d.start) + y(d.end)) / 2,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? getTextColorBasedOnBgColor(barColor[0])\r\n : !d.color\r\n ? getTextColorBasedOnBgColor(Colors.gray)\r\n : getTextColorBasedOnBgColor(\r\n barColor[colorDomain.indexOf(d.color)],\r\n ),\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{\r\n opacity: 0,\r\n transition: { duration: animate.duration },\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d.size ? Math.abs(d.size) : d.size,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ) : null,\r\n )}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n </AnimatePresence>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphContainer, GraphArea } from '@/Components/Elements/GraphContainer';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n ReferenceDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n WaterfallChartDataType,\r\n} from '@/Types';\r\nimport { checkIfNullOrUndefined } from '@/Utils';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: WaterfallChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for bars */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n /** Padding between bars */\r\n barPadding?: number;\r\n /** Maximum thickness of bars */\r\n maxBarThickness?: number;\r\n /** Minimum thickness of bars */\r\n minBarThickness?: number;\r\n /** Maximum number of bars shown in the graph */\r\n maxNumberOfBars?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Truncate labels by specified length */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Custom order for labels */\r\n labelOrder?: string[];\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Toggle visibility of axis ticks */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Title for the bar axis */\r\n barAxisTitle?: string;\r\n /** Toggles if data point which are undefined or has value null are filtered out. */\r\n filterNA?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function WaterfallChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n barPadding = 0.25,\r\n showValues = true,\r\n showTicks = true,\r\n truncateBy = 999,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n highlightedDataPoints = [],\r\n padding,\r\n backgroundColor = false,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n showLabels = true,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale = true,\r\n graphID,\r\n maxValue,\r\n minValue,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n labelOrder,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n maxBarThickness,\r\n maxNumberOfBars,\r\n minBarThickness,\r\n ariaLabel,\r\n detailsOnClick,\r\n barAxisTitle,\r\n noOfTicks = 5,\r\n styles,\r\n classNames,\r\n filterNA = true,\r\n animate = false,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n naLabel = 'NA',\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as (string | number)[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d)).length === 0 && (\r\n <EmptyState />\r\n )}\r\n {svgWidth &&\r\n svgHeight &&\r\n data.filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d)).length > 0 ? (\r\n <Graph\r\n data={data\r\n .filter(d => (filterNA ? !checkIfNullOrUndefined(d.size) : d))\r\n .filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))}\r\n barColor={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n selectedColor={selectedColor}\r\n width={svgWidth}\r\n height={svgHeight}\r\n suffix={suffix}\r\n prefix={prefix}\r\n barPadding={barPadding}\r\n showValues={showValues}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n truncateBy={truncateBy}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n labelOrder={labelOrder}\r\n rtl={language === 'he' || language === 'ar'}\r\n maxBarThickness={maxBarThickness}\r\n minBarThickness={minBarThickness}\r\n detailsOnClick={detailsOnClick}\r\n barAxisTitle={barAxisTitle}\r\n noOfTicks={noOfTicks}\r\n classNames={classNames}\r\n styles={styles}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["getWaterfallExtent","values","cumulative","max","min","v","Graph","props","$","_c","leftMargin","t0","rightMargin","t1","topMargin","t2","bottomMargin","t3","data","width","height","barColor","suffix","prefix","barPadding","showLabels","showValues","showTicks","colorDomain","truncateBy","tooltip","onSeriesMouseOver","refValues","selectedColor","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","labelOrder","maxBarThickness","minBarThickness","detailsOnClick","barAxisTitle","noOfTicks","styles","classNames","dimmedOpacity","animate","precision","customLayers","naLabel","undefined","svgRef","useRef","t4","amount","once","isInView","useInView","t5","t6","top","bottom","left","right","margin","map","_temp","maxVal","checkIfNullOrUndefined","minVal","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","graphWidth","graphHeight","t7","idSet","Set","dataWithIdWithoutMissingIds","d_0","i","id","d","label","add","missingIds","filter","id_0","has","_temp2","dataWithId","t8","_temp3","barOrder","y","scaleLinear","domain","range","nice","x","scaleBand","Math","length","paddingInner","yTicks","ticks","running","waterfallData","d_2","start","size","end","t9","xAxis","axis","t10","yAxis","labels","t11","t12","t13","t14","t15","t16","t17","title","t18","t19","AxisTitle","t20","_temp6","_temp7","T0","AnimatePresence","t21","d_8","_i","jsxs","motion","initial","opacity","color","indexOf","whileInView","transition","duration","event","clientY","clientX","isEqual","event_0","jsx","bandwidth","fill","_temp8","Colors","gray","abs","_temp9","XAxesLabels","substring","textAnchor","graphObjectValues","cn","_temp0","getTextColorBasedOnBgColor","_temp1","numberFormattingFunction","t22","Fragment","el_3","i_0","RefLineY","el","text","value","t23","t24","_temp10","_temp11","t25","Tooltip","t26","modal","DetailsModal","Axis","dx","dy","YTicksAndGridLines","_temp4","_temp5","d_5","gridLines","d_10","layer","d_9","position","el_2","el_1","el_0","d_7","d_6","d_4","d_3","d_1","id_1","WaterfallChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","backgroundColor","relativeHeight","showColorScale","graphID","graphDownload","dataDownload","language","showNAColor","minHeight","theme","maxNumberOfBars","ariaLabel","filterNA","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","t27","graphContainer","t28","t29","description","GraphHeader","t30","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t31","EmptyState","t32","_d","primaryColors","t33","GraphArea","t34","footnote","source","GraphFooter","t35","GraphContainer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,SAASA,GAAmBC,GAAuC;AACjE,MAAIC,IAAa,GACbC,IAAM,GACNC,IAAM;AAEV,aAAWC,KAAKJ;AACdC,IAAAA,KAAcG,KAAK,GACfH,IAAaC,MAAKA,IAAMD,IACxBA,IAAaE,MAAKA,IAAMF;AAG9B,SAAO;AAAA,IACLC,KAAAA;AAAAA,IACAC,KAAAA;AAAAA,EAAAA;AAEJ;AAEO,SAAAE,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GACL;AAAA,IAAAC,YAAAC;AAAAA,IAAAC,aAAAC;AAAAA,IAAAC,WAAAC;AAAAA,IAAAC,cAAAC;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,uBAAAA;AAAAA,IAAAC,oBAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAsCI3C,GArCFG,IAAAC,MAAAwC,SAAA,KAAAxC,GACAC,KAAAC,MAAAsC,SAAA,KAAAtC,GACAC,KAAAC,MAAAoC,SAAA,KAAApC,GACAC,KAAAC,OAAAkC,SAAA,KAAAlC,IAmCFmC,KAAeC,GAAO,IAAI;AAAE,MAAAC;AAAA,EAAA9C,EAAA,CAAA,MAAAuC,EAAAQ,UAAA/C,EAAA,CAAA,MAAAuC,EAAAS,QACOF,IAAA;AAAA,IAAAE,MAC3BT,EAAOS;AAAAA,IAAKD,QACVR,EAAOQ;AAAAA,EAAAA,GAChB/C,EAAA,CAAA,IAAAuC,EAAAQ,QAAA/C,EAAA,CAAA,IAAAuC,EAAAS,MAAAhD,OAAA8C,KAAAA,IAAA9C,EAAA,CAAA;AAHD,QAAAiD,IAAiBC,GAAUN,IAAQE,CAGlC,GAIOK,KAAAjB,KAAehC,IAAa,KAA5BA;AAA2C,MAAAkD;AAAA,EAAApD,EAAA,CAAA,MAAAQ,MAAAR,EAAA,CAAA,MAAAI,MAAAJ,EAAA,CAAA,MAAAmD,MAAAnD,SAAAM,MAHpC8C,IAAA;AAAA,IAAAC,KACR/C;AAAAA,IAASgD,QACN9C;AAAAA,IAAY+C,MACdJ;AAAAA,IAA2CK,OAC1CpD;AAAAA,EAAAA,GACRJ,OAAAQ,IAAAR,OAAAI,IAAAJ,OAAAmD,IAAAnD,OAAAM,IAAAN,OAAAoD,KAAAA,IAAApD,EAAA,CAAA;AALD,QAAAyD,IAAeL,GAOf;AAAA,IAAAzD,KAAAA;AAAAA,IAAAC,KAAAA;AAAAA,EAAAA,IAAqBJ,GAAmBkB,EAAIgD,IAAKC,EAAW,CAAC,GAE7DC,KAAgBC,GAAuBnC,EAAQ,IAAhC/B,IAAqC+B,IACpDoC,IAAgBD,GAAuBlC,EAAQ,IAAhC/B,IAAqC+B,IAGpD,CAAAoC,IAAAC,EAAA,IAA0CC,GAActB,MAAS,GAEjE,CAAAuB,GAAAC,CAAA,IAA4CF,GAActB,MAAS,GACnE,CAAAyB,GAAAC,EAAA,IAA4BJ,GAA6BtB,MAAS,GAClE,CAAA2B,GAAAC,EAAA,IAA4BN,GAA6BtB,MAAS,GAClE6B,IAAmB7D,KAAQ8C,EAAMF,OAAQE,EAAMD,OAC/CiB,KAAoB7D,IAAS6C,EAAMJ,MAAOI,EAAMH;AAAQ,MAAAoB;AAAA,MAAA1E,EAAA,CAAA,MAAAU,KAAAV,SAAA8B,GAAA;AAGtD,UAAA6C,wBAAkBC,IAAAA,GAElBC,IAAoCnE,EAAIgD,IAAK,CAAAoB,GAAAC,OAAA;AAC3C,YAAAC,IAAWlD,IAAA,GAAgBmD,EAACC,KAAM,KAAvB,GAA+BH,EAAC;AAC3CJ,aAAAA,EAAKQ,IAAKH,CAAE,GACL;AAAA,QAAA,GAAKC;AAAAA,QAACD,IAAAA;AAAAA,MAAAA;AAAAA,IAAM,CACpB,GAEDI,IAAmBtD,IAAaA,EAAUuD,OAAQC,CAAAA,MAAM,CAACX,EAAKY,IAAKP,CAAE,CAAM,IAAxD,CAAA;AAEZN,IAAAA,IAAA,CAAA,GACFG,GAA2B,GAC3BO,EAAU1B,IAAK8B,EAKhB,CAAC,GACJxF,OAAAU,GAAAV,OAAA8B,GAAA9B,QAAA0E;AAAAA,EAAA;AAAAA,IAAAA,IAAA1E,EAAA,EAAA;AAnBH,QAAAyF,IAWEf;AASqB,MAAAgB;AAAA,EAAA1F,EAAA,EAAA,MAAAyF,KAAAzF,UAAA8B,KAGd4D,IAAA5D,KAAc2D,EAAU/B,IAAKiC,EAAc,GAAC3F,QAAAyF,GAAAzF,QAAA8B,GAAA9B,QAAA0F,KAAAA,IAAA1F,EAAA,EAAA;AADrD,QAAA4F,KACEF,GAGFG,IAAUC,GAAAA,EAAaC,OAAQ,CAACjC,GAAQF,EAAM,CAAC,EAACoC,MAAO,CAACvB,IAAa,CAAC,CAAC,EAACwB,KAAAA,GAExEC,IAAUC,GAAAA,EAAWJ,OACXH,EAAQ,EAACI,MACV,CACL,GACAhE,KACIoE,KAAIzG,IAAK6E,GAAYxC,KAAkB4D,GAAQS,MAGpC,IAFXtE,KACEqE,KAAIxG,IAAK4E,GAAYzC,KAAkB6D,GAAQS,MACtC,IAFX7B,CAEY,CACjB,EAAC8B,aACYtF,EAAU,GAC1BuF,KAAeV,EAACW,MAAOrE,EAAS;AAChC,MAAAsE,IAAc;AAEd,QAAAC,KAAsBjB,EAAU/B,IAAKiD,CAAAA,MAAA;AACnC,UAAAC,IAAcH;AACdA,WAAAA,IAAAA,KAAWxB,EAAC4B,QAAD,IACJ;AAAA,MAAA,GACF5B;AAAAA,MAAC2B,OAAAA;AAAAA,MAAAE,KAECL;AAAAA,IAAAA;AAAAA,EACN,CACF,GA8BiBM,KAAA1E,GAAU2E,OAAaC,MACtBC,IAAA7E,GAAU8E,OAAeC;AAAA,MAAAC;AAAA,EAAArH,EAAA,EAAA,MAAAkH,KAAAlH,UAAA+G,MAFtBM,IAAA;AAAA,IAAAJ,MACJF;AAAAA,IAAuB7B,OACtBgC;AAAAA,EAAAA,GACRlH,QAAAkH,GAAAlH,QAAA+G,IAAA/G,QAAAqH,KAAAA,IAAArH,EAAA,EAAA;AACe,QAAAsH,IAAAlF,GAAM4E,OAAaC,MAASM,IAAAnF,GAAM+E,OAAeC;AAAA,MAAAI;AAAA,EAAAxH,EAAA,EAAA,MAAAsH,KAAAtH,UAAAuH,KAAzDC,IAAA;AAAA,IAAAP,MAAQK;AAAAA,IAAmBpC,OAASqC;AAAAA,EAAAA,GAAuBvH,QAAAsH,GAAAtH,QAAAuH,GAAAvH,QAAAwH,KAAAA,IAAAxH,EAAA,EAAA;AAyBhE,QAAAyH,KAAA,IAAIvH,IAAa,IACjBwH,IAAAjD,KAAc,GACVkD,KAAAvF,GAAM+E,OAAcS,OAChBC,KAAAxF,GAAU8E,OAAcS;AAAA,MAAAE;AAAA,EAAA9H,EAAA,EAAA,MAAAkC,MAAAlC,EAAA,EAAA,MAAAyH,MAAAzH,EAAA,EAAA,MAAA0H,KAAA1H,EAAA,EAAA,MAAA2H,MAAA3H,UAAA6H,MAJrCC,0BAACC,IAAA,EACI,GAAAN,IACA,GAAAC,GACI,OAAAC,IACI,WAAAE,IACL3F,MAAAA,IACN,UAAA,IAAQ,GACRlC,QAAAkC,IAAAlC,QAAAyH,IAAAzH,QAAA0H,GAAA1H,QAAA2H,IAAA3H,QAAA6H,IAAA7H,QAAA8H,KAAAA,IAAA9H,EAAA,EAAA;AAAA,MAAAgI;AAAA,EAAAhI,UAAAyC,KACDuF,KAAAvF,EAAY4C,OAAQ4C,EAA4B,EAACvE,IAAKwE,EAAY,GAAClI,QAAAyC,GAAAzC,QAAAgI,MAAAA,KAAAhI,EAAA,EAAA;AACnE,QAAAmI,KAAAC,IACEC,KAAA3B,GAAahD,IAAK,CAAA4E,GAAAC,MAChB1E,GAAuBqC,EAAEjB,EAACD,EAAG,CAAC,IAA/B,OACEwD,gBAAAA,OAAAC,GAAA,GAAA,EACY,WAAA,yBAEF,SAAA,WACC,SAAAxF,IAAA,gBAAA,WACC,UAAA;AAAA,IAAAyF,SACC;AAAA,MAAAC,SACElH,IACLwD,EAAC2D,SACC/H,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,MAAMnH,IAA3C,IADFa,IAKAV,EAAqByE,WAAY,IAC/BzE,EAAqBiH,QAAS5D,EAACC,KAAM,MAAM,KAA3C,OAAA5C,IADF;AAAA,IAAA;AAAA,IAKLwG,aACY;AAAA,MAAAH,SACFlH,IACLwD,EAAC2D,SACC/H,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,MAAMnH,IAA3C,IADFa,IAKAV,EAAqByE,WAAY,IAC/BzE,EAAqBiH,QAAS5D,EAACC,KAAM,MAAM,KAA3C,OAAA5C,IADF;AAAA,MAIMyG,YACE;AAAA,QAAAC,UAAYzG,EAAOyG;AAAAA,MAAAA;AAAAA,IAAU;AAAA,EAC3C,GAEI,MAAA;AAAA,IAAAL,SAAW;AAAA,IAACI,YAAc;AAAA,MAAAC,UAAYzG,EAAOyG;AAAAA,IAAAA;AAAAA,EAAU,GAC/C,cAAAC,CAAAA,MAAA;AACZjF,IAAAA,GAAiBiB,CAAC,GAClBV,GAAU0E,EAAKC,OAAQ,GACvB7E,GAAU4E,EAAKE,OAAQ,GACvB5H,KAAoB0D,CAAC;AAAA,EAAC,GAEf,SAAA,MAAA;AACP,KAAIpD,MAAAI,OACEmH,GAAQlF,GAAgBe,CAAC,KAC3Bd,EAAkBxB,MAAS,GAC3Bd,KAAqBc,MAAS,MAE9BwB,EAAkBc,CAAC,GACnBpD,KAAqBoD,CAAC;AAAA,EAEzB,GAEU,aAAAoE,CAAAA,MAAA;AACXrF,IAAAA,GAAiBiB,CAAC,GAClBV,GAAU0E,EAAKC,OAAQ,GACvB7E,GAAU4E,EAAKE,OAAQ;AAAA,EAAC,GAEZ,cAAA,MAAA;AACZnF,IAAAA,GAAiBrB,MAAS,GAC1B0B,GAAU1B,MAAS,GACnB4B,GAAU5B,MAAS,GACnBpB,KAAoBoB,MAAS;AAAA,EAAC,GAG/BsC,UAAAA;AAAAA,IAAAA,EAAC4B,OACAyC,gBAAAA,EAAAA,IAAAb,GAAA,MAAA,EACS,OAAAvC,EAACqD,UAAAA,GACA,SAAA,WACC,SAAAtG,IAAA,gBAAA,WACC,UAAA;AAAA,MAAAyF,SACC;AAAA,QAAA9H,QACC;AAAA,QAACsF,GACNA,EAAE,GAAGjB,EAACD,EAAG,EAAE;AAAA,QAACa,GACZA,EAAEZ,EAAC2B,KAAM;AAAA,QAAC4C,MAEX9I,EAAI2E,OAAQoE,EAAc,EAACpD,WAAY,IACnCxF,OACCoE,EAAC2D,QAEA/H,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,IADrCc,GAAMC;AAAAA,MAC+B;AAAA,MAC9Cb,aACY;AAAA,QAAAlI,QACHwF,KAAIwD,IAAK/D,EAAEZ,EAAC2B,KAAM,IAAIf,EAAEZ,EAAC6B,GAAI,CAAC;AAAA,QAACjB,GACpCA,EAAEO,KAAIzG,IAAKsF,EAAC2B,OAAQ3B,EAAC6B,GAAI,CAAC;AAAA,QAACZ,GAC3BA,EAAE,GAAGjB,EAACD,EAAG,EAAE;AAAA,QAACwE,MAEb9I,EAAI2E,OAAQwE,EAAc,EAACxD,WAAY,IACnCxF,EAAQ,CAAA,IACPoE,EAAC2D,QAEA/H,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,IADrCc,GAAMC;AAAAA,QACgCZ,YAClC;AAAA,UAAAC,UAAYzG,EAAOyG;AAAAA,QAAAA;AAAAA,MAAU;AAAA,IAC3C,GAEI,MAAA;AAAA,MAAApI,QACI;AAAA,MAACiF,GACNA,EAAEZ,EAAC2B,KAAM;AAAA,MAACmC,YACD;AAAA,QAAAC,UAAYzG,EAAOyG;AAAAA,MAAAA;AAAAA,IAAU,GAC1C,IAlCJ;AAAA,IAqCA/H,KACCqI,gBAAAA,EAAAA,IAACQ,IAAA,EAEG,OAAA,GAAG7E,EAACC,KAAM,GAAEmB,SAAUhF,KAAtB,GACO4D,EAACC,KAAM,KADd,GAEO,GAAGD,EAACC,KAAM,GAAE6E,UAAW,GAAG1I,EAAU,CAAC,OAE3C,GAAAwE,EAAE,CAAC,IAAI,GACP,GAAAK,EAAE,GAAGjB,EAACD,EAAG,EAAE,GACP,OAAAkB,EAACqD,aACA,QAAA9F,EAAMH,QACP,OAAAlB,GAAM4E,OAAeI,QACjB,WAAA/E,GAAU2E,OAAeI,QAC1B,WAAA,OACD7E,SAAAA,GACCU,UAAAA,EAAAA,CAAQ,IAfrB;AAAA,IAkBA/B,KAAckF,KAAIwD,IAAK/D,EAAEZ,EAAC2B,KAAM,IAAIf,EAAEZ,EAAC6B,GAAI,CAAC,IAAI,2BAC/C2B,GAAA,MAAA,EACS,OAAA;AAAA,MAAAuB,YACO;AAAA,MAAQ,GAChB5H,GAAM6H,qBAAN,CAAA;AAAA,IAA8B,GAEzB,WAAAC,GAAG,uBAAuB7H,GAAU4H,iBAAmB,GAC/D,IAAA,UACO,UAAA;AAAA,MAAAvB,SACC;AAAA,QAAAxC,GACHA,EAAE,GAAGjB,EAACD,EAAG,EAAE,IAAekB,EAACqD,UAAAA,IAAe;AAAA,QAAC1D,IAC3CA,EAAEZ,EAAC2B,KAAM,IAAIf,EAAEZ,EAAC6B,GAAI,KAAK;AAAA,QAAC6B,SACrB;AAAA,QAACa,MAER9I,EAAI2E,OAAQ8E,EAAc,EAAC9D,WAAY,IACnC+D,GAA2BvJ,IAKzB,IAJDoE,EAAC2D,QAEAwB,GACEvJ,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,CACvC,IAHAwB,GAA2BV,GAAMC,IAGjC;AAAA,MAAA;AAAA,MACTb,aACY;AAAA,QAAA5C,GACPA,EAAE,GAAGjB,EAACD,EAAG,EAAE,IAAekB,EAACqD,UAAAA,IAAe;AAAA,QAAC1D,IAC3CA,EAAEZ,EAAC2B,KAAM,IAAIf,EAAEZ,EAAC6B,GAAI,KAAK;AAAA,QAAC0C,MAE5B9I,EAAI2E,OAAQgF,EAAc,EAAChE,WAAY,IACnC+D,GAA2BvJ,IAKzB,IAJDoE,EAAC2D,QAEAwB,GACEvJ,EAASO,EAAWyH,QAAS5D,EAAC2D,KAAM,CAAC,CACvC,IAHAwB,GAA2BV,GAAMC,IAGjC;AAAA,QAAChB,SACA;AAAA,QAACI,YACE;AAAA,UAAAC,UAAYzG,EAAOyG;AAAAA,QAAAA;AAAAA,MAAU;AAAA,IAC3C,GAEM,SAAA,WACC,SAAA/F,IAAA,gBAAA,WACH,MAAA;AAAA,MAAA0F,SACK;AAAA,MAACI,YACE;AAAA,QAAAC,UAAYzG,EAAOyG;AAAAA,MAAAA;AAAAA,IAAU,GAG1CsB,UAAAA,GACCrF,EAAC4B,OAAQT,KAAIwD,IAAK3E,EAAC4B,IAAc,IAAL5B,EAAC4B,MAC7BnE,IACAF,IACAzB,IACAD,EACF,GACF,IAnDD;AAAA,EAAA,EAAA,GArHImE,EAACC,KA0KR,CAEJ,GACCqF,KAAA/I,KAAA8H,gBAAAA,EAAAA,IAAAkB,EAAAA,UAAA,EAEIhJ,UAAAA,GAASkC,IAAK,CAAA+G,GAAAC,MACbpB,gBAAAA,EAAAA,IAACqB,IAAA,EAEO,MAAAC,EAAEC,MACD,OAAAD,EAAEhC,OACN,GAAA/C,EAAE+E,EAAEE,KAAgB,GACnB,IAAA,IAAI5K,GACJ,IAAAsE,IAAaf,EAAMD,OACX,YAAAoH,EAAEvI,YACN,QAAAuI,EAAExI,QACDG,SAAAA,GACCU,UAAAA,KATL8B,CASa,CAErB,GAAC,IAfL;AAiBO,MAAAgG;AAAA,EAAA/K,EAAA,EAAA,MAAAmI,MAAAnI,UAAAqI,MAAArI,EAAA,EAAA,MAAAuK,MAnMVQ,4BAAC5C,IAAA,EACEE,UAAAA;AAAAA,IAAAA;AAAAA,IAiLAkC;AAAAA,EAAAA,GAkBH,GAAkBvK,QAAAmI,IAAAnI,QAAAqI,IAAArI,QAAAuK,IAAAvK,QAAA+K,MAAAA,KAAA/K,EAAA,EAAA;AAAA,MAAAgL;AAAA,EAAAhL,UAAAyC,KACjBuI,KAAAvI,EAAY4C,OAAQ4F,EAA2B,EAACvH,IAAKwH,EAAY,GAAClL,QAAAyC,GAAAzC,QAAAgL,MAAAA,KAAAhL,EAAA,EAAA;AAAA,MAAAmL;AAAA,EAAAnL,EAAA,EAAA,MAAAqC,GAAAf,WAAAtB,EAAA,EAAA,MAAAoE,KAAApE,EAAA,EAAA,MAAAsE,KAAAtE,EAAA,EAAA,MAAA+D,MAAA/D,EAAA,EAAA,MAAAoC,GAAAd,WAAAtB,EAAA,EAAA,MAAAsB,KAGtE6J,KAAApH,MAAAzC,KAAA8C,KAAAE,0BACE8G,IAAA,EACOrH,UACAzC,MAAAA,GACA8C,SACAE,MAAAA,GACW,iBAAAlC,GAAMd,SACZ,WAAAe,GAAUf,SAAS,IAPjC,MASOtB,EAAA,EAAA,IAAAqC,GAAAf,SAAAtB,QAAAoE,GAAApE,QAAAsE,GAAAtE,QAAA+D,IAAA/D,EAAA,EAAA,IAAAoC,GAAAd,SAAAtB,QAAAsB,GAAAtB,QAAAmL,MAAAA,KAAAnL,EAAA,EAAA;AAAA,MAAAqL;AAAA,SAAArL,EAAA,EAAA,MAAAqC,GAAAiJ,SAAAtL,EAAA,EAAA,MAAAiC,KAAAjC,EAAA,EAAA,MAAAkE,KAAAlE,UAAAmE,KACPkH,IAAApJ,KAAkBiC,MAAmBvB,SACpC2G,gBAAAA,EAAAA,IAACiC,MACOtJ,MAAAA,GACAiC,MAAAA,GACGC,SAAAA,GACE,WAAA9B,GAAUiJ,OAAO,IAL/B,MAOOtL,EAAA,EAAA,IAAAqC,GAAAiJ,OAAAtL,QAAAiC,GAAAjC,QAAAkE,GAAAlE,QAAAmE,GAAAnE,QAAAqL,KAAAA,IAAArL,EAAA,EAAA,GAzRVwI,gBAAAA,EAAAA,KAAAgC,YAAA,EACE,UAAA;AAAA,IAAAlB,gBAAAA,EAAAA,IAAAb,GAAA,KAAA,EACO7F,KAAAA,IACE,OAAA,GAAGjC,EAAK,MACP,QAAA,GAAGC,CAAM,MACR,SAAA,OAAOD,EAAK,IAAIC,CAAM,IACrB,WAAA,OAEV,UAAA4H,gBAAAA,EAAAA,KAAA,KAAA,EAAc,WAAA,aAAa/E,EAAMF,IAAK,IAAIE,EAAMJ,GAAI,KAClD,UAAA;AAAA,MAAAiG,gBAAAA,EAAAA,IAACkC,IAAA,EACK,IAAA3F,EAAE/B,IAAS,IAAT,IAAAA,CAAuB,GACzB,IAAA+B,EAAE/B,IAAS,IAAT,IAAAA,CAAuB,GACzB,IAAA,IAAI5D,GACJ,IAAAsE,IAAaf,EAAMD,OAChB,OAAA8G,GACLxG,IAAS,IAAT,IAAAA,GACApB,IACAF,IACAzB,IACAD,EACF,GACU,UAAA;AAAA,QAAAoF,GACL,IAAIhG;AAAAA,QAAUuL,IACb;AAAA,QAACC,IACD9H,KAAS,IAAT,QAAA;AAAA,QAAuBiC,GACxBA,EAAE/B,IAAS,IAAT,IAAAA,CAAuB;AAAA,MAAA,GAElB,YAAAuD,GAIJ,QAAAG,EAAAA;MAETrG,KACCmI,gBAAAA,EAAAA,IAACqC,IAAA,EACS,QAAApF,GAAMlB,OAAQuG,EAAY,GAC/B,GAAArF,GAAMlB,OAAQwG,EAAY,EAACnI,IAAKoI,CAAAA,MAAKjG,EAAEZ,CAAC,CAAC,GACxC,IAAA,IAAI/E,GACJ,IAAAsE,IAAaf,EAAMD,OACf,QAAA;AAAA,QAAAuI,WACK3J,GAAM+E,OAAkB4E;AAAAA,QAAA3E,QAC3BhF,GAAM+E,OAAeC;AAAAA,MAAAA,GAEnB,YAAA;AAAA,QAAA2E,WACC1J,GAAU8E,OAAkB4E;AAAAA,QAAA3E,QAC/B/E,GAAU8E,OAAeC;AAAAA,MAAAA,GAE3BtG,QAAAA,IACAC,QAAAA,IACE,WAAA,aACV,eAAA,IACS,UAAA,YACEyB,WAAAA,GAAAA,CAAS,IAnBvB;AAAA,MAsBDsF;AAAAA,MAQCE;AAAAA,MACD+C;AAAAA,MAqMCC;AAAAA,IAAAA,EAAAA,CACH,EAAA,CACF;AAAA,IACCG;AAAAA,IAUAE;AAAAA,EAAAA,GAOO;AACP;AAhZA,SAAAH,GAAAc,GAAA;AAAA,SA2X8D/G,EAACgH;AAAM;AA3XrE,SAAAhB,GAAAiB,GAAA;AAAA,SA2X6BjH,EAACkH,aAAc;AAAO;AA3XnD,SAAA9B,GAAA+B,GAAA;AAAA,SA0UuCxB,EAAEhC;AAAM;AA1U/C,SAAAuB,GAAAkC,GAAA;AAAA,SA8TuCzB,EAAEhC;AAAM;AA9T/C,SAAAiB,GAAAyC,GAAA;AAAA,SA+QuC1B,EAAEhC;AAAM;AA/Q/C,SAAAa,GAAAmB,GAAA;AAAA,SAoQuCA,EAAEhC;AAAM;AApQ/C,SAAAV,GAAAqE,GAAA;AAAA,SAqL+DtH,EAACgH;AAAM;AArLtE,SAAAhE,GAAAuE,GAAA;AAAA,SAqL6BvH,EAACkH,aAAc;AAAQ;AArLpD,SAAAN,GAAAY,GAAA;AAAA,SA0J6BxH,MAAM;AAAC;AA1JpC,SAAA2G,GAAAc,GAAA;AAAA,SAyJkCzH,MAAM;AAAC;AAzJzC,SAAAU,GAAAgH,GAAA;AAAA,SAyFsC,GAAG1H,EAACD,EAAG;AAAE;AAzF/C,SAAAQ,GAAAoH,GAAA;AAAA,SA+EwB;AAAA,IAAA5H,IACvBA;AAAAA,IAAEE,OACKF;AAAAA,IAAE4D,OACF;AAAA,IAAI/B,MACL;AAAA,EAAA;AACP;AApFA,SAAAlD,GAAAsB,GAAA;AAAA,SAoDiDA,EAAC4B;AAAK;ACgBvD,SAAAgG,GAAA9M,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,GAAA,GACL;AAAA,IAAAS,MAAAA;AAAAA,IAAAoM,YAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAjM,QAAAX;AAAAA,IAAA6M,SAAAA;AAAAA,IAAAjM,QAAAV;AAAAA,IAAA4M,kBAAAA;AAAAA,IAAAjM,YAAAT;AAAAA,IAAAW,YAAAT;AAAAA,IAAAU,WAAA2B;AAAAA,IAAAzB,YAAA8B;AAAAA,IAAAvC,QAAAA;AAAAA,IAAAD,OAAAA;AAAAA,IAAAuM,UAAAA;AAAAA,IAAA9L,aAAAA;AAAAA,IAAA+L,kBAAAA;AAAAA,IAAAvL,uBAAAwB;AAAAA,IAAAgK,SAAAA;AAAAA,IAAAC,iBAAA3I;AAAAA,IAAApE,WAAAA;AAAAA,IAAAE,cAAAA;AAAAA,IAAAN,YAAAA;AAAAA,IAAAE,aAAAA;AAAAA,IAAAa,YAAAyE;AAAAA,IAAA4H,gBAAAA;AAAAA,IAAAhM,SAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAA+L,gBAAAxG;AAAAA,IAAAyG,SAAAA;AAAAA,IAAA9L,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAE,oBAAAA;AAAAA,IAAA4L,eAAAvG;AAAAA,IAAAwG,cAAArG;AAAAA,IAAAvF,YAAAA;AAAAA,IAAA6L,UAAArG;AAAAA,IAAAsG,aAAArG;AAAAA,IAAAsG,WAAArG;AAAAA,IAAAsG,OAAArG;AAAAA,IAAA1F,iBAAAA;AAAAA,IAAAgM,iBAAAA;AAAAA,IAAA/L,iBAAAA;AAAAA,IAAAgM,WAAAA;AAAAA,IAAA/L,gBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,WAAAuF;AAAAA,IAAAtF,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAA4L,UAAAtG;AAAAA,IAAApF,SAAAsF;AAAAA,IAAAvF,eAAAwF;AAAAA,IAAAtF,WAAAwF;AAAAA,IAAAvF,cAAA4F;AAAAA,IAAA3F,SAAA6H;AAAAA,EAAAA,IAwDIxK,GApDFe,IAAAX,OAAAwC,SAAA,KAAAxC,IAEAY,KAAAV,OAAAsC,SAAA,KAAAtC,IAEAW,IAAAT,MAAAoC,SAAA,OAAApC,GACAW,KAAAT,OAAAkC,SAAA,KAAAlC,IACAU,IAAA2B,OAAAH,SAAA,KAAAG,IACAzB,KAAA8B,OAAAR,SAAA,MAAAQ;AAAgB,MAAA4H;AAAA,EAAA/K,SAAAoD,KAMhB2H,IAAA3H,MAAAT,SAAA,CAAA,IAAAS,GAA0BpD,OAAAoD,GAAApD,OAAA+K,KAAAA,IAAA/K,EAAA,CAAA;AAA1B,QAAA4B,IAAAmJ,GAEAsC,IAAA3I,OAAA/B,SAAA,KAAA+B,IAKAzD,KAAAyE,OAAA/C,SAAA,KAAA+C,IAKA6H,IAAAxG,OAAApE,SAAA,KAAAoE,IAKA0G,IAAAvG,MAAAvE,SAAA,KAAAuE,GACAwG,KAAArG,OAAA1E,SAAA,KAAA0E,IAEAsG,IAAArG,OAAA3E,SAAA,OAAA2E,IACAsG,KAAArG,MAAA5E,SAAA,KAAA4E,GACAsG,KAAArG,OAAA7E,SAAA,IAAA6E,IACAsG,IAAArG,OAAA9E,SAAA,UAAA8E,IAOAtF,IAAAuF,MAAA/E,SAAA,IAAA+E,GAGAuG,IAAAtG,OAAAhF,SAAA,KAAAgF,IACApF,IAAAsF,MAAAlF,SAAA,KAAAkF,GACAvF,IAAAwF,OAAAnF,SAAA,MAAAmF,IACAtF,KAAAwF,OAAArF,SAAA,IAAAqF;AAAa,MAAAgD;AAAA,EAAAhL,SAAAqI,KACb2C,IAAA3C,MAAA1F,SAAA,CAAA,IAAA0F,GAAiBrI,OAAAqI,GAAArI,OAAAgL,KAAAA,IAAAhL,EAAA,CAAA;AAAjB,QAAAyC,KAAAuI,GACAtI,KAAA6H,MAAA5H,SAAA,OAAA4H,GAEF,CAAA2D,GAAAC,EAAA,IAAgClK,GAAS,CAAC,GAC1C,CAAAmK,IAAAC,EAAA,IAAkCpK,GAAS,CAAC,GAC5C,CAAAxC,IAAA6M,EAAA,IAA0CrK,GAA6BtB,MAAS,GAEhF4L,KAAiB1L,GAAuB,IAAI,GAC5C2L,KAAuB3L,GAAuB,IAAI;AAAE,MAAAsI,GAAAE;AAAA,EAAArL,EAAA,CAAA,MAAAyO,uBAAAC,IAAA,2BAAA,KAE1CvD,IAAAA,MAAA;AACR,UAAAwD,IAAuB,IAAIC,eAAeC,CAAAA,OAAA;AACxCV,MAAAA,GAAYU,GAAO,CAAA,EAAGC,OAAOC,eAAjB,GAAoC,GAChDV,GAAaQ,GAAO,CAAA,EAAGC,OAAOE,gBAAjB,GAAqC;AAAA,IAAC,CACpD;AACD,WAAIT,GAAQU,WACVN,EAAcO,QAASX,GAAQU,OAAQ,GAElC,MAAMN,EAAcQ,WAAAA;AAAAA,EAAa,GACvC9D,IAAA,CAAA,GAAErL,OAAAmL,GAAAnL,OAAAqL,MAAAF,IAAAnL,EAAA,CAAA,GAAAqL,IAAArL,EAAA,CAAA,IATLoP,GAAUjE,GASPE,CAAE;AAGU,QAAAgE,IAAAhN,GAAUiN,gBACdC,IAAAnN,GAAMkN;AAAgB,MAAAE;AAAA,EAAAxP,SAAAqC,GAAAoN,eAAAzP,SAAAqC,GAAAuF,SAAA5H,SAAAU,KAAAV,EAAA,CAAA,MAAA0N,MAAA1N,EAAA,EAAA,MAAAiN,KAAAjN,EAAA,EAAA,MAAAyN,KAAAzN,UAAA8M,KAAA9M,EAAA,EAAA,MAAAoC,GAAAqN,eAAAzP,EAAA,EAAA,MAAAoC,GAAAwF,SAAA5H,EAAA,EAAA,MAAAW,KAa5B6O,IAAA1C,KAAAG,KAAAQ,KAAAC,KACCpE,gBAAAA,MAACoG,MACS,QAAA;AAAA,IAAA9H,OACCxF,GAAMwF;AAAAA,IAAO6H,aACPrN,GAAMqN;AAAAA,EAAAA,GAET,YAAA;AAAA,IAAA7H,OACHvF,GAAUuF;AAAAA,IAAO6H,aACXpN,GAAUoN;AAAAA,EAAAA,GAEb3C,YAAAA,GACMG,kBAAAA,GACXtM,OAAAA,GACQ,eAAA8M,IAAAe,KAAA7L,QAEb,cAAA+K,KACIhN,EAAIgD,IAAKC,EAAW,EAAC0B,OAAQG,EAAoB,EAACa,SAAU,IAC1D3F,EAAIgD,IAAKiC,EAAW,EAACN,OAAQuG,EACG,IAAhClL,EAAI2E,OAAQwG,EAAoB,IAHtC,MAIQ,IAnBb,MAsBO7L,EAAA,CAAA,IAAAqC,GAAAoN,aAAAzP,EAAA,CAAA,IAAAqC,GAAAuF,OAAA5H,OAAAU,GAAAV,OAAA0N,IAAA1N,QAAAiN,GAAAjN,QAAAyN,GAAAzN,QAAA8M,GAAA9M,EAAA,EAAA,IAAAoC,GAAAqN,aAAAzP,EAAA,EAAA,IAAAoC,GAAAwF,OAAA5H,QAAAW,GAAAX,QAAAwP,KAAAA,IAAAxP,EAAA,EAAA;AAAA,MAAA2P;AAAA,EAAA3P,EAAA,EAAA,MAAAqC,GAAAuN,eAAA5P,EAAA,EAAA,MAAAoB,KAAApB,EAAA,EAAA,MAAAmN,MAAAnN,UAAA+M,KAAA/M,EAAA,EAAA,MAAAU,KAAAV,EAAA,EAAA,MAAAuN,KAAAvN,EAAA,EAAA,MAAA4N,MAAA5N,EAAA,EAAA,MAAA8N,KAAA9N,UAAAW,KACPgP,KAAApC,KAAkB7M,EAAI2E,OAAQ4C,EAAc,EAAC5B,WAAY,KAAK3F,EAAI2F,SAAU,IAC3EiD,gBAAAA,EAAAA,IAACuG,IAAA,EACQlP,OAAAA,GACWwM,kBAAAA,IACV,QAACJ,KAAmCrD,GAAOoE,CAAK,EAACgC,kBAAkB/C,QAC9D,aAAA3L,KAAgB2O,GAAOrP,GAAM,SAAS,EAAI,GACrC4N,kBAAAA,IACLV,aAAAA,IACF,WAAAvL,GAAUuN,aAAa,IARrC,MAUO5P,EAAA,EAAA,IAAAqC,GAAAuN,aAAA5P,QAAAoB,GAAApB,QAAAmN,IAAAnN,QAAA+M,GAAA/M,QAAAU,GAAAV,QAAAuN,GAAAvN,QAAA4N,IAAA5N,QAAA8N,GAAA9N,QAAAW,GAAAX,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AAAA,MAAAgQ;AAAA,EAAAhQ,EAAA,EAAA,MAAAU,KAAAV,UAAAiO,KAEL+B,IAAAtP,EAAI2E,OAAQoH,CAAAA,MAAMwB,IAAA,CAAYpK,GAAuBoB,EAAC4B,IAAK,IAAzC4F,CAA+C,EAACpG,WAAY,2BAC5E4J,IAAA,EAAU,GACZjQ,QAAAU,GAAAV,QAAAiO,GAAAjO,QAAAgQ,KAAAA,IAAAhQ,EAAA,EAAA;AAAA,MAAAkQ;AAAA,EAAAlQ,EAAA,EAAA,MAAAuC,KAAAvC,UAAAkC,KAAAlC,EAAA,EAAA,MAAAgB,KAAAhB,EAAA,EAAA,MAAAQ,MAAAR,EAAA,EAAA,MAAAqC,KAAArC,EAAA,EAAA,MAAAoB,KAAApB,UAAA+M,KAAA/M,EAAA,EAAA,MAAAyC,MAAAzC,UAAAU,KAAAV,EAAA,EAAA,MAAAiC,MAAAjC,UAAAsC,KAAAtC,EAAA,EAAA,MAAAiO,KAAAjO,EAAA,EAAA,MAAA4B,KAAA5B,EAAA,EAAA,MAAA8B,KAAA9B,UAAA2N,KAAA3N,EAAA,EAAA,MAAAE,MAAAF,EAAA,EAAA,MAAA+B,MAAA/B,EAAA,EAAA,MAAA+N,MAAA/N,EAAA,EAAA,MAAA0B,KAAA1B,EAAA,EAAA,MAAAgC,KAAAhC,EAAA,EAAA,MAAA2B,KAAA3B,EAAA,EAAA,MAAA0C,MAAA1C,EAAA,EAAA,MAAAmC,KAAAnC,UAAA6B,KAAA7B,EAAA,EAAA,MAAAuB,MAAAvB,EAAA,EAAA,MAAAwC,MAAAxC,EAAA,EAAA,MAAAe,MAAAf,EAAA,EAAA,MAAAwB,KAAAxB,UAAAI,KAAAJ,EAAA,EAAA,MAAAyB,MAAAzB,EAAA,EAAA,MAAAiB,MAAAjB,EAAA,EAAA,MAAAmB,KAAAnB,UAAAkB,MAAAlB,EAAA,EAAA,MAAAoC,KAAApC,UAAAc,KAAAd,EAAA,EAAA,MAAAoO,MAAApO,UAAAkO,KAAAlO,EAAA,EAAA,MAAA8N,KAAA9N,EAAA,EAAA,MAAAsB,MAAAtB,EAAA,EAAA,MAAAM,KAAAN,UAAAqB,MACA6O,KAAAhC,KAAAE,MAED1N,EAAI2E,OAAQmH,CAAAA,MAAMyB,IAAA,CAAYpK,GAAuBoB,EAAC4B,IAAK,IAAzC2F,CAA+C,EAACnG,SAAU,IAC1EiD,gBAAAA,EAAAA,IAACxJ,IAAA,EACO,MAAAY,EAAI2E,OACAyG,CAAAA,MAAMmC,IAAA,CAAYpK,GAAuBoB,EAAC4B,IAAK,IAAzCiF,CAA+C,EAACzG,OACtD,CAAA8K,GAAApL,OAAYgJ,KAAkBhJ,KAAIgJ,KAAtB,EAA6C,GAEjE,UAAArN,EAAI2E,OAAQ6C,EAAc,EAAC7B,WAAY,IACnC0G,IAAA,CACGA,CAAgB,IADnB,CAEGrD,GAAM0G,cAAe,UAAU,CAAC,IAClCrD,KAAmCrD,GAAOoE,CAAK,EAACgC,kBAAkB/C,QAGvE,aAAArM,EAAI2E,OAAQoE,EAAc,EAACpD,WAAY,IAAvC,CAAA,IAEIjF,KAAgB2O,GAAOrP,GAAM,SAAS,EAAI,GAEjCe,eAAAA,IACRyM,OAAAA,GACCE,QAAAA,IACAtN,QAAAA,GACAC,QAAAA,IACIC,YAAAA,GACAE,YAAAA,IACDC,WAAAA,GACCjB,YAAAA,IACCE,aAAAA,GACFE,WAAAA,GACGE,cAAAA,IACFa,YAAAA,IACAJ,YAAAA,IACHK,SAAAA,IACUC,mBAAAA,IACRC,WAAAA,GACDE,UAAAA,GACAC,UAAAA,GACaC,uBAAAA,GACHC,oBAAAA,GACRC,YAAAA,GACP,KAAA6L,MAAa,QAAQA,MAAa,MACtB5L,iBAAAA,IACAC,iBAAAA,GACDC,gBAAAA,IACFC,cAAAA,GACHC,WAAAA,GACCE,YAAAA,GACJD,QAAAA,GAEN,SAAAG,MAAY,KAAZ;AAAA,IAAAyG,UACgB;AAAA,IAAGhG,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,IACrCR,KAAA;AAAA,IAAAyG,UAAuB;AAAA,IAAChG,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,GAErCT,eAAAA,GACJE,WAAAA,IACGC,cAAAA,IACLC,SAAAA,IAAO,IAzDnB,MA2DO1C,QAAAuC,GAAAvC,QAAAkC,GAAAlC,QAAAgB,GAAAhB,QAAAQ,IAAAR,QAAAqC,GAAArC,QAAAoB,GAAApB,QAAA+M,GAAA/M,QAAAyC,IAAAzC,QAAAU,GAAAV,QAAAiC,IAAAjC,QAAAsC,GAAAtC,QAAAiO,GAAAjO,QAAA4B,GAAA5B,QAAA8B,GAAA9B,QAAA2N,GAAA3N,QAAAE,IAAAF,QAAA+B,IAAA/B,QAAA+N,IAAA/N,QAAA0B,GAAA1B,QAAAgC,GAAAhC,QAAA2B,GAAA3B,QAAA0C,IAAA1C,QAAAmC,GAAAnC,QAAA6B,GAAA7B,QAAAuB,IAAAvB,QAAAwC,IAAAxC,QAAAe,IAAAf,QAAAwB,GAAAxB,QAAAI,GAAAJ,QAAAyB,IAAAzB,QAAAiB,IAAAjB,QAAAmB,GAAAnB,QAAAkB,IAAAlB,QAAAoC,GAAApC,QAAAc,GAAAd,QAAAoO,IAAApO,QAAAkO,GAAAlO,QAAA8N,GAAA9N,QAAAsB,IAAAtB,QAAAM,GAAAN,QAAAqB,IAAArB,QAAAkQ,MAAAA,KAAAlQ,EAAA,EAAA;AAAA,MAAAqQ;AAAA,EAAArQ,EAAA,EAAA,MAAAgQ,KAAAhQ,UAAAkQ,MA/DVG,4BAACC,IAAA,EAAe/B,SACbyB,UAAAA;AAAAA,IAAAA;AAAAA,IAGAE;AAAAA,EAAAA,GA4DH,GAAYlQ,QAAAgQ,GAAAhQ,QAAAkQ,IAAAlQ,QAAAqQ,MAAAA,KAAArQ,EAAA,EAAA;AAAA,MAAAuQ;AAAA,EAAAvQ,EAAA,EAAA,MAAAqC,GAAAmO,YAAAxQ,EAAA,EAAA,MAAAqC,GAAAoO,UAAAzQ,EAAA,EAAA,MAAAkN,MAAAlN,EAAA,EAAA,MAAAgN,KAAAhN,EAAA,EAAA,MAAAoC,GAAAoO,YAAAxQ,EAAA,EAAA,MAAAoC,GAAAqO,UAAAzQ,UAAAW,KACX4P,KAAAvD,KAAAE,KACC5D,gBAAAA,MAACoH,MACU1D,SAAAA,GACCE,UAAAA,IACHvM,OAAAA,GACC,QAAA;AAAA,IAAA6P,UAAYpO,GAAMoO;AAAAA,IAAUC,QAAUrO,GAAMqO;AAAAA,EAAAA,GACxC,YAAA;AAAA,IAAAD,UACAnO,GAAUmO;AAAAA,IAAUC,QACtBpO,GAAUoO;AAAAA,EAAAA,GACnB,IATJ,MAWOzQ,EAAA,EAAA,IAAAqC,GAAAmO,UAAAxQ,EAAA,EAAA,IAAAqC,GAAAoO,QAAAzQ,QAAAkN,IAAAlN,QAAAgN,GAAAhN,EAAA,EAAA,IAAAoC,GAAAoO,UAAAxQ,EAAA,EAAA,IAAAoC,GAAAqO,QAAAzQ,QAAAW,GAAAX,QAAAuQ,MAAAA,KAAAvQ,EAAA,EAAA;AAAA,MAAA2Q;AAAA,SAAA3Q,EAAA,EAAA,MAAAgO,KAAAhO,EAAA,EAAA,MAAAqN,KAAArN,EAAA,EAAA,MAAAwN,MAAAxN,EAAA,EAAA,MAAAY,MAAAZ,EAAA,EAAA,MAAA2N,KAAA3N,EAAA,EAAA,MAAA6N,MAAA7N,EAAA,EAAA,MAAAoN,MAAApN,EAAA,EAAA,MAAAsN,KAAAtN,EAAA,EAAA,MAAAqP,KAAArP,EAAA,EAAA,MAAAuP,KAAAvP,EAAA,EAAA,MAAAwP,KAAAxP,EAAA,EAAA,MAAA2P,MAAA3P,EAAA,EAAA,MAAAqQ,MAAArQ,EAAA,EAAA,MAAAuQ,MAAAvQ,EAAA,EAAA,MAAA8N,KAAA9N,UAAAW,KA7HVgQ,4BAACC,IAAA,EACY,WAAAvB,GACJ,OAAAE,GACH/B,QACCgB,SACOR,cAAAA,GACKX,iBAAAA,GACVS,OAAAA,GACGH,UAAAA,GACCE,WAAAA,IACJlN,OAAAA,GACCC,QAAAA,IACQ0M,gBAAAA,GACPF,SAAAA,IAERoC,UAAAA;AAAAA,IAAAA;AAAAA,IAuBAG;AAAAA,IAWDU;AAAAA,IAiECE;AAAAA,EAAAA,GAYH,GAAiBvQ,QAAAgO,GAAAhO,QAAAqN,GAAArN,QAAAwN,IAAAxN,QAAAY,IAAAZ,QAAA2N,GAAA3N,QAAA6N,IAAA7N,QAAAoN,IAAApN,QAAAsN,GAAAtN,QAAAqP,GAAArP,QAAAuP,GAAAvP,QAAAwP,GAAAxP,QAAA2P,IAAA3P,QAAAqQ,IAAArQ,QAAAuQ,IAAAvQ,QAAA8N,GAAA9N,QAAAW,GAAAX,QAAA2Q,MAAAA,KAAA3Q,EAAA,EAAA,GA9HjB2Q;AA8HiB;AA1Md,SAAAlH,GAAA4C,GAAA;AAAA,SAgJyBzB,EAAEhC;AAAM;AAhJjC,SAAAV,GAAAoE,GAAA;AAAA,SAyIyB1B,EAAEhC;AAAM;AAzIjC,SAAAX,GAAA2C,GAAA;AAAA,SAkHoCA,EAAEhC;AAAM;AAlH5C,SAAAiD,GAAAc,GAAA;AAAA,SA6G4B1H,MAAMtC;AAAS;AA7G3C,SAAAiJ,GAAA9G,GAAA;AAAA,SA4G6CG,MAAMtC;AAAS;AA5G5D,SAAAgD,GAAAV,GAAA;AAAA,SA4GyBA,EAACvE;AAAK;AA5G/B,SAAA8E,GAAAkH,GAAA;AAAA,SA2G2CzH,MAAMtC;AAAS;AA3G1D,SAAAgB,GAAAgD,GAAA;AAAA,SA2GuB1B,EAACvE;AAAK;"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./BarGraph.cjs"),t=require("./index-Dgjq6aZ2.cjs"),n=require("./DonutChart.cjs"),i=require("./DumbbellChart.cjs"),s=require("./BeeSwarmChart.cjs"),h=require("./DualAxisLineChart.cjs"),l=require("./LineChartWithConfidenceInterval.cjs"),u=require("./SimpleLineChart.cjs"),c=require("./MultiLineChart.cjs"),d=require("./MultiLineAltChart.cjs"),p=require("./DifferenceLineChart.cjs"),C=require("./SparkLine.cjs"),g=require("./BiVariateChoroplethMap.cjs"),D=require("./ChoroplethMap.cjs"),G=require("./DotDensityMap.cjs"),m=require("./HybridMap.cjs"),q=require("./ThreeDGlobe.cjs"),S=require("./GeoHubMap.cjs"),f=require("./GeoHubCompareMaps.cjs"),b=require("./GeoHubMapWithLayerSelection.cjs"),M=require("./ScatterPlot.cjs"),F=require("./SlopeChart.cjs"),L=require("./BulletChart.cjs"),B=require("./AreaChart.cjs"),T=require("./BasicStatCard.cjs"),P=require("./StatCardFromData.cjs"),y=require("./TreeMapGraph.cjs"),v=require("./UnitChart.cjs"),A=require("./HeatMap.cjs"),H=require("./DataTable.cjs"),w=require("./DataCards.cjs"),I=require("./StripChart.cjs"),k=require("./ParetoChart.cjs"),W=require("./ButterflyChart.cjs"),O=require("./Histogram.cjs"),x=require("./WaterfallChart.cjs"),V=require("./SankeyChart.cjs"),U=require("./RadarChart.cjs"),N=require("./MultiGraphDashboard.cjs"),E=require("./PerformanceIntensiveMultiGraphDashboard.cjs"),J=require("./MultiGraphDashboardWideToLongFormat.cjs"),R=require("./SingleGraphDashboard.cjs"),Q=require("./SingleGraphDashboardGeoHubMaps.cjs"),j=require("./SingleGraphDashboardThreeDGraphs.cjs"),z=require("./GriddedGraphs.cjs"),K=require("./ScrollStory.cjs"),X=require("./PerformanceIntensiveScrollStory.cjs"),Y=require("./MultiGraphDashboardFromConfig.cjs"),Z=require("./PerformanceIntensiveMultiGraphDashboardFromConfig.cjs"),_=require("./MultiGraphDashboardWideToLongFormatFromConfig.cjs"),$=require("./SingleGraphDashboardFromConfig.cjs"),rr=require("./SingleGraphDashboardGeoHubMapsFromConfig.cjs"),er=require("./SingleGraphDashboardThreeDGraphsFromConfig.cjs"),ar=require("./GriddedGraphsFromConfig.cjs"),or=require("./ExcelDownloadButton.cjs"),tr=require("./ImageDownloadButton.cjs"),nr=require("./SVGDownloadButton.cjs"),ir=require("./CsvDownloadButton.cjs"),sr=require("./CopyTextButton.cjs"),hr=require("./Colors.cjs"),lr=require("./ColorLegend.cjs"),ur=require("./ColorLegendWithMouseOver.cjs"),cr=require("./LinearColorLegend.cjs"),dr=require("./ThresholdColorLegendWithMouseOver.cjs"),pr=require("./GraphFooter.cjs"),Cr=require("./GraphHeader.cjs"),gr=require("./FootNote.cjs"),Dr=require("./GraphDescription.cjs"),Gr=require("./GraphTitle.cjs"),mr=require("./Source-B5AoSlsi.cjs"),qr=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),e=require("./removeOutliers-WELHHqiI.cjs"),Sr=require("./numberFormattingFunction-02t-wJta.cjs"),fr=require("./getTextColorBasedOnBgColor-nqY-bsM_.cjs"),br=require("./getJenks-BzJvhy_H.cjs"),Mr=require("./imageDownload-61q6jyJW.cjs"),Fr=require("./svgDownload-D9zEGjTF.cjs"),Lr=require("./excelDownload-BQpsCa62.cjs"),Br=require("./getUniqValue-NX8DgwND.cjs"),Tr=require("./getCentroidCoordinates-CtBGrNC8.cjs"),r=require("./fetchAndParseData-QTF6tjij.cjs"),o=require("./transformDataForAggregation-BFdha9Dx.cjs"),Pr=require("./transformDataForGraphFromFile-DOhp1qrp.cjs"),yr=require("./getGraphList-DQ24IzAn.cjs");exports.GroupedBarGraph=a.GroupedBarGraph;exports.SimpleBarGraph=a.SimpleBarGraph;exports.StackedBarGraph=a.StackedBarGraph;exports.CirclePackingGraph=t.CirclePackingGraph;exports.DonutChart=n.DonutChart;exports.DumbbellChart=i.DumbbellChart;exports.BeeSwarmChart=s.BeeSwarmChart;exports.DualAxisLineChart=h.DualAxisLineChart;exports.LineChartWithConfidenceInterval=l.LineChartWithConfidenceInterval;exports.SimpleLineChart=u.SimpleLineChart;exports.MultiLineChart=c.MultiLineChart;exports.MultiLineAltChart=d.MultiLineAltChart;exports.DifferenceLineChart=p.DifferenceLineChart;exports.SparkLine=C.SparkLine;exports.BiVariateChoroplethMap=g.BiVariateChoroplethMap;exports.ChoroplethMap=D.ChoroplethMap;exports.DotDensityMap=G.DotDensityMap;exports.HybridMap=m.HybridMap;exports.ThreeDGlobe=q.ThreeDGlobe;exports.GeoHubMap=S.GeoHubMap;exports.GeoHubCompareMaps=f.GeoHubCompareMaps;exports.GeoHubMapWithLayerSelection=b.GeoHubMapWithLayerSelection;exports.ScatterPlot=M.ScatterPlot;exports.SlopeChart=F.SlopeChart;exports.BulletChart=L.BulletChart;exports.AreaChart=B.AreaChart;exports.BasicStatCard=T.BasicStatCard;exports.StatCardFromData=P.StatCardFromData;exports.TreeMapGraph=y.TreeMapGraph;exports.UnitChart=v.UnitChart;exports.HeatMap=A.HeatMap;exports.DataTable=H.DataTable;exports.DataCards=w.DataCards;exports.StripChart=I.StripChart;exports.ParetoChart=k.ParetoChart;exports.ButterflyChart=W.ButterflyChart;exports.Histogram=O.Histogram;exports.WaterfallChart=x.WaterfallChart;exports.SankeyChart=V.SankeyChart;exports.RadarChart=U.RadarChart;exports.MultiGraphDashboard=N.MultiGraphDashboard;exports.PerformanceIntensiveMultiGraphDashboard=E.PerformanceIntensiveMultiGraphDashboard;exports.MultiGraphDashboardWideToLongFormat=J.MultiGraphDashboardWideToLongFormat;exports.SingleGraphDashboard=R.SingleGraphDashboard;exports.SingleGraphDashboardGeoHubMaps=Q.SingleGraphDashboardGeoHubMaps;exports.SingleGraphDashboardThreeDGraphs=j.SingleGraphDashboardThreeDGraphs;exports.GriddedGraphs=z.GriddedGraphs;exports.ScrollStory=K.ScrollStory;exports.PerformanceIntensiveScrollStory=X.PerformanceIntensiveScrollStory;exports.MultiGraphDashboardFromConfig=Y.MultiGraphDashboardFromConfig;exports.PerformanceIntensiveMultiGraphDashboardFromConfig=Z.PerformanceIntensiveMultiGraphDashboardFromConfig;exports.MultiGraphDashboardWideToLongFormatFromConfig=_.MultiGraphDashboardWideToLongFormatFromConfig;exports.SingleGraphDashboardFromConfig=$.SingleGraphDashboardFromConfig;exports.SingleGraphDashboardGeoHubMapsFromConfig=rr.SingleGraphDashboardGeoHubMapsFromConfig;exports.SingleGraphDashboardThreeDGraphsFromConfig=er.SingleGraphDashboardThreeDGraphsFromConfig;exports.GriddedGraphsFromConfig=ar.GriddedGraphsFromConfig;exports.ExcelDownloadButton=or.ExcelDownloadButton;exports.ImageDownloadButton=tr.ImageDownloadButton;exports.SVGDownloadButton=nr.SVGDownloadButton;exports.CsvDownloadButton=ir.CsvDownloadButton;exports.CopyTextButton=sr.CopyTextButton;exports.Colors=hr.Colors;exports.ColorLegend=lr.ColorLegend;exports.ColorLegendWithMouseOver=ur.ColorLegendWithMouseOver;exports.LinearColorLegend=cr.LinearColorLegend;exports.ThresholdColorLegendWithMouseOver=dr.ThresholdColorLegendWithMouseOver;exports.GraphFooter=pr.GraphFooter;exports.GraphHeader=Cr.GraphHeader;exports.FootNote=gr.FootNote;exports.GraphDescription=Dr.GraphDescription;exports.GraphTitle=Gr.GraphTitle;exports.Source=mr.Source;exports.checkIfNullOrUndefined=qr.checkIfNullOrUndefined;exports.generateEmbedLink=e.generateEmbedLink;exports.generateIframeCode=e.generateIframeCode;exports.getPercentileValue=e.getPercentileValue;exports.getQueryParamsFromLink=e.getQueryParamsFromLink;exports.removeOutliers=e.removeOutliers;exports.numberFormattingFunction=Sr.numberFormattingFunction;exports.getTextColorBasedOnBgColor=fr.getTextColorBasedOnBgColor;exports.getJenks=br.getJenks;exports.imageDownload=Mr.imageDownload;exports.svgDownload=Fr.svgDownload;exports.excelDownload=Lr.excelDownload;exports.getUniqValue=Br.getUniqValue;exports.getCentroidCoordinates=Tr.getCentroidCoordinates;exports.fetchAndParseCSV=r.fetchAndParseCSV;exports.fetchAndParseCSVFromTextBlob=r.fetchAndParseCSVFromTextBlob;exports.fetchAndParseJSON=r.fetchAndParseJSON;exports.fetchAndParseMultipleDataSources=r.fetchAndParseMultipleDataSources;exports.fetchAndTransformDataFromAPI=r.fetchAndTransformDataFromAPI;exports.transformColumnsToArray=r.transformColumnsToArray;exports.transformDataForAggregation=o.transformDataForAggregation;exports.transformDataForGraph=o.transformDataForGraph;exports.transformDataForGraphFromFile=Pr.transformDataForGraphFromFile;exports.graphList=yr.graphList;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|