{"version":3,"file":"BarChart.cjs","names":["_react","require","_Accessibility","_Bar","_react2","_useStableCallback","_ChartContainer","_ChartFrame","_ChartPopoverContent","_useChartAnimation","_chartTokens","_getChartSeriesPointData","_hasDuplicateSeries","_useChartValueFormatter","_useStableValue","_jsxRuntime","BarChartContent","ariaDescription","categories","onPointClick","pointPopoverValueFormat","series","xAxisFormat","xAxisLabel","yAxisLabel","chartTokens","useChartTokens","formatValue","useChartValueFormatter","hasDuplicateSeries","Error","animation","useChartAnimation","seriesList","useMemo","map","chartSeries","pointData","getChartSeriesPointData","hasLegend","length","options","chart","backgroundColor","spacingBottom","edgeSpacing","spacingLeft","spacingRight","spacingTop","topEdgeSpacing","style","fontFamily","colors","seriesColors","subtitle","text","undefined","title","keyboardNavigation","focusBorder","margin","focusRing","offset","borderRadius","radius","color","lineWidth","width","xAxisCrosshair","axis","categoryHoverBandColor","zIndex","xAxisLabels","valueStyle","xAxisTitle","align","rotatedLabelSpacing","labelStyle","yAxisLabels","formatter","context","format","value","Number","yAxisTitle","uprightLabelSpacing","barPlotOptions","bar","borderWidth","dataLabels","enabled","states","hover","brightness","seriesPlotOptions","jsx","ChartContainer","children","jsxs","Chart","type","Accessibility","description","landmarkVerbosity","XAxis","crosshair","gridLineColor","lineColor","gridLineWidth","labels","tickColor","tickLength","YAxis","Legend","legend","shared","default","Tooltip","popover","borderColor","padding","shadow","containerStyle","ChartPopoverContent","categoryPlaceholder","isShared","seriesLabelPlaceholder","valuePlaceholder","PlotOptions","Credits","BarSeries","data","name","MemoizedBarChartContent","memo","BarChart","props","stableOnPointClick","useStableCallback","stableOnRetry","onRetry","hasError","isLoading","chartProps","stableChartProps","useStableValue","ChartFrame","MemoizedBarChart","exports","displayName"],"sources":["../../../src/charts/BarChart.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2026-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n  Chart,\n  Credits,\n  Legend,\n  PlotOptions,\n  Tooltip as Popover,\n  XAxis,\n  YAxis,\n} from \"@highcharts/react\";\nimport { Accessibility } from \"@highcharts/react/modules/Accessibility.js\";\nimport { BarSeries } from \"@highcharts/react/series/Bar.js\";\nimport { memo, useMemo } from \"react\";\n\nimport type { CartesianChartProps } from \"./utils/chartTypes.js\";\nimport type { ChartValueFormat } from \"./utils/formatChartValue.js\";\n\nimport { useStableCallback } from \"../useStableCallback.js\";\nimport { ChartContainer } from \"./components/ChartContainer.js\";\nimport { ChartFrame } from \"./components/ChartFrame.js\";\nimport { ChartPopoverContent } from \"./components/ChartPopoverContent.js\";\nimport { useChartAnimation } from \"./useChartAnimation.js\";\nimport { useChartTokens } from \"./utils/chartTokens.js\";\nimport { getChartSeriesPointData } from \"./utils/getChartSeriesPointData.js\";\nimport { hasDuplicateSeries } from \"./utils/hasDuplicateSeries.js\";\nimport { useChartValueFormatter } from \"./utils/useChartValueFormatter.js\";\nimport { useStableValue } from \"./utils/useStableValue.js\";\n\n/** The props for a bar chart. */\nexport type BarChartProps = CartesianChartProps & {\n  /**\n   * The format for the values on the horizontal axis. A bar chart shows its numeric values on that axis. If no preset gives the format that you need, supply a function.\n   * @default \"compact\"\n   */\n  xAxisFormat?: ChartValueFormat;\n};\n\nconst BarChartContent = ({\n  ariaDescription,\n  categories,\n  onPointClick,\n  pointPopoverValueFormat,\n  series,\n  xAxisFormat = \"compact\",\n  xAxisLabel,\n  yAxisLabel,\n}: BarChartProps) => {\n  const chartTokens = useChartTokens();\n  const formatValue = useChartValueFormatter();\n\n  if (hasDuplicateSeries({ series })) {\n    throw new Error(\"This chart has two or more series with the same name.\");\n  }\n\n  const animation = useChartAnimation();\n\n  // This memo builds a click handler and formats the value for each point. Highcharts registers a new click handler for a point whenever the identity of that point's data changes. Without this memo, every render would build new data, so Highcharts would tear down and re-register its handlers even when nothing changed.\n  //\n  // This memo works because BarChart passes its props through useStableValue. That hook keeps `series` at the same identity across a render that does not change the data, so this memo does not rerun. BarChart also passes `onPointClick` through useStableCallback, so an inline handler from the caller keeps the same identity here.\n  //\n  // useStableValue compares a function by identity, not by what the function does. `pointPopoverValueFormat` accepts a function, and this memo formats each value at build time. So a caller that supplies a new function on every render for that property still defeats this memo. Such a caller needs its own useCallback.\n  const seriesList = useMemo(\n    () =>\n      series.map((chartSeries) => ({\n        chartSeries,\n        pointData: getChartSeriesPointData({\n          categories,\n          chartSeries,\n          formatValue,\n          onPointClick,\n          pointPopoverValueFormat,\n        }),\n      })),\n    [categories, formatValue, onPointClick, pointPopoverValueFormat, series],\n  );\n\n  const hasLegend = useMemo(() => series.length > 1, [series.length]);\n\n  const options = useMemo(\n    () => ({\n      chart: {\n        animation,\n        backgroundColor: chartTokens.chart.backgroundColor,\n        spacingBottom: chartTokens.chart.edgeSpacing,\n        spacingLeft: chartTokens.chart.edgeSpacing,\n        spacingRight: chartTokens.chart.edgeSpacing,\n        spacingTop: chartTokens.chart.topEdgeSpacing,\n        style: { fontFamily: chartTokens.chart.fontFamily },\n      },\n      // Each series takes the next color from this list. So a change to the order of `seriesColors`, in `chartTokens.ts`, changes the color of every series.\n      colors: chartTokens.seriesColors,\n      // The chart library ships a default title text of \"Chart title\". Its documented way to disable a title is a `text` of undefined, which draws an empty text element that measures zero and so reserves no height. A whole `title` of undefined does not work, because the React wrapper always merges a `title` object over the `options` prop.\n      subtitle: { text: undefined },\n      title: { text: undefined },\n    }),\n    [animation, chartTokens],\n  );\n\n  const keyboardNavigation = useMemo(\n    () => ({\n      focusBorder: {\n        margin: chartTokens.focusRing.offset,\n        style: {\n          borderRadius: chartTokens.focusRing.radius,\n          color: chartTokens.focusRing.color,\n          lineWidth: chartTokens.focusRing.width,\n        },\n      },\n    }),\n    [chartTokens],\n  );\n  const xAxisCrosshair = useMemo(\n    () => ({\n      color: chartTokens.axis.categoryHoverBandColor,\n      zIndex: 0,\n    }),\n    [chartTokens],\n  );\n  const xAxisLabels = useMemo(\n    () => ({ style: chartTokens.axis.valueStyle }),\n    [chartTokens],\n  );\n  const xAxisTitle = useMemo(\n    () => ({\n      align: \"middle\" as const,\n      // This axis draws down the left side, so its label is the rotated one.\n      margin: chartTokens.axis.rotatedLabelSpacing,\n      style: chartTokens.axis.labelStyle,\n      text: yAxisLabel,\n    }),\n    [chartTokens, yAxisLabel],\n  );\n  const yAxisLabels = useMemo(\n    () => ({\n      formatter: (context: { value: unknown }) =>\n        formatValue({\n          format: xAxisFormat,\n          value: Number(context.value),\n        }),\n      style: chartTokens.axis.valueStyle,\n    }),\n    [chartTokens, formatValue, xAxisFormat],\n  );\n  const yAxisTitle = useMemo(\n    () => ({\n      align: \"middle\" as const,\n      margin: chartTokens.axis.uprightLabelSpacing,\n      style: chartTokens.axis.labelStyle,\n      text: xAxisLabel,\n    }),\n    [chartTokens, xAxisLabel],\n  );\n  const barPlotOptions = useMemo(\n    () => ({\n      borderRadius: chartTokens.bar.radius,\n      borderWidth: 0,\n      dataLabels: { enabled: false },\n      states: {\n        hover: { brightness: 0 },\n      },\n    }),\n    [chartTokens],\n  );\n  const seriesPlotOptions = useMemo(() => ({ animation }), [animation]);\n\n  return (\n    <ChartContainer>\n      <Chart options={options} type=\"bar\">\n        <Accessibility\n          description={ariaDescription}\n          enabled\n          keyboardNavigation={keyboardNavigation}\n          landmarkVerbosity=\"disabled\"\n        />\n        <XAxis\n          categories={categories}\n          crosshair={xAxisCrosshair}\n          gridLineColor={chartTokens.axis.lineColor}\n          gridLineWidth={0}\n          labels={xAxisLabels}\n          lineColor={chartTokens.axis.lineColor}\n          lineWidth={0}\n          tickColor={chartTokens.axis.lineColor}\n          tickLength={0}\n          title={xAxisTitle}\n        />\n        <YAxis\n          gridLineColor={chartTokens.axis.lineColor}\n          gridLineWidth={chartTokens.axis.gridLineWidth}\n          labels={yAxisLabels}\n          lineColor=\"transparent\"\n          tickColor=\"transparent\"\n          title={yAxisTitle}\n        />\n        <Legend\n          enabled={hasLegend}\n          {...chartTokens.legend.shared}\n          {...chartTokens.legend.default}\n        />\n        <Popover\n          backgroundColor={chartTokens.popover.backgroundColor}\n          borderColor={chartTokens.popover.borderColor}\n          borderRadius={chartTokens.popover.borderRadius}\n          borderWidth={chartTokens.popover.borderWidth}\n          padding={chartTokens.popover.padding}\n          shadow={false}\n          shared\n          style={chartTokens.popover.containerStyle}\n        >\n          <ChartPopoverContent\n            categoryPlaceholder=\"{point.key}\"\n            chartTokens={chartTokens}\n            isShared\n            seriesLabelPlaceholder=\"{series.name}\"\n            valuePlaceholder=\"{point.custom.formattedValue}\"\n          />\n        </Popover>\n        <PlotOptions bar={barPlotOptions} series={seriesPlotOptions} />\n        <Credits enabled={false} />\n        {seriesList.map(({ chartSeries, pointData }) => (\n          <BarSeries\n            data={pointData}\n            key={chartSeries.name}\n            name={chartSeries.name}\n          />\n        ))}\n      </Chart>\n    </ChartContainer>\n  );\n};\n\n// `BarChart` passes props that keep the same identity across a render. This memo then stops a render of the caller from reaching the children of `Chart`. A new child identity forces Highcharts to rebuild and redraw the whole chart.\nconst MemoizedBarChartContent = memo(BarChartContent);\n\n/**\n * Renders a horizontal bar chart that gets its theme from Odyssey design tokens. The chart plots each series against the shared `categories` of the chart. Each value in a series lines up by index with a category, so a series and `categories` must have the same length. If a value is `null`, the chart draws a gap at that category, and not a bar with a value of zero.\n */\nconst BarChart = (props: BarChartProps) => {\n  // Highcharts rebuilds and redraws the whole chart when the identity of any React child changes. A caller that builds the `series` array inside its own render creates a new array on every render. That new array would reach every child below this point.\n  //\n  // useStableValue holds one chart props object while its contents stay the same, so `MemoizedBarChartContent` keeps the same children across those renders.\n  //\n  // useStableValue cannot hold `onPointClick`, because it compares a function by identity. An inline handler therefore arrives with a new identity on each render of the caller, and every memo below misses. useStableCallback wraps that handler in one callback of its own that keeps the same identity, and calls the latest handler when a user clicks a point.\n  //\n  // useStableCallback also turns an absent handler into a callback that does nothing. The chart attaches a click listener to a point as soon as it finds one, so a chart with no `onPointClick` must pass nothing at all. The condition below keeps that behavior, and returns the one stable callback in every other case.\n  const stableOnPointClick = useStableCallback(props.onPointClick);\n  const stableOnRetry = useStableCallback(props.onRetry);\n  const { hasError, isLoading, onRetry, subtitle, title, ...chartProps } =\n    props;\n  const stableChartProps = useStableValue({\n    ...chartProps,\n    onPointClick: props.onPointClick ? stableOnPointClick : undefined,\n  });\n\n  return (\n    <ChartFrame\n      hasError={hasError}\n      isLoading={isLoading}\n      onRetry={onRetry ? stableOnRetry : undefined}\n      subtitle={subtitle}\n      title={title}\n    >\n      <MemoizedBarChartContent {...stableChartProps} />\n    </ChartFrame>\n  );\n};\n\nconst MemoizedBarChart = memo(BarChart);\nMemoizedBarChart.displayName = \"BarChart\";\n\nexport { MemoizedBarChart as BarChart };\n"],"mappings":"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","ignoreList":[]}