@undp/data-viz 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.d.ts +11 -9
- package/dist/AreaChart.js +320 -322
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +15 -25
- package/dist/BarGraph.js +1694 -1694
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.cjs.map +1 -1
- package/dist/BasicStatCard.d.ts +13 -9
- package/dist/BasicStatCard.js +79 -81
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +11 -9
- package/dist/BeeSwarmChart.js +335 -336
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +13 -3
- package/dist/BiVariateChoroplethMap.js +247 -245
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +11 -5
- package/dist/BulletChart.js +560 -559
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.d.ts +11 -9
- package/dist/ButterflyChart.js +348 -350
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +11 -3
- package/dist/ChoroplethMap.js +213 -213
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.d.ts +11 -9
- package/dist/CirclePackingGraph.js +1 -1
- package/dist/DataCards.cjs +1 -1
- package/dist/DataCards.d.ts +1 -1
- package/dist/DataCards.js +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.d.ts +4 -5
- package/dist/DataTable.js +114 -116
- package/dist/DataTable.js.map +1 -1
- package/dist/{DetailsModal-jmmKRMRM.cjs → DetailsModal-Du8Fr1QD.cjs} +2 -2
- package/dist/{DetailsModal-jmmKRMRM.cjs.map → DetailsModal-Du8Fr1QD.cjs.map} +1 -1
- package/dist/{DetailsModal-B2XBWR7w.js → DetailsModal-GqEbGHY2.js} +2 -2
- package/dist/{DetailsModal-B2XBWR7w.js.map → DetailsModal-GqEbGHY2.js.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.d.ts +11 -9
- package/dist/DifferenceLineChart.js +502 -504
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.d.ts +14 -9
- package/dist/DonutChart.js +174 -179
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.d.ts +1 -1
- package/dist/DotDensityMap.js +2 -2
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.d.ts +13 -9
- package/dist/DualAxisLineChart.js +341 -351
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +11 -9
- package/dist/DumbbellChart.js +592 -593
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.d.ts +1 -1
- package/dist/GeoHubCompareMaps.js +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.d.ts +1 -1
- package/dist/GeoHubMap.js +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.d.ts +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +1 -1
- package/dist/GraphEl-B7x5ku_y.cjs +2 -0
- package/dist/GraphEl-B7x5ku_y.cjs.map +1 -0
- package/dist/GraphEl-B8tGXqWk.js +1829 -0
- package/dist/GraphEl-B8tGXqWk.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +28 -16
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +28 -16
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.d.ts +11 -9
- package/dist/HeatMap.js +203 -205
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.d.ts +11 -5
- package/dist/Histogram.js +88 -89
- package/dist/Histogram.js.map +1 -1
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +11 -3
- package/dist/HybridMap.js +279 -279
- package/dist/HybridMap.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.d.ts +11 -9
- package/dist/LineChartWithConfidenceInterval.js +393 -395
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.js +1 -1
- package/dist/MultiGraphDashboard.d.ts +28 -16
- package/dist/MultiGraphDashboardFromConfig.d.ts +28 -16
- package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +11 -9
- package/dist/MultiLineAltChart.js +411 -413
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.d.ts +11 -9
- package/dist/MultiLineChart.js +438 -440
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.d.ts +13 -13
- package/dist/ParetoChart.js +347 -355
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +28 -16
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +28 -16
- package/dist/PerformanceIntensiveScrollStory.d.ts +28 -16
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.d.ts +11 -5
- package/dist/RadarChart.js +213 -213
- package/dist/RadarChart.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.d.ts +11 -9
- package/dist/SankeyChart.js +448 -450
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.d.ts +13 -13
- package/dist/ScatterPlot.js +490 -498
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.d.ts +28 -16
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.d.ts +11 -9
- package/dist/SimpleLineChart.js +362 -364
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +28 -16
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +28 -16
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +28 -16
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +28 -16
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +28 -16
- package/dist/SingleGraphDashboardThreeDGraphs.js +40 -39
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +28 -16
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.d.ts +1 -1
- package/dist/SlopeChart.js +2 -2
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.d.ts +1 -1
- package/dist/SparkLine.js +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.d.ts +11 -9
- package/dist/StatCardFromData.js +113 -116
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.d.ts +11 -9
- package/dist/StripChart.js +434 -435
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.d.ts +11 -3
- package/dist/ThreeDGlobe.js +143 -143
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +1 -1
- package/dist/{Tooltip-Bj-s__cI.js → Tooltip-3EYDVa3w.js} +2 -2
- package/dist/{Tooltip-Bj-s__cI.js.map → Tooltip-3EYDVa3w.js.map} +1 -1
- package/dist/{Tooltip-Hr46paWP.cjs → Tooltip-C9F3uYG0.cjs} +2 -2
- package/dist/{Tooltip-Hr46paWP.cjs.map → Tooltip-C9F3uYG0.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.d.ts +11 -9
- package/dist/TreeMapGraph.js +369 -371
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +28 -16
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.d.ts +11 -5
- package/dist/UnitChart.js +118 -119
- package/dist/UnitChart.js.map +1 -1
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +11 -9
- package/dist/WaterfallChart.js +306 -308
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs +2 -0
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs.map +1 -0
- package/dist/XTicksAndGridLines-CkYwVshF.js +40 -0
- package/dist/XTicksAndGridLines-CkYwVshF.js.map +1 -0
- package/dist/YTicksAndGridLines-BbujwxOB.js +40 -0
- package/dist/YTicksAndGridLines-BbujwxOB.js.map +1 -0
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs +2 -0
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs.map +1 -0
- package/dist/index-BPyj_6hG.js +375 -0
- package/dist/index-BPyj_6hG.js.map +1 -0
- package/dist/index-DuLvdHo2.cjs +2 -0
- package/dist/index-DuLvdHo2.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +105 -245
- package/dist/index.js +2 -2
- package/dist/numberFormattingFunction-BUUV_luR.js +28 -0
- package/dist/numberFormattingFunction-BUUV_luR.js.map +1 -0
- package/dist/numberFormattingFunction-u2iNHL_c.cjs +2 -0
- package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +1 -0
- package/dist/{string2HTML-ZoGd08P_.cjs → string2HTML-30nfIm8R.cjs} +2 -2
- package/dist/{string2HTML-ZoGd08P_.cjs.map → string2HTML-30nfIm8R.cjs.map} +1 -1
- package/dist/{string2HTML-BrFperRM.js → string2HTML-DL-pInUB.js} +2 -2
- package/dist/{string2HTML-BrFperRM.js.map → string2HTML-DL-pInUB.js.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +2 -2
- package/dist/GraphEl-B73N4RIA.js +0 -1906
- package/dist/GraphEl-B73N4RIA.js.map +0 -1
- package/dist/GraphEl-Lt1og0C-.cjs +0 -2
- package/dist/GraphEl-Lt1og0C-.cjs.map +0 -1
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs +0 -2
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +0 -1
- package/dist/XTicksAndGridLines-gdbGX2rm.js +0 -39
- package/dist/XTicksAndGridLines-gdbGX2rm.js.map +0 -1
- package/dist/YTicksAndGridLines-CsNSq9W9.js +0 -39
- package/dist/YTicksAndGridLines-CsNSq9W9.js.map +0 -1
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs +0 -2
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +0 -1
- package/dist/index-B0Awa_de.js +0 -377
- package/dist/index-B0Awa_de.js.map +0 -1
- package/dist/index-CP8cmNzt.cjs +0 -2
- package/dist/index-CP8cmNzt.cjs.map +0 -1
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs +0 -2
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +0 -1
- package/dist/numberFormattingFunction-DqMf_v1m.js +0 -28
- package/dist/numberFormattingFunction-DqMf_v1m.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\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 { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\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 animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n lineSuffixes: [string, string];\r\n linePrefixes: [string, string];\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n locale: string;\r\n naLabel: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n lineSuffixes,\r\n linePrefixes,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n precision,\r\n customLayers,\r\n showAxisLabels,\r\n locale,\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 [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d,\r\n undefined,\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n locale,\r\n )}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(\r\n d,\r\n undefined,\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n locale,\r\n )}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\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 />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\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 />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n naLabel,\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n locale,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n naLabel,\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n locale,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\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 </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\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 /** Array of colors for the 2 lines */\r\n lineColors?: [string, 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\r\n // Values and Ticks\r\n /** Prefix for values of the lines */\r\n linePrefixes?: [string, string];\r\n /** Suffix for values of the lines */\r\n lineSuffixes?: [string, string];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_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 DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n lineSuffixes = ['', ''],\r\n linePrefixes = ['', ''],\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n precision = 2,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n locale = 'en',\r\n naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\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\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 && labels.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\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 strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n lineSuffixes={lineSuffixes}\r\n linePrefixes={linePrefixes}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n locale={locale}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\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 sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","lineSuffixes","linePrefixes","minDate","maxDate","curveType","styles","classNames","precision","customLayers","showAxisLabels","locale","naLabel","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegend","EmptyState","getNoOfTicks","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EO,SAAAA,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,GAAA,GACL;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,uBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAiCIlC,GACJmC,KAAeC,GAAO,IAAI;AAAE,MAAAC;AAAA,EAAApC,EAAA,CAAA,MAAAkB,EAAAmB,UAAArC,EAAA,CAAA,MAAAkB,EAAAoB,QACOF,KAAA;AAAA,IAAAE,MAC3BpB,EAAOoB;AAAAA,IAAKD,QACVnB,EAAOmB;AAAAA,EAAAA,GAChBrC,EAAA,CAAA,IAAAkB,EAAAmB,QAAArC,EAAA,CAAA,IAAAkB,EAAAoB,MAAAtC,OAAAoC,MAAAA,KAAApC,EAAA,CAAA;AAHD,QAAAuC,IAAiBC,GAAUN,IAAQE,EAGlC,GACD,CAAAK,GAAAC,EAAA,IAA8CC,GAAS,EAAK;AAAE,MAAAC,IAAAC;AAAA,EAAA7C,EAAA,CAAA,MAAAkB,EAAA4B,YAAA9C,EAAA,CAAA,MAAAyC,KAAAzC,EAAA,CAAA,MAAAuC,KAEpDK,KAAAA,MAAA;AACR,QAAIL,KAAA,CAAaE,GAAe;AAC9B,YAAAM,IAAgBC,WACd,MAAA;AACEN,QAAAA,GAAmB,EAAI;AAAA,MAAC,IAEzBxB,EAAO4B,WAAY,OAAO,GAC7B;AAAE,aACK,MAAMG,aAAaF,CAAO;AAAA,IAAC;AAAA,EACnC,GACAF,KAAA,CAACN,GAAUE,GAAiBvB,EAAO4B,QAAS,GAAC9C,EAAA,CAAA,IAAAkB,EAAA4B,UAAA9C,OAAAyC,GAAAzC,OAAAuC,GAAAvC,OAAA4C,IAAA5C,OAAA6C,OAAAD,KAAA5C,EAAA,CAAA,GAAA6C,KAAA7C,EAAA,CAAA,IAVhDkD,GAAUN,IAUPC,EAA6C;AAChD,QAAAM,KACEzB,MAAc,WAAd0B,KAEI1B,MAAc,SAAd2B,KAEE3B,MAAc,cAAd4B,KAEE5B,MAAc,eAAd6B,KAAAC,IAIV,CAAAC,GAAAC,CAAA,IAA0Cf,GAAcgB,MAAS,GACjE,CAAAC,GAAAC,EAAA,IAA4BlB,GAA6BgB,MAAS,GAClE,CAAAG,GAAAC,EAAA,IAA4BpB,GAA6BgB,MAAS,GAI1DK,KAAApD,KAAa,IACZqD,KAAAtD,KAAc;AAAE,MAAAuD;AAAA,EAAAlE,EAAA,CAAA,MAAAc,MAAAd,EAAA,CAAA,MAAAgE,MAAAhE,EAAA,EAAA,MAAAiE,MAAAjE,UAAAa,KAJVqD,KAAA;AAAA,IAAAC,KACRtD;AAAAA,IAASuD,QACNtD;AAAAA,IAAYuD,MACdL;AAAAA,IAAeM,OACdL;AAAAA,EAAAA,GACRjE,OAAAc,IAAAd,OAAAgE,IAAAhE,QAAAiE,IAAAjE,QAAAa,GAAAb,QAAAkE,MAAAA,KAAAlE,EAAA,EAAA;AALD,QAAAuE,IAAeL,IAMfM,IAAyBrC,GAAO,IAAI;AAAE,MAAAsC;AAAA,EAAAzE,UAAAQ,KAE3BiE,IAAAC,CAAAA,OAAM;AAAA,IAAA,GACVA;AAAAA,IAACC,MACEC,GAAM,GAAGF,EAACC,IAAK,IAAInE,GAAY,oBAAIqE,KAAAA,CAAM;AAAA,EAAA,IAC/C7E,QAAAQ,GAAAR,QAAAyE,KAAAA,IAAAzE,EAAA,EAAA;AAJJ,QAAA8E,IAAsBC,GACpB7E,EAAI8E,IAAKP,CAGP,GACF,CAAC,MAAM,GACP,CAAC,KAAK,CACR;AAAE,MAAAQ;AAAA,MAAAjF,EAAA,EAAA,MAAAQ,KAAAR,UAAAgB,IAAA;AAAA,QAAAkE;AAAA,IAAAlF,UAAAQ,KAC+D0E,IAAAC,CAAAA,OAAM;AAAA,MAAA,GAClET;AAAAA,MAACU,aACS,CACXV,EAACU,mBAAoB,OAArB,OAAmCR,GAAM,GAAGF,EAACU,YAAY,CAAA,CAAG,IAAI5E,GAAY,oBAAIqE,KAAAA,CAAM,GACtFH,EAACU,YAAY,CAAA,MAAQ,OAArB,OAAmCR,GAAM,GAAGF,EAACU,YAAY,CAAA,CAAG,IAAI5E,GAAY,oBAAIqE,MAAM,CAAC;AAAA,IAAA,IAEzF7E,QAAAQ,GAAAR,QAAAkF,KAAAA,IAAAlF,EAAA,EAAA,GANqCiF,KAAAjE,GAAqBgE,IAAKE,CAM/D,GAAClF,QAAAQ,GAAAR,QAAAgB,IAAAhB,QAAAiF;AAAAA,EAAA;AAAAA,IAAAA,KAAAjF,EAAA,EAAA;AANH,QAAAqF,KAAuCJ,IAOvCK,IAAmBnF,IAAQoE,EAAMF,OAAQE,EAAMD,OAC/CiB,IAAoBnF,IAASmE,EAAMJ,MAAOI,EAAMH,QAChDoB,KAAgBhE,KAAUoD,GAAM,GAAGpD,EAAO,IAAIhB,GAAY,oBAAIqE,KAAAA,CAA8B,IAApBC,EAAa,CAAA,EAAGH,MACxFc,KAAgBhE,KACZmD,GAAM,GAAGnD,EAAO,IAAIjB,GAAY,oBAAIqE,KAAAA,CACO,IAA3CC,EAAcA,EAAaY,SAAU,CAAC,EAACf,MAC3CgB,KACEC,KAAIC,IAAI,GAAIf,EAAaE,IAAKc,EAAS,EAACC,OAAQC,EAAkC,CAAC,MACnFC,QACIL,KAAIC,IAAI,GAAIf,EAAaE,IAAKkB,EAAS,EAACH,OAAQI,EAAkC,CAAC,IAAI,IAAvF,IAEEP,KAAIC,IAAI,GAAIf,EAAaE,IAAKoB,EAAS,EAACL,OAAQM,EAAkC,CAAC,IAJzF,GAMFC,KACEV,KAAIC,IAAI,GAAIf,EAAaE,IAAKuB,EAAS,EAACR,OAAQS,EAAkC,CAAC,MACnFP,QACIL,KAAIC,IAAI,GAAIf,EAAaE,IAAKyB,EAAS,EAACV,OAAQW,EAAkC,CAAC,IAAI,IAAvF,IAEEd,KAAIC,IAAI,GAAIf,EAAaE,IAAK2B,EAAS,EAACZ,OAAQa,EAAkC,CAAC,IAJzF,GAMFC,KACEjB,KAAIkB,OAAQhC,EAAaE,IAAK+B,EAAS,EAAChB,OAAQiB,EAAkC,CAAC,MACnFf,QACIL,KAAIkB,IAAI,GAAIhC,EAAaE,IAAKiC,EAAS,EAAClB,OAAQmB,EAAkC,CAClF,IAHJ,GAIFC,IACEvB,KAAIkB,OAAQhC,EAAaE,IAAKoC,EAAS,EAACrB,OAAQsB,EAAkC,CAAC,MACnFpB,QACIL,KAAIkB,IAAI,GAAIhC,EAAaE,IAAKsC,EAAS,EAACvB,OAAQwB,EAAkC,CAClF,IAHJ,GAKFC,KAAiB7B,KAAYW,KAAZX,KAAAW,IACjBmB,IAAiBZ,KAAYM,IAAZN,KAAAM,GACjBO,IAAUC,KAAWC,OAAQ,CAACpC,IAASC,EAAO,CAAC,EAACoC,MAAO,CAAC,GAAGvC,CAAU,CAAC,GAEtEwC,IAAWC,KAAaH,OACd,CACNrH,IAAAiH,KAAA7B,IACApF,IAAYkH,IAAW,IAAXA,IAAA,IAA+BZ,KAAY,IAAZA,KAAA,CAA6B,CACzE,EAACgB,MACK,CAACtC,GAAa,CAAC,CAAC,EAACyC,KAAAA,GAE1BC,IAAWF,KAAaH,OACd,CACNrH,IAAAiH,KAAAlB,IACA/F,IAAYkH,IAAW,IAAXA,IAAA,IAA+BN,IAAY,IAAZA,IAAA,CAA6B,CACzE,EAACU,MACK,CAACtC,GAAa,CAAC,CAAC,EAACyC,KAAAA,GAG1BE,KAAmBC,KAAyBC,QACjCC,EAAkC,EAACX,EACzCY,OAAKZ,EAAEhD,EAACC,IAAK,CAAC,EAAC4D,EACfC,CAAAA,MAAKV,EAAGpD,EAACoD,EAAG,CAAC,EAAC3E,MACVA,EAAK,GAEdsF,KAAmBN,KAAyBC,QACjCM,EAAkC,EAAChB,EACzCiB,OAAKjB,EAAEhD,EAACC,IAAK,CAAC,EAAC4D,EACfK,CAAAA,MAAKX,EAAGvD,EAACuD,EAAG,CAAC,EAAC9E,MACVA,EAAK,GACd0F,KAAgBf,EAAEgB,MAAOzH,EAAU,GACnC0H,KAAgBd,EAAEa,MAAOzH,EAAU,GACnC2H,KAAetB,EAACoB,MAAOpI,EAAU;AACjCwC,EAAAA,GAAU,MAAA;AAER,UAAA+F,IAAkBC,CAAAA,OAAA;AAChB,YAAAC,KACErE,EACEsE,GACEtE,EAAaE,IAAKqE,EAAW,GAC7B3B,EAAC4B,OAAQC,GAAQL,EAAK,EAAC,CAAA,CAAG,GAC1B,CACF,CAAC;AAELxF,MAAAA,EAAiByF,MAAgBrE,EAAcA,EAAaY,SAAU,CAAC,CAAC,GACxEzE,KAAoBkI,MAAgBrE,EAAcA,EAAaY,SAAU,CAAC,CAAC,GAC3E3B,GAAUmF,GAAKM,OAAQ,GACvB3F,GAAUqF,GAAKO,OAAQ;AAAA,IAAC,GAE1BC,IAAiBA,MAAA;AACfhG,MAAAA,EAAiBC,MAAS,GAC1BE,GAAUF,MAAS,GACnBI,GAAUJ,MAAS,GACnB1C,KAAoB0C,MAAS;AAAA,IAAC;AAEhCgG,IAAAA,GAAOnF,EAAgBoF,OAAQ,EAACC,GAAI,aAAaZ,CAAS,EAACY,GAAI,YAAYH,CAAQ;AAAA,EAAC,GACnF,CAAChC,GAAG5C,GAAe7D,EAAiB,CAAC;AAAC,MAAAiE;AAAA,EAAAlF,UAAAkB,KAAAlB,EAAA,EAAA,MAAAuF,KAAAvF,EAAA,EAAA,MAAAsF,KAAAtF,EAAA,EAAA,MAAAqF,MAAArF,UAAAuC,KAAAvC,EAAA,EAAA,MAAA0H,KAYjCxC,KAAA4E,gBAAAA,EAAAA,IAACC,IAAA,EACe1E,cAAAA,IACPC,OAAAA,GACCC,QAAAA,GACDmC,OAAAA,GACExG,SAAAA,GACCqB,UAAAA,EAAAA,CAAQ,GAClBvC,QAAAkB,GAAAlB,QAAAuF,GAAAvF,QAAAsF,GAAAtF,QAAAqF,IAAArF,QAAAuC,GAAAvC,QAAA0H,GAAA1H,QAAAkF,MAAAA,KAAAlF,EAAA,EAAA;AA2CsB,QAAAgK,KAAApI,GAAUqI,OAAaC;AAAA,MAAAC;AAAA,EAAAnK,UAAAgK,MAA/BG,IAAA;AAAA,IAAAD,MAAQF;AAAAA,EAAAA,GAAyBhK,QAAAgK,IAAAhK,QAAAmK,KAAAA,IAAAnK,EAAA,EAAA;AAAA,MAAAoK;AAAA,EAAApK,EAAA,EAAA,MAAA2B,GAAAsI,OAAAC,QACAE,IAAAzI,GAAMsI,OAAaC,QAAnB,CAAA,GAAyBlK,EAAA,EAAA,IAAA2B,GAAAsI,OAAAC,MAAAlK,QAAAoK,KAAAA,IAAApK,EAAA,EAAA;AAAA,MAAAqK;AAAA,EAAArK,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,UAAAoK,KAA9DC,IAAA;AAAA,IAAAH,MAAQ;AAAA,MAAAI,QAAUjK,EAAU,CAAA;AAAA,MAAG,GAAM+J;AAAAA,IAAAA;AAAAA,EAA2B,GAAGpK,QAAAK,EAAA,CAAA,GAAAL,QAAAoK,GAAApK,QAAAqK,KAAAA,IAAArK,EAAA,EAAA;AAAA,MAAAuK;AAAA,EAAAvK,EAAA,EAAA,MAAAuF,KAAAvF,UAAAmK,KAAAnK,EAAA,EAAA,MAAAqK,KAN7EE,KAAAT,gBAAAA,EAAAA,IAACU,IAAA,EACK,IAAA,GACAjF,IAAAA,GACA,IAAA,KACA,IAAA,KACQ,YAAA4E,GACJ,QAAAE,GAAmE,GAC3ErK,QAAAuF,GAAAvF,QAAAmK,GAAAnK,QAAAqK,GAAArK,QAAAuK,MAAAA,KAAAvK,EAAA,EAAA;AAAA,MAAAyK;AAAA,EAAAzK,EAAA,EAAA,MAAA4B,GAAA8I,OAAAC,SAAA3K,EAAA,EAAA,MAAAuF,KAAAvF,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,EAAA,EAAA,MAAAuE,EAAAF,QAAArE,EAAA,EAAA,MAAA+B,KAAA/B,EAAA,EAAA,MAAA2B,GAAA+I,OAAAC,SAEDF,KAAA1I,IACC+H,gBAAAA,EAAAA,IAACc,IAAA,EACI,GAAA,KAAKrG,EAAMF,MACX,GAAAkB,IAAc,GACV,OAAA;AAAA,IAAAsF,MAAQxK,EAAU,CAAA;AAAA,IAAG,GAAMsB,GAAM+I,OAAcC,SAApB,CAAA;AAAA,EAAyB,GAChD,WAAA/I,GAAU8I,OAAcC,OAC7B,MAAArK,KAASoF,SAAU,MAAnB,GAA4BpF,EAAM,CAAA,EAAGwK,UAAW,GAAG,GAAG,CAAC,QAAQxK,EAAM,CAAA,GAC3E,cAAQ,IAPX,MASON,EAAA,EAAA,IAAA4B,GAAA8I,OAAAC,OAAA3K,QAAAuF,GAAAvF,QAAAM,GAAAN,QAAAK,EAAA,CAAA,GAAAL,EAAA,EAAA,IAAAuE,EAAAF,MAAArE,QAAA+B,GAAA/B,EAAA,EAAA,IAAA2B,GAAA+I,OAAAC,OAAA3K,QAAAyK,MAAAA,KAAAzK,EAAA,EAAA;AA2CF,QAAA+K,KAAAzF,IAAa,IACb0F,IAAA1F,IAAa,IACG2F,KAAArJ,GAAUqI,OAAaC;AAAA,MAAAgB;AAAA,EAAAlL,UAAAiL,MAA/BC,IAAA;AAAA,IAAAhB,MAAQe;AAAAA,EAAAA,GAAyBjL,QAAAiL,IAAAjL,QAAAkL,KAAAA,IAAAlL,EAAA,EAAA;AAAA,MAAAmL;AAAA,EAAAnL,EAAA,EAAA,MAAA2B,GAAAsI,OAAAC,QACAiB,KAAAxJ,GAAMsI,OAAaC,QAAnB,CAAA,GAAyBlK,EAAA,EAAA,IAAA2B,GAAAsI,OAAAC,MAAAlK,QAAAmL,MAAAA,KAAAnL,EAAA,EAAA;AAAA,MAAAoL;AAAA,EAAApL,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,UAAAmL,MAA9DC,IAAA;AAAA,IAAAlB,MAAQ;AAAA,MAAAI,QAAUjK,EAAU,CAAA;AAAA,MAAG,GAAM8K;AAAAA,IAAAA;AAAAA,EAA2B,GAAGnL,QAAAK,EAAA,CAAA,GAAAL,QAAAmL,IAAAnL,QAAAoL,KAAAA,IAAApL,EAAA,EAAA;AAAA,MAAAqL;AAAA,EAAArL,EAAA,EAAA,MAAAuF,KAAAvF,EAAA,EAAA,MAAA+K,MAAA/K,EAAA,EAAA,MAAAgL,KAAAhL,EAAA,EAAA,MAAAkL,KAAAlL,UAAAoL,KAN7EC,KAAAvB,gBAAAA,EAAAA,IAACU,IAAA,EACK,IAAA,GACAjF,OACA,IAAAwF,IACA,IAAAC,GACQ,YAAAE,GACJ,QAAAE,GAAmE,GAC3EpL,QAAAuF,GAAAvF,QAAA+K,IAAA/K,QAAAgL,GAAAhL,QAAAkL,GAAAlL,QAAAoL,GAAApL,QAAAqL,MAAAA,KAAArL,EAAA,EAAA;AAAA,MAAAsL;AAAA,EAAAtL,EAAA,EAAA,MAAA4B,GAAA8I,OAAAC,SAAA3K,EAAA,EAAA,MAAAuF,KAAAvF,EAAA,EAAA,MAAAsF,KAAAtF,UAAAM,KAAAN,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,UAAAuE,EAAAD,SAAAtE,EAAA,EAAA,MAAA+B,KAAA/B,EAAA,EAAA,MAAA2B,GAAA+I,OAAAC,SACDW,IAAAvJ,IACC+H,gBAAAA,EAAAA,IAACc,IAAA,EACI,GAAAtF,IAAaf,EAAMD,QAAS,IAC5B,GAAAiB,IAAc,GACV,OAAA;AAAA,IAAAsF,MAAQxK,EAAU,CAAA;AAAA,IAAG,GAAMsB,GAAM+I,OAAcC,SAApB,CAAA;AAAA,EAAyB,GAChD,WAAA/I,GAAU8I,OAAcC,OAC7B,MAAArK,KAASoF,SAAU,MAAnB,GAA4BpF,EAAM,CAAA,EAAGwK,UAAW,GAAG,GAAG,CAAC,QAAQxK,EAAM,CAAA,GAC3E,cAAQ,IAPX,MASON,EAAA,EAAA,IAAA4B,GAAA8I,OAAAC,OAAA3K,QAAAuF,GAAAvF,QAAAsF,GAAAtF,QAAAM,GAAAN,QAAAK,EAAA,CAAA,GAAAL,EAAA,EAAA,IAAAuE,EAAAD,OAAAtE,QAAA+B,GAAA/B,EAAA,EAAA,IAAA2B,GAAA+I,OAAAC,OAAA3K,QAAAsL,KAAAA,IAAAtL,EAAA,EAAA;AAOF,QAAAuL,KAAAjG,IAAa,IACGkG,KAAA5J,GAAUqI,OAAaC;AAAA,MAAAuB;AAAA,EAAAzL,UAAAwL,MAA/BC,IAAA;AAAA,IAAAvB,MAAQsB;AAAAA,EAAAA,GAAyBxL,QAAAwL,IAAAxL,QAAAyL,KAAAA,IAAAzL,EAAA,EAAA;AAC7B,QAAA0L,IAAA/J,GAAMsI,OAAaC;AAAA,MAAAyB;AAAA,EAAA3L,UAAA0L,KAA3BC,IAAA;AAAA,IAAAzB,MAAQwB;AAAAA,EAAAA,GAAqB1L,QAAA0L,GAAA1L,QAAA2L,KAAAA,IAAA3L,EAAA,EAAA;AAAA,MAAA4L;AAAA,EAAA5L,EAAA,EAAA,MAAAuF,KAAAvF,EAAA,EAAA,MAAAuL,MAAAvL,EAAA,EAAA,MAAAyL,KAAAzL,UAAA2L,KANvCC,IAAA9B,gBAAAA,EAAAA,IAACU,IAAA,EACKjF,IAAAA,GACAA,IAAAA,GACA,IAAA,KACA,IAAAgG,IACQ,YAAAE,GACJ,QAAAE,GAA6B,GACrC3L,QAAAuF,GAAAvF,QAAAuL,IAAAvL,QAAAyL,GAAAzL,QAAA2L,GAAA3L,QAAA4L,KAAAA,IAAA5L,EAAA,EAAA;AAAA,MAAA6L;AAAA,EAAA7L,UAAAQ,KAEmBqL,IAAAC,CAAAA,MAAKC,GAAOrH,GAAGlE,CAAU,GAACR,QAAAQ,GAAAR,QAAA6L,KAAAA,IAAA7L,EAAA,EAAA;AAArC,QAAAgM,KAAAhD,GAAMhE,IAAK6G,CAA0B,GAC1CI,KAAAjD,GAAMhE,IAAKkH,CAAAA,MAAKxE,EAAEhD,CAAC,CAAC,GAIVyH,KAAAxK,GAAMsI,OAAkBmC,WAC3BC,KAAA1K,GAAMsI,OAAe3J;AAAA,MAAAgM;AAAA,EAAAtM,EAAA,EAAA,MAAAmM,MAAAnM,UAAAqM,MAFvBC,KAAA;AAAA,IAAAF,WACKD;AAAAA,IAAwB7L,QAC3B+L;AAAAA,EAAAA,GACTrM,QAAAmM,IAAAnM,QAAAqM,IAAArM,QAAAsM,MAAAA,KAAAtM,EAAA,EAAA;AAE4B,QAAAuM,KAAA3K,GAAUqI,OAAkBmC;AAAA,MAAAI;AAAA,EAAAxM,UAAAuM,MAA5CC,KAAAC,GAAG,aAAaF,EAA4B,GAACvM,QAAAuM,IAAAvM,QAAAwM,MAAAA,KAAAxM,EAAA,EAAA;AAGtD,QAAA0M,KAAA9K,GAAUqI,OAAe3J;AAAA,MAAAqM;AAAA,EAAA3M,UAAA0M,MAFnBC,KAAAF,GACN,+GACAC,EACF,GAAC1M,QAAA0M,IAAA1M,QAAA2M,MAAAA,KAAA3M,EAAA,EAAA;AAAA,MAAA4M;AAAA,EAAA5M,EAAA,EAAA,MAAAwM,MAAAxM,UAAA2M,MALSC,KAAA;AAAA,IAAAR,WACCI;AAAAA,IAA6ClM,QAChDqM;AAAAA,EAAAA,GAIT3M,QAAAwM,IAAAxM,QAAA2M,IAAA3M,QAAA4M,MAAAA,KAAA5M,EAAA,EAAA;AAAA,MAAA6M;AAAA,EAAA7M,UAAA8B,KAOJ+K,KAAA/K,EAAYiE,OAAQ+G,EAA4B,EAAC9H,IAAK+H,EAAY,GAAC/M,QAAA8B,GAAA9B,QAAA6M,MAAAA,KAAA7M,EAAA,EAAA;AAAA,MAAAgN;AAAA,EAAAhN,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,UAAAmB,KAGzD6L,KAAA;AAAA,IAAA1C,QACGjK,EAAU,CAAA;AAAA,IAAGc,aAAAA;AAAAA,IAAA0J,MAEf;AAAA,EAAA,GACP7K,QAAAK,EAAA,CAAA,GAAAL,QAAAmB,GAAAnB,QAAAgN,MAAAA,KAAAhN,EAAA,EAAA;AAAA,MAAAiN;AAAA,EAAAjN,EAAA,EAAA,MAAAkB,EAAA4B,YACKmK,KAAA;AAAA,IAAAC,SAAW;AAAA,IAACC,YAAc;AAAA,MAAArK,UAAY5B,EAAO4B;AAAAA,IAAAA;AAAAA,EAAU,GAAG9C,EAAA,EAAA,IAAAkB,EAAA4B,UAAA9C,QAAAiN,MAAAA,KAAAjN,EAAA,EAAA;AAAA,MAAAoN;AAAA,EAAApN,EAAA,EAAA,MAAAK,EAAA,CAAA,KAAAL,UAAAmB,KAmCzDiM,KAAA;AAAA,IAAA9C,QACGjK,EAAU,CAAA;AAAA,IAAGc,aAAAA;AAAAA,IAAA0J,MAEf;AAAA,EAAA,GACP7K,QAAAK,EAAA,CAAA,GAAAL,QAAAmB,GAAAnB,QAAAoN,MAAAA,KAAApN,EAAA,EAAA;AAAA,MAAAqN;AAAA,EAAArN,EAAA,EAAA,MAAAkB,EAAA4B,YACKuK,KAAA;AAAA,IAAAH,SAAW;AAAA,IAACC,YAAc;AAAA,MAAArK,UAAY5B,EAAO4B;AAAAA,IAAAA;AAAAA,EAAU,GAAG9C,EAAA,EAAA,IAAAkB,EAAA4B,UAAA9C,SAAAqN,MAAAA,KAAArN,EAAA,GAAA;AA0CjE,QAAAsN,KAAAxI,EAAaE,IAAK,CAAAuI,GAAAC,MACjBC,gBAAAA,EAAAA,KAAAC,GAAA,GAAA,EACG,UAAA;AAAA,IAACC,EAAuBjJ,EAACoD,EAAG,IAA5B,OAAA2F,gBAAAA,EAAAA,KAAAG,EAAAA,UAAA,EAEIxM,UAAAA;AAAAA,MAAAA,0BACCsM,GAAA,QAAA,EAEI,GAAApI,IAAaR,EAAaY,SAAU,IAApC,IAEIJ,IAAaR,EAAaY,SAAU,KAApC,IAAA,GAIA,MAAA;AAAA,QAAAwH,SAAW;AAAA,QAACC,YAAc;AAAA,UAAArK,UAAY5B,EAAO4B;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAA+K,SACC;AAAA,UAAAX,SACE;AAAA,UAACY,IACNpG,EAAEhD,EAACC,IAAK;AAAA,UAACoJ,IACTjG,EAAGpD,EAACoD,EAAa;AAAA,UAAC+C,MAChBxK,EAAU,CAAA;AAAA,QAAA;AAAA,QACjB2N,aACY;AAAA,UAAAd,SACF;AAAA,UAACrC,MACJxK,EAAU,CAAA;AAAA,UAAG8M,YACP;AAAA,YAAArK,UACAL,IAAkBvB,EAAO4B,WAAzB;AAAA,YAAwCmL,OAC3CxL,IAAA,IAAsBvB,EAAO4B;AAAAA,UAAAA;AAAAA,UACrCgL,IACGpG,EAAEhD,EAACC,IAAK;AAAA,UAACoJ,IACTjG,EAAGpD,EAACoD,EAAa;AAAA,QAAA;AAAA,MACvB,GAEM,SAAA,WACC,SAAAvF,IAAA,gBAAA,WAAoC,IA7BhD;AAAA,MAgCA9B,KACCqJ,gBAAAA,EAAAA,IAAA4D,GAAA,MAAA,EAEI,IAAAC,EAAuBjJ,EAACuD,EAId,KAFLvD,EAACuD,KAAkBvD,EAACoD,KAFzB,KAEI,OAIC,OAAA;AAAA,QAAAoG,YACO;AAAA,QAAQ,GAChBvM,GAAMwM,qBAAN,CAAA;AAAA,MAA8B,GAEzB,WAAA1B,GACT,oDACA7K,GAAUuM,iBACZ,GACM,MAAA;AAAA,QAAAjB,SAAW;AAAA,QAACC,YAAc;AAAA,UAAArK,UAAY5B,EAAO4B;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAA+K,SACC;AAAA,UAAAX,SACE;AAAA,UAACxF,GACPA,EAAEhD,EAACC,IAAK;AAAA,UAAC4D,GACTN,EAAGvD,EAACoD,EAAa;AAAA,UAAC+C,MACfxK,EAAU,CAAA;AAAA,QAAA;AAAA,QACjB2N,aACY;AAAA,UAAAd,SACF;AAAA,UAACxF,GACPA,EAAEhD,EAACC,IAAK;AAAA,UAACkG,MACNxK,EAAU,CAAA;AAAA,UAAGkI,GAChBN,EAAGvD,EAACoD,EAAa;AAAA,UAACqF,YACT;AAAA,YAAArK,UACAL,IAAkBvB,EAAO4B,WAAzB;AAAA,YAAwCmL,OAC3CxL,IAAA,IAAsBvB,EAAO4B;AAAAA,UAAAA;AAAAA,QACtC;AAAA,MACF,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAER6L,aACC1J,EAACoD,IACD7F,IACAJ,GACAN,MACAD,EAAY,CAAA,GACZU,EACF,GACF,IA/CD;AAAA,IAAA,EAAA,CAgDO;AAAA,IAGV2L,EAAuBjJ,EAACuD,EAAG,IAA5B,OAAAwF,gBAAAA,EAAAA,KAAAG,EAAAA,UAAA,EAEIxM,UAAAA;AAAAA,MAAAA,0BACCsM,GAAA,QAAA,EAEI,GAAApI,IAAaR,EAAaY,SAAU,IAApC,IAEIJ,IAAaR,EAAaY,SAAU,KAApC,IAAA,GAIA,MAAA;AAAA,QAAAwH,SAAW;AAAA,QAACC,YAAc;AAAA,UAAArK,UAAY5B,EAAO4B;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAA+K,SACC;AAAA,UAAAX,SACE;AAAA,UAACY,IACNpG,EAAEhD,EAACC,IAAK;AAAA,UAACoJ,IACT9F,EAAGvD,EAACuD,EAAa;AAAA,UAAC4C,MAChBxK,EAAU,CAAA;AAAA,QAAA;AAAA,QACjB2N,aACY;AAAA,UAAAd,SACF;AAAA,UAACC,YACE;AAAA,YAAArK,UACAL,IAAkBvB,EAAO4B,WAAzB;AAAA,YAAwCmL,OAC3CxL,IAAA,IAAsBvB,EAAO4B;AAAAA,UAAAA;AAAAA,UACrC+H,MACKxK,EAAU,CAAA;AAAA,UAAGyN,IACfpG,EAAEhD,EAACC,IAAK;AAAA,UAACoJ,IACT9F,EAAGvD,EAACuD,EAAa;AAAA,QAAA;AAAA,MACvB,GAEM,SAAA,WACC,SAAA1F,IAAA,gBAAA,WAAoC,IA7BhD;AAAA,MAgCA9B,KACCqJ,gBAAAA,EAAAA,IAAA4D,GAAA,MAAA,EAEI,IAAAC,EAAuBjJ,EAACoD,EAId,KAFLpD,EAACoD,KAAkBpD,EAACuD,KAFzB,KAEI,OAIC,OAAA;AAAA,QAAAiG,YACO;AAAA,QAAQ,GAChBvM,GAAMwM,qBAAN,CAAA;AAAA,MAA8B,GAEzB,WAAA1B,GACT,oDACA7K,GAAUuM,iBACZ,GACM,MAAA;AAAA,QAAAjB,SAAW;AAAA,QAACC,YAAc;AAAA,UAAArK,UAAY5B,EAAO4B;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAA+K,SACC;AAAA,UAAAX,SACE;AAAA,UAACxF,GACPA,EAAEhD,EAACC,IAAK;AAAA,UAAC4D,GACTN,EAAGvD,EAACuD,EAAa;AAAA,UAAC4C,MACfxK,EAAU,CAAA;AAAA,QAAA;AAAA,QACjB2N,aACY;AAAA,UAAAd,SACF;AAAA,UAACxF,GACPA,EAAEhD,EAACC,IAAK;AAAA,UAAC4D,GACTN,EAAGvD,EAACuD,EAAa;AAAA,UAAC4C,MACfxK,EAAU,CAAA;AAAA,UAAG8M,YACP;AAAA,YAAArK,UACAL,IAAkBvB,EAAO4B,WAAzB;AAAA,YAAwCmL,OAC3CxL,IAAA,IAAsBvB,EAAO4B;AAAAA,UAAAA;AAAAA,QACtC;AAAA,MACF,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAER6L,aACC1J,EAACuD,IACDhG,IACAJ,GACAN,MACAD,MACAU,EACF,GACF,IA/CD;AAAA,IAAA,EAAA,CAgDO;AAAA,EAlFX,EAAA,GAtFYqM,CA2Kf,CACD;AAAC,MAAAC;AAAA,EAAAtO,WAAAsN,MA9KJgB,kCACGhB,UAAAA,GAAAA,CA8KH,GAAItN,SAAAsN,IAAAtN,SAAAsO,MAAAA,KAAAtO,EAAA,GAAA;AAAA,MAAAuO;AAAA,EAAAvO,WAAA8B,KACHyM,KAAAzM,EAAYiE,OAAQyI,EAA2B,EAACxJ,IAAKyJ,EAAY,GAACzO,SAAA8B,GAAA9B,SAAAuO,MAAAA,KAAAvO,EAAA,GAAA;AAAA,MAAA0O;AAAA,EAAA1O,EAAA,GAAA,MAAA2O,uBAAAC,IAAA,2BAAA,KAG1DF,KAAA;AAAA,IAAA7D,MACC;AAAA,IAAMgE,eACG;AAAA,EAAA,GAChB7O,SAAA0O,MAAAA,KAAA1O,EAAA,GAAA;AAAA,MAAA8O;AAAA,EAAA9O,EAAA,GAAA,MAAAwE,KAAAxE,WAAAuF,KAAAvF,EAAA,GAAA,MAAAsF,KALHwJ,KAAAhF,gBAAAA,EAAAA,IAAA,UACOtF,QACE,OAAAkK,IAIApJ,OAAAA,GACCC,QAAAA,EAAAA,CAAW,GACnBvF,SAAAwE,GAAAxE,SAAAuF,GAAAvF,SAAAsF,GAAAtF,SAAA8O,MAAAA,KAAA9O,EAAA,GAAA;AAAA,MAAA+O;AAAA,SAAA/O,EAAA,GAAA,MAAA4B,GAAAb,WAAAf,EAAA,GAAA,MAAA4D,KAAA5D,EAAA,GAAA,MAAA8D,KAAA9D,EAAA,GAAA,MAAAyD,KAAAzD,EAAA,GAAA,MAAA2B,GAAAZ,WAAAf,EAAA,GAAA,MAAAe,MAGLgO,KAAAtL,KAAA1C,MAAA6C,KAAAE,0BACEkL,IAAA,EACOvL,SACA1C,MAAAA,IACA6C,SACAE,MAAAA,GACW,iBAAAnC,GAAMZ,SACZ,WAAAa,GAAUb,SAAS,IAPjC,MASOf,EAAA,GAAA,IAAA4B,GAAAb,SAAAf,SAAA4D,GAAA5D,SAAA8D,GAAA9D,SAAAyD,GAAAzD,EAAA,GAAA,IAAA2B,GAAAZ,SAAAf,SAAAe,IAAAf,SAAA+O,MAAAA,KAAA/O,EAAA,GAAA,GAhcVyN,gBAAAA,EAAAA,KAAAG,YAAA,EACE,UAAA;AAAA,IAAA9D,gBAAAA,EAAAA,cACS,UAAG3J,CAAK,MACP,WAAGC,CAAM,MACR,SAAA,OAAOD,CAAK,IAAIC,CAAM,IACrB,WAAA,OACL8B,KAAAA,IAEL,UAAAuL,gBAAAA,EAAAA,KAAA,KAAA,EAAc,WAAA,aAAalJ,EAAMF,IAAK,IAAIE,EAAMJ,GAAI,KAClDe,UAAAA;AAAAA,MAAAA;AAAAA,6BAQA,KAAA,EACG2D,UAAAA;AAAAA,QAAAA,GAAO7D,IAAK,CAAAiK,GAAAZ,6BACX,KAAA,EACE,UAAA;AAAA,UAAAvE,gBAAAA,EAAAA,IAAA,QAAA,EACM,IAAAhC,EAAGpD,CAAC,GACJ,IAAAoD,EAAGpD,CAAC,GACJ,IAAA,KACA,IAAA,KACG,OAAA;AAAA,YAAA4F,QACGjK,EAAU,CAAA;AAAA,YAAGc,aACR;AAAA,YAAC,GACVQ,GAAM+I,OAAkB0B,aAAxB,CAAA;AAAA,UAA6B,GAExB,WAAAxK,GAAU8I,OAAkB0B,UAAAA;gCAEzC,QAAA,EACK,GAAA,KACA,GAAAtE,EAAGpD,CAAC,GACJ,IAAA,UACQ,WAAA+H,GAAG,WAAW7K,GAAU8I,OAAepK,MAAA,GAC3C,OAAA;AAAA,YAAA4N,YACO;AAAA,YAAKrD,MACXxK,EAAU,CAAA;AAAA,YAAG,GACfsB,GAAM+I,OAAepK,UAArB,CAAA;AAAA,UAA0B,GAG/B8N,UAAAA,GACC1J,GACAf,QACA9B,GACAN,EAAY,CAAA,GACZD,EAAY,CAAA,GACZU,EACF,EAAA,CACF;AAAA,QAAA,EAAA,GAhCMqM,CAiCR,CACD;AAAA,QACD9D;AAAAA,QASCE;AAAAA,MAAAA,GAUH;AAAA,6BACA,KAAA,EACG1B,UAAAA;AAAAA,QAAAA,GAAO/D,IAAK,CAAAkK,GAAAC,oCAET,UAAA;AAAA,UAAArF,gBAAAA,EAAAA,IAAA,QAAA,EACM,IAAA7B,EAAGvD,CAAC,GACJ,IAAAuD,EAAGvD,CAAC,GACJ,IAAAY,IAAa,IACb,IAAAA,IAAa,IACV,OAAA;AAAA,YAAAgF,QACGjK,EAAU,CAAA;AAAA,YAAGc,aACR;AAAA,YAAC,GACVQ,GAAM+I,OAAkB0B,aAAxB,CAAA;AAAA,UAA6B,GAExB,WAAAxK,GAAU8I,OAAkB0B,UAAAA;UAEzCtC,gBAAAA,EAAAA,IAAA,QAAA,EACK,GAAAxE,IAAa,IACb,GAAA2C,EAAGvD,CAAC,GACJ,IAAA,UACC,QACG,OAAA;AAAA,YAAAwJ,YACO;AAAA,YAAOrD,MACbxK,EAAU,CAAA;AAAA,YAAG,GACfsB,GAAM+I,OAAepK,UAArB,CAAA;AAAA,UAA0B,GAErB,WAAAmM,GAAG,WAAW7K,GAAU8I,OAAepK,MAAA,GAEjD8N,UAAAA,GACC1J,GACAf,QACA9B,GACAN,EAAY,CAAA,GACZD,MACAU,EACF,EAAA,CACF;AAAA,QAAA,EAAA,GAjCMqM,CAkCR,CACD;AAAA,QACDhD;AAAAA,QAQCC;AAAAA,MAAAA,GAUH;AAAA,6BACA,KAAA,EACEM,UAAAA;AAAAA,QAAAA;AAAAA,8BAQCwD,IAAA,EACS,QAAApD,IACL,GAAAC,IACC,IAAA,GACA1G,IAAAA,GACI,QAAA+G,IAII,YAAAM,IAOF,WAAA,WACV,mBACW/K,WAAAA,GACHG,QAAAA,GAAAA,CAAM;AAAA,MAAA,GAElB;AAAA,MACC6K;AAAAA,6BACD,KAAA,EACE,UAAA;AAAA,QAAA/C,gBAAAA,MAAA4D,GAAA,MAAA,EACS,OAAAV,IAKD,MAAAC,IACI,UAAA;AAAA,UAAAY,SACC;AAAA,YAAAwB,YACK;AAAA,YAAC3K,GAEXwD,GACEpD,EAAaiB,OACXuJ,EACF,CACI,KAJN;AAAA,YAIOpC,SACA;AAAA,UAAA;AAAA,UACVc,aACY;AAAA,YAAAqB,YACC;AAAA,YAAC3K,GAEXwD,GACEpD,EAAaiB,OACXwJ,EACF,CACI,KAJN;AAAA,YAIOrC,SACA;AAAA,YAACC,YACE;AAAA,cAAArK,UAAY5B,EAAO4B;AAAAA,YAAAA;AAAAA,UAAU;AAAA,QAC3C,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAAoC;AAAA,8BAE/CmL,GAAA,MAAA,EAEI,GAAAjF,GACE3D,EAAaiB,OACXyJ,EACF,CACI,KAJN,IAMK,OAAApC,IAKD,MAAAC,IACI,UAAA;AAAA,UAAAQ,SACC;AAAA,YAAAwB,YACK;AAAA,YAAC3K,GAEX+D,GACE3D,EAAaiB,OACX0J,EACF,CACI,KAJN;AAAA,YAIOvC,SACA;AAAA,UAAA;AAAA,UACVc,aACY;AAAA,YAAAqB,YACC;AAAA,YAAC3K,GAEX+D,GACE3D,EAAaiB,OACX2J,EACF,CACI,KAJN;AAAA,YAIOxC,SACA;AAAA,YAACC,YACE;AAAA,cAAArK,UAAY5B,EAAO4B;AAAAA,YAAAA;AAAAA,UAAU;AAAA,QAC3C,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAAoC;AAAA,QAE9CkB,IACCqG,gBAAAA,EAAAA,cACM,IAAA,GACAvE,IAAAA,GACA,IAAAmC,EAAEjE,EAAakB,IAAK,GACpB,IAAA+C,EAAEjE,EAAakB,IAAK,GACb,WAAA8H,GACT,uEACA7K,GAAU+N,aACZ,GACO,OAAAhO,GAAMgO,cAAAA,CAAe,IAV/B;AAAA,MAAA,GAaH;AAAA,MACArB;AAAAA,MAgLCC;AAAAA,MACDO;AAAAA,IAAAA,EAAAA,CASF,EAAA,CACF;AAAA,IACCC;AAAAA,EAAAA,GASO;AACP;AApnBA,SAAAN,GAAAmB,GAAA;AAAA,SA8lB8DlL,EAACmL;AAAM;AA9lBrE,SAAArB,GAAAsB,GAAA;AAAA,SA8lB6BpL,EAACqL,aAAc;AAAO;AA9lBnD,SAAAL,GAAAM,GAAA;AAAA,SAsZkD,CAACrC,EAAuBsC,EAAEhI,EAAG;AAAC;AAtZhF,SAAAwH,GAAAS,GAAA;AAAA,SA4YkD,CAACvC,EAAuBsC,EAAEhI,EAAG;AAAC;AA5YhF,SAAAuH,GAAAW,GAAA;AAAA,SA4X8C,CAACxC,EAAuBsC,EAAEhI,EAAG;AAAC;AA5X5E,SAAAsH,GAAAa,GAAA;AAAA,SA8WkD,CAACzC,EAAuBsC,EAAEnI,EAAG;AAAC;AA9WhF,SAAAwH,GAAAW,GAAA;AAAA,SAoWkD,CAACtC,EAAuBsC,EAAEnI,EAAG;AAAC;AApWhF,SAAAiF,GAAAsD,GAAA;AAAA,SAqV+D3L,EAACmL;AAAM;AArVtE,SAAA/C,GAAAwD,GAAA;AAAA,SAqV6B5L,EAACqL,aAAc;AAAQ;AArVpD,SAAA1G,GAAAkH,GAAA;AAAA,SA+J4B7L,EAACC;AAAK;AA/JlC,SAAA+D,GAAA8H,GAAA;AAAA,SAkJW,CAAC7C,EAAuBjJ,EAACuD,EAAG;AAAC;AAlJxC,SAAAI,GAAAoI,GAAA;AAAA,SA4IW,CAAC9C,EAAuBjJ,EAACoD,EAAG;AAAC;AA5IxC,SAAAP,GAAAmJ,GAAA;AAAA,SAqHyEhM,KAAM;AAAI;AArHnF,SAAA4C,GAAAqJ,GAAA;AAAA,SAqHoCjM,EAACuD;AAAG;AArHxC,SAAAZ,GAAAuJ,GAAA;AAAA,SAmHqElM,KAAM;AAAI;AAnH/E,SAAA0C,GAAAyJ,GAAA;AAAA,SAmHgCnM,EAACuD;AAAG;AAnHpC,SAAAf,GAAA4J,GAAA;AAAA,SAgHyEpM,KAAM;AAAI;AAhHnF,SAAAuC,GAAA8J,GAAA;AAAA,SAgHoCrM,EAACoD;AAAG;AAhHxC,SAAAd,GAAAgK,GAAA;AAAA,SA8GqEtM,KAAM;AAAI;AA9G/E,SAAAqC,GAAAkK,GAAA;AAAA,SA8GgCvM,EAACoD;AAAG;AA9GpC,SAAAlB,GAAAsK,GAAA;AAAA,SA2G2ExM,KAAM;AAAI;AA3GrF,SAAAiC,GAAAwK,GAAA;AAAA,SA2GsCzM,EAACuD;AAAG;AA3G1C,SAAAvB,GAAA0K,GAAA;AAAA,SAyGyE1M,KAAM;AAAI;AAzGnF,SAAA+B,GAAA4K,GAAA;AAAA,SAyGoC3M,EAACuD;AAAG;AAzGxC,SAAAzB,GAAA8K,GAAA;AAAA,SAuGqE5M,KAAM;AAAI;AAvG/E,SAAA6B,GAAAgL,GAAA;AAAA,SAuGgC7M,EAACuD;AAAG;AAvGpC,SAAA5B,GAAAmL,GAAA;AAAA,SAoG2E9M,KAAM;AAAI;AApGrF,SAAA0B,GAAAqL,GAAA;AAAA,SAoGsC/M,EAACoD;AAAG;AApG1C,SAAA3B,GAAAuL,GAAA;AAAA,SAkGyEhN,KAAM;AAAI;AAlGnF,SAAAwB,GAAAyL,GAAA;AAAA,SAkGoCjN,EAACuD;AAAG;AAlGxC,SAAAjC,GAAA4L,GAAA;AAAA,SAgGqElN,KAAM;AAAI;AAhG/E,SAAAoB,GAAA+L,GAAA;AAAA,SAgGgCnN,EAACoD;AAAG;ACnCpC,SAAAgK,GAAA/R,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GACL;AAAA,IAAAC,MAAAA;AAAAA,IAAA6R,YAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAA7R,QAAAA;AAAAA,IAAAD,OAAAA;AAAAA,IAAA+R,UAAAA;AAAAA,IAAAxR,YAAAA;AAAAA,IAAAF,YAAA4B;AAAAA,IAAA3B,YAAAmC;AAAAA,IAAAuP,SAAAA;AAAAA,IAAA9R,YAAAwC;AAAAA,IAAAtC,UAAAyD;AAAAA,IAAAoO,iBAAAnO;AAAAA,IAAArD,YAAAsD;AAAAA,IAAAvD,aAAA8D;AAAAA,IAAA5D,WAAAoE;AAAAA,IAAAnE,cAAAoE;AAAAA,IAAA5E,QAAAA;AAAAA,IAAAgB,cAAA0I;AAAAA,IAAAzI,cAAA4I;AAAAA,IAAApJ,SAAAA;AAAAA,IAAAC,uBAAAoJ;AAAAA,IAAAiI,gBAAAA;AAAAA,IAAApR,mBAAAA;AAAAA,IAAAqR,SAAAA;AAAAA,IAAAC,eAAAlI;AAAAA,IAAAmI,cAAAjI;AAAAA,IAAArJ,SAAAuJ;AAAAA,IAAAtJ,aAAA4J;AAAAA,IAAA3J,UAAA4J;AAAAA,IAAAyH,UAAAxH;AAAAA,IAAAyH,gBAAAxH;AAAAA,IAAAyH,WAAAxH;AAAAA,IAAAyH,kBAAAA;AAAAA,IAAAC,OAAAzH;AAAAA,IAAA0H,WAAAA;AAAAA,IAAAzR,YAAAgK;AAAAA,IAAA5J,SAAAA;AAAAA,IAAAD,SAAAA;AAAAA,IAAAE,WAAA4J;AAAAA,IAAA3J,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAA0J;AAAAA,IAAAzJ,cAAA0J;AAAAA,IAAAzJ,gBAAA0J;AAAAA,IAAAzJ,QAAA0J;AAAAA,IAAAzJ,SAAA0J;AAAAA,EAAAA,IAoDI5L,GA3CFS,KAAA4B,OAAAuB,SAAA,SAAAvB,IACA3B,IAAAmC,OAAAe,SAAA,KAAAf;AAAkB,MAAAgJ;AAAA,EAAA5L,SAAA6C,KAElB+I,IAAA/I,MAAAc,SAAA,CACEoP,GAAMC,MAAMC,kBAAkBC,OAAO,CAAA,GACrCH,GAAMC,MAAMC,kBAAkBC,OAAO,CAAA,CAAG,IAF1CrQ,GAGC7C,OAAA6C,GAAA7C,OAAA4L,KAAAA,IAAA5L,EAAA,CAAA;AAHD,QAAAK,IAAAuL,GAIArL,IAAAyD,OAAAL,SAAA,KAAAK,IACAoO,KAAAnO,OAAAN,SAAA,KAAAM,IACArD,KAAAsD,OAAAP,SAAA,KAAAO,IACAvD,IAAA8D,OAAAd,SAAA,KAAAc,IACA5D,IAAAoE,MAAAtB,SAAA,KAAAsB,GACAnE,KAAAoE,MAAAvB,SAAA,KAAAuB;AAAiB,MAAA2G;AAAA,EAAA7L,SAAAgK,MAEjB6B,KAAA7B,OAAArG,SAAA,CAAgB,IAAI,EAAE,IAAtBqG,IAAuBhK,OAAAgK,IAAAhK,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA;AAAvB,QAAAsB,KAAAuK;AAAuB,MAAAG;AAAA,EAAAhM,SAAAmK,KACvB6B,KAAA7B,MAAAxG,SAAA,CAAgB,IAAI,EAAE,IAAtBwG,GAAuBnK,OAAAmK,GAAAnK,OAAAgM,MAAAA,KAAAhM,EAAA,CAAA;AAAvB,QAAAuB,KAAAyK;AAAuB,MAAAC;AAAA,EAAAjM,SAAAoK,MAEvB6B,IAAA7B,OAAAzG,SAAA,CAAA,IAAAyG,IAA0BpK,OAAAoK,IAAApK,OAAAiM,KAAAA,IAAAjM,EAAA,CAAA;AAA1B,QAAAgB,KAAAiL,GAIAsG,IAAAlI,MAAA1G,SAAA,KAAA0G,GACAmI,IAAAjI,MAAA5G,SAAA,KAAA4G,GACArJ,IAAAuJ,MAAA9G,SAAA,KAAA8G,GACAtJ,IAAA4J,MAAApH,SAAA,IAAAoH,GACA3J,KAAA4J,OAAArH,SAAA,KAAAqH,IACAyH,KAAAxH,OAAAtH,SAAA,OAAAsH,IACAyH,KAAAxH,OAAAvH,SAAA,KAAAuH,IACAyH,KAAAxH,OAAAxH,SAAA,IAAAwH,IAEA0H,KAAAzH,MAAAzH,SAAA,UAAAyH,GAEA/J,KAAAgK,OAAA1H,SAAA,IAAA0H,IAGA3J,KAAA4J,MAAA3H,SAAA,UAAA2H,GAGAzJ,IAAA0J,OAAA5H,SAAA,IAAA4H;AAAa,MAAAY;AAAA,EAAAnM,SAAAwL,KACbW,IAAAX,MAAA7H,SAAA,CAAA,IAAA6H,GAAiBxL,OAAAwL,GAAAxL,OAAAmM,KAAAA,IAAAnM,EAAA,CAAA;AAAjB,QAAA8B,IAAAqK,GACApK,KAAA0J,OAAA9H,SAAA,KAAA8H,IACAzJ,KAAA0J,OAAA/H,SAAA,OAAA+H,IACAzJ,KAAA0J,OAAAhI,SAAA,OAAAgI,IAGF,CAAAwH,GAAAC,EAAA,IAAgCzQ,GAAS,CAAC,GAC1C,CAAA0Q,GAAAC,EAAA,IAAkC3Q,GAAS,CAAC,GAE5C4Q,IAAiBpR,GAAuB,IAAI,GAC5CqR,KAAuBrR,GAAuB,IAAI;AAAE,MAAAkK,GAAAC;AAAA,EAAAtM,EAAA,EAAA,MAAA2O,uBAAAC,IAAA,2BAAA,KAC1CvC,IAAAA,MAAA;AACR,UAAAoH,KAAuB,IAAIC,eAAeC,CAAAA,OAAA;AACxCP,MAAAA,GAAYO,GAAO,CAAA,EAAGC,OAAOC,eAAjB,GAAoC,GAChDP,GAAaK,GAAO,CAAA,EAAGC,OAAOE,gBAAjB,GAAqC;AAAA,IAAC,CACpD;AACD,WAAIP,EAAQ3J,WACV6J,GAAcM,QAASR,EAAQ3J,OAAQ,GAElC,MAAM6J,GAAcO,WAAAA;AAAAA,EAAa,GACvC1H,KAAA,CAAA,GAAEtM,QAAAqM,GAAArM,QAAAsM,OAAAD,IAAArM,EAAA,EAAA,GAAAsM,KAAAtM,EAAA,EAAA,IATLkD,GAAUmJ,GASPC,EAAE;AAIU,QAAAC,KAAA3K,GAAUqS,gBACdzH,IAAA7K,GAAMsS;AAAgB,MAAAvH;AAAA,EAAA1M,UAAA4B,GAAAsS,eAAAlU,UAAA4B,GAAA+I,SAAA3K,UAAAE,KAAAF,EAAA,EAAA,MAAAwS,KAAAxS,EAAA,EAAA,MAAAiS,KAAAjS,EAAA,EAAA,MAAAuS,KAAAvS,UAAA+R,KAAA/R,EAAA,EAAA,MAAA2B,GAAAuS,eAAAlU,EAAA,EAAA,MAAA2B,GAAAgJ,SAAA3K,EAAA,EAAA,MAAAG,KAa5BuM,IAAAqF,KAAAE,KAAAM,KAAAC,IACC1I,gBAAAA,MAACqK,MACS,QAAA;AAAA,IAAAxJ,OACChJ,GAAMgJ;AAAAA,IAAOuJ,aACPvS,GAAMuS;AAAAA,EAAAA,GAET,YAAA;AAAA,IAAAvJ,OACH/I,GAAU+I;AAAAA,IAAOuJ,aACXtS,GAAUsS;AAAAA,EAAAA,GAEbnC,YAAAA,GACME,kBAAAA,GACX9R,OAAAA,GACQ,eAAAoS,IAAAiB,KAAA7P,QAEb,cAAA6O,IACItS,EAAI8E,IAAKc,EAAW,EAACC,OAAQC,EAAoB,EAACN,SAAU,IAC1DxF,EAAI8E,IAAKkB,EAAW,EAACH,OAAQI,EACG,IAAhCjG,EAAI6F,OAAQK,EAAoB,IAHtC,MAIQ,IAnBb,MAsBOpG,EAAA,EAAA,IAAA4B,GAAAsS,aAAAlU,EAAA,EAAA,IAAA4B,GAAA+I,OAAA3K,QAAAE,GAAAF,QAAAwS,GAAAxS,QAAAiS,GAAAjS,QAAAuS,GAAAvS,QAAA+R,GAAA/R,EAAA,EAAA,IAAA2B,GAAAuS,aAAAlU,EAAA,EAAA,IAAA2B,GAAAgJ,OAAA3K,QAAAG,GAAAH,QAAA0M,KAAAA,IAAA1M,EAAA,EAAA;AAAA,MAAA2M;AAAA,EAAA3M,UAAA4B,GAAAwS,eAAApU,UAAA4S,KAAA5S,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAK,KAAAL,UAAA0S,MACP/F,IAAA+F,MAAkBpS,EAAMoF,SAAU,IACjCoE,gBAAAA,MAACuK,MACc/T,gBACKsS,kBAAAA,GACVvS,QAAAA,GACK,aAAA,IACF,WAAAuB,GAAUwS,aAAa,IANrC,MAQOpU,EAAA,EAAA,IAAA4B,GAAAwS,aAAApU,QAAA4S,GAAA5S,QAAAM,GAAAN,QAAAK,GAAAL,QAAA0S,IAAA1S,QAAA2M,KAAAA,IAAA3M,EAAA,EAAA;AAAA,MAAA4M;AAAA,EAAA5M,EAAA,EAAA,MAAAE,EAAAwF,UAELkH,IAAA1M,EAAIwF,WAAY,KAAKoE,gBAAAA,EAAAA,IAACwK,IAAA,EAAU,GAAGtU,EAAA,EAAA,IAAAE,EAAAwF,QAAA1F,QAAA4M,KAAAA,IAAA5M,EAAA,EAAA;AAAA,MAAA6M;AAAA,EAAA7M,EAAA,EAAA,MAAAkB,KAAAlB,EAAA,EAAA,MAAAc,MAAAd,EAAA,EAAA,MAAA4B,KAAA5B,EAAA,EAAA,MAAA0B,MAAA1B,EAAA,EAAA,MAAA8B,KAAA9B,EAAA,EAAA,MAAAE,KAAAF,EAAA,EAAA,MAAAQ,MAAAR,EAAA,EAAA,MAAAgB,MAAAhB,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAY,MAAAZ,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAuB,MAAAvB,EAAA,EAAA,MAAAsB,MAAAtB,EAAA,EAAA,MAAAgC,MAAAhC,EAAA,EAAA,MAAAyB,MAAAzB,EAAA,EAAA,MAAAwB,MAAAxB,EAAA,EAAA,MAAAiC,MAAAjC,EAAA,EAAA,MAAAU,MAAAV,EAAA,EAAA,MAAAqB,MAAArB,EAAA,EAAA,MAAAiB,KAAAjB,EAAA,EAAA,MAAA6B,KAAA7B,EAAA,EAAA,MAAAW,KAAAX,EAAA,EAAA,MAAAO,KAAAP,EAAA,EAAA,MAAA+B,MAAA/B,EAAA,EAAA,MAAAoB,MAAApB,EAAA,EAAA,MAAAS,KAAAT,EAAA,EAAA,MAAAmB,KAAAnB,EAAA,EAAA,MAAA2B,KAAA3B,EAAA,EAAA,MAAAqT,KAAArT,EAAA,EAAA,MAAAmT,KAAAnT,EAAA,EAAA,MAAAe,KAAAf,UAAAa,KACnCgM,IAAAsG,KAAAE,KAAyBnT,EAAIwF,SAAU,IACtCoE,gBAAAA,MAAChK,IAAA,EACOI,MAAAA,GACIK,UAAAA,GACEF,YAAAA,GACL8S,UACCE,QAAAA,GACI7S,YAAAA,IACAC,YAAAA,GACA,YAAAC,MAAc6T,GAAapB,CAAQ,GACnCvS,YAAAA,IACCD,aAAAA,GACFE,WAAAA,GACGC,cAAAA,IACNR,QAAAA,GACeU,uBAAAA,IACdD,SAAAA,GACUE,mBAAAA,GAEjB,SAAAC,MAAY,KAAZ;AAAA,IAAA4B,UACgB;AAAA,IAAGR,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,IACrCnB,KAAA;AAAA,IAAA4B,UAAuB;AAAA,IAACR,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,GAEvClB,aAAAA,GACHC,UAAAA,IACEC,YAAAA,IACEC,cAAAA,IACAC,cAAAA,IACLC,SAAAA,IACAC,SAAAA,IACEC,WAAAA,IACHC,QAAAA,GACIC,YAAAA,GACDC,WAAAA,GACGC,cAAAA,GACEC,gBAAAA,IACRC,QAAAA,IACCC,SAAAA,IAAO,IArCnB,MAuCOjC,QAAAkB,GAAAlB,QAAAc,IAAAd,QAAA4B,GAAA5B,QAAA0B,IAAA1B,QAAA8B,GAAA9B,QAAAE,GAAAF,QAAAQ,IAAAR,QAAAgB,IAAAhB,QAAAM,GAAAN,QAAAY,IAAAZ,QAAAK,GAAAL,QAAAuB,IAAAvB,QAAAsB,IAAAtB,QAAAgC,IAAAhC,QAAAyB,IAAAzB,QAAAwB,IAAAxB,QAAAiC,IAAAjC,QAAAU,IAAAV,QAAAqB,IAAArB,QAAAiB,GAAAjB,QAAA6B,GAAA7B,QAAAW,GAAAX,QAAAO,GAAAP,QAAA+B,IAAA/B,QAAAoB,IAAApB,QAAAS,GAAAT,QAAAmB,GAAAnB,QAAA2B,GAAA3B,QAAAqT,GAAArT,QAAAmT,GAAAnT,QAAAe,GAAAf,QAAAa,GAAAb,QAAA6M,KAAAA,IAAA7M,EAAA,EAAA;AAAA,MAAAgN;AAAA,EAAAhN,EAAA,EAAA,MAAA4M,KAAA5M,UAAA6M,KAzCVG,4BAACwH,IAAA,EAAejB,QACb3G,UAAAA;AAAAA,IAAAA;AAAAA,IACAC;AAAAA,EAAAA,GAwCH,GAAY7M,QAAA4M,GAAA5M,QAAA6M,GAAA7M,QAAAgN,MAAAA,KAAAhN,EAAA,EAAA;AAAA,MAAAiN;AAAA,EAAAjN,EAAA,EAAA,MAAA4B,GAAA6S,YAAAzU,EAAA,EAAA,MAAA4B,GAAA8S,UAAA1U,EAAA,EAAA,MAAAkS,KAAAlS,EAAA,EAAA,MAAAgS,KAAAhS,EAAA,EAAA,MAAA2B,GAAA8S,YAAAzU,EAAA,EAAA,MAAA2B,GAAA+S,UAAA1U,UAAAG,KACX8M,KAAA+E,KAAAE,IACCpI,gBAAAA,EAAAA,IAAC6K,IAAA,EACS,QAAA;AAAA,IAAAF,UAAY9S,GAAM8S;AAAAA,IAAUC,QAAU/S,GAAM+S;AAAAA,EAAAA,GACxC,YAAA;AAAA,IAAAD,UACA7S,GAAU6S;AAAAA,IAAUC,QACtB9S,GAAU8S;AAAAA,EAAAA,GAEX1C,SAAAA,GACCE,UAAAA,GACH/R,OAAAA,EAAAA,CAAK,IATf,MAWOH,EAAA,EAAA,IAAA4B,GAAA6S,UAAAzU,EAAA,EAAA,IAAA4B,GAAA8S,QAAA1U,QAAAkS,GAAAlS,QAAAgS,GAAAhS,EAAA,EAAA,IAAA2B,GAAA8S,UAAAzU,EAAA,EAAA,IAAA2B,GAAA+S,QAAA1U,QAAAG,GAAAH,QAAAiN,MAAAA,KAAAjN,EAAA,EAAA;AAAA,MAAAoN;AAAA,SAAApN,EAAA,EAAA,MAAA8S,MAAA9S,EAAA,EAAA,MAAAoS,MAAApS,EAAA,EAAA,MAAAsS,KAAAtS,EAAA,EAAA,MAAAI,KAAAJ,EAAA,EAAA,MAAAyS,MAAAzS,EAAA,EAAA,MAAA2S,MAAA3S,EAAA,EAAA,MAAAmS,MAAAnS,EAAA,EAAA,MAAAqS,MAAArS,EAAA,EAAA,MAAAuM,MAAAvM,EAAA,EAAA,MAAAwM,KAAAxM,EAAA,EAAA,MAAA0M,KAAA1M,EAAA,EAAA,MAAA2M,KAAA3M,EAAA,EAAA,MAAAgN,MAAAhN,EAAA,EAAA,MAAAiN,MAAAjN,EAAA,EAAA,MAAA6S,MAAA7S,UAAAG,KArGViN,4BAACwH,IAAA,EACY,WAAArI,IACJ,OAAAC,GACH8F,OACCkB,SACOV,cAAAA,IACKV,iBAAAA,IACVS,OAAAA,IACGJ,UAAAA,IACCE,WAAAA,IACJxS,OAAAA,GACCC,QAAAA,GACQiS,gBAAAA,IACPF,SAAAA,IAERzF,UAAAA;AAAAA,IAAAA;AAAAA,IAuBAC;AAAAA,IASDK;AAAAA,IA2CCC;AAAAA,EAAAA,GAYH,GAAiBjN,QAAA8S,IAAA9S,QAAAoS,IAAApS,QAAAsS,GAAAtS,QAAAI,GAAAJ,QAAAyS,IAAAzS,QAAA2S,IAAA3S,QAAAmS,IAAAnS,QAAAqS,IAAArS,QAAAuM,IAAAvM,QAAAwM,GAAAxM,QAAA0M,GAAA1M,QAAA2M,GAAA3M,QAAAgN,IAAAhN,QAAAiN,IAAAjN,QAAA6S,IAAA7S,QAAAG,GAAAH,QAAAoN,MAAAA,KAAApN,EAAA,EAAA,GAtGjBoN;AAsGiB;AA9Kd,SAAAhH,GAAAqL,GAAA;AAAA,SAyG4B/M,MAAMf;AAAS;AAzG3C,SAAAwC,GAAAhB,GAAA;AAAA,SAwG6CT,MAAMf;AAAS;AAxG5D,SAAAuC,GAAAxB,GAAA;AAAA,SAwGyBA,EAACxE;AAAK;AAxG/B,SAAA8F,GAAA2L,GAAA;AAAA,SAuG2CjN,MAAMf;AAAS;AAvG1D,SAAAmC,GAAA0L,GAAA;AAAA,SAuGuB9M,EAACxE;AAAK;"}
|
|
1
|
+
{"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\r\n NumberFormatOptions,\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 { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\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 animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n leftLineNumberDisplayOptions?: NumberFormatOptions;\r\n rightLineNumberDisplayOptions?: NumberFormatOptions;\r\n naLabel: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n leftLineNumberDisplayOptions,\r\n rightLineNumberDisplayOptions,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n customLayers,\r\n showAxisLabels,\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 [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d,\r\n undefined,\r\n leftLineNumberDisplayOptions?.precision,\r\n leftLineNumberDisplayOptions?.prefix,\r\n leftLineNumberDisplayOptions?.suffix,\r\n leftLineNumberDisplayOptions?.locale,\r\n leftLineNumberDisplayOptions?.padZeros,\r\n )}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(\r\n d,\r\n undefined,\r\n rightLineNumberDisplayOptions?.precision,\r\n rightLineNumberDisplayOptions?.prefix,\r\n rightLineNumberDisplayOptions?.suffix,\r\n rightLineNumberDisplayOptions?.locale,\r\n rightLineNumberDisplayOptions?.padZeros,\r\n )}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n padZeros={false}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\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 />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\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 />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n naLabel,\r\n leftLineNumberDisplayOptions?.precision ?? 2,\r\n leftLineNumberDisplayOptions?.prefix,\r\n leftLineNumberDisplayOptions?.suffix,\r\n leftLineNumberDisplayOptions?.locale,\r\n leftLineNumberDisplayOptions?.padZeros,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n naLabel,\r\n rightLineNumberDisplayOptions?.precision ?? 2,\r\n rightLineNumberDisplayOptions?.prefix,\r\n rightLineNumberDisplayOptions?.suffix,\r\n rightLineNumberDisplayOptions?.locale,\r\n rightLineNumberDisplayOptions?.padZeros,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\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 </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\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 /** Array of colors for the 2 lines */\r\n lineColors?: [string, 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\r\n // Values and Ticks\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding for left line. */\r\n leftLineNumberDisplayOptions?: NumberFormatOptions;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding for right line. */\r\n rightLineNumberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_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 DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n rightLineNumberDisplayOptions,\r\n leftLineNumberDisplayOptions,\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\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\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 && labels.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\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 strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n leftLineNumberDisplayOptions={leftLineNumberDisplayOptions}\r\n rightLineNumberDisplayOptions={rightLineNumberDisplayOptions}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\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 sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","leftLineNumberDisplayOptions","rightLineNumberDisplayOptions","minDate","maxDate","curveType","styles","classNames","customLayers","showAxisLabels","naLabel","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","precision","prefix","suffix","locale","padZeros","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegend","EmptyState","getNoOfTicks","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
package/dist/DumbbellChart.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-D4pAp7u0.cjs"),Me=require("./index-Cno4Q0YE.cjs"),Ee=require("./parse-xYI9yrvL.cjs"),S=require("react"),Ie=require("./getSliderMarks-BzrpHrHS.cjs"),Ve=require("./index-DQA8q5sC.cjs"),Ce=require("./numberFormattingFunction-Cn9R7CM9.cjs"),Ne=require("./Tooltip-Hr46paWP.cjs"),Wt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Se=require("./AxisTitle-DP_evhbe.cjs"),Ye=require("./Axis-BTaS9oPQ.cjs"),Xe=require("./XAxesLabels-C03jHniq.cjs"),De=require("./YTicksAndGridLines-DFjm8RCc.cjs"),Te=require("./ReferenceLine-CpU4G01Y.cjs"),He=require("./XTicksAndGridLines-C5DuC5oY.cjs"),Ue=require("./YAxesLabels-DeENFC2M.cjs"),qe=require("./DetailsModal-jmmKRMRM.cjs"),Fe=require("./linear-CgUCbw9F.cjs"),Pe=require("./band-VYfcZeJ2.cjs"),Pt=require("./proxy-CqH8m8IQ.cjs"),We=require("./use-in-view-dnRv_qqF.cjs"),Ge=require("./index-FXfr51ZM.cjs"),Oe=require("./ensureCompleteData-D9bQTiVS.cjs"),Le=require("./GraphContainer-Cul9b74X.cjs"),ze=require("./GraphHeader.cjs"),$e=require("./index-BhI7mBJx.cjs"),Je=require("./GraphFooter.cjs"),Ke=require("./ColorLegendWithMouseOver.cjs"),Qe=require("./EmptyState-CFmiFPHz.cjs"),Ze=require("./Colors.cjs");function _e(e){const t=i.compilerRuntimeExports.c(149),{data:c,leftMargin:Ut,rightMargin:se,topMargin:zt,bottomMargin:Jt,dotColors:C,barPadding:Gt,showTicks:ct,truncateBy:It,width:bt,height:vt,radius:ht,showLabels:wt,tooltip:y,onSeriesMouseOver:at,maxValue:Lt,minValue:w,onSeriesMouseClick:ut,showValues:Kt,suffix:ft,prefix:D,selectedColor:T,arrowConnector:M,connectorStrokeWidth:Bt,maxBarThickness:jt,minBarThickness:$t,resetSelectionOnDoubleClick:Qt,detailsOnClick:R,axisTitle:q,noOfTicks:Yt,valueColor:Vt,styles:o,classNames:s,labelOrder:h,refValues:Nt,animate:p,precision:d,customLayers:Y,highlightedDataPoints:F,dimmedOpacity:xt,hideAxisLine:X,locale:yt}=e,H=Ut===void 0?20:Ut,Zt=se===void 0?20:se,At=zt===void 0?20:zt,Xt=Jt===void 0?25:Jt,oe=S.useRef(null);let kt;t[0]!==p.amount||t[1]!==p.once?(kt={once:p.once,amount:p.amount},t[0]=p.amount,t[1]=p.once,t[2]=kt):kt=t[2];const j=We.useInView(oe,kt),f=q?H+30:H;let m;t[3]!==Xt||t[4]!==Zt||t[5]!==f||t[6]!==At?(m={top:At,bottom:Xt,left:f,right:Zt},t[3]=Xt,t[4]=Zt,t[5]=f,t[6]=At,t[7]=m):m=t[7];const l=m,I=bt-l.left-l.right,rt=vt-l.top-l.bottom,[St,_t]=S.useState(void 0),[P,Dt]=S.useState(void 0),[Et,te]=S.useState(void 0),[gt,Tt]=S.useState(void 0);let qt;if(t[8]!==c||t[9]!==h){const x=new Set,g=c.map((a,mt)=>{const B=h?`${a.label}`:`${mt}`;return x.add(B),{...a,id:B}}),Ct=h?h.filter(a=>!x.has(a)):[];let b;t[11]!==c[0]?(b=a=>({id:a,label:a,x:Array(c[0].x.length).fill(null)}),t[11]=c[0],t[12]=b):b=t[12],qt=[...g,...Ct.map(b)],t[8]=c,t[9]=h,t[10]=qt}else qt=t[10];const k=qt;let lt;t[13]!==k||t[14]!==h?(lt=h??k.map(ui),t[13]=k,t[14]=h,t[15]=lt):lt=t[15];const Ht=lt;let U,z,J,K,Q,L,$,A,W,Z,_,tt,E,O,et;if(t[16]!==p||t[17]!==M||t[18]!==q||t[19]!==Ht||t[20]!==Gt||t[21]!==s?.dataConnectors||t[22]!==s?.graphObjectValues||t[23]!==s?.xAxis?.axis||t[24]!==s?.xAxis?.labels||t[25]!==s?.yAxis?.gridLines||t[26]!==s?.yAxis?.labels||t[27]!==s?.yAxis?.title||t[28]!==Bt||t[29]!==Y||t[30]!==k||t[31]!==R||t[32]!==xt||t[33]!==C||t[34]!==rt||t[35]!==I||t[36]!==vt||t[37]!==X||t[38]!==F||t[39]!==j||t[40]!==H||t[41]!==yt||t[42]!==l.bottom||t[43]!==l.left||t[44]!==l.right||t[45]!==l.top||t[46]!==jt||t[47]!==Lt||t[48]!==$t||t[49]!==w||t[50]!==P||t[51]!==Yt||t[52]!==ut||t[53]!==at||t[54]!==d||t[55]!==D||t[56]!==ht||t[57]!==Nt||t[58]!==Qt||t[59]!==T||t[60]!==wt||t[61]!==ct||t[62]!==Kt||t[63]!==o?.dataConnectors||t[64]!==o?.graphObjectValues||t[65]!==o?.xAxis?.axis||t[66]!==o?.xAxis?.labels||t[67]!==o?.yAxis?.gridLines||t[68]!==o?.yAxis?.labels||t[69]!==o?.yAxis?.title||t[70]!==ft||t[71]!==It||t[72]!==Vt||t[73]!==bt){const x=Fe.linear().domain([w,Lt]).range([rt,0]).nice(),g=Pe.band().domain(Ht).range([0,$t?Math.max(I,$t*k.length):jt?Math.min(I,jt*k.length):I]).paddingInner(Gt),Ct=x.ticks(Yt);z=Pt.motion.svg,W=`${bt}px`,Z=`${vt}px`,_=`0 0 ${bt} ${vt}`,tt="ltr",E=oe,t[89]!==M?(O=M?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[89]=M,t[90]=O):O=t[90],K=`translate(${l.left},${l.top})`;let b;t[91]!==w||t[92]!==d||t[93]!==D||t[94]!==ct||t[95]!==ft?(b=ct?Ce.numberFormattingFunction(w<0?0:w,void 0,d,D,ft):void 0,t[91]=w,t[92]=d,t[93]=D,t[94]=ct,t[95]=ft,t[96]=b):b=t[96];const a=s?.xAxis?.axis,mt=s?.yAxis?.labels;let B;t[97]!==a||t[98]!==mt?(B={axis:a,label:mt},t[97]=a,t[98]=mt,t[99]=B):B=t[99];const Ft=o?.xAxis?.axis,ee=o?.yAxis?.labels;let Rt;t[100]!==Ft||t[101]!==ee?(Rt={axis:Ft,label:ee},t[100]=Ft,t[101]=ee,t[102]=Rt):Rt=t[102],Q=i.jsxRuntimeExports.jsx(Ye.Axis,{hideAxisLine:X,y1:x(w<0?0:w),y2:x(w<0?0:w),x1:0-H,x2:I+l.right,label:b,labelPos:{x:0-H,dx:0,dy:Lt<0?"1em":-5,y:x(w<0?0:w)},classNames:B,styles:Rt}),L=ct?i.jsxRuntimeExports.jsx(De.YTicksAndGridLines,{values:Ct.filter(ci),y:Ct.filter(li).map(n=>x(n)),x1:0-H,x2:I+l.right,styles:{gridLines:o?.yAxis?.gridLines,labels:o?.yAxis?.labels},classNames:{gridLines:s?.yAxis?.gridLines,labels:s?.yAxis?.labels},suffix:ft,prefix:D,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:d,locale:yt}):null;const ie=0-H-15,r=rt/2,pt=o?.yAxis?.title,v=s?.yAxis?.title;t[103]!==q||t[104]!==ie||t[105]!==r||t[106]!==pt||t[107]!==v?($=i.jsxRuntimeExports.jsx(Se.AxisTitle,{x:ie,y:r,style:pt,className:v,text:q,rotate90:!0}),t[103]=q,t[104]=ie,t[105]=r,t[106]=pt,t[107]=v,t[108]=$):$=t[108],t[109]!==Y?(A=Y.filter(ri).map(ai),t[109]=Y,t[110]=A):A=t[110],U=Ge.AnimatePresence,et=k.map(n=>i.jsxRuntimeExports.jsxs(Pt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:g(`${n.id}`)+g.bandwidth()/2,y:0,opacity:F?F.indexOf(n.label)!==-1?.85:xt:.85},whileInView:{x:g(`${n.id}`)+g.bandwidth()/2,y:0,opacity:F?F.indexOf(n.label)!==-1?.85:xt:.85,transition:{duration:p.duration}}},initial:"initial",animate:j?"whileInView":"initial",exit:{opacity:0,transition:{duration:p.duration}},children:[wt?i.jsxRuntimeExports.jsx(Xe.XAxesLabels,{value:`${n.label}`.length<It?`${n.label}`:`${`${n.label}`.substring(0,It)}...`,y:rt+5,x:0-g.bandwidth()/2,width:g.bandwidth(),height:l.bottom,style:o?.xAxis?.labels,className:s?.xAxis?.labels,alignment:"top",animate:p,isInView:j}):null,i.jsxRuntimeExports.jsx(Pt.motion.line,{x1:0,x2:0,style:{strokeWidth:Bt,...o?.dataConnectors||{},opacity:T?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",s?.dataConnectors),markerEnd:M&&n.x.indexOf(Math.min(...n.x.filter(oi)))===0?"url(#arrow)":"",markerStart:M&&n.x.indexOf(Math.min(...n.x.filter(si)))===n.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:x(Math.min(...n.x.filter(ni)))+ht,y2:x(Math.max(...n.x.filter(ii)))-ht,transition:{duration:p.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),n.x.map((N,ot)=>i.jsxRuntimeExports.jsx(Pt.motion.g,{onMouseEnter:ne=>{_t({...n,xIndex:ot}),Tt(ne.clientY),te(ne.clientX),at?.({...n,xIndex:ot})},onClick:()=>{(ut||R)&&(Ve.isEqual(P,{...n,xIndex:ot})&&Qt?(Dt(void 0),ut?.(void 0)):(Dt({...n,xIndex:ot}),ut&&ut({...n,xIndex:ot})))},onMouseMove:ne=>{_t({...n,xIndex:ot}),Tt(ne.clientY),te(ne.clientX)},onMouseLeave:()=>{_t(void 0),te(void 0),Tt(void 0),at?.(void 0)},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{opacity:T?C[ot]===T?1:.3:1},whileInView:{opacity:T?C[ot]===T?1:.3:1,transition:{duration:p.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Wt.checkIfNullOrUndefined(N)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Pt.motion.circle,{cx:0,r:ht,style:{fill:C[ot],fillOpacity:.85,stroke:C[ot],strokeWidth:1},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{cy:x(0),opacity:0},whileInView:{cy:x(N||0),opacity:Wt.checkIfNullOrUndefined(N)?0:1,transition:{duration:p.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),Kt?i.jsxRuntimeExports.jsx(Pt.motion.text,{x:0,style:{textAnchor:"start",...o?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",Wt.checkIfNullOrUndefined(N)?"opacity-0":"opacity-100",s?.graphObjectValues),dx:ht+3,dy:"0.33em",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y:x(0),opacity:0,fill:Vt||C[ot]},whileInView:{y:x(N||0),fill:Vt||C[ot],opacity:1,transition:{duration:p.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Ce.numberFormattingFunction(N,void 0,d,D,ft,yt)}):null]})},ot))]},n.label)),J=Nt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Nt.map((n,N)=>i.jsxRuntimeExports.jsx(Te.RefLineY,{text:n.text,color:n.color,y:x(n.value),x1:0-H,x2:I+l.right,classNames:n.classNames,styles:n.styles,animate:p,isInView:j},N))}):null,t[16]=p,t[17]=M,t[18]=q,t[19]=Ht,t[20]=Gt,t[21]=s?.dataConnectors,t[22]=s?.graphObjectValues,t[23]=s?.xAxis?.axis,t[24]=s?.xAxis?.labels,t[25]=s?.yAxis?.gridLines,t[26]=s?.yAxis?.labels,t[27]=s?.yAxis?.title,t[28]=Bt,t[29]=Y,t[30]=k,t[31]=R,t[32]=xt,t[33]=C,t[34]=rt,t[35]=I,t[36]=vt,t[37]=X,t[38]=F,t[39]=j,t[40]=H,t[41]=yt,t[42]=l.bottom,t[43]=l.left,t[44]=l.right,t[45]=l.top,t[46]=jt,t[47]=Lt,t[48]=$t,t[49]=w,t[50]=P,t[51]=Yt,t[52]=ut,t[53]=at,t[54]=d,t[55]=D,t[56]=ht,t[57]=Nt,t[58]=Qt,t[59]=T,t[60]=wt,t[61]=ct,t[62]=Kt,t[63]=o?.dataConnectors,t[64]=o?.graphObjectValues,t[65]=o?.xAxis?.axis,t[66]=o?.xAxis?.labels,t[67]=o?.yAxis?.gridLines,t[68]=o?.yAxis?.labels,t[69]=o?.yAxis?.title,t[70]=ft,t[71]=It,t[72]=Vt,t[73]=bt,t[74]=U,t[75]=z,t[76]=J,t[77]=K,t[78]=Q,t[79]=L,t[80]=$,t[81]=A,t[82]=W,t[83]=Z,t[84]=_,t[85]=tt,t[86]=E,t[87]=O,t[88]=et}else U=t[74],z=t[75],J=t[76],K=t[77],Q=t[78],L=t[79],$=t[80],A=t[81],W=t[82],Z=t[83],_=t[84],tt=t[85],E=t[86],O=t[87],et=t[88];let it;t[111]!==U||t[112]!==J||t[113]!==et?(it=i.jsxRuntimeExports.jsxs(U,{children:[et,J]}),t[111]=U,t[112]=J,t[113]=et,t[114]=it):it=t[114];let nt;t[115]!==Y?(nt=Y.filter(ei).map(ti),t[115]=Y,t[116]=nt):nt=t[116];let dt;t[117]!==K||t[118]!==Q||t[119]!==L||t[120]!==$||t[121]!==A||t[122]!==it||t[123]!==nt?(dt=i.jsxRuntimeExports.jsxs("g",{transform:K,children:[Q,L,$,A,it,nt]}),t[117]=K,t[118]=Q,t[119]=L,t[120]=$,t[121]=A,t[122]=it,t[123]=nt,t[124]=dt):dt=t[124];let V;t[125]!==z||t[126]!==W||t[127]!==Z||t[128]!==_||t[129]!==tt||t[130]!==E||t[131]!==O||t[132]!==dt?(V=i.jsxRuntimeExports.jsxs(z,{width:W,height:Z,viewBox:_,direction:tt,ref:E,children:[O,dt]}),t[125]=z,t[126]=W,t[127]=Z,t[128]=_,t[129]=tt,t[130]=E,t[131]=O,t[132]=dt,t[133]=V):V=t[133];let G;t[134]!==s?.tooltip||t[135]!==Et||t[136]!==gt||t[137]!==St||t[138]!==o?.tooltip||t[139]!==y?(G=St&&y&&Et&>?i.jsxRuntimeExports.jsx(Ne.Tooltip,{data:St,body:y,xPos:Et,yPos:gt,backgroundStyle:o?.tooltip,className:s?.tooltip}):null,t[134]=s?.tooltip,t[135]=Et,t[136]=gt,t[137]=St,t[138]=o?.tooltip,t[139]=y,t[140]=G):G=t[140];let st;t[141]!==s?.modal||t[142]!==R||t[143]!==P?(st=R&&P!==void 0?i.jsxRuntimeExports.jsx(qe.DetailsModal,{body:R,data:P,setData:Dt,className:s?.modal}):null,t[141]=s?.modal,t[142]=R,t[143]=P,t[144]=st):st=t[144];let Ot;return t[145]!==V||t[146]!==G||t[147]!==st?(Ot=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[V,G,st]}),t[145]=V,t[146]=G,t[147]=st,t[148]=Ot):Ot=t[148],Ot}function ti(e){return e.layer}function ei(e){return e.position==="after"}function ii(e){return e!==null}function ni(e){return e!==null}function si(e){return e!==null}function oi(e){return e!==null}function ai(e){return e.layer}function ri(e){return e.position==="before"}function li(e){return e!==0}function ci(e){return e!==0}function ui(e){return`${e.id}`}function xi(e){const t=i.compilerRuntimeExports.c(140),{data:c,leftMargin:Ut,rightMargin:se,topMargin:zt,bottomMargin:Jt,dotColors:C,suffix:Gt,prefix:ct,barPadding:It,showValues:bt,showTicks:vt,truncateBy:ht,width:wt,height:y,radius:at,showLabels:Lt,tooltip:w,onSeriesMouseOver:ut,maxValue:Kt,minValue:ft,onSeriesMouseClick:D,selectedColor:T,arrowConnector:M,connectorStrokeWidth:Bt,maxBarThickness:jt,minBarThickness:$t,resetSelectionOnDoubleClick:Qt,detailsOnClick:R,axisTitle:q,noOfTicks:Yt,valueColor:Vt,styles:o,classNames:s,labelOrder:h,refValues:Nt,rtl:p,animate:d,precision:Y,customLayers:F,highlightedDataPoints:xt,dimmedOpacity:X,locale:yt}=e,H=Ut===void 0?100:Ut,Zt=se===void 0?40:se,At=zt===void 0?20:zt,Xt=Jt===void 0?10:Jt,oe=S.useRef(null);let kt;t[0]!==d.amount||t[1]!==d.once?(kt={once:d.once,amount:d.amount},t[0]=d.amount,t[1]=d.once,t[2]=kt):kt=t[2];const j=We.useInView(oe,kt),f=q?At+25:At;let m;t[3]!==Xt||t[4]!==H||t[5]!==Zt||t[6]!==f?(m={top:f,bottom:Xt,left:H,right:Zt},t[3]=Xt,t[4]=H,t[5]=Zt,t[6]=f,t[7]=m):m=t[7];const l=m,I=wt-l.left-l.right,rt=y-l.top-l.bottom,[St,_t]=S.useState(void 0),[P,Dt]=S.useState(void 0),[Et,te]=S.useState(void 0),[gt,Tt]=S.useState(void 0);let qt;if(t[8]!==c||t[9]!==h){const x=new Set,g=c.map((a,mt)=>{const B=h?`${a.label}`:`${mt}`;return x.add(B),{...a,id:B}}),Ct=h?h.filter(a=>!x.has(a)):[];let b;t[11]!==c[0]?(b=a=>({id:a,label:a,x:Array(c[0].x.length).fill(null)}),t[11]=c[0],t[12]=b):b=t[12],qt=[...g,...Ct.map(b)],t[8]=c,t[9]=h,t[10]=qt}else qt=t[10];const k=qt;let lt;t[13]!==k||t[14]!==h?(lt=h??k.map(ji),t[13]=k,t[14]=h,t[15]=lt):lt=t[15];const Ht=lt;let U,z,J,K,Q,L,$,A,W,Z,_,tt,E,O,et;if(t[16]!==d||t[17]!==M||t[18]!==q||t[19]!==Ht||t[20]!==It||t[21]!==s?.dataConnectors||t[22]!==s?.graphObjectValues||t[23]!==s?.xAxis?.gridLines||t[24]!==s?.xAxis?.labels||t[25]!==s?.xAxis?.title||t[26]!==s?.yAxis?.gridLines||t[27]!==s?.yAxis?.labels||t[28]!==Bt||t[29]!==F||t[30]!==k||t[31]!==R||t[32]!==X||t[33]!==C||t[34]!==rt||t[35]!==I||t[36]!==y||t[37]!==xt||t[38]!==j||t[39]!==yt||t[40]!==l.bottom||t[41]!==l.left||t[42]!==l.top||t[43]!==jt||t[44]!==Kt||t[45]!==$t||t[46]!==ft||t[47]!==P||t[48]!==Yt||t[49]!==D||t[50]!==ut||t[51]!==Y||t[52]!==ct||t[53]!==at||t[54]!==Nt||t[55]!==Qt||t[56]!==p||t[57]!==T||t[58]!==Lt||t[59]!==vt||t[60]!==bt||t[61]!==o?.dataConnectors||t[62]!==o?.graphObjectValues||t[63]!==o?.xAxis?.gridLines||t[64]!==o?.xAxis?.labels||t[65]!==o?.xAxis?.title||t[66]!==o?.yAxis?.gridLines||t[67]!==o?.yAxis?.labels||t[68]!==Gt||t[69]!==At||t[70]!==ht||t[71]!==Vt||t[72]!==wt){const x=Fe.linear().domain([ft,Kt]).range([0,I]).nice(),g=Pe.band().domain(Ht).range([0,$t?Math.max(rt,$t*k.length):jt?Math.min(rt,jt*k.length):rt]).paddingInner(It),Ct=x.ticks(Yt);z=Pt.motion.svg,W=`${wt}px`,Z=`${y}px`,_=`0 0 ${wt} ${y}`,tt="ltr",E=oe,t[88]!==M?(O=M?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[88]=M,t[89]=O):O=t[89],K=`translate(${l.left},${l.top})`,Q=vt?i.jsxRuntimeExports.jsx(He.XTicksAndGridLines,{values:Ct.filter(wi),x:Ct.filter(vi).map(r=>x(r)),y1:0-At,y2:rt+l.bottom,styles:{gridLines:o?.xAxis?.gridLines,labels:o?.xAxis?.labels},classNames:{gridLines:s?.xAxis?.gridLines,labels:s?.xAxis?.labels},suffix:Gt,prefix:ct,labelType:"secondary",showGridLines:!0,precision:Y,locale:yt}):null;const b=I/2,a=0-l.top+15,mt=o?.xAxis?.title,B=s?.xAxis?.title;t[90]!==q||t[91]!==b||t[92]!==a||t[93]!==mt||t[94]!==B?(L=i.jsxRuntimeExports.jsx(Se.AxisTitle,{x:b,y:a,style:mt,className:B,text:q}),t[90]=q,t[91]=b,t[92]=a,t[93]=mt,t[94]=B,t[95]=L):L=t[95];const Ft=o?.yAxis?.gridLines;let ee;t[96]!==Ft?(ee={gridLines:Ft},t[96]=Ft,t[97]=ee):ee=t[97];const Rt=s?.yAxis?.gridLines;let ie;t[98]!==Rt?(ie={gridLines:Rt},t[98]=Rt,t[99]=ie):ie=t[99],$=i.jsxRuntimeExports.jsx(De.YTicksAndGridLines,{y:k.map(r=>g(`${r.id}`)+g.bandwidth()/2),x1:0,x2:I,styles:ee,classNames:ie,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:Y,locale:yt}),t[100]!==F?(A=F.filter(bi).map(gi),t[100]=F,t[101]=A):A=t[101],U=Ge.AnimatePresence,et=k.map(r=>i.jsxRuntimeExports.jsxs(Pt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:g(`${r.id}`)+g.bandwidth()/2,opacity:xt?xt.indexOf(r.label)!==-1?.85:X:.85},whileInView:{x:0,y:g(`${r.id}`)+g.bandwidth()/2,opacity:xt?xt.indexOf(r.label)!==-1?.85:X:.85,transition:{duration:d.duration}}},initial:"initial",animate:j?"whileInView":"initial",exit:{opacity:0,transition:{duration:d.duration}},children:[Lt?i.jsxRuntimeExports.jsx(Ue.YAxesLabels,{value:`${r.label}`.length<ht?`${r.label}`:`${`${r.label}`.substring(0,ht)}...`,y:0-g.bandwidth()/2,x:0-l.left,width:l.left,height:g.bandwidth(),alignment:"right",style:o?.yAxis?.labels,className:s?.yAxis?.labels,animate:d,isInView:j}):null,i.jsxRuntimeExports.jsx(Pt.motion.line,{y1:0,y2:0,style:{strokeWidth:Bt,...o?.dataConnectors||{},opacity:T?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",s?.dataConnectors),markerEnd:M&&r.x.indexOf(Math.min(...r.x.filter(yi)))===0?"url(#arrow)":"",markerStart:M&&r.x.indexOf(Math.min(...r.x.filter(fi)))===r.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:x(Math.min(...r.x.filter(hi)))+at,x2:x(Math.max(...r.x.filter(pi)))-at,transition:{duration:d.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),r.x.map((pt,v)=>i.jsxRuntimeExports.jsx(Pt.motion.g,{onMouseEnter:n=>{_t({...r,xIndex:v}),Tt(n.clientY),te(n.clientX),ut?.({...r,xIndex:v})},onClick:()=>{(D||R)&&(Ve.isEqual(P,{...r,xIndex:v})&&Qt?(Dt(void 0),D?.(void 0)):(Dt({...r,xIndex:v}),D&&D({...r,xIndex:v})))},onMouseMove:n=>{_t({...r,xIndex:v}),Tt(n.clientY),te(n.clientX)},onMouseLeave:()=>{_t(void 0),te(void 0),Tt(void 0),ut?.(void 0)},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{opacity:T?C[v]===T?1:.3:1},whileInView:{opacity:T?C[v]===T?1:.3:1,transition:{duration:d.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Wt.checkIfNullOrUndefined(pt)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Pt.motion.circle,{cy:0,r:at,style:{fill:C[v],fillOpacity:.85,stroke:C[v],strokeWidth:1,opacity:Wt.checkIfNullOrUndefined(pt)?0:1},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{cx:x(0),opacity:0},whileInView:{cx:x(pt||0),opacity:Wt.checkIfNullOrUndefined(pt)?0:1,transition:{duration:d.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),bt?i.jsxRuntimeExports.jsx(Pt.motion.text,{y:0,style:{textAnchor:"middle",...o?.graphObjectValues||{}},dx:0,dy:0-at-3,className:i.mo("graph-value text-sm font-bold",Wt.checkIfNullOrUndefined(pt)?"0opacity-0":"opacity-100",s?.graphObjectValues),exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{x:x(0),opacity:0,fill:Vt||C[v]},whileInView:{x:x(pt||0),fill:Vt||C[v],opacity:1,transition:{duration:d.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Ce.numberFormattingFunction(pt,void 0,Y,ct,Gt,yt)}):null]})},v))]},r.label)),J=Nt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Nt.map((r,pt)=>i.jsxRuntimeExports.jsx(Te.RefLineX,{text:r.text,color:r.color,x:x(r.value),y1:0-l.top,y2:rt+l.bottom,textSide:x(r.value)>I*.75||p?"left":"right",classNames:r.classNames,styles:r.styles,animate:d,isInView:j},pt))}):null,t[16]=d,t[17]=M,t[18]=q,t[19]=Ht,t[20]=It,t[21]=s?.dataConnectors,t[22]=s?.graphObjectValues,t[23]=s?.xAxis?.gridLines,t[24]=s?.xAxis?.labels,t[25]=s?.xAxis?.title,t[26]=s?.yAxis?.gridLines,t[27]=s?.yAxis?.labels,t[28]=Bt,t[29]=F,t[30]=k,t[31]=R,t[32]=X,t[33]=C,t[34]=rt,t[35]=I,t[36]=y,t[37]=xt,t[38]=j,t[39]=yt,t[40]=l.bottom,t[41]=l.left,t[42]=l.top,t[43]=jt,t[44]=Kt,t[45]=$t,t[46]=ft,t[47]=P,t[48]=Yt,t[49]=D,t[50]=ut,t[51]=Y,t[52]=ct,t[53]=at,t[54]=Nt,t[55]=Qt,t[56]=p,t[57]=T,t[58]=Lt,t[59]=vt,t[60]=bt,t[61]=o?.dataConnectors,t[62]=o?.graphObjectValues,t[63]=o?.xAxis?.gridLines,t[64]=o?.xAxis?.labels,t[65]=o?.xAxis?.title,t[66]=o?.yAxis?.gridLines,t[67]=o?.yAxis?.labels,t[68]=Gt,t[69]=At,t[70]=ht,t[71]=Vt,t[72]=wt,t[73]=U,t[74]=z,t[75]=J,t[76]=K,t[77]=Q,t[78]=L,t[79]=$,t[80]=A,t[81]=W,t[82]=Z,t[83]=_,t[84]=tt,t[85]=E,t[86]=O,t[87]=et}else U=t[73],z=t[74],J=t[75],K=t[76],Q=t[77],L=t[78],$=t[79],A=t[80],W=t[81],Z=t[82],_=t[83],tt=t[84],E=t[85],O=t[86],et=t[87];let it;t[102]!==U||t[103]!==J||t[104]!==et?(it=i.jsxRuntimeExports.jsxs(U,{children:[et,J]}),t[102]=U,t[103]=J,t[104]=et,t[105]=it):it=t[105];let nt;t[106]!==F?(nt=F.filter(mi).map(di),t[106]=F,t[107]=nt):nt=t[107];let dt;t[108]!==K||t[109]!==Q||t[110]!==L||t[111]!==$||t[112]!==A||t[113]!==it||t[114]!==nt?(dt=i.jsxRuntimeExports.jsxs("g",{transform:K,children:[Q,L,$,A,it,nt]}),t[108]=K,t[109]=Q,t[110]=L,t[111]=$,t[112]=A,t[113]=it,t[114]=nt,t[115]=dt):dt=t[115];let V;t[116]!==z||t[117]!==W||t[118]!==Z||t[119]!==_||t[120]!==tt||t[121]!==E||t[122]!==O||t[123]!==dt?(V=i.jsxRuntimeExports.jsxs(z,{width:W,height:Z,viewBox:_,direction:tt,ref:E,children:[O,dt]}),t[116]=z,t[117]=W,t[118]=Z,t[119]=_,t[120]=tt,t[121]=E,t[122]=O,t[123]=dt,t[124]=V):V=t[124];let G;t[125]!==s?.tooltip||t[126]!==Et||t[127]!==gt||t[128]!==St||t[129]!==o?.tooltip||t[130]!==w?(G=St&&w&&Et&>?i.jsxRuntimeExports.jsx(Ne.Tooltip,{data:St,body:w,xPos:Et,yPos:gt,backgroundStyle:o?.tooltip,className:s?.tooltip}):null,t[125]=s?.tooltip,t[126]=Et,t[127]=gt,t[128]=St,t[129]=o?.tooltip,t[130]=w,t[131]=G):G=t[131];let st;t[132]!==s?.modal||t[133]!==R||t[134]!==P?(st=R&&P!==void 0?i.jsxRuntimeExports.jsx(qe.DetailsModal,{body:R,data:P,setData:Dt,className:s?.modal}):null,t[132]=s?.modal,t[133]=R,t[134]=P,t[135]=st):st=t[135];let Ot;return t[136]!==V||t[137]!==G||t[138]!==st?(Ot=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[V,G,st]}),t[136]=V,t[137]=G,t[138]=st,t[139]=Ot):Ot=t[139],Ot}function di(e){return e.layer}function mi(e){return e.position==="after"}function pi(e){return e!==null}function hi(e){return e!==null}function fi(e){return e!==null}function yi(e){return e!==null}function gi(e){return e.layer}function bi(e){return e.position==="before"}function vi(e,t){return t!==0}function wi(e,t){return t!==0}function ji(e){return`${e.id}`}function Ai(e){const t=i.compilerRuntimeExports.c(130),{data:c,graphTitle:Ut,colors:se,sources:zt,graphDescription:Jt,barPadding:C,showTicks:Gt,leftMargin:ct,rightMargin:It,topMargin:bt,bottomMargin:vt,truncateBy:ht,height:wt,width:y,footNote:at,colorDomain:Lt,colorLegendTitle:w,padding:ut,backgroundColor:Kt,radius:ft,tooltip:D,showLabels:T,relativeHeight:M,onSeriesMouseOver:Bt,graphID:jt,suffix:$t,prefix:Qt,maxValue:R,minValue:q,onSeriesMouseClick:Yt,graphDownload:Vt,dataDownload:o,showValues:s,sortParameter:h,arrowConnector:Nt,connectorStrokeWidth:p,language:d,minHeight:Y,theme:F,maxBarThickness:xt,maxNumberOfBars:X,minBarThickness:yt,ariaLabel:H,resetSelectionOnDoubleClick:Zt,detailsOnClick:At,axisTitle:Xt,noOfTicks:oe,valueColor:kt,orientation:j,styles:f,classNames:m,labelOrder:l,refValues:I,filterNA:rt,animate:St,precision:_t,showColorScale:P,customLayers:Dt,highlightedDataPoints:Et,dimmedOpacity:te,timeline:gt,sortData:Tt,hideAxisLine:qt,locale:k}=e,lt=se===void 0?Ze.Colors.light.categoricalColors.colors:se,Ht=C===void 0?.25:C,U=Gt===void 0?!0:Gt,z=ht===void 0?999:ht,J=Kt===void 0?!0:Kt,K=ft===void 0?3:ft,Q=T===void 0?!0:T,L=$t===void 0?"":$t,$=Qt===void 0?"":Qt,A=Vt===void 0?!1:Vt,W=o===void 0?!1:o,Z=s===void 0?!0:s,_=Nt===void 0?!1:Nt,tt=p===void 0?2:p,E=d===void 0?"en":d,O=Y===void 0?0:Y,et=F===void 0?"light":F,it=Zt===void 0?!0:Zt,nt=oe===void 0?5:oe,dt=j===void 0?"vertical":j,V=rt===void 0?!0:rt,G=St===void 0?!1:St,st=_t===void 0?2:_t,Ot=P===void 0?!0:P;let x;t[0]!==Dt?(x=Dt===void 0?[]:Dt,t[0]=Dt,t[1]=x):x=t[1];const g=x,Ct=te===void 0?.3:te;let b;t[2]!==gt?(b=gt===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:gt,t[2]=gt,t[3]=b):b=t[3];const a=b,mt=qt===void 0?!1:qt,B=k===void 0?"en":k,[Ft,ee]=S.useState(0),[Rt,ie]=S.useState(0),[r,pt]=S.useState(a.autoplay);let v;if(t[4]!==c||t[5]!==a.dateFormat){let u;t[7]!==a.dateFormat?(u=Mt=>Ee.parse(`${Mt.date}`,a.dateFormat||"yyyy",new Date).getTime(),t[7]=a.dateFormat,t[8]=u):u=t[8],v=[...new Set(c.filter(Gi).map(u))],v.sort(Wi),t[4]=c,t[5]=a.dateFormat,t[6]=v}else v=t[6];const n=v,[N,ot]=S.useState(a.autoplay?0:n.length-1),[ne,Be]=S.useState(void 0),ve=S.useRef(null),Re=S.useRef(null);let me,pe;t[9]===Symbol.for("react.memo_cache_sentinel")?(me=()=>{const u=new ResizeObserver(Mt=>{ee(Mt[0].target.clientWidth||620),ie(Mt[0].target.clientHeight||480)});return ve.current&&u.observe(ve.current),()=>u.disconnect()},pe=[],t[9]=me,t[10]=pe):(me=t[9],pe=t[10]),S.useEffect(me,pe);let he,fe;t[11]!==r||t[12]!==a.speed||t[13]!==n?(he=()=>{const u=setInterval(()=>{ot(Mt=>Mt<n.length-1?Mt+1:0)},(a.speed||2)*1e3);return r||clearInterval(u),()=>clearInterval(u)},fe=[n,r,a.speed],t[11]=r,t[12]=a.speed,t[13]=n,t[14]=he,t[15]=fe):(he=t[14],fe=t[15]),S.useEffect(he,fe);const we=a.dateFormat||"yyyy";let ye;t[16]!==N||t[17]!==we||t[18]!==a.showOnlyActiveDate||t[19]!==n?(ye=Ie.getSliderMarks(n,N,a.showOnlyActiveDate,we),t[16]=N,t[17]=we,t[18]=a.showOnlyActiveDate,t[19]=n,t[20]=ye):ye=t[20];const ge=ye,je=dt==="horizontal"?xi:_e,Ae=m?.graphContainer,ke=f?.graphContainer;let ae;t[21]!==m?.description||t[22]!==m?.title||t[23]!==c||t[24]!==W||t[25]!==Jt||t[26]!==A||t[27]!==Ut||t[28]!==f?.description||t[29]!==f?.title||t[30]!==y?(ae=Ut||Jt||A||W?i.jsxRuntimeExports.jsx(ze.GraphHeader,{styles:{title:f?.title,description:f?.description},classNames:{title:m?.title,description:m?.description},graphTitle:Ut,graphDescription:Jt,width:y,graphDownload:A?Re:void 0,dataDownload:W?c.map(Pi).filter(Fi).length>0?c.map(qi).filter(Ti):c.filter(Di):null}):null,t[21]=m?.description,t[22]=m?.title,t[23]=c,t[24]=W,t[25]=Jt,t[26]=A,t[27]=Ut,t[28]=f?.description,t[29]=f?.title,t[30]=y,t[31]=ae):ae=t[31];let re;t[32]!==N||t[33]!==ge||t[34]!==r||t[35]!==a.enabled||t[36]!==n?(re=a.enabled&&n.length>0&&ge?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{pt(!r)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":r?"Click to pause animation":"Click to play animation",children:r?i.jsxRuntimeExports.jsx($e.Pause,{}):i.jsxRuntimeExports.jsx($e.Play,{})}),i.jsxRuntimeExports.jsx(Ie.Nr,{min:n[0],max:n[n.length-1],marks:ge,step:null,defaultValue:n[n.length-1],value:n[N],onChangeComplete:u=>{ot(n.indexOf(u))},onChange:u=>{ot(n.indexOf(u))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t[32]=N,t[33]=ge,t[34]=r,t[35]=a.enabled,t[36]=n,t[37]=re):re=t[37];let le;t[38]!==m?.colorLegend||t[39]!==Lt||t[40]!==w||t[41]!==lt||t[42]!==c.length||t[43]!==Ot||t[44]!==y?(le=Ot&&c.length>0?i.jsxRuntimeExports.jsx(Ke.ColorLegendWithMouseOver,{width:y,colorDomain:Lt,colors:lt,colorLegendTitle:w,setSelectedColor:Be,showNAColor:!1,className:m?.colorLegend}):null,t[38]=m?.colorLegend,t[39]=Lt,t[40]=w,t[41]=lt,t[42]=c.length,t[43]=Ot,t[44]=y,t[45]=le):le=t[45];let ce;t[46]!==c.length?(ce=c.length===0&&i.jsxRuntimeExports.jsx(Qe.EmptyState,{}),t[46]=c.length,t[47]=ce):ce=t[47];let ue;t[48]!==je||t[49]!==G||t[50]!==_||t[51]!==Xt||t[52]!==Ht||t[53]!==vt||t[54]!==m||t[55]!==lt||t[56]!==tt||t[57]!==g||t[58]!==c||t[59]!==At||t[60]!==Ct||t[61]!==V||t[62]!==mt||t[63]!==Et||t[64]!==N||t[65]!==l||t[66]!==E||t[67]!==ct||t[68]!==B||t[69]!==xt||t[70]!==X||t[71]!==R||t[72]!==yt||t[73]!==q||t[74]!==nt||t[75]!==Yt||t[76]!==Bt||t[77]!==st||t[78]!==$||t[79]!==K||t[80]!==I||t[81]!==it||t[82]!==It||t[83]!==ne||t[84]!==Q||t[85]!==U||t[86]!==Z||t[87]!==Tt||t[88]!==h||t[89]!==f||t[90]!==L||t[91]!==Rt||t[92]!==Ft||t[93]!==a.dateFormat||t[94]!==a.enabled||t[95]!==D||t[96]!==bt||t[97]!==z||t[98]!==n||t[99]!==kt?(ue=Ft&&Rt&&c.length>0?i.jsxRuntimeExports.jsx(je,{hideAxisLine:mt,data:h!==void 0?h==="diff"?Me.orderBy(Oe.ensureCompleteDataForDumbbellChart(c,a.dateFormat||"yyyy").filter(u=>a.enabled?`${u.date}`===Ee.format(new Date(n[N]),a.dateFormat||"yyyy"):u).filter(u=>V?!u.x.every(Si):u),Ni,[Tt||"asc"]).filter((u,Mt)=>X?Mt<X:!0):Me.orderBy(Oe.ensureCompleteDataForDumbbellChart(c,a.dateFormat||"yyyy").filter(u=>a.enabled?`${u.date}`===Ee.format(new Date(n[N]),a.dateFormat||"yyyy"):u).filter(u=>V?!u.x.every(Vi):u),u=>Wt.checkIfNullOrUndefined(u.x[h])?-1/0:u.x[h],[Tt||"asc"]).filter((u,Mt)=>X?Mt<X:!0):Oe.ensureCompleteDataForDumbbellChart(c,a.dateFormat||"yyyy").filter(u=>V?!u.x.every($i):u).filter((u,Mt)=>X?Mt<X:!0),dotColors:lt,width:Ft,height:Rt,radius:K,barPadding:Ht,showTicks:U,leftMargin:ct,rightMargin:It,topMargin:bt,bottomMargin:vt,truncateBy:z,showLabels:Q,showValues:Z,tooltip:D,suffix:L,prefix:$,onSeriesMouseOver:Bt,maxValue:Wt.checkIfNullOrUndefined(R)?Math.max(...c.map(Ii))<0?0:Math.max(...c.map(Ri)):R,minValue:Wt.checkIfNullOrUndefined(q)?Math.min(...c.map(Oi))>0?0:Math.min(...c.map(ki)):q,onSeriesMouseClick:Yt,selectedColor:ne,arrowConnector:_,connectorStrokeWidth:tt,maxBarThickness:xt,minBarThickness:yt,resetSelectionOnDoubleClick:it,detailsOnClick:At,axisTitle:Xt,noOfTicks:nt,valueColor:kt,styles:f,classNames:m,labelOrder:l,refValues:I,animate:G===!0?{duration:.5,once:!0,amount:.5}:G||{duration:0,once:!0,amount:0},precision:st,customLayers:g,highlightedDataPoints:Et,dimmedOpacity:Ct,rtl:E==="ar"||E==="he",locale:B}):null,t[48]=je,t[49]=G,t[50]=_,t[51]=Xt,t[52]=Ht,t[53]=vt,t[54]=m,t[55]=lt,t[56]=tt,t[57]=g,t[58]=c,t[59]=At,t[60]=Ct,t[61]=V,t[62]=mt,t[63]=Et,t[64]=N,t[65]=l,t[66]=E,t[67]=ct,t[68]=B,t[69]=xt,t[70]=X,t[71]=R,t[72]=yt,t[73]=q,t[74]=nt,t[75]=Yt,t[76]=Bt,t[77]=st,t[78]=$,t[79]=K,t[80]=I,t[81]=it,t[82]=It,t[83]=ne,t[84]=Q,t[85]=U,t[86]=Z,t[87]=Tt,t[88]=h,t[89]=f,t[90]=L,t[91]=Rt,t[92]=Ft,t[93]=a.dateFormat,t[94]=a.enabled,t[95]=D,t[96]=bt,t[97]=z,t[98]=n,t[99]=kt,t[100]=ue):ue=t[100];let xe;t[101]!==ce||t[102]!==ue?(xe=i.jsxRuntimeExports.jsxs(Le.GraphArea,{ref:ve,children:[ce,ue]}),t[101]=ce,t[102]=ue,t[103]=xe):xe=t[103];let de;t[104]!==m?.footnote||t[105]!==m?.source||t[106]!==at||t[107]!==zt||t[108]!==f?.footnote||t[109]!==f?.source||t[110]!==y?(de=zt||at?i.jsxRuntimeExports.jsx(Je.GraphFooter,{styles:{footnote:f?.footnote,source:f?.source},classNames:{footnote:m?.footnote,source:m?.source},sources:zt,footNote:at,width:y}):null,t[104]=m?.footnote,t[105]=m?.source,t[106]=at,t[107]=zt,t[108]=f?.footnote,t[109]=f?.source,t[110]=y,t[111]=de):de=t[111];let be;return t[112]!==H||t[113]!==J||t[114]!==jt||t[115]!==wt||t[116]!==E||t[117]!==O||t[118]!==ut||t[119]!==M||t[120]!==Ae||t[121]!==ke||t[122]!==ae||t[123]!==re||t[124]!==le||t[125]!==xe||t[126]!==de||t[127]!==et||t[128]!==y?(be=i.jsxRuntimeExports.jsxs(Le.GraphContainer,{className:Ae,style:ke,id:jt,ref:Re,"aria-label":H,backgroundColor:J,theme:et,language:E,minHeight:O,width:y,height:wt,relativeHeight:M,padding:ut,children:[ae,re,le,xe,de]}),t[112]=H,t[113]=J,t[114]=jt,t[115]=wt,t[116]=E,t[117]=O,t[118]=ut,t[119]=M,t[120]=Ae,t[121]=ke,t[122]=ae,t[123]=re,t[124]=le,t[125]=xe,t[126]=de,t[127]=et,t[128]=y,t[129]=be):be=t[129],be}function ki(e){return Math.min(...e.x.filter(Ei))}function Ei(e){return e!==null}function Oi(e){return Math.min(...e.x.filter(Ci))}function Ci(e){return e!==null}function Ri(e){return Math.max(...e.x.filter(Mi))}function Mi(e){return e!==null}function Ii(e){return Math.max(...e.x.filter(Li))}function Li(e){return e!==null}function $i(e){return e==null}function Vi(e){return e==null}function Ni(e){return Wt.checkIfNullOrUndefined(e.x[e.x.length-1])||Wt.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]}function Si(e){return e==null}function Di(e){return e!==void 0}function Ti(e){return e!==void 0}function qi(e){return e.data}function Fi(e){return e!==void 0}function Pi(e){return e.data}function Wi(e,t){return e-t}function Gi(e){return e.date}exports.DumbbellChart=Ai;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-D4pAp7u0.cjs"),Ae=require("./index-Cno4Q0YE.cjs"),ve=require("./parse-xYI9yrvL.cjs"),T=require("react"),ke=require("./getSliderMarks-BzrpHrHS.cjs"),Ce=require("./index-DQA8q5sC.cjs"),je=require("./numberFormattingFunction-u2iNHL_c.cjs"),Re=require("./Tooltip-C9F3uYG0.cjs"),Bt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Me=require("./AxisTitle-DP_evhbe.cjs"),Te=require("./Axis-BTaS9oPQ.cjs"),qe=require("./XAxesLabels-C03jHniq.cjs"),Ie=require("./YTicksAndGridLines-sT3zdCs6.cjs"),Le=require("./ReferenceLine-CpU4G01Y.cjs"),Fe=require("./XTicksAndGridLines-B4UhDVyU.cjs"),Pe=require("./YAxesLabels-DeENFC2M.cjs"),$e=require("./DetailsModal-Du8Fr1QD.cjs"),Ve=require("./linear-CgUCbw9F.cjs"),Ne=require("./band-VYfcZeJ2.cjs"),Gt=require("./proxy-CqH8m8IQ.cjs"),De=require("./use-in-view-dnRv_qqF.cjs"),Se=require("./index-FXfr51ZM.cjs"),we=require("./ensureCompleteData-D9bQTiVS.cjs"),Ee=require("./GraphContainer-Cul9b74X.cjs"),We=require("./GraphHeader.cjs"),Oe=require("./index-BhI7mBJx.cjs"),Ge=require("./GraphFooter.cjs"),Be=require("./ColorLegendWithMouseOver.cjs"),Ye=require("./EmptyState-CFmiFPHz.cjs"),Xe=require("./Colors.cjs");function He(e){const t=i.compilerRuntimeExports.c(152),{data:c,leftMargin:Jt,rightMargin:ae,topMargin:Kt,bottomMargin:Qt,dotColors:I,barPadding:Yt,showTicks:mt,truncateBy:Lt,width:wt,height:jt,radius:yt,showLabels:At,tooltip:v,onSeriesMouseOver:lt,maxValue:$t,minValue:k,onSeriesMouseClick:pt,showValues:_t,suffix:gt,prefix:q,selectedColor:F,arrowConnector:V,connectorStrokeWidth:Xt,maxBarThickness:kt,minBarThickness:bt,resetSelectionOnDoubleClick:Vt,detailsOnClick:N,axisTitle:ct,noOfTicks:te,valueColor:Nt,styles:s,classNames:n,labelOrder:L,refValues:Dt,animate:h,precision:d,customLayers:P,highlightedDataPoints:g,dimmedOpacity:ft,hideAxisLine:St,locale:ut,padZeros:Z}=e,J=Jt===void 0?20:Jt,ee=ae===void 0?20:ae,Et=Kt===void 0?20:Kt,ie=Qt===void 0?25:Qt,E=T.useRef(null);let p;t[0]!==h.amount||t[1]!==h.once?(p={once:h.once,amount:h.amount},t[0]=h.amount,t[1]=h.once,t[2]=p):p=t[2];const w=De.useInView(E,p),Ht=ct?J+30:J;let Tt;t[3]!==ie||t[4]!==ee||t[5]!==Ht||t[6]!==Et?(Tt={top:Et,bottom:ie,left:Ht,right:ee},t[3]=ie,t[4]=ee,t[5]=Ht,t[6]=Et,t[7]=Tt):Tt=t[7];const l=Tt,W=wt-l.left-l.right,G=jt-l.top-l.bottom,[Ot,ne]=T.useState(void 0),[$,qt]=T.useState(void 0),[Ft,j]=T.useState(void 0),[xt,Ut]=T.useState(void 0);let Ct;if(t[8]!==c||t[9]!==L){const m=new Set,b=c.map((y,rt)=>{const u=L?`${y.label}`:`${rt}`;return m.add(u),{...y,id:u}}),Zt=L?L.filter(y=>!m.has(y)):[];let f;t[11]!==c[0]?(f=y=>({id:y,label:y,x:Array(c[0].x.length).fill(null)}),t[11]=c[0],t[12]=f):f=t[12],Ct=[...b,...Zt.map(f)],t[8]=c,t[9]=L,t[10]=Ct}else Ct=t[10];const O=Ct;let Rt;t[13]!==O||t[14]!==L?(Rt=L??O.map(ni),t[13]=O,t[14]=L,t[15]=Rt):Rt=t[15];const zt=Rt;let K,B,Y,Q,_,D,A,M,tt,et,it,ht,S,C,nt;if(t[16]!==h||t[17]!==V||t[18]!==ct||t[19]!==zt||t[20]!==Yt||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.axis||t[24]!==n?.xAxis?.labels||t[25]!==n?.yAxis?.gridLines||t[26]!==n?.yAxis?.labels||t[27]!==n?.yAxis?.title||t[28]!==Xt||t[29]!==P||t[30]!==O||t[31]!==N||t[32]!==ft||t[33]!==I||t[34]!==G||t[35]!==W||t[36]!==jt||t[37]!==St||t[38]!==g||t[39]!==w||t[40]!==J||t[41]!==ut||t[42]!==l.bottom||t[43]!==l.left||t[44]!==l.right||t[45]!==l.top||t[46]!==kt||t[47]!==$t||t[48]!==bt||t[49]!==k||t[50]!==$||t[51]!==te||t[52]!==pt||t[53]!==lt||t[54]!==Z||t[55]!==d||t[56]!==q||t[57]!==yt||t[58]!==Dt||t[59]!==Vt||t[60]!==F||t[61]!==At||t[62]!==mt||t[63]!==_t||t[64]!==s?.dataConnectors||t[65]!==s?.graphObjectValues||t[66]!==s?.xAxis?.axis||t[67]!==s?.xAxis?.labels||t[68]!==s?.yAxis?.gridLines||t[69]!==s?.yAxis?.labels||t[70]!==s?.yAxis?.title||t[71]!==gt||t[72]!==Lt||t[73]!==Nt||t[74]!==wt){const m=Ve.linear().domain([k,$t]).range([G,0]).nice(),b=Ne.band().domain(zt).range([0,bt?Math.max(W,bt*O.length):kt?Math.min(W,kt*O.length):W]).paddingInner(Yt),Zt=m.ticks(te);B=Gt.motion.svg,tt=`${wt}px`,et=`${jt}px`,it=`0 0 ${wt} ${jt}`,ht="ltr",S=E,t[90]!==V?(C=V?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[90]=V,t[91]=C):C=t[91],Q=`translate(${l.left},${l.top})`;let f;t[92]!==ut||t[93]!==k||t[94]!==Z||t[95]!==d||t[96]!==q||t[97]!==mt||t[98]!==gt?(f=mt?je.numberFormattingFunction(k<0?0:k,void 0,d,q,gt,ut,Z):void 0,t[92]=ut,t[93]=k,t[94]=Z,t[95]=d,t[96]=q,t[97]=mt,t[98]=gt,t[99]=f):f=t[99];const y=n?.xAxis?.axis,rt=n?.yAxis?.labels;let u;t[100]!==y||t[101]!==rt?(u={axis:y,label:rt},t[100]=y,t[101]=rt,t[102]=u):u=t[102];const U=s?.xAxis?.axis,Pt=s?.yAxis?.labels;let Wt;t[103]!==U||t[104]!==Pt?(Wt={axis:U,label:Pt},t[103]=U,t[104]=Pt,t[105]=Wt):Wt=t[105],_=i.jsxRuntimeExports.jsx(Te.Axis,{hideAxisLine:St,y1:m(k<0?0:k),y2:m(k<0?0:k),x1:0-J,x2:W+l.right,label:f,labelPos:{x:0-J,dx:0,dy:$t<0?"1em":-5,y:m(k<0?0:k)},classNames:u,styles:Wt}),D=mt?i.jsxRuntimeExports.jsx(Ie.YTicksAndGridLines,{values:Zt.filter(ii),y:Zt.filter(ei).map(r=>m(r)),x1:0-J,x2:W+l.right,styles:{gridLines:s?.yAxis?.gridLines,labels:s?.yAxis?.labels},classNames:{gridLines:n?.yAxis?.gridLines,labels:n?.yAxis?.labels},suffix:gt,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:d,locale:ut,padZeros:Z}):null;const se=0-J-15,a=G/2,dt=s?.yAxis?.title,R=n?.yAxis?.title;t[106]!==ct||t[107]!==se||t[108]!==a||t[109]!==dt||t[110]!==R?(A=i.jsxRuntimeExports.jsx(Me.AxisTitle,{x:se,y:a,style:dt,className:R,text:ct,rotate90:!0}),t[106]=ct,t[107]=se,t[108]=a,t[109]=dt,t[110]=R,t[111]=A):A=t[111],t[112]!==P?(M=P.filter(ti).map(_e),t[112]=P,t[113]=M):M=t[113],K=Se.AnimatePresence,nt=O.map(r=>i.jsxRuntimeExports.jsxs(Gt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:b(`${r.id}`)+b.bandwidth()/2,y:0,opacity:g?g.indexOf(r.label)!==-1?.85:ft:.85},whileInView:{x:b(`${r.id}`)+b.bandwidth()/2,y:0,opacity:g?g.indexOf(r.label)!==-1?.85:ft:.85,transition:{duration:h.duration}}},initial:"initial",animate:w?"whileInView":"initial",exit:{opacity:0,transition:{duration:h.duration}},children:[At?i.jsxRuntimeExports.jsx(qe.XAxesLabels,{value:`${r.label}`.length<Lt?`${r.label}`:`${`${r.label}`.substring(0,Lt)}...`,y:G+5,x:0-b.bandwidth()/2,width:b.bandwidth(),height:l.bottom,style:s?.xAxis?.labels,className:n?.xAxis?.labels,alignment:"top",animate:h,isInView:w}):null,i.jsxRuntimeExports.jsx(Gt.motion.line,{x1:0,x2:0,style:{strokeWidth:Xt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:V&&r.x.indexOf(Math.min(...r.x.filter(Qe)))===0?"url(#arrow)":"",markerStart:V&&r.x.indexOf(Math.min(...r.x.filter(Ke)))===r.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:h.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:m(Math.min(...r.x.filter(Je)))+yt,y2:m(Math.max(...r.x.filter(Ze)))-yt,transition:{duration:h.duration}}},initial:"initial",animate:w?"whileInView":"initial"}),r.x.map((Mt,z)=>i.jsxRuntimeExports.jsx(Gt.motion.g,{onMouseEnter:oe=>{ne({...r,xIndex:z}),Ut(oe.clientY),j(oe.clientX),lt?.({...r,xIndex:z})},onClick:()=>{(pt||N)&&(Ce.isEqual($,{...r,xIndex:z})&&Vt?(qt(void 0),pt?.(void 0)):(qt({...r,xIndex:z}),pt&&pt({...r,xIndex:z})))},onMouseMove:oe=>{ne({...r,xIndex:z}),Ut(oe.clientY),j(oe.clientX)},onMouseLeave:()=>{ne(void 0),j(void 0),Ut(void 0),lt?.(void 0)},exit:{opacity:0,transition:{duration:h.duration}},variants:{initial:{opacity:F?I[z]===F?1:.3:1},whileInView:{opacity:F?I[z]===F?1:.3:1,transition:{duration:h.duration}}},initial:"initial",animate:w?"whileInView":"initial",children:Bt.checkIfNullOrUndefined(Mt)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Gt.motion.circle,{cx:0,r:yt,style:{fill:I[z],fillOpacity:.85,stroke:I[z],strokeWidth:1},exit:{opacity:0,transition:{duration:h.duration}},variants:{initial:{cy:m(0),opacity:0},whileInView:{cy:m(Mt||0),opacity:Bt.checkIfNullOrUndefined(Mt)?0:1,transition:{duration:h.duration}}},initial:"initial",animate:w?"whileInView":"initial"}),_t?i.jsxRuntimeExports.jsx(Gt.motion.text,{x:0,style:{textAnchor:"start",...s?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",Bt.checkIfNullOrUndefined(Mt)?"opacity-0":"opacity-100",n?.graphObjectValues),dx:yt+3,dy:"0.33em",exit:{opacity:0,transition:{duration:h.duration}},variants:{initial:{y:m(0),opacity:0,fill:Nt||I[z]},whileInView:{y:m(Mt||0),fill:Nt||I[z],opacity:1,transition:{duration:h.duration}}},initial:"initial",animate:w?"whileInView":"initial",children:je.numberFormattingFunction(Mt,void 0,d,q,gt,ut,Z)}):null]})},z))]},r.label)),Y=Dt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Dt.map((r,Mt)=>i.jsxRuntimeExports.jsx(Le.RefLineY,{text:r.text,color:r.color,y:m(r.value),x1:0-J,x2:W+l.right,classNames:r.classNames,styles:r.styles,animate:h,isInView:w},Mt))}):null,t[16]=h,t[17]=V,t[18]=ct,t[19]=zt,t[20]=Yt,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.axis,t[24]=n?.xAxis?.labels,t[25]=n?.yAxis?.gridLines,t[26]=n?.yAxis?.labels,t[27]=n?.yAxis?.title,t[28]=Xt,t[29]=P,t[30]=O,t[31]=N,t[32]=ft,t[33]=I,t[34]=G,t[35]=W,t[36]=jt,t[37]=St,t[38]=g,t[39]=w,t[40]=J,t[41]=ut,t[42]=l.bottom,t[43]=l.left,t[44]=l.right,t[45]=l.top,t[46]=kt,t[47]=$t,t[48]=bt,t[49]=k,t[50]=$,t[51]=te,t[52]=pt,t[53]=lt,t[54]=Z,t[55]=d,t[56]=q,t[57]=yt,t[58]=Dt,t[59]=Vt,t[60]=F,t[61]=At,t[62]=mt,t[63]=_t,t[64]=s?.dataConnectors,t[65]=s?.graphObjectValues,t[66]=s?.xAxis?.axis,t[67]=s?.xAxis?.labels,t[68]=s?.yAxis?.gridLines,t[69]=s?.yAxis?.labels,t[70]=s?.yAxis?.title,t[71]=gt,t[72]=Lt,t[73]=Nt,t[74]=wt,t[75]=K,t[76]=B,t[77]=Y,t[78]=Q,t[79]=_,t[80]=D,t[81]=A,t[82]=M,t[83]=tt,t[84]=et,t[85]=it,t[86]=ht,t[87]=S,t[88]=C,t[89]=nt}else K=t[75],B=t[76],Y=t[77],Q=t[78],_=t[79],D=t[80],A=t[81],M=t[82],tt=t[83],et=t[84],it=t[85],ht=t[86],S=t[87],C=t[88],nt=t[89];let X;t[114]!==K||t[115]!==Y||t[116]!==nt?(X=i.jsxRuntimeExports.jsxs(K,{children:[nt,Y]}),t[114]=K,t[115]=Y,t[116]=nt,t[117]=X):X=t[117];let st;t[118]!==P?(st=P.filter(ze).map(Ue),t[118]=P,t[119]=st):st=t[119];let ot;t[120]!==Q||t[121]!==_||t[122]!==D||t[123]!==A||t[124]!==M||t[125]!==X||t[126]!==st?(ot=i.jsxRuntimeExports.jsxs("g",{transform:Q,children:[_,D,A,M,X,st]}),t[120]=Q,t[121]=_,t[122]=D,t[123]=A,t[124]=M,t[125]=X,t[126]=st,t[127]=ot):ot=t[127];let H;t[128]!==B||t[129]!==tt||t[130]!==et||t[131]!==it||t[132]!==ht||t[133]!==S||t[134]!==C||t[135]!==ot?(H=i.jsxRuntimeExports.jsxs(B,{width:tt,height:et,viewBox:it,direction:ht,ref:S,children:[C,ot]}),t[128]=B,t[129]=tt,t[130]=et,t[131]=it,t[132]=ht,t[133]=S,t[134]=C,t[135]=ot,t[136]=H):H=t[136];let o;t[137]!==n?.tooltip||t[138]!==Ft||t[139]!==xt||t[140]!==Ot||t[141]!==s?.tooltip||t[142]!==v?(o=Ot&&v&&Ft&&xt?i.jsxRuntimeExports.jsx(Re.Tooltip,{data:Ot,body:v,xPos:Ft,yPos:xt,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[137]=n?.tooltip,t[138]=Ft,t[139]=xt,t[140]=Ot,t[141]=s?.tooltip,t[142]=v,t[143]=o):o=t[143];let at;t[144]!==n?.modal||t[145]!==N||t[146]!==$?(at=N&&$!==void 0?i.jsxRuntimeExports.jsx($e.DetailsModal,{body:N,data:$,setData:qt,className:n?.modal}):null,t[144]=n?.modal,t[145]=N,t[146]=$,t[147]=at):at=t[147];let vt;return t[148]!==H||t[149]!==o||t[150]!==at?(vt=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[H,o,at]}),t[148]=H,t[149]=o,t[150]=at,t[151]=vt):vt=t[151],vt}function Ue(e){return e.layer}function ze(e){return e.position==="after"}function Ze(e){return e!==null}function Je(e){return e!==null}function Ke(e){return e!==null}function Qe(e){return e!==null}function _e(e){return e.layer}function ti(e){return e.position==="before"}function ei(e){return e!==0}function ii(e){return e!==0}function ni(e){return`${e.id}`}function si(e){const t=i.compilerRuntimeExports.c(141),{data:c,leftMargin:Jt,rightMargin:ae,topMargin:Kt,bottomMargin:Qt,dotColors:I,suffix:Yt,prefix:mt,barPadding:Lt,showValues:wt,showTicks:jt,truncateBy:yt,width:At,height:v,radius:lt,showLabels:$t,tooltip:k,onSeriesMouseOver:pt,maxValue:_t,minValue:gt,onSeriesMouseClick:q,selectedColor:F,arrowConnector:V,connectorStrokeWidth:Xt,maxBarThickness:kt,minBarThickness:bt,resetSelectionOnDoubleClick:Vt,detailsOnClick:N,axisTitle:ct,noOfTicks:te,valueColor:Nt,styles:s,classNames:n,labelOrder:L,refValues:Dt,rtl:h,animate:d,precision:P,customLayers:g,highlightedDataPoints:ft,dimmedOpacity:St,locale:ut,padZeros:Z}=e,J=Jt===void 0?100:Jt,ee=ae===void 0?40:ae,Et=Kt===void 0?20:Kt,ie=Qt===void 0?10:Qt,E=T.useRef(null);let p;t[0]!==d.amount||t[1]!==d.once?(p={once:d.once,amount:d.amount},t[0]=d.amount,t[1]=d.once,t[2]=p):p=t[2];const w=De.useInView(E,p),Ht=ct?Et+25:Et;let Tt;t[3]!==ie||t[4]!==J||t[5]!==ee||t[6]!==Ht?(Tt={top:Ht,bottom:ie,left:J,right:ee},t[3]=ie,t[4]=J,t[5]=ee,t[6]=Ht,t[7]=Tt):Tt=t[7];const l=Tt,W=At-l.left-l.right,G=v-l.top-l.bottom,[Ot,ne]=T.useState(void 0),[$,qt]=T.useState(void 0),[Ft,j]=T.useState(void 0),[xt,Ut]=T.useState(void 0);let Ct;if(t[8]!==c||t[9]!==L){const m=new Set,b=c.map((y,rt)=>{const u=L?`${y.label}`:`${rt}`;return m.add(u),{...y,id:u}}),Zt=L?L.filter(y=>!m.has(y)):[];let f;t[11]!==c[0]?(f=y=>({id:y,label:y,x:Array(c[0].x.length).fill(null)}),t[11]=c[0],t[12]=f):f=t[12],Ct=[...b,...Zt.map(f)],t[8]=c,t[9]=L,t[10]=Ct}else Ct=t[10];const O=Ct;let Rt;t[13]!==O||t[14]!==L?(Rt=L??O.map(fi),t[13]=O,t[14]=L,t[15]=Rt):Rt=t[15];const zt=Rt;let K,B,Y,Q,_,D,A,M,tt,et,it,ht,S,C,nt;if(t[16]!==d||t[17]!==V||t[18]!==ct||t[19]!==zt||t[20]!==Lt||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.gridLines||t[24]!==n?.xAxis?.labels||t[25]!==n?.xAxis?.title||t[26]!==n?.yAxis?.gridLines||t[27]!==n?.yAxis?.labels||t[28]!==Xt||t[29]!==g||t[30]!==O||t[31]!==N||t[32]!==St||t[33]!==I||t[34]!==G||t[35]!==W||t[36]!==v||t[37]!==ft||t[38]!==w||t[39]!==ut||t[40]!==l.bottom||t[41]!==l.left||t[42]!==l.top||t[43]!==kt||t[44]!==_t||t[45]!==bt||t[46]!==gt||t[47]!==$||t[48]!==te||t[49]!==q||t[50]!==pt||t[51]!==Z||t[52]!==P||t[53]!==mt||t[54]!==lt||t[55]!==Dt||t[56]!==Vt||t[57]!==h||t[58]!==F||t[59]!==$t||t[60]!==jt||t[61]!==wt||t[62]!==s?.dataConnectors||t[63]!==s?.graphObjectValues||t[64]!==s?.xAxis?.gridLines||t[65]!==s?.xAxis?.labels||t[66]!==s?.xAxis?.title||t[67]!==s?.yAxis?.gridLines||t[68]!==s?.yAxis?.labels||t[69]!==Yt||t[70]!==Et||t[71]!==yt||t[72]!==Nt||t[73]!==At){const m=Ve.linear().domain([gt,_t]).range([0,W]).nice(),b=Ne.band().domain(zt).range([0,bt?Math.max(G,bt*O.length):kt?Math.min(G,kt*O.length):G]).paddingInner(Lt),Zt=m.ticks(te);B=Gt.motion.svg,tt=`${At}px`,et=`${v}px`,it=`0 0 ${At} ${v}`,ht="ltr",S=E,t[89]!==V?(C=V?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[89]=V,t[90]=C):C=t[90],Q=`translate(${l.left},${l.top})`,_=jt?i.jsxRuntimeExports.jsx(Fe.XTicksAndGridLines,{values:Zt.filter(pi),x:Zt.filter(mi).map(a=>m(a)),y1:0-Et,y2:G+l.bottom,styles:{gridLines:s?.xAxis?.gridLines,labels:s?.xAxis?.labels},classNames:{gridLines:n?.xAxis?.gridLines,labels:n?.xAxis?.labels},suffix:Yt,prefix:mt,labelType:"secondary",showGridLines:!0,precision:P,locale:ut,padZeros:Z}):null;const f=W/2,y=0-l.top+15,rt=s?.xAxis?.title,u=n?.xAxis?.title;t[91]!==ct||t[92]!==f||t[93]!==y||t[94]!==rt||t[95]!==u?(D=i.jsxRuntimeExports.jsx(Me.AxisTitle,{x:f,y,style:rt,className:u,text:ct}),t[91]=ct,t[92]=f,t[93]=y,t[94]=rt,t[95]=u,t[96]=D):D=t[96];const U=s?.yAxis?.gridLines;let Pt;t[97]!==U?(Pt={gridLines:U},t[97]=U,t[98]=Pt):Pt=t[98];const Wt=n?.yAxis?.gridLines;let se;t[99]!==Wt?(se={gridLines:Wt},t[99]=Wt,t[100]=se):se=t[100],A=i.jsxRuntimeExports.jsx(Ie.YTicksAndGridLines,{y:O.map(a=>b(`${a.id}`)+b.bandwidth()/2),x1:0,x2:W,styles:Pt,classNames:se,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:P,locale:ut,padZeros:Z}),t[101]!==g?(M=g.filter(di).map(xi),t[101]=g,t[102]=M):M=t[102],K=Se.AnimatePresence,nt=O.map(a=>i.jsxRuntimeExports.jsxs(Gt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:b(`${a.id}`)+b.bandwidth()/2,opacity:ft?ft.indexOf(a.label)!==-1?.85:St:.85},whileInView:{x:0,y:b(`${a.id}`)+b.bandwidth()/2,opacity:ft?ft.indexOf(a.label)!==-1?.85:St:.85,transition:{duration:d.duration}}},initial:"initial",animate:w?"whileInView":"initial",exit:{opacity:0,transition:{duration:d.duration}},children:[$t?i.jsxRuntimeExports.jsx(Pe.YAxesLabels,{value:`${a.label}`.length<yt?`${a.label}`:`${`${a.label}`.substring(0,yt)}...`,y:0-b.bandwidth()/2,x:0-l.left,width:l.left,height:b.bandwidth(),alignment:"right",style:s?.yAxis?.labels,className:n?.yAxis?.labels,animate:d,isInView:w}):null,i.jsxRuntimeExports.jsx(Gt.motion.line,{y1:0,y2:0,style:{strokeWidth:Xt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:V&&a.x.indexOf(Math.min(...a.x.filter(ui)))===0?"url(#arrow)":"",markerStart:V&&a.x.indexOf(Math.min(...a.x.filter(ci)))===a.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:m(Math.min(...a.x.filter(li)))+lt,x2:m(Math.max(...a.x.filter(ri)))-lt,transition:{duration:d.duration}}},initial:"initial",animate:w?"whileInView":"initial"}),a.x.map((dt,R)=>i.jsxRuntimeExports.jsx(Gt.motion.g,{onMouseEnter:r=>{ne({...a,xIndex:R}),Ut(r.clientY),j(r.clientX),pt?.({...a,xIndex:R})},onClick:()=>{(q||N)&&(Ce.isEqual($,{...a,xIndex:R})&&Vt?(qt(void 0),q?.(void 0)):(qt({...a,xIndex:R}),q&&q({...a,xIndex:R})))},onMouseMove:r=>{ne({...a,xIndex:R}),Ut(r.clientY),j(r.clientX)},onMouseLeave:()=>{ne(void 0),j(void 0),Ut(void 0),pt?.(void 0)},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{opacity:F?I[R]===F?1:.3:1},whileInView:{opacity:F?I[R]===F?1:.3:1,transition:{duration:d.duration}}},initial:"initial",animate:w?"whileInView":"initial",children:Bt.checkIfNullOrUndefined(dt)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Gt.motion.circle,{cy:0,r:lt,style:{fill:I[R],fillOpacity:.85,stroke:I[R],strokeWidth:1,opacity:Bt.checkIfNullOrUndefined(dt)?0:1},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{cx:m(0),opacity:0},whileInView:{cx:m(dt||0),opacity:Bt.checkIfNullOrUndefined(dt)?0:1,transition:{duration:d.duration}}},initial:"initial",animate:w?"whileInView":"initial"}),wt?i.jsxRuntimeExports.jsx(Gt.motion.text,{y:0,style:{textAnchor:"middle",...s?.graphObjectValues||{}},dx:0,dy:0-lt-3,className:i.mo("graph-value text-sm font-bold",Bt.checkIfNullOrUndefined(dt)?"0opacity-0":"opacity-100",n?.graphObjectValues),exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{x:m(0),opacity:0,fill:Nt||I[R]},whileInView:{x:m(dt||0),fill:Nt||I[R],opacity:1,transition:{duration:d.duration}}},initial:"initial",animate:w?"whileInView":"initial",children:je.numberFormattingFunction(dt,void 0,P,mt,Yt,ut,Z)}):null]})},R))]},a.label)),Y=Dt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Dt.map((a,dt)=>i.jsxRuntimeExports.jsx(Le.RefLineX,{text:a.text,color:a.color,x:m(a.value),y1:0-l.top,y2:G+l.bottom,textSide:m(a.value)>W*.75||h?"left":"right",classNames:a.classNames,styles:a.styles,animate:d,isInView:w},dt))}):null,t[16]=d,t[17]=V,t[18]=ct,t[19]=zt,t[20]=Lt,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.gridLines,t[24]=n?.xAxis?.labels,t[25]=n?.xAxis?.title,t[26]=n?.yAxis?.gridLines,t[27]=n?.yAxis?.labels,t[28]=Xt,t[29]=g,t[30]=O,t[31]=N,t[32]=St,t[33]=I,t[34]=G,t[35]=W,t[36]=v,t[37]=ft,t[38]=w,t[39]=ut,t[40]=l.bottom,t[41]=l.left,t[42]=l.top,t[43]=kt,t[44]=_t,t[45]=bt,t[46]=gt,t[47]=$,t[48]=te,t[49]=q,t[50]=pt,t[51]=Z,t[52]=P,t[53]=mt,t[54]=lt,t[55]=Dt,t[56]=Vt,t[57]=h,t[58]=F,t[59]=$t,t[60]=jt,t[61]=wt,t[62]=s?.dataConnectors,t[63]=s?.graphObjectValues,t[64]=s?.xAxis?.gridLines,t[65]=s?.xAxis?.labels,t[66]=s?.xAxis?.title,t[67]=s?.yAxis?.gridLines,t[68]=s?.yAxis?.labels,t[69]=Yt,t[70]=Et,t[71]=yt,t[72]=Nt,t[73]=At,t[74]=K,t[75]=B,t[76]=Y,t[77]=Q,t[78]=_,t[79]=D,t[80]=A,t[81]=M,t[82]=tt,t[83]=et,t[84]=it,t[85]=ht,t[86]=S,t[87]=C,t[88]=nt}else K=t[74],B=t[75],Y=t[76],Q=t[77],_=t[78],D=t[79],A=t[80],M=t[81],tt=t[82],et=t[83],it=t[84],ht=t[85],S=t[86],C=t[87],nt=t[88];let X;t[103]!==K||t[104]!==Y||t[105]!==nt?(X=i.jsxRuntimeExports.jsxs(K,{children:[nt,Y]}),t[103]=K,t[104]=Y,t[105]=nt,t[106]=X):X=t[106];let st;t[107]!==g?(st=g.filter(ai).map(oi),t[107]=g,t[108]=st):st=t[108];let ot;t[109]!==Q||t[110]!==_||t[111]!==D||t[112]!==A||t[113]!==M||t[114]!==X||t[115]!==st?(ot=i.jsxRuntimeExports.jsxs("g",{transform:Q,children:[_,D,A,M,X,st]}),t[109]=Q,t[110]=_,t[111]=D,t[112]=A,t[113]=M,t[114]=X,t[115]=st,t[116]=ot):ot=t[116];let H;t[117]!==B||t[118]!==tt||t[119]!==et||t[120]!==it||t[121]!==ht||t[122]!==S||t[123]!==C||t[124]!==ot?(H=i.jsxRuntimeExports.jsxs(B,{width:tt,height:et,viewBox:it,direction:ht,ref:S,children:[C,ot]}),t[117]=B,t[118]=tt,t[119]=et,t[120]=it,t[121]=ht,t[122]=S,t[123]=C,t[124]=ot,t[125]=H):H=t[125];let o;t[126]!==n?.tooltip||t[127]!==Ft||t[128]!==xt||t[129]!==Ot||t[130]!==s?.tooltip||t[131]!==k?(o=Ot&&k&&Ft&&xt?i.jsxRuntimeExports.jsx(Re.Tooltip,{data:Ot,body:k,xPos:Ft,yPos:xt,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[126]=n?.tooltip,t[127]=Ft,t[128]=xt,t[129]=Ot,t[130]=s?.tooltip,t[131]=k,t[132]=o):o=t[132];let at;t[133]!==n?.modal||t[134]!==N||t[135]!==$?(at=N&&$!==void 0?i.jsxRuntimeExports.jsx($e.DetailsModal,{body:N,data:$,setData:qt,className:n?.modal}):null,t[133]=n?.modal,t[134]=N,t[135]=$,t[136]=at):at=t[136];let vt;return t[137]!==H||t[138]!==o||t[139]!==at?(vt=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[H,o,at]}),t[137]=H,t[138]=o,t[139]=at,t[140]=vt):vt=t[140],vt}function oi(e){return e.layer}function ai(e){return e.position==="after"}function ri(e){return e!==null}function li(e){return e!==null}function ci(e){return e!==null}function ui(e){return e!==null}function xi(e){return e.layer}function di(e){return e.position==="before"}function mi(e,t){return t!==0}function pi(e,t){return t!==0}function fi(e){return`${e.id}`}function hi(e){const t=i.compilerRuntimeExports.c(131),{data:c,graphTitle:Jt,colors:ae,sources:Kt,graphDescription:Qt,barPadding:I,showTicks:Yt,leftMargin:mt,rightMargin:Lt,topMargin:wt,bottomMargin:jt,truncateBy:yt,height:At,width:v,footNote:lt,colorDomain:$t,colorLegendTitle:k,padding:pt,backgroundColor:_t,radius:gt,tooltip:q,showLabels:F,relativeHeight:V,onSeriesMouseOver:Xt,graphID:kt,maxValue:bt,minValue:Vt,onSeriesMouseClick:N,graphDownload:ct,dataDownload:te,showValues:Nt,sortParameter:s,arrowConnector:n,connectorStrokeWidth:L,language:Dt,minHeight:h,theme:d,maxBarThickness:P,maxNumberOfBars:g,minBarThickness:ft,ariaLabel:St,resetSelectionOnDoubleClick:ut,detailsOnClick:Z,axisTitle:J,noOfTicks:ee,valueColor:Et,orientation:ie,styles:E,classNames:p,labelOrder:w,refValues:Ht,filterNA:Tt,animate:l,showColorScale:W,customLayers:G,highlightedDataPoints:Ot,dimmedOpacity:ne,timeline:$,sortData:qt,hideAxisLine:Ft,numberDisplayOptions:j}=e,xt=ae===void 0?Xe.Colors.light.categoricalColors.colors:ae,Ut=I===void 0?.25:I,Ct=Yt===void 0?!0:Yt,O=yt===void 0?999:yt,Rt=_t===void 0?!0:_t,zt=gt===void 0?3:gt,K=F===void 0?!0:F,B=ct===void 0?!1:ct,Y=te===void 0?!1:te,Q=Nt===void 0?!0:Nt,_=n===void 0?!1:n,D=L===void 0?2:L,A=Dt===void 0?"en":Dt,M=h===void 0?0:h,tt=d===void 0?"light":d,et=ut===void 0?!0:ut,it=ee===void 0?5:ee,ht=ie===void 0?"vertical":ie,S=Tt===void 0?!0:Tt,C=l===void 0?!1:l,nt=W===void 0?!0:W;let X;t[0]!==G?(X=G===void 0?[]:G,t[0]=G,t[1]=X):X=t[1];const st=X,ot=ne===void 0?.3:ne;let H;t[2]!==$?(H=$===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:$,t[2]=$,t[3]=H):H=t[3];const o=H,at=Ft===void 0?!1:Ft,[vt,m]=T.useState(0),[b,Zt]=T.useState(0),[f,y]=T.useState(o.autoplay);let rt;if(t[4]!==c||t[5]!==o.dateFormat){let x;t[7]!==o.dateFormat?(x=It=>ve.parse(`${It.date}`,o.dateFormat||"yyyy",new Date).getTime(),t[7]=o.dateFormat,t[8]=x):x=t[8],rt=[...new Set(c.filter(Di).map(x))],rt.sort(Ni),t[4]=c,t[5]=o.dateFormat,t[6]=rt}else rt=t[6];const u=rt,[U,Pt]=T.useState(o.autoplay?0:u.length-1),[Wt,se]=T.useState(void 0),a=T.useRef(null),dt=T.useRef(null);let R,r;t[9]===Symbol.for("react.memo_cache_sentinel")?(R=()=>{const x=new ResizeObserver(It=>{m(It[0].target.clientWidth||620),Zt(It[0].target.clientHeight||480)});return a.current&&x.observe(a.current),()=>x.disconnect()},r=[],t[9]=R,t[10]=r):(R=t[9],r=t[10]),T.useEffect(R,r);let Mt,z;t[11]!==f||t[12]!==o.speed||t[13]!==u?(Mt=()=>{const x=setInterval(()=>{Pt(It=>It<u.length-1?It+1:0)},(o.speed||2)*1e3);return f||clearInterval(x),()=>clearInterval(x)},z=[u,f,o.speed],t[11]=f,t[12]=o.speed,t[13]=u,t[14]=Mt,t[15]=z):(Mt=t[14],z=t[15]),T.useEffect(Mt,z);const oe=o.dateFormat||"yyyy";let pe;t[16]!==U||t[17]!==oe||t[18]!==o.showOnlyActiveDate||t[19]!==u?(pe=ke.getSliderMarks(u,U,o.showOnlyActiveDate,oe),t[16]=U,t[17]=oe,t[18]=o.showOnlyActiveDate,t[19]=u,t[20]=pe):pe=t[20];const fe=pe,ye=ht==="horizontal"?si:He,ge=p?.graphContainer,be=E?.graphContainer;let re;t[21]!==p?.description||t[22]!==p?.title||t[23]!==c||t[24]!==Y||t[25]!==Qt||t[26]!==B||t[27]!==Jt||t[28]!==E?.description||t[29]!==E?.title||t[30]!==v?(re=Jt||Qt||B||Y?i.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:p?.title,description:p?.description},graphTitle:Jt,graphDescription:Qt,width:v,graphDownload:B?dt:void 0,dataDownload:Y?c.map(Vi).filter($i).length>0?c.map(Li).filter(Ii):c.filter(Mi):null}):null,t[21]=p?.description,t[22]=p?.title,t[23]=c,t[24]=Y,t[25]=Qt,t[26]=B,t[27]=Jt,t[28]=E?.description,t[29]=E?.title,t[30]=v,t[31]=re):re=t[31];let le;t[32]!==U||t[33]!==fe||t[34]!==f||t[35]!==o.enabled||t[36]!==u?(le=o.enabled&&u.length>0&&fe?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{y(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?i.jsxRuntimeExports.jsx(Oe.Pause,{}):i.jsxRuntimeExports.jsx(Oe.Play,{})}),i.jsxRuntimeExports.jsx(ke.Nr,{min:u[0],max:u[u.length-1],marks:fe,step:null,defaultValue:u[u.length-1],value:u[U],onChangeComplete:x=>{Pt(u.indexOf(x))},onChange:x=>{Pt(u.indexOf(x))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t[32]=U,t[33]=fe,t[34]=f,t[35]=o.enabled,t[36]=u,t[37]=le):le=t[37];let ce;t[38]!==p?.colorLegend||t[39]!==$t||t[40]!==k||t[41]!==xt||t[42]!==c.length||t[43]!==nt||t[44]!==v?(ce=nt&&c.length>0?i.jsxRuntimeExports.jsx(Be.ColorLegendWithMouseOver,{width:v,colorDomain:$t,colors:xt,colorLegendTitle:k,setSelectedColor:se,showNAColor:!1,className:p?.colorLegend}):null,t[38]=p?.colorLegend,t[39]=$t,t[40]=k,t[41]=xt,t[42]=c.length,t[43]=nt,t[44]=v,t[45]=ce):ce=t[45];let ue;t[46]!==c.length?(ue=c.length===0&&i.jsxRuntimeExports.jsx(Ye.EmptyState,{}),t[46]=c.length,t[47]=ue):ue=t[47];let xe;t[48]!==ye||t[49]!==C||t[50]!==_||t[51]!==J||t[52]!==Ut||t[53]!==jt||t[54]!==p||t[55]!==xt||t[56]!==D||t[57]!==st||t[58]!==c||t[59]!==Z||t[60]!==ot||t[61]!==S||t[62]!==at||t[63]!==Ot||t[64]!==U||t[65]!==w||t[66]!==A||t[67]!==mt||t[68]!==P||t[69]!==g||t[70]!==bt||t[71]!==ft||t[72]!==Vt||t[73]!==it||t[74]!==j?.locale||t[75]!==j?.padZeros||t[76]!==j?.precision||t[77]!==j?.prefix||t[78]!==j?.suffix||t[79]!==N||t[80]!==Xt||t[81]!==zt||t[82]!==Ht||t[83]!==et||t[84]!==Lt||t[85]!==Wt||t[86]!==K||t[87]!==Ct||t[88]!==Q||t[89]!==qt||t[90]!==s||t[91]!==E||t[92]!==b||t[93]!==vt||t[94]!==o.dateFormat||t[95]!==o.enabled||t[96]!==q||t[97]!==wt||t[98]!==O||t[99]!==u||t[100]!==Et?(xe=vt&&b&&c.length>0?i.jsxRuntimeExports.jsx(ye,{hideAxisLine:at,data:s!==void 0?s==="diff"?Ae.orderBy(we.ensureCompleteDataForDumbbellChart(c,o.dateFormat||"yyyy").filter(x=>o.enabled?`${x.date}`===ve.format(new Date(u[U]),o.dateFormat||"yyyy"):x).filter(x=>S?!x.x.every(Ri):x),Ci,[qt||"asc"]).filter((x,It)=>g?It<g:!0):Ae.orderBy(we.ensureCompleteDataForDumbbellChart(c,o.dateFormat||"yyyy").filter(x=>o.enabled?`${x.date}`===ve.format(new Date(u[U]),o.dateFormat||"yyyy"):x).filter(x=>S?!x.x.every(Oi):x),x=>Bt.checkIfNullOrUndefined(x.x[s])?-1/0:x.x[s],[qt||"asc"]).filter((x,It)=>g?It<g:!0):we.ensureCompleteDataForDumbbellChart(c,o.dateFormat||"yyyy").filter(x=>S?!x.x.every(Ei):x).filter((x,It)=>g?It<g:!0),dotColors:xt,width:vt,height:b,radius:zt,barPadding:Ut,showTicks:Ct,leftMargin:mt,rightMargin:Lt,topMargin:wt,bottomMargin:jt,truncateBy:O,showLabels:K,showValues:Q,tooltip:q,onSeriesMouseOver:Xt,maxValue:Bt.checkIfNullOrUndefined(bt)?Math.max(...c.map(Ai))<0?0:Math.max(...c.map(wi)):bt,minValue:Bt.checkIfNullOrUndefined(Vt)?Math.min(...c.map(bi))>0?0:Math.min(...c.map(yi)):Vt,onSeriesMouseClick:N,selectedColor:Wt,arrowConnector:_,connectorStrokeWidth:D,maxBarThickness:P,minBarThickness:ft,resetSelectionOnDoubleClick:et,detailsOnClick:Z,axisTitle:J,noOfTicks:it,valueColor:Et,styles:E,classNames:p,labelOrder:w,refValues:Ht,animate:C===!0?{duration:.5,once:!0,amount:.5}:C||{duration:0,once:!0,amount:0},customLayers:st,highlightedDataPoints:Ot,dimmedOpacity:ot,rtl:A==="ar"||A==="he",locale:j?.locale||"en",padZeros:j?.padZeros||!1,suffix:j?.suffix||"",prefix:j?.prefix||"",precision:j?.precision??2}):null,t[48]=ye,t[49]=C,t[50]=_,t[51]=J,t[52]=Ut,t[53]=jt,t[54]=p,t[55]=xt,t[56]=D,t[57]=st,t[58]=c,t[59]=Z,t[60]=ot,t[61]=S,t[62]=at,t[63]=Ot,t[64]=U,t[65]=w,t[66]=A,t[67]=mt,t[68]=P,t[69]=g,t[70]=bt,t[71]=ft,t[72]=Vt,t[73]=it,t[74]=j?.locale,t[75]=j?.padZeros,t[76]=j?.precision,t[77]=j?.prefix,t[78]=j?.suffix,t[79]=N,t[80]=Xt,t[81]=zt,t[82]=Ht,t[83]=et,t[84]=Lt,t[85]=Wt,t[86]=K,t[87]=Ct,t[88]=Q,t[89]=qt,t[90]=s,t[91]=E,t[92]=b,t[93]=vt,t[94]=o.dateFormat,t[95]=o.enabled,t[96]=q,t[97]=wt,t[98]=O,t[99]=u,t[100]=Et,t[101]=xe):xe=t[101];let de;t[102]!==ue||t[103]!==xe?(de=i.jsxRuntimeExports.jsxs(Ee.GraphArea,{ref:a,children:[ue,xe]}),t[102]=ue,t[103]=xe,t[104]=de):de=t[104];let me;t[105]!==p?.footnote||t[106]!==p?.source||t[107]!==lt||t[108]!==Kt||t[109]!==E?.footnote||t[110]!==E?.source||t[111]!==v?(me=Kt||lt?i.jsxRuntimeExports.jsx(Ge.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:p?.footnote,source:p?.source},sources:Kt,footNote:lt,width:v}):null,t[105]=p?.footnote,t[106]=p?.source,t[107]=lt,t[108]=Kt,t[109]=E?.footnote,t[110]=E?.source,t[111]=v,t[112]=me):me=t[112];let he;return t[113]!==St||t[114]!==Rt||t[115]!==kt||t[116]!==At||t[117]!==A||t[118]!==M||t[119]!==pt||t[120]!==V||t[121]!==ge||t[122]!==be||t[123]!==re||t[124]!==le||t[125]!==ce||t[126]!==de||t[127]!==me||t[128]!==tt||t[129]!==v?(he=i.jsxRuntimeExports.jsxs(Ee.GraphContainer,{className:ge,style:be,id:kt,ref:dt,"aria-label":St,backgroundColor:Rt,theme:tt,language:A,minHeight:M,width:v,height:At,relativeHeight:V,padding:pt,children:[re,le,ce,de,me]}),t[113]=St,t[114]=Rt,t[115]=kt,t[116]=At,t[117]=A,t[118]=M,t[119]=pt,t[120]=V,t[121]=ge,t[122]=be,t[123]=re,t[124]=le,t[125]=ce,t[126]=de,t[127]=me,t[128]=tt,t[129]=v,t[130]=he):he=t[130],he}function yi(e){return Math.min(...e.x.filter(gi))}function gi(e){return e!==null}function bi(e){return Math.min(...e.x.filter(vi))}function vi(e){return e!==null}function wi(e){return Math.max(...e.x.filter(ji))}function ji(e){return e!==null}function Ai(e){return Math.max(...e.x.filter(ki))}function ki(e){return e!==null}function Ei(e){return e==null}function Oi(e){return e==null}function Ci(e){return Bt.checkIfNullOrUndefined(e.x[e.x.length-1])||Bt.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]}function Ri(e){return e==null}function Mi(e){return e!==void 0}function Ii(e){return e!==void 0}function Li(e){return e.data}function $i(e){return e!==void 0}function Vi(e){return e.data}function Ni(e,t){return e-t}function Di(e){return e.date}exports.DumbbellChart=hi;
|
|
2
2
|
//# sourceMappingURL=DumbbellChart.cjs.map
|