{"version":3,"file":"chartTokens.cjs","names":["_react","require","_OdysseyDesignTokensContext","CSS_ROOT_FONT_SIZE_PIXELS","chartTokens","exports","ChartAnimationDuration","ChartLegendRectangleVerticalOffset","ChartLegendSymbolSize","ChartLineHoverStrokeWidthPlus","ChartLineMarkerHoverHaloOpacity","ChartLineMarkerHoverHaloSize","ChartLineMarkerHoverSize","ChartLineMarkerSize","ChartLineStrokeWidth","ChartMinHeight","ChartYAxisLabelBaselineCompensation","getTokenValueAsPixels","tokenValue","typographySizeBase","trimEnd","endsWith","parseFloat","getChartTokens","odysseyDesignTokens","toPixels","TypographySizeBase","lineHeight","TypographySizeBody","TypographyLineHeightBody","axisValueStyle","color","TypographyColorSubordinate","fontFamily","TypographyFamilyBody","fontSize","fontWeight","TypographyWeightBody","animationDuration","minHeight","seriesColors","HueBlue600","HueAccentThree400","HueAccentTwo400","HueAccentOne600","HueYellow400","HueGreen600","axis","categoryHoverBandColor","HueNeutral50","crosshairColor","BorderColorDisplay","crosshairWidth","BorderWidthMain","gridLineWidth","labelStyle","lineColor","rotatedLabelSpacing","Spacing2","uprightLabelSpacing","valueStyle","bar","radius","BorderRadiusTight","chart","backgroundColor","edgeSpacing","topEdgeSpacing","Spacing3","focusRing","BorderColorPrimaryControl","offset","FocusOutlineOffsetMain","width","FocusOutlineWidthMain","legend","default","symbolHeight","symbolRadius","symbolWidth","line","Spacing4","shared","alignColumns","borderWidth","itemDistance","itemHiddenStyle","TypographyColorDisabled","itemHoverStyle","TypographyColorBody","itemStyle","margin","padding","symbolPadding","hoverStrokeWidthPlus","markerHoverHaloOpacity","markerHoverHaloRadius","markerHoverRadius","markerRadius","strokeWidth","popover","HueNeutralWhite","borderColor","borderRadius","BorderRadiusMain","containerStyle","boxShadow","DepthMedium","content","boldFontWeight","TypographyWeightBodyBold","lineIndicatorSize","lineIndicatorThickness","lineMarkerSize","rowGap","Spacing1","rowSpacing","swatchRadius","swatchSize","textColor","useChartTokens","useOdysseyDesignTokens","useMemo"],"sources":["../../../../src/charts/utils/chartTokens.ts"],"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 { useMemo } from \"react\";\n\nimport type { DesignTokens } from \"../../OdysseyDesignTokensContext.js\";\n\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\n\nconst CSS_ROOT_FONT_SIZE_PIXELS = 16;\n\n/**\n * The chart values that no Odyssey design token supplies. Each entry is either a Highcharts implementation detail that no token will ever cover, or a chart specification value that the design team has not yet turned into a token.\n */\nexport const chartTokens = {\n  // TransitionDurationMainAsNumber is 100, and the spec asks for 250.\n  ChartAnimationDuration: 250,\n  // Highcharts positions its rectangular legend symbols from the text baseline, so a 14px square needs this downward optical correction.\n  ChartLegendRectangleVerticalOffset: 1,\n  ChartLegendSymbolSize: 14,\n  // The amount Highcharts adds to ChartLineStrokeWidth on hover, for the spec's 3px hover stroke. Set explicitly, so an undocumented Highcharts default cannot move the hover stroke out of spec.\n  ChartLineHoverStrokeWidthPlus: 1,\n  ChartLineMarkerHoverHaloOpacity: 0.25,\n  ChartLineMarkerHoverHaloSize: 20,\n  ChartLineMarkerHoverSize: 12,\n  ChartLineMarkerSize: 8,\n  // The spec asks for 2px, and BorderWidthHeavy is 1.5px.\n  ChartLineStrokeWidth: 2,\n  // The floor for a consumer that sets no height on the chart container. The spacing scale stops at Spacing9, which is 56px.\n  ChartMinHeight: 400,\n  // Highcharts gives a rotated axis label less visible space than an upright one at the same `title.margin`. The comment on `axis.rotatedLabelSpacing` below gives the cause.\n  ChartYAxisLabelBaselineCompensation: 8,\n} as const;\n\n/**\n * Converts an Odyssey design token length to a pixel number, because the charting library takes numbers and not CSS length strings. The function multiplies a `rem` token by the base font size. The function uses a `px` token without a change, because a `px` value is already absolute. Therefore the function does not scale a value such as `BorderRadiusTight` as a `rem` value.\n */\nexport const getTokenValueAsPixels = ({\n  tokenValue,\n  typographySizeBase,\n}: {\n  tokenValue: string;\n  typographySizeBase: string;\n}) =>\n  tokenValue.trimEnd().endsWith(\"rem\")\n    ? parseFloat(tokenValue) *\n      ((parseFloat(typographySizeBase) / 100) * CSS_ROOT_FONT_SIZE_PIXELS)\n    : parseFloat(tokenValue);\n\n/**\n * Builds the chart values from the Odyssey design tokens. Every value sits in the group named after the part of the chart that it styles, so a chart reads one group per Highcharts child.\n *\n * {@link useChartTokens} wraps this function for a component. This function\n * takes the tokens as an argument, so a test calls it without a React render.\n */\nexport const getChartTokens = ({\n  odysseyDesignTokens,\n}: {\n  odysseyDesignTokens: DesignTokens;\n}) => {\n  const toPixels = (tokenValue: string) =>\n    getTokenValueAsPixels({\n      tokenValue,\n      typographySizeBase: odysseyDesignTokens.TypographySizeBase,\n    });\n\n  // Highcharts reads a line height with `parseInt`, so it turns a unitless ratio such as `1.5` into 1 pixel and draws the wrapped lines of a label on top of each other.\n  const lineHeight = `${\n    toPixels(odysseyDesignTokens.TypographySizeBody) *\n    odysseyDesignTokens.TypographyLineHeightBody\n  }px`;\n\n  // The axis values, the axis labels and the legend items share this one style. The design specifies the same text treatment for all three, so an axis label carries no more weight than an axis value.\n  const axisValueStyle = {\n    color: odysseyDesignTokens.TypographyColorSubordinate,\n    fontFamily: odysseyDesignTokens.TypographyFamilyBody,\n    fontSize: odysseyDesignTokens.TypographySizeBody,\n    fontWeight: odysseyDesignTokens.TypographyWeightBody,\n    lineHeight,\n  };\n\n  return {\n    animationDuration: chartTokens.ChartAnimationDuration,\n    minHeight: `${chartTokens.ChartMinHeight}px`,\n\n    /**\n     * The palette that a chart gives to the charting library as its series colors. The library assigns these colors to the series in order. A caller cannot set the color of a series.\n     */\n    seriesColors: [\n      odysseyDesignTokens.HueBlue600,\n      odysseyDesignTokens.HueAccentThree400,\n      odysseyDesignTokens.HueAccentTwo400,\n      odysseyDesignTokens.HueAccentOne600,\n      odysseyDesignTokens.HueYellow400,\n      odysseyDesignTokens.HueGreen600,\n    ],\n\n    axis: {\n      categoryHoverBandColor: odysseyDesignTokens.HueNeutral50,\n      crosshairColor: odysseyDesignTokens.BorderColorDisplay,\n      crosshairWidth: toPixels(odysseyDesignTokens.BorderWidthMain),\n      gridLineWidth: toPixels(odysseyDesignTokens.BorderWidthMain),\n      labelStyle: axisValueStyle,\n      // The grid lines, the axis line and the ticks share this one color.\n      lineColor: odysseyDesignTokens.BorderColorDisplay,\n      // Highcharts renders the gap beside a rotated axis label about 3px smaller than requested. Add that difference back so both axis labels appear Spacing2 away from their values.\n      rotatedLabelSpacing:\n        toPixels(odysseyDesignTokens.Spacing2) +\n        chartTokens.ChartYAxisLabelBaselineCompensation,\n      uprightLabelSpacing: toPixels(odysseyDesignTokens.Spacing2),\n      valueStyle: axisValueStyle,\n    },\n\n    bar: {\n      radius: odysseyDesignTokens.BorderRadiusTight,\n    },\n\n    chart: {\n      backgroundColor: \"transparent\",\n      // Without some outer spacing, Highcharts clips the left edge of the widest Y axis value.\n      edgeSpacing: toPixels(odysseyDesignTokens.Spacing2),\n      fontFamily: odysseyDesignTokens.TypographyFamilyBody,\n      topEdgeSpacing: toPixels(odysseyDesignTokens.Spacing3),\n    },\n\n    focusRing: {\n      color: odysseyDesignTokens.BorderColorPrimaryControl,\n      offset: toPixels(odysseyDesignTokens.FocusOutlineOffsetMain),\n      // Highcharts types the focus border style as a `CSSObject`, so this one radius carries its unit while every other length here is a number.\n      radius: `${toPixels(odysseyDesignTokens.BorderRadiusTight)}px`,\n      width: toPixels(odysseyDesignTokens.FocusOutlineWidthMain),\n    },\n\n    legend: {\n      default: {\n        symbolHeight: chartTokens.ChartLegendSymbolSize,\n        symbolRadius: toPixels(odysseyDesignTokens.BorderRadiusTight),\n        symbolWidth: chartTokens.ChartLegendSymbolSize,\n      },\n      line: {\n        // Highcharts also uses this as the limit for the marker in the legend: it draws that marker at a radius of half this height, or at `line.markerRadius`, whichever is less. Both come from ChartLineMarkerSize, so the legend cannot cut the marker down.\n        symbolHeight: chartTokens.ChartLineMarkerSize,\n        // The line symbol spans Spacing4, the same width as the line in the popover series indicator.\n        symbolWidth: toPixels(odysseyDesignTokens.Spacing4),\n      },\n      shared: {\n        alignColumns: false,\n        borderWidth: 0,\n        itemDistance: toPixels(odysseyDesignTokens.Spacing4),\n        // Highcharts merges this over `itemStyle` for a legend item whose series is hidden (toggled off). The spec's \"Selected\" state is this same toggled-off item, styled with Color/Disabled.\n        itemHiddenStyle: {\n          color: odysseyDesignTokens.TypographyColorDisabled,\n        },\n        itemHoverStyle: {\n          color: odysseyDesignTokens.TypographyColorBody,\n        },\n        // The legend spec gives its label text a different default color (Color/Body) than the axis values and labels (subordinate gray),\n        // so the legend does not share `axisValueStyle`.\n        itemStyle: {\n          color: odysseyDesignTokens.TypographyColorSubordinate,\n          fontFamily: odysseyDesignTokens.TypographyFamilyBody,\n          fontSize: odysseyDesignTokens.TypographySizeBody,\n          fontWeight: odysseyDesignTokens.TypographyWeightBody,\n          lineHeight,\n        },\n        margin: toPixels(odysseyDesignTokens.Spacing4),\n        padding: 0,\n        symbolPadding: toPixels(odysseyDesignTokens.Spacing2),\n      },\n    },\n\n    line: {\n      hoverStrokeWidthPlus: chartTokens.ChartLineHoverStrokeWidthPlus,\n      markerHoverHaloOpacity: chartTokens.ChartLineMarkerHoverHaloOpacity,\n      markerHoverHaloRadius: chartTokens.ChartLineMarkerHoverHaloSize / 2,\n      markerHoverRadius: chartTokens.ChartLineMarkerHoverSize / 2,\n      markerRadius: chartTokens.ChartLineMarkerSize / 2,\n      strokeWidth: chartTokens.ChartLineStrokeWidth,\n    },\n\n    popover: {\n      backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n      borderColor: odysseyDesignTokens.BorderColorDisplay,\n      borderRadius: toPixels(odysseyDesignTokens.BorderRadiusMain),\n      borderWidth: toPixels(odysseyDesignTokens.BorderWidthMain),\n      padding: toPixels(odysseyDesignTokens.Spacing4),\n\n      containerStyle: {\n        // Odyssey has no token named \"Depth/Menu\". DepthMedium is the closest match to the hover spec's \"3-layer soft drop shadow\": it has three shadow layers, and its opacities are lighter than DepthHigh's. The popover's own `shadow` prop stays `false` because Highcharts' built-in shadow is a single-layer SVG filter and cannot reproduce a 3-layer shadow; this CSS box-shadow applies instead through the popover's HTML container (Highcharts' `Tooltip` defaults to `useHTML`).\n        boxShadow: odysseyDesignTokens.DepthMedium,\n        color: odysseyDesignTokens.TypographyColorBody,\n        fontFamily: odysseyDesignTokens.TypographyFamilyBody,\n        fontSize: odysseyDesignTokens.TypographySizeBody,\n        fontWeight: odysseyDesignTokens.TypographyWeightBody,\n        lineHeight,\n      },\n\n      content: {\n        boldFontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n        fontSize: odysseyDesignTokens.TypographySizeBody,\n        lineIndicatorSize: odysseyDesignTokens.Spacing4,\n        lineIndicatorThickness: `${chartTokens.ChartLineStrokeWidth}px`,\n        lineMarkerSize: `${chartTokens.ChartLineMarkerSize}px`,\n        rowGap: odysseyDesignTokens.Spacing1,\n        rowSpacing: odysseyDesignTokens.Spacing1,\n        swatchRadius: odysseyDesignTokens.BorderRadiusTight,\n        swatchSize: `${chartTokens.ChartLegendSymbolSize}px`,\n        textColor: odysseyDesignTokens.TypographyColorBody,\n      },\n    },\n  };\n};\n\n/**\n * Returns the chart values that come from the Odyssey design tokens in context.\n *\n * A chart component calls this one hook, and does not resolve the tokens itself. Therefore the same token choices apply to every chart in the family.\n *\n * The whole object comes from one `useMemo`. A chart passes these values to the React children of the chart library, and that library rebuilds and redraws the whole chart when the identity of a child changes. A new style object on each render therefore costs a redraw. One memo over the whole object keeps every value stable while the tokens stay the same.\n */\nexport const useChartTokens = () => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n\n  return useMemo(\n    () => getChartTokens({ odysseyDesignTokens }),\n    [odysseyDesignTokens],\n  );\n};\n\n/** The chart tokens that {@link getChartTokens} returns. */\nexport type ChartTokens = ReturnType<typeof getChartTokens>;\n"],"mappings":"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","ignoreList":[]}