{
  "version": 3,
  "sources": ["../../src/document/components/chrome/analytics/section/FunnelConversionRateChart.tsx", "../../src/document/components/chrome/analytics/section/FunnelConversionRateChart.styles.ts"],
  "sourcesContent": ["import { colors, fonts } from \"@framerjs/fresco/tokens\"\nimport { cx } from \"@linaria/core\"\nimport { AxisBottom, AxisLeft } from \"@visx/axis\"\nimport { localPoint } from \"@visx/event\"\nimport { LinearGradient } from \"@visx/gradient\"\nimport { Group } from \"@visx/group\"\nimport { scaleLinear, scaleTime } from \"@visx/scale\"\nimport { AreaClosed, Bar, LinePath } from \"@visx/shape\"\nimport { useTooltip } from \"@visx/tooltip\"\nimport { format, isSameDay } from \"date-fns\"\nimport { getDefaultName } from \"document/components/utils/nodes.ts\"\nimport engine from \"document/engine.ts\"\nimport type { FunnelNode } from \"document/models/CanvasTree/index.ts\"\nimport { motion } from \"framer-motion\"\nimport type { Target, TargetAndTransition } from \"framer-motion\"\nimport React from \"react\"\nimport { ChartFade } from \"../components/ChartFade.tsx\"\nimport { ChartHorizontalLines } from \"../components/ChartHorizontalLines.tsx\"\nimport { ChartTooltip, type TooltipItem } from \"../components/ChartTooltip.tsx\"\nimport { fadeTransition } from \"../utils/animations.ts\"\nimport { ChartCurves, TOOLTIP_DOT_RADIUS, bisector, getTooltipLeft } from \"../utils/chart.ts\"\nimport { formatAxisDate, formatNumberCommaSeparatorNotation, formatPercentage } from \"../utils/formatUtils.ts\"\nimport type { FunnelConversionRatePoint } from \"../utils/funnel-stats/getFunnelConversionRate.ts\"\nimport * as styles from \"./FunnelConversionRateChart.styles.ts\"\nimport {\n\tCHART_HEIGHT,\n\tINNER_CHART_HEIGHT,\n\tMARGIN_LEFT,\n\tMARGIN_RIGHT,\n\tMARGIN_TOP,\n\tX_AXIS_MARGIN,\n\tY_AXIS_TOP_LABEL_PADDING,\n\tY_AXIS_WIDTH,\n} from \"./FunnelConversionRateChart.styles.ts\"\n\nconst NUM_TICKS_HOURLY = 6\nconst NUM_TICKS_DAILY = 2\n\nconst getDate = (d?: FunnelConversionRatePoint) => (d?.timestamp ? new Date(d.timestamp) : new Date())\nconst bisectDate = bisector<FunnelConversionRatePoint, Date>(getDate).left\n\ninterface Props {\n\tfunnel: FunnelNode\n\tisLoading: boolean\n\tfunnelConversionRate: FunnelConversionRatePoint[]\n}\n\nconst FunnelConversionRateChart = React.memo(function FunnelConversionRateChart({\n\tfunnel,\n\tisLoading,\n\tfunnelConversionRate,\n}: Props) {\n\tconst fromDate = React.useMemo(() => getDate(funnelConversionRate[0]), [funnelConversionRate])\n\tconst toDate = React.useMemo(\n\t\t() => getDate(funnelConversionRate[funnelConversionRate.length - 1]),\n\t\t[funnelConversionRate],\n\t)\n\n\tconst isHourlyData = React.useMemo(() => {\n\t\tconst secondTick = getDate(funnelConversionRate[1])\n\t\treturn isSameDay(fromDate, secondTick)\n\t}, [fromDate, funnelConversionRate])\n\n\tconst {\n\t\ttooltipData,\n\t\ttooltipLeft = 0,\n\t\ttooltipTop = 0,\n\t\tshowTooltip,\n\t\thideTooltip,\n\t} = useTooltip<FunnelConversionRatePoint>()\n\n\tconst ref = React.useRef<HTMLDivElement | null>(null)\n\tconst refCallback = React.useCallback((node: HTMLDivElement | null) => {\n\t\tref.current = node\n\t\tif (node) setChartWidth(node.getBoundingClientRect().width)\n\t}, [])\n\tconst [chartWidth, setChartWidth] = React.useState(0)\n\n\tReact.useEffect(() => {\n\t\tif (!ref.current) return\n\t\tconst resizeObserver = new ResizeObserver(entries => {\n\t\t\tfor (const entry of entries) {\n\t\t\t\tsetChartWidth(entry.target.getBoundingClientRect().width)\n\t\t\t}\n\t\t})\n\t\tresizeObserver.observe(ref.current)\n\t\treturn () => resizeObserver.disconnect()\n\t}, [])\n\n\t// bounds\n\tconst innerWidth = chartWidth - MARGIN_LEFT - MARGIN_RIGHT\n\n\t// scales\n\tconst [firstDateInRange, lastDateInRange, dateScale] = React.useMemo(() => {\n\t\treturn [\n\t\t\tfromDate,\n\t\t\ttoDate,\n\t\t\tscaleTime({\n\t\t\t\trange: [0, innerWidth],\n\t\t\t\tdomain: [fromDate, toDate],\n\t\t\t\tround: false,\n\t\t\t\tnice: false,\n\t\t\t}),\n\t\t]\n\t}, [innerWidth, fromDate, toDate])\n\n\t// gets the maximum conversion rate in the entire dataset\n\tconst [minConversionRate, midConversionRate, maxConversionRate] = React.useMemo(() => {\n\t\tlet minValue = 100\n\t\tlet maxValue = 0\n\t\tfor (const result of funnelConversionRate) {\n\t\t\tminValue = 0\n\t\t\tconst roundedUp =\n\t\t\t\tresult.conversionRate < 0.05\n\t\t\t\t\t? Math.ceil(result.conversionRate * 100) / 100 // round up to nearest 0.01\n\t\t\t\t\t: Math.ceil(result.conversionRate * 10) / 10\n\t\t\tmaxValue = Math.max(maxValue, roundedUp)\n\t\t}\n\n\t\tif (minValue === 100) minValue = 0\n\n\t\tconst midValue = (minValue + maxValue) / 2\n\n\t\treturn [minValue, midValue, maxValue]\n\t}, [funnelConversionRate])\n\n\tconst maxConversionRateScale = React.useMemo(\n\t\t() =>\n\t\t\tscaleLinear({\n\t\t\t\trange: [INNER_CHART_HEIGHT, 0],\n\t\t\t\tdomain: [0, maxConversionRate],\n\t\t\t\tround: true,\n\t\t\t\tnice: false,\n\t\t\t}),\n\t\t[maxConversionRate],\n\t)\n\n\tconst formatBottomAxisLabels = React.useCallback(\n\t\t(val: Date) => (isHourlyData ? format(val, \"h a\") : formatAxisDate(val)),\n\t\t[isHourlyData],\n\t)\n\tconst formatLeftAxisLabels = React.useCallback((val: number) => formatPercentage(val), [])\n\n\t// tooltip handler\n\tconst handleTooltip = React.useCallback(\n\t\t(event: React.TouchEvent<SVGRectElement> | React.MouseEvent<SVGRectElement>) => {\n\t\t\tconst { x: mouseX } = localPoint(event) || { x: 0 }\n\t\t\tconst hoveredDate = dateScale.invert(mouseX - MARGIN_LEFT)\n\n\t\t\tconst nearestDataIndex = bisectDate(funnelConversionRate, hoveredDate, 1)\n\n\t\t\tconst previousDataPoint = funnelConversionRate[nearestDataIndex - 1]\n\t\t\tconst nextDataPoint = funnelConversionRate[nearestDataIndex]\n\n\t\t\tlet nearestDataPoint: FunnelConversionRatePoint | undefined\n\t\t\tif (previousDataPoint && !nextDataPoint) {\n\t\t\t\tnearestDataPoint = previousDataPoint\n\t\t\t} else if (previousDataPoint && nextDataPoint) {\n\t\t\t\tconst previousDate = getDate(previousDataPoint)\n\t\t\t\tconst nextDate = getDate(nextDataPoint)\n\n\t\t\t\tif (\n\t\t\t\t\tMath.abs(hoveredDate.getTime() - previousDate.getTime()) <\n\t\t\t\t\tMath.abs(nextDate.getTime() - hoveredDate.getTime())\n\t\t\t\t) {\n\t\t\t\t\tnearestDataPoint = previousDataPoint\n\t\t\t\t} else {\n\t\t\t\t\tnearestDataPoint = nextDataPoint\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (nearestDataPoint) {\n\t\t\t\tshowTooltip({\n\t\t\t\t\ttooltipData: nearestDataPoint,\n\t\t\t\t\ttooltipLeft: dateScale(getDate(nearestDataPoint)) + MARGIN_LEFT,\n\t\t\t\t\ttooltipTop: maxConversionRateScale(nearestDataPoint.conversionRate),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\t[showTooltip, maxConversionRateScale, dateScale, funnelConversionRate],\n\t)\n\n\tconst getLinePathX = React.useCallback((d: FunnelConversionRatePoint) => dateScale(getDate(d)) ?? 0, [dateScale])\n\n\tconst getConversionRatePathY = React.useCallback(\n\t\t(d: FunnelConversionRatePoint) => maxConversionRateScale(d.conversionRate) ?? 0,\n\t\t[maxConversionRateScale],\n\t)\n\n\tconst tooltipItems = React.useMemo(() => {\n\t\tif (!tooltipData) return []\n\n\t\tconst result: TooltipItem[] = []\n\n\t\tfor (let i = 0; i < tooltipData.funnelSteps.length; i++) {\n\t\t\tconst stepData = tooltipData.funnelSteps[i]\n\t\t\tconst step = funnel.children.at(i)\n\t\t\tif (!stepData || !step) continue\n\n\t\t\tresult.push({\n\t\t\t\tlabel: step.resolveValue(\"name\") || getDefaultName(engine.componentLoader, step),\n\t\t\t\tvalue: formatNumberCommaSeparatorNotation(stepData.count),\n\t\t\t})\n\t\t}\n\n\t\treturn result\n\t}, [tooltipData, funnel])\n\n\tconst initial: Target = { opacity: 0 }\n\tconst animate: TargetAndTransition = {\n\t\topacity: isLoading ? 0 : 1,\n\t\ttransition: fadeTransition,\n\t}\n\n\treturn (\n\t\t<div ref={refCallback} className={styles.container}>\n\t\t\t<div className={styles.title}>Over Time</div>\n\n\t\t\t<svg width={chartWidth} height={CHART_HEIGHT} className={cx(styles.chart, isLoading && styles.chartIsUpdating)}>\n\t\t\t\t<g>\n\t\t\t\t\t<title>Conversion Rate Over Time</title>\n\t\t\t\t</g>\n\t\t\t\t<defs>\n\t\t\t\t\t<ChartFade id=\"fadeMask\" />\n\t\t\t\t\t<LinearGradient\n\t\t\t\t\t\tid=\"area-gradient\"\n\t\t\t\t\t\tfrom={colors.tint}\n\t\t\t\t\t\tto={colors.analyticsBackground}\n\t\t\t\t\t\tfromOpacity={0.3}\n\t\t\t\t\t\ttoOpacity={0}\n\t\t\t\t\t/>\n\t\t\t\t</defs>\n\n\t\t\t\t<motion.g initial={initial} animate={animate} mask=\"url(#fadeMask)\">\n\t\t\t\t\t{/* Offset has to be inside the fadeMask to avoid clipping */}\n\t\t\t\t\t<Group left={MARGIN_LEFT} top={MARGIN_TOP + Y_AXIS_TOP_LABEL_PADDING}>\n\t\t\t\t\t\t<ChartHorizontalLines\n\t\t\t\t\t\t\tscale={maxConversionRateScale}\n\t\t\t\t\t\t\tleft={Y_AXIS_WIDTH}\n\t\t\t\t\t\t\twidth={chartWidth}\n\t\t\t\t\t\t\tlines={[minConversionRate, midConversionRate, maxConversionRate]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<LinePath<FunnelConversionRatePoint>\n\t\t\t\t\t\t\tcurve={ChartCurves.Smooth}\n\t\t\t\t\t\t\tstroke={colors.tint}\n\t\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\tdata={funnelConversionRate}\n\t\t\t\t\t\t\tx={getLinePathX}\n\t\t\t\t\t\t\ty={getConversionRatePathY}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AreaClosed<FunnelConversionRatePoint>\n\t\t\t\t\t\t\tcurve={ChartCurves.Smooth}\n\t\t\t\t\t\t\tdata={funnelConversionRate}\n\t\t\t\t\t\t\tx={getLinePathX}\n\t\t\t\t\t\t\ty={getConversionRatePathY}\n\t\t\t\t\t\t\tyScale={maxConversionRateScale}\n\t\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\tstroke=\"url(#area-gradient)\"\n\t\t\t\t\t\t\tfill=\"url(#area-gradient)\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{tooltipData && (\n\t\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\t\tcx={getTooltipLeft(tooltipLeft, MARGIN_LEFT, chartWidth)}\n\t\t\t\t\t\t\t\tcy={tooltipTop}\n\t\t\t\t\t\t\t\tr={TOOLTIP_DOT_RADIUS}\n\t\t\t\t\t\t\t\tfill={colors.tint}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Group>\n\t\t\t\t</motion.g>\n\n\t\t\t\t<Group left={MARGIN_LEFT} top={MARGIN_TOP + Y_AXIS_TOP_LABEL_PADDING}>\n\t\t\t\t\t<AxisBottom\n\t\t\t\t\t\thideTicks\n\t\t\t\t\t\thideAxisLine\n\t\t\t\t\t\ttop={INNER_CHART_HEIGHT + X_AXIS_MARGIN}\n\t\t\t\t\t\tscale={dateScale}\n\t\t\t\t\t\tnumTicks={isHourlyData ? NUM_TICKS_HOURLY : NUM_TICKS_DAILY}\n\t\t\t\t\t\ttickValues={isHourlyData ? undefined : [firstDateInRange, lastDateInRange]}\n\t\t\t\t\t\ttickFormat={formatBottomAxisLabels}\n\t\t\t\t\t\ttickLabelProps={(_, index) => ({\n\t\t\t\t\t\t\tfill: colors.analyticsTertiary,\n\t\t\t\t\t\t\tfontSize: fonts.size.base,\n\t\t\t\t\t\t\tfontWeight: fonts.weight.baseActive,\n\t\t\t\t\t\t\ttextAnchor: index === 0 ? \"start\" : \"end\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AxisLeft\n\t\t\t\t\t\thideTicks\n\t\t\t\t\t\thideAxisLine\n\t\t\t\t\t\thideZero\n\t\t\t\t\t\tscale={maxConversionRateScale}\n\t\t\t\t\t\tnumTicks={3}\n\t\t\t\t\t\ttop={-Y_AXIS_TOP_LABEL_PADDING}\n\t\t\t\t\t\tleft={Y_AXIS_WIDTH}\n\t\t\t\t\t\ttickFormat={formatLeftAxisLabels}\n\t\t\t\t\t\ttickValues={[minConversionRate, midConversionRate, maxConversionRate]}\n\t\t\t\t\t\ttickLength={Y_AXIS_WIDTH}\n\t\t\t\t\t\ttickLabelProps={() => ({\n\t\t\t\t\t\t\tverticalAnchor: \"start\",\n\t\t\t\t\t\t\tfill: colors.analyticsTertiary,\n\t\t\t\t\t\t\tfontSize: fonts.size.base,\n\t\t\t\t\t\t\tfontWeight: fonts.weight.baseActive,\n\t\t\t\t\t\t\ttextAnchor: \"start\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Bar\n\t\t\t\t\t\twidth={innerWidth}\n\t\t\t\t\t\theight={INNER_CHART_HEIGHT}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\trx={14}\n\t\t\t\t\t\tonTouchStart={handleTooltip}\n\t\t\t\t\t\tonTouchMove={handleTooltip}\n\t\t\t\t\t\tonMouseMove={handleTooltip}\n\t\t\t\t\t\tonMouseLeave={hideTooltip}\n\t\t\t\t\t/>\n\t\t\t\t</Group>\n\t\t\t</svg>\n\n\t\t\t{tooltipData && (\n\t\t\t\t<ChartTooltip\n\t\t\t\t\ttop={tooltipTop}\n\t\t\t\t\tleft={getTooltipLeft(tooltipLeft, 0, chartWidth)}\n\t\t\t\t\tisHourlyData={isHourlyData}\n\t\t\t\t\tdate={getDate(tooltipData)}\n\t\t\t\t\titems={tooltipItems}\n\t\t\t\t\tfooter={{\n\t\t\t\t\t\tlabel: \"Conversion Rate\",\n\t\t\t\t\t\tvalue: formatPercentage(tooltipData.conversionRate),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t)\n})\n\n// Using `export default` since React.lazy() explicitly doesn\u2019t support named imports\n// biome-ignore lint/style/noDefaultExport: needed here\nexport default FunnelConversionRateChart\n", "import \"FunnelConversionRateChart.styles_13x8pfe.wyw.css\"; export const MARGIN_TOP = 0;\nexport const MARGIN_RIGHT = 0;\nconst MARGIN_BOTTOM = 45;\nexport const MARGIN_LEFT = 0;\nexport const Y_AXIS_TOP_LABEL_PADDING = 4;\nexport const Y_AXIS_WIDTH = 40;\nexport const X_AXIS_MARGIN = 15;\nexport const INNER_CHART_HEIGHT = 200;\nexport const CHART_HEIGHT = INNER_CHART_HEIGHT + MARGIN_TOP + MARGIN_BOTTOM + Y_AXIS_TOP_LABEL_PADDING;\nexport const container = \"container_c1axyyfl\";\nexport const title = \"title_t1j25iox\";\nexport const chart = \"chart_c1spxh8d\";\nexport const chartIsUpdating = \"chartIsUpdating_c4wusg8\";"],
  "mappings": "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",
  "names": ["React", "FunnelConversionRateChart"]
}
