@codecademy/gamut 67.6.1-alpha.21416d.0 → 67.6.1-alpha.4615f3.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.
@@ -1,59 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { css } from '@codecademy/gamut-styles';
3
- import { motion } from 'framer-motion';
4
- import { Box } from '../../Box';
5
- export const minBarWidth = 8;
6
- const baseBarStyles = {
7
- alignItems: 'center',
8
- border: 1,
9
- borderColor: 'border-primary',
10
- borderRadius: 'inherit',
11
- display: 'flex',
12
- height: '100%',
13
- left: 0,
14
- position: 'absolute'
15
- };
16
-
17
- /**
18
- * Animated bar element for background/total value display
19
- */
20
- export const BackgroundBar = /*#__PURE__*/_styled(motion.create(Box), {
21
- target: "e1lnm2ux2",
22
- label: "BackgroundBar"
23
- })(css({
24
- ...baseBarStyles
25
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXI6IDEsXG4gIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICBib3JkZXJSYWRpdXM6ICdpbmhlcml0JyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgbGVmdDogMCxcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBGb3JlZ3JvdW5kIGJhciBmb3Igc3RhY2tlZCBkaXNwbGF5IChwcm9ncmVzcyB2YWx1ZSlcbiAqIENvbG9yIHNob3VsZCBiZSBwYXNzZWQgdmlhIGJnIHByb3AgZnJvbSBwYXJlbnRcbiAqL1xuZXhwb3J0IGNvbnN0IEZvcmVncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICAgIHdpZHRoOiAnMTAwJScsXG4gIH0pXG4pO1xuIl19 */");
26
-
27
- /**
28
- * Foreground bar for stacked display (progress value)
29
- * Color should be passed via bg prop from parent
30
- */
31
- export const ForegroundBar = /*#__PURE__*/_styled(motion.create(Box), {
32
- target: "e1lnm2ux1",
33
- label: "ForegroundBar"
34
- })(css({
35
- ...baseBarStyles
36
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXI6IDEsXG4gIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICBib3JkZXJSYWRpdXM6ICdpbmhlcml0JyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgbGVmdDogMCxcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBGb3JlZ3JvdW5kIGJhciBmb3Igc3RhY2tlZCBkaXNwbGF5IChwcm9ncmVzcyB2YWx1ZSlcbiAqIENvbG9yIHNob3VsZCBiZSBwYXNzZWQgdmlhIGJnIHByb3AgZnJvbSBwYXJlbnRcbiAqL1xuZXhwb3J0IGNvbnN0IEZvcmVncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICAgIHdpZHRoOiAnMTAwJScsXG4gIH0pXG4pO1xuIl19 */");
37
-
38
- /**
39
- * Container for bars with responsive height
40
- */
41
- export const BarWrapper = /*#__PURE__*/_styled(Box, {
42
- target: "e1lnm2ux0",
43
- label: "BarWrapper"
44
- })(css({
45
- display: 'flex',
46
- overflow: 'hidden',
47
- position: 'relative',
48
- alignItems: 'center',
49
- flex: 1,
50
- height: {
51
- _: 12,
52
- sm: 20
53
- },
54
- borderRadius: {
55
- _: 'md',
56
- sm: 'xl'
57
- },
58
- width: '100%'
59
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDMEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXI6IDEsXG4gIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICBib3JkZXJSYWRpdXM6ICdpbmhlcml0JyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgbGVmdDogMCxcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBGb3JlZ3JvdW5kIGJhciBmb3Igc3RhY2tlZCBkaXNwbGF5IChwcm9ncmVzcyB2YWx1ZSlcbiAqIENvbG9yIHNob3VsZCBiZSBwYXNzZWQgdmlhIGJnIHByb3AgZnJvbSBwYXJlbnRcbiAqL1xuZXhwb3J0IGNvbnN0IEZvcmVncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICAgIHdpZHRoOiAnMTAwJScsXG4gIH0pXG4pO1xuIl19 */");
@@ -1 +0,0 @@
1
- export * from './elements';
@@ -1,2 +0,0 @@
1
- // Re-export bar elements
2
- export * from './elements';
@@ -1,33 +0,0 @@
1
- /// <reference types="react" />
2
- import { BarChartStyles } from './types';
3
- export interface BarChartContextProps {
4
- minRange: number;
5
- maxRange: number;
6
- xScale: number;
7
- unit: string;
8
- styleConfig: Required<BarChartStyles>;
9
- animate: boolean;
10
- }
11
- export declare const BarChartContext: import("react").Context<BarChartContextProps>;
12
- export declare const BarChartProvider: import("react").Provider<BarChartContextProps>;
13
- export declare function useBarChartContext(): BarChartContextProps;
14
- export interface UseBarChartOptions {
15
- minRange: number;
16
- maxRange: number;
17
- xScale?: number;
18
- unit?: string;
19
- styleConfig?: BarChartStyles;
20
- animate?: boolean;
21
- }
22
- export declare function useBarChart({ minRange, maxRange, xScale, unit, styleConfig, animate, }: UseBarChartOptions): {
23
- minRange: number;
24
- maxRange: number;
25
- xScale: number;
26
- unit: string;
27
- styleConfig: {
28
- textColor: "text" | "background" | "primary" | "secondary" | "danger" | "interface" | "text-secondary" | "text-accent" | "text-disabled" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-primary" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-selected" | "background-hover" | "shadow-primary" | "shadow-secondary" | "primary-hover" | "primary-inverse" | "secondary-hover" | "danger-hover" | "interface-hover" | "border-primary" | "border-secondary" | "border-disabled" | "border-tertiary";
29
- foregroundBarColor: "text" | "background" | "primary" | "secondary" | "danger" | "interface" | "text-secondary" | "text-accent" | "text-disabled" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-primary" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-selected" | "background-hover" | "shadow-primary" | "shadow-secondary" | "primary-hover" | "primary-inverse" | "secondary-hover" | "danger-hover" | "interface-hover" | "border-primary" | "border-secondary" | "border-disabled" | "border-tertiary";
30
- backgroundBarColor: "text" | "background" | "primary" | "secondary" | "danger" | "interface" | "text-secondary" | "text-accent" | "text-disabled" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-primary" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-selected" | "background-hover" | "shadow-primary" | "shadow-secondary" | "primary-hover" | "primary-inverse" | "secondary-hover" | "danger-hover" | "interface-hover" | "border-primary" | "border-secondary" | "border-disabled" | "border-tertiary";
31
- };
32
- animate: boolean;
33
- };
@@ -1,39 +0,0 @@
1
- import { createContext, useContext, useMemo } from 'react';
2
- const defaultStyleConfig = {
3
- textColor: 'text',
4
- foregroundBarColor: 'feedback-warning',
5
- backgroundBarColor: 'background-primary'
6
- };
7
- export const BarChartContext = /*#__PURE__*/createContext({
8
- minRange: 0,
9
- maxRange: 100,
10
- xScale: 10,
11
- unit: '',
12
- styleConfig: defaultStyleConfig,
13
- animate: false
14
- });
15
- BarChartContext.displayName = 'BarChartContext';
16
- export const BarChartProvider = BarChartContext.Provider;
17
- export function useBarChartContext() {
18
- return useContext(BarChartContext);
19
- }
20
- export function useBarChart({
21
- minRange,
22
- maxRange,
23
- xScale,
24
- unit = '',
25
- styleConfig,
26
- animate = false
27
- }) {
28
- return useMemo(() => ({
29
- minRange,
30
- maxRange,
31
- xScale: xScale ?? Math.ceil((maxRange - minRange) / 5),
32
- unit,
33
- styleConfig: {
34
- ...defaultStyleConfig,
35
- ...styleConfig
36
- },
37
- animate
38
- }), [minRange, maxRange, xScale, unit, styleConfig, animate]);
39
- }
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { BarProps } from './types';
3
- export interface BarRowProps extends BarProps {
4
- index?: number;
5
- }
6
- export declare const BarRow: import("react").ForwardRefExoticComponent<BarRowProps & import("react").RefAttributes<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement>>;
@@ -1,176 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
- import { css, styledOptions } from '@codecademy/gamut-styles';
4
- import { forwardRef } from 'react';
5
- import { FlexBox } from '../Box';
6
- import { Text } from '../Typography';
7
- import { BackgroundBar, BarWrapper, ForegroundBar, minBarWidth } from './Bar/elements';
8
- import { useBarChartContext } from './BarChartProvider';
9
- import { calculateBarWidth, getValuesSummary } from './utils';
10
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
- const rowBaseStyles = css({
12
- display: 'flex',
13
- alignItems: 'center',
14
- width: '100%',
15
- gap: 16,
16
- py: 8,
17
- px: 0,
18
- bg: 'transparent',
19
- border: 'none',
20
- textDecoration: 'none',
21
- cursor: 'inherit',
22
- '&:focus': {
23
- outline: 'none'
24
- },
25
- '&:focus-visible': {
26
- outline: '2px solid',
27
- outlineColor: 'primary',
28
- outlineOffset: '2px'
29
- }
30
- });
31
- const interactiveStyles = css({
32
- cursor: 'pointer',
33
- '&:hover': {
34
- bg: 'background-hover'
35
- }
36
- });
37
- const RowWrapper = /*#__PURE__*/_styled('div', _extends({}, {
38
- target: "eew7ix72",
39
- label: "RowWrapper"
40
- }, styledOptions()))(rowBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDbUIiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgdXNlQmFyQ2hhcnRDb250ZXh0IH0gZnJvbSAnLi9CYXJDaGFydFByb3ZpZGVyJztcbmltcG9ydCB7IEJhclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCYXJXaWR0aCwgZ2V0VmFsdWVzU3VtbWFyeSB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCByb3dCYXNlU3R5bGVzID0gY3NzKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgZ2FwOiAxNixcbiAgcHk6IDgsXG4gIHB4OiAwLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBSb3dXcmFwcGVyID0gc3R5bGVkKCdkaXYnLCBzdHlsZWRPcHRpb25zPCdkaXYnPigpKShyb3dCYXNlU3R5bGVzKTtcbmNvbnN0IFJvd0J1dHRvbiA9IHN0eWxlZCgnYnV0dG9uJywgc3R5bGVkT3B0aW9uczwnYnV0dG9uJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXJSb3dQcm9wcyBleHRlbmRzIEJhclByb3BzIHtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBCYXJSb3cgPSBmb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50IHwgSFRNTEFuY2hvckVsZW1lbnQsXG4gIEJhclJvd1Byb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIGljb246IEljb24sXG4gICAgICBvbkNsaWNrLFxuICAgICAgaHJlZixcbiAgICAgIGluZGV4ID0gMCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IG1heFJhbmdlLCB1bml0LCBzdHlsZUNvbmZpZywgYW5pbWF0ZSB9ID0gdXNlQmFyQ2hhcnRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc1N0YWNrZWQgPSBzZXJpZXNUd29WYWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGlzU3RhY2tlZCA/IHNlcmllc1R3b1ZhbHVlIDogc2VyaWVzT25lVmFsdWU7XG5cbiAgICBjb25zdCBiYWNrZ3JvdW5kQmFyV2lkdGggPSBjYWxjdWxhdGVCYXJXaWR0aCh7XG4gICAgICB2YWx1ZTogZGlzcGxheVZhbHVlLFxuICAgICAgbWF4UmFuZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3JlZ3JvdW5kQmFyV2lkdGggPSBpc1N0YWNrZWRcbiAgICAgID8gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgICAgIHZhbHVlOiBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgICAgICBtYXhSYW5nZSxcbiAgICAgICAgfSlcbiAgICAgIDogMDtcblxuICAgIGNvbnN0IGJnV2lkdGhTdHIgPSBgJHtNYXRoLm1heChtaW5CYXJXaWR0aCwgYmFja2dyb3VuZEJhcldpZHRoKX0lYDtcbiAgICBjb25zdCBmZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGZvcmVncm91bmRCYXJXaWR0aCl9JWA7XG5cbiAgICBjb25zdCB2YWx1ZXNTdW1tYXJ5ID0gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgdW5pdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGlvbkRlbGF5ID0gYW5pbWF0ZSA/IGluZGV4ICogMC4xIDogMDtcblxuICAgIGNvbnN0IHJvd0NvbnRlbnQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgICBnYXA9ezh9XG4gICAgICAgICAgbWluV2lkdGg9XCIyMDBweFwiXG4gICAgICAgID5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiBzaXplPXsxNn0gLz59XG4gICAgICAgICAgPFRleHQgZm9udFdlaWdodD0nYm9sZCcgdHJ1bmNhdGU9XCJlbGxpcHNpc1wiIHRydW5jYXRlTGluZXM9ezF9PlxuICAgICAgICAgICAge3lMYWJlbH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICA8QmFyV3JhcHBlcj5cbiAgICAgICAgICA8QmFja2dyb3VuZEJhclxuICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGJnPXtzdHlsZUNvbmZpZy5iYWNrZ3JvdW5kQmFyQ29sb3J9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgd2lkdGg9eyFhbmltYXRlID8gYmdXaWR0aFN0ciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc1N0YWNrZWQgJiYgKFxuICAgICAgICAgICAgPEZvcmVncm91bmRCYXJcbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGZnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJmb3JlZ3JvdW5kLWJhclwiXG4gICAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICB3aWR0aD17IWFuaW1hdGUgPyBmZ1dpZHRoU3RyIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JhcldyYXBwZXI+XG5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBmbGV4U2hyaW5rPXswfVxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiZmxleC1lbmRcIlxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDQwLCBzbTogNjAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9IHZhcmlhbnQ9XCJwLXNtYWxsXCI+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIGlmIChocmVmKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8bGk+XG4gICAgICAgICAgPFJvd0FuY2hvclxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgICByZWY9e3JlZiBhcyBNdXRhYmxlUmVmT2JqZWN0PEhUTUxBbmNob3JFbGVtZW50Pn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0FuY2hvcj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MQnV0dG9uRWxlbWVudD59XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIG9uQ2xpY2soZSBhcyB1bmtub3duIGFzIE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsaT5cbiAgICAgICAgPFJvd1dyYXBwZXJcbiAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgICA+XG4gICAgICAgICAge3Jvd0NvbnRlbnR9XG4gICAgICAgIDwvUm93V3JhcHBlcj5cbiAgICAgIDwvbGk+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
41
- const RowButton = /*#__PURE__*/_styled('button', _extends({}, {
42
- target: "eew7ix71",
43
- label: "RowButton"
44
- }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDa0IiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgdXNlQmFyQ2hhcnRDb250ZXh0IH0gZnJvbSAnLi9CYXJDaGFydFByb3ZpZGVyJztcbmltcG9ydCB7IEJhclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCYXJXaWR0aCwgZ2V0VmFsdWVzU3VtbWFyeSB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCByb3dCYXNlU3R5bGVzID0gY3NzKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgZ2FwOiAxNixcbiAgcHk6IDgsXG4gIHB4OiAwLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBSb3dXcmFwcGVyID0gc3R5bGVkKCdkaXYnLCBzdHlsZWRPcHRpb25zPCdkaXYnPigpKShyb3dCYXNlU3R5bGVzKTtcbmNvbnN0IFJvd0J1dHRvbiA9IHN0eWxlZCgnYnV0dG9uJywgc3R5bGVkT3B0aW9uczwnYnV0dG9uJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXJSb3dQcm9wcyBleHRlbmRzIEJhclByb3BzIHtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBCYXJSb3cgPSBmb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50IHwgSFRNTEFuY2hvckVsZW1lbnQsXG4gIEJhclJvd1Byb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIGljb246IEljb24sXG4gICAgICBvbkNsaWNrLFxuICAgICAgaHJlZixcbiAgICAgIGluZGV4ID0gMCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IG1heFJhbmdlLCB1bml0LCBzdHlsZUNvbmZpZywgYW5pbWF0ZSB9ID0gdXNlQmFyQ2hhcnRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc1N0YWNrZWQgPSBzZXJpZXNUd29WYWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGlzU3RhY2tlZCA/IHNlcmllc1R3b1ZhbHVlIDogc2VyaWVzT25lVmFsdWU7XG5cbiAgICBjb25zdCBiYWNrZ3JvdW5kQmFyV2lkdGggPSBjYWxjdWxhdGVCYXJXaWR0aCh7XG4gICAgICB2YWx1ZTogZGlzcGxheVZhbHVlLFxuICAgICAgbWF4UmFuZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3JlZ3JvdW5kQmFyV2lkdGggPSBpc1N0YWNrZWRcbiAgICAgID8gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgICAgIHZhbHVlOiBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgICAgICBtYXhSYW5nZSxcbiAgICAgICAgfSlcbiAgICAgIDogMDtcblxuICAgIGNvbnN0IGJnV2lkdGhTdHIgPSBgJHtNYXRoLm1heChtaW5CYXJXaWR0aCwgYmFja2dyb3VuZEJhcldpZHRoKX0lYDtcbiAgICBjb25zdCBmZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGZvcmVncm91bmRCYXJXaWR0aCl9JWA7XG5cbiAgICBjb25zdCB2YWx1ZXNTdW1tYXJ5ID0gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgdW5pdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGlvbkRlbGF5ID0gYW5pbWF0ZSA/IGluZGV4ICogMC4xIDogMDtcblxuICAgIGNvbnN0IHJvd0NvbnRlbnQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgICBnYXA9ezh9XG4gICAgICAgICAgbWluV2lkdGg9XCIyMDBweFwiXG4gICAgICAgID5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiBzaXplPXsxNn0gLz59XG4gICAgICAgICAgPFRleHQgZm9udFdlaWdodD0nYm9sZCcgdHJ1bmNhdGU9XCJlbGxpcHNpc1wiIHRydW5jYXRlTGluZXM9ezF9PlxuICAgICAgICAgICAge3lMYWJlbH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICA8QmFyV3JhcHBlcj5cbiAgICAgICAgICA8QmFja2dyb3VuZEJhclxuICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGJnPXtzdHlsZUNvbmZpZy5iYWNrZ3JvdW5kQmFyQ29sb3J9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgd2lkdGg9eyFhbmltYXRlID8gYmdXaWR0aFN0ciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc1N0YWNrZWQgJiYgKFxuICAgICAgICAgICAgPEZvcmVncm91bmRCYXJcbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGZnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJmb3JlZ3JvdW5kLWJhclwiXG4gICAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICB3aWR0aD17IWFuaW1hdGUgPyBmZ1dpZHRoU3RyIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JhcldyYXBwZXI+XG5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBmbGV4U2hyaW5rPXswfVxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiZmxleC1lbmRcIlxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDQwLCBzbTogNjAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9IHZhcmlhbnQ9XCJwLXNtYWxsXCI+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIGlmIChocmVmKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8bGk+XG4gICAgICAgICAgPFJvd0FuY2hvclxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgICByZWY9e3JlZiBhcyBNdXRhYmxlUmVmT2JqZWN0PEhUTUxBbmNob3JFbGVtZW50Pn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0FuY2hvcj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MQnV0dG9uRWxlbWVudD59XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIG9uQ2xpY2soZSBhcyB1bmtub3duIGFzIE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsaT5cbiAgICAgICAgPFJvd1dyYXBwZXJcbiAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgICA+XG4gICAgICAgICAge3Jvd0NvbnRlbnR9XG4gICAgICAgIDwvUm93V3JhcHBlcj5cbiAgICAgIDwvbGk+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
45
- const RowAnchor = /*#__PURE__*/_styled('a', _extends({}, {
46
- target: "eew7ix70",
47
- label: "RowAnchor"
48
- }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEa0IiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgdXNlQmFyQ2hhcnRDb250ZXh0IH0gZnJvbSAnLi9CYXJDaGFydFByb3ZpZGVyJztcbmltcG9ydCB7IEJhclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCYXJXaWR0aCwgZ2V0VmFsdWVzU3VtbWFyeSB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCByb3dCYXNlU3R5bGVzID0gY3NzKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgZ2FwOiAxNixcbiAgcHk6IDgsXG4gIHB4OiAwLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBSb3dXcmFwcGVyID0gc3R5bGVkKCdkaXYnLCBzdHlsZWRPcHRpb25zPCdkaXYnPigpKShyb3dCYXNlU3R5bGVzKTtcbmNvbnN0IFJvd0J1dHRvbiA9IHN0eWxlZCgnYnV0dG9uJywgc3R5bGVkT3B0aW9uczwnYnV0dG9uJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXJSb3dQcm9wcyBleHRlbmRzIEJhclByb3BzIHtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBCYXJSb3cgPSBmb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50IHwgSFRNTEFuY2hvckVsZW1lbnQsXG4gIEJhclJvd1Byb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIGljb246IEljb24sXG4gICAgICBvbkNsaWNrLFxuICAgICAgaHJlZixcbiAgICAgIGluZGV4ID0gMCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IG1heFJhbmdlLCB1bml0LCBzdHlsZUNvbmZpZywgYW5pbWF0ZSB9ID0gdXNlQmFyQ2hhcnRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc1N0YWNrZWQgPSBzZXJpZXNUd29WYWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGlzU3RhY2tlZCA/IHNlcmllc1R3b1ZhbHVlIDogc2VyaWVzT25lVmFsdWU7XG5cbiAgICBjb25zdCBiYWNrZ3JvdW5kQmFyV2lkdGggPSBjYWxjdWxhdGVCYXJXaWR0aCh7XG4gICAgICB2YWx1ZTogZGlzcGxheVZhbHVlLFxuICAgICAgbWF4UmFuZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3JlZ3JvdW5kQmFyV2lkdGggPSBpc1N0YWNrZWRcbiAgICAgID8gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgICAgIHZhbHVlOiBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgICAgICBtYXhSYW5nZSxcbiAgICAgICAgfSlcbiAgICAgIDogMDtcblxuICAgIGNvbnN0IGJnV2lkdGhTdHIgPSBgJHtNYXRoLm1heChtaW5CYXJXaWR0aCwgYmFja2dyb3VuZEJhcldpZHRoKX0lYDtcbiAgICBjb25zdCBmZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGZvcmVncm91bmRCYXJXaWR0aCl9JWA7XG5cbiAgICBjb25zdCB2YWx1ZXNTdW1tYXJ5ID0gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgdW5pdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGlvbkRlbGF5ID0gYW5pbWF0ZSA/IGluZGV4ICogMC4xIDogMDtcblxuICAgIGNvbnN0IHJvd0NvbnRlbnQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgICBnYXA9ezh9XG4gICAgICAgICAgbWluV2lkdGg9XCIyMDBweFwiXG4gICAgICAgID5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiBzaXplPXsxNn0gLz59XG4gICAgICAgICAgPFRleHQgZm9udFdlaWdodD0nYm9sZCcgdHJ1bmNhdGU9XCJlbGxpcHNpc1wiIHRydW5jYXRlTGluZXM9ezF9PlxuICAgICAgICAgICAge3lMYWJlbH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICA8QmFyV3JhcHBlcj5cbiAgICAgICAgICA8QmFja2dyb3VuZEJhclxuICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGJnPXtzdHlsZUNvbmZpZy5iYWNrZ3JvdW5kQmFyQ29sb3J9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgd2lkdGg9eyFhbmltYXRlID8gYmdXaWR0aFN0ciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc1N0YWNrZWQgJiYgKFxuICAgICAgICAgICAgPEZvcmVncm91bmRCYXJcbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGZnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJmb3JlZ3JvdW5kLWJhclwiXG4gICAgICAgICAgICAgIGluaXRpYWw9e2FuaW1hdGUgPyB7IHdpZHRoOiAnMCUnIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICB3aWR0aD17IWFuaW1hdGUgPyBmZ1dpZHRoU3RyIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JhcldyYXBwZXI+XG5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBmbGV4U2hyaW5rPXswfVxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiZmxleC1lbmRcIlxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDQwLCBzbTogNjAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IGNvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9IHZhcmlhbnQ9XCJwLXNtYWxsXCI+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIGlmIChocmVmKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8bGk+XG4gICAgICAgICAgPFJvd0FuY2hvclxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgICByZWY9e3JlZiBhcyBNdXRhYmxlUmVmT2JqZWN0PEhUTUxBbmNob3JFbGVtZW50Pn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0FuY2hvcj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MQnV0dG9uRWxlbWVudD59XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIG9uQ2xpY2soZSBhcyB1bmtub3duIGFzIE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgICA8L1Jvd0J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsaT5cbiAgICAgICAgPFJvd1dyYXBwZXJcbiAgICAgICAgICBhcmlhLWxhYmVsPXt2YWx1ZXNTdW1tYXJ5fVxuICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgICA+XG4gICAgICAgICAge3Jvd0NvbnRlbnR9XG4gICAgICAgIDwvUm93V3JhcHBlcj5cbiAgICAgIDwvbGk+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
49
- export const BarRow = /*#__PURE__*/forwardRef(({
50
- yLabel,
51
- seriesOneValue,
52
- seriesTwoValue,
53
- icon: Icon,
54
- onClick,
55
- href,
56
- index = 0
57
- }, ref) => {
58
- const {
59
- maxRange,
60
- unit,
61
- styleConfig,
62
- animate
63
- } = useBarChartContext();
64
- const isStacked = seriesTwoValue !== undefined;
65
- const displayValue = isStacked ? seriesTwoValue : seriesOneValue;
66
- const backgroundBarWidth = calculateBarWidth({
67
- value: displayValue,
68
- maxRange
69
- });
70
- const foregroundBarWidth = isStacked ? calculateBarWidth({
71
- value: seriesOneValue,
72
- maxRange
73
- }) : 0;
74
- const bgWidthStr = `${Math.max(minBarWidth, backgroundBarWidth)}%`;
75
- const fgWidthStr = `${Math.max(minBarWidth, foregroundBarWidth)}%`;
76
- const valuesSummary = getValuesSummary({
77
- yLabel,
78
- seriesOneValue,
79
- seriesTwoValue,
80
- unit
81
- });
82
- const animationDelay = animate ? index * 0.1 : 0;
83
- const rowContent = /*#__PURE__*/_jsxs(_Fragment, {
84
- children: [/*#__PURE__*/_jsxs(FlexBox, {
85
- alignItems: "center",
86
- color: styleConfig.textColor,
87
- flexShrink: 0,
88
- gap: 8,
89
- minWidth: "200px",
90
- children: [Icon && /*#__PURE__*/_jsx(Icon, {
91
- size: 16
92
- }), /*#__PURE__*/_jsx(Text, {
93
- fontWeight: "bold",
94
- truncate: "ellipsis",
95
- truncateLines: 1,
96
- children: yLabel
97
- })]
98
- }), /*#__PURE__*/_jsxs(BarWrapper, {
99
- children: [/*#__PURE__*/_jsx(BackgroundBar, {
100
- animate: animate ? {
101
- width: bgWidthStr
102
- } : undefined,
103
- bg: styleConfig.backgroundBarColor,
104
- "data-testid": "background-bar",
105
- initial: animate ? {
106
- width: '0%'
107
- } : undefined,
108
- transition: {
109
- duration: 0.5,
110
- delay: animationDelay
111
- },
112
- width: !animate ? bgWidthStr : undefined
113
- }), isStacked && /*#__PURE__*/_jsx(ForegroundBar, {
114
- animate: animate ? {
115
- width: fgWidthStr
116
- } : undefined,
117
- bg: styleConfig.foregroundBarColor,
118
- "data-testid": "foreground-bar",
119
- initial: animate ? {
120
- width: '0%'
121
- } : undefined,
122
- transition: {
123
- duration: 0.5,
124
- delay: animationDelay + 0.25
125
- },
126
- width: !animate ? fgWidthStr : undefined
127
- })]
128
- }), /*#__PURE__*/_jsx(FlexBox, {
129
- alignItems: "center",
130
- flexShrink: 0,
131
- justifyContent: "flex-end",
132
- minWidth: {
133
- _: 40,
134
- sm: 60
135
- },
136
- children: /*#__PURE__*/_jsxs(Text, {
137
- color: styleConfig.textColor,
138
- variant: "p-small",
139
- children: [displayValue.toLocaleString(), unit && ` ${unit}`]
140
- })
141
- })]
142
- });
143
- if (href) {
144
- return /*#__PURE__*/_jsx("li", {
145
- children: /*#__PURE__*/_jsx(RowAnchor, {
146
- "aria-label": valuesSummary,
147
- href: href,
148
- ref: ref,
149
- children: rowContent
150
- })
151
- });
152
- }
153
- if (onClick) {
154
- return /*#__PURE__*/_jsx("li", {
155
- children: /*#__PURE__*/_jsx(RowButton, {
156
- "aria-label": valuesSummary,
157
- ref: ref,
158
- type: "button",
159
- onClick: onClick,
160
- onKeyDown: e => {
161
- if (e.key === 'Enter') {
162
- onClick(e);
163
- }
164
- },
165
- children: rowContent
166
- })
167
- });
168
- }
169
- return /*#__PURE__*/_jsx("li", {
170
- children: /*#__PURE__*/_jsx(RowWrapper, {
171
- "aria-label": valuesSummary,
172
- ref: ref,
173
- children: rowContent
174
- })
175
- });
176
- });
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- export interface GridLinesProps {
3
- tickCount: number;
4
- }
5
- export declare const GridLines: React.FC<GridLinesProps>;
@@ -1,45 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { css } from '@codecademy/gamut-styles';
3
- import { Box } from '../Box';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const GridLineContainer = /*#__PURE__*/_styled(Box, {
6
- target: "e1y7txrp1",
7
- label: "GridLineContainer"
8
- })(css({
9
- position: 'absolute',
10
- top: 0,
11
- left: 0,
12
- right: 0,
13
- bottom: 0,
14
- display: {
15
- _: 'none',
16
- sm: 'flex'
17
- },
18
- pointerEvents: 'none',
19
- zIndex: 0
20
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9HcmlkTGluZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUswQiIsImZpbGUiOiIuLi8uLi9zcmMvQmFyQ2hhcnQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uL0JveCc7XG5cbmNvbnN0IEdyaWRMaW5lQ29udGFpbmVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgYm90dG9tOiAwLFxuICAgIGRpc3BsYXk6IHsgXzogJ25vbmUnLCBzbTogJ2ZsZXgnIH0sXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHpJbmRleDogMCxcbiAgfSlcbik7XG5cbmNvbnN0IEdyaWRMaW5lID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJDb2xvckxlZnQ6ICdiYWNrZ3JvdW5kLWRpc2FibGVkJyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBmbGV4OiAxLFxuICAgICcmOmZpcnN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJMZWZ0OiAnbm9uZScsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZExpbmVzUHJvcHMge1xuICB0aWNrQ291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEdyaWRMaW5lczogUmVhY3QuRkM8R3JpZExpbmVzUHJvcHM+ID0gKHsgdGlja0NvdW50IH0pID0+IHtcbiAgY29uc3QgbGluZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aWNrQ291bnQgfSwgKF8sIGkpID0+IChcbiAgICA8R3JpZExpbmUgYXJpYS1oaWRkZW4ga2V5PXtpfSAvPlxuICApKTtcblxuICByZXR1cm4gPEdyaWRMaW5lQ29udGFpbmVyIGFyaWEtaGlkZGVuPntsaW5lc308L0dyaWRMaW5lQ29udGFpbmVyPjtcbn07XG4iXX0= */");
21
- const GridLine = /*#__PURE__*/_styled(Box, {
22
- target: "e1y7txrp0",
23
- label: "GridLine"
24
- })(css({
25
- borderLeft: 1,
26
- borderColorLeft: 'background-disabled',
27
- height: '100%',
28
- flex: 1,
29
- '&:first-of-type': {
30
- borderLeft: 'none'
31
- }
32
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9HcmlkTGluZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCaUIiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0dyaWRMaW5lcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyBCb3ggfSBmcm9tICcuLi9Cb3gnO1xuXG5jb25zdCBHcmlkTGluZUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBkaXNwbGF5OiB7IF86ICdub25lJywgc206ICdmbGV4JyB9LFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB6SW5kZXg6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZSA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGJvcmRlckxlZnQ6IDEsXG4gICAgYm9yZGVyQ29sb3JMZWZ0OiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgZmxleDogMSxcbiAgICAnJjpmaXJzdC1vZi10eXBlJzoge1xuICAgICAgYm9yZGVyTGVmdDogJ25vbmUnLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaW5lc1Byb3BzIHtcbiAgdGlja0NvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkTGluZXM6IFJlYWN0LkZDPEdyaWRMaW5lc1Byb3BzPiA9ICh7IHRpY2tDb3VudCB9KSA9PiB7XG4gIGNvbnN0IGxpbmVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGlja0NvdW50IH0sIChfLCBpKSA9PiAoXG4gICAgPEdyaWRMaW5lIGFyaWEtaGlkZGVuIGtleT17aX0gLz5cbiAgKSk7XG5cbiAgcmV0dXJuIDxHcmlkTGluZUNvbnRhaW5lciBhcmlhLWhpZGRlbj57bGluZXN9PC9HcmlkTGluZUNvbnRhaW5lcj47XG59O1xuIl19 */");
33
- export const GridLines = ({
34
- tickCount
35
- }) => {
36
- const lines = Array.from({
37
- length: tickCount
38
- }, (_, i) => /*#__PURE__*/_jsx(GridLine, {
39
- "aria-hidden": true
40
- }, i));
41
- return /*#__PURE__*/_jsx(GridLineContainer, {
42
- "aria-hidden": true,
43
- children: lines
44
- });
45
- };
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- export interface ScaleChartHeaderProps {
3
- /** Minimum value on the scale */
4
- min: number;
5
- /** Maximum value on the scale */
6
- max: number;
7
- /** Number of labels to display */
8
- labelCount: number;
9
- }
10
- export declare const ScaleChartHeader: React.FC<ScaleChartHeaderProps>;
@@ -1,55 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { css } from '@codecademy/gamut-styles';
3
- import { FlexBox } from '../Box';
4
- import { Text } from '../Typography';
5
- import { useBarChartContext } from './BarChartProvider';
6
- import { formatNumberUSCompact, getLabel } from './utils';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const StyledLabelText = /*#__PURE__*/_styled(Text, {
9
- target: "egjxop0",
10
- label: "StyledLabelText"
11
- })(css({
12
- flex: 1
13
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9TY2FsZUNoYXJ0SGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQndCIiwiZmlsZSI6Ii4uLy4uL3NyYy9CYXJDaGFydC9TY2FsZUNoYXJ0SGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEZsZXhCb3ggfSBmcm9tICcuLi9Cb3gnO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgdXNlQmFyQ2hhcnRDb250ZXh0IH0gZnJvbSAnLi9CYXJDaGFydFByb3ZpZGVyJztcbmltcG9ydCB7IGZvcm1hdE51bWJlclVTQ29tcGFjdCwgZ2V0TGFiZWwgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBTY2FsZUNoYXJ0SGVhZGVyUHJvcHMge1xuICAvKiogTWluaW11bSB2YWx1ZSBvbiB0aGUgc2NhbGUgKi9cbiAgbWluOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHZhbHVlIG9uIHRoZSBzY2FsZSAqL1xuICBtYXg6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiBsYWJlbHMgdG8gZGlzcGxheSAqL1xuICBsYWJlbENvdW50OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZExhYmVsVGV4dCA9IHN0eWxlZChUZXh0KShcbiAgY3NzKHtcbiAgICBmbGV4OiAxLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IFNjYWxlQ2hhcnRIZWFkZXI6IFJlYWN0LkZDPFNjYWxlQ2hhcnRIZWFkZXJQcm9wcz4gPSAoe1xuICBsYWJlbENvdW50LFxuICBtYXgsXG59KSA9PiB7XG4gIGNvbnN0IHsgc3R5bGVDb25maWcgfSA9IHVzZUJhckNoYXJ0Q29udGV4dCgpO1xuXG4gIGNvbnN0IHNjYWxlTGFiZWxzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogbGFiZWxDb3VudCB9LCAoXywgaSkgPT4gKFxuICAgIDxTdHlsZWRMYWJlbFRleHRcbiAgICAgIGRhdGEtdGVzdGlkPVwiY2hhcnQtaGVhZGVyLWxhYmVsXCJcbiAgICAgIGtleT17aX1cbiAgICAgIHRleHRBbGlnbj1cImNlbnRlclwiXG4gICAgICB0ZXh0Q29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn1cbiAgICAgIHZhcmlhbnQ9XCJwLXNtYWxsXCJcbiAgICA+XG4gICAgICB7Zm9ybWF0TnVtYmVyVVNDb21wYWN0KHtcbiAgICAgICAgbnVtOiBnZXRMYWJlbCh7IGxhYmVsQ291bnQsIGxhYmVsSW5kZXg6IGksIG1heCB9KSxcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkTGFiZWxUZXh0PlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDxGbGV4Qm94XG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgZGlzcGxheT17eyBfOiAnbm9uZScsIHNtOiAnZmxleCcgfX1cbiAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICBtYj17OH1cbiAgICAgIHBsPXt7IF86IDY0LCBzbTogOTYgfX1cbiAgICAgIHByPXt7IF86IDQwLCBzbTogNjQgfX1cbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgPlxuICAgICAge3NjYWxlTGFiZWxzfVxuICAgIDwvRmxleEJveD5cbiAgKTtcbn07XG4iXX0= */");
14
- export const ScaleChartHeader = ({
15
- labelCount,
16
- max
17
- }) => {
18
- const {
19
- styleConfig
20
- } = useBarChartContext();
21
- const scaleLabels = Array.from({
22
- length: labelCount
23
- }, (_, i) => /*#__PURE__*/_jsx(StyledLabelText, {
24
- "data-testid": "chart-header-label",
25
- textAlign: "center",
26
- textColor: styleConfig.textColor,
27
- variant: "p-small",
28
- children: formatNumberUSCompact({
29
- num: getLabel({
30
- labelCount,
31
- labelIndex: i,
32
- max
33
- })
34
- })
35
- }, i));
36
- return /*#__PURE__*/_jsx(FlexBox, {
37
- "aria-hidden": "true",
38
- display: {
39
- _: 'none',
40
- sm: 'flex'
41
- },
42
- justifyContent: "space-between",
43
- mb: 8,
44
- pl: {
45
- _: 64,
46
- sm: 96
47
- },
48
- pr: {
49
- _: 40,
50
- sm: 64
51
- },
52
- width: "100%",
53
- children: scaleLabels
54
- });
55
- };
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import { BarChartProps } from './types';
3
- export declare const BarChart: React.FC<BarChartProps>;
4
- export * from './types';
@@ -1,68 +0,0 @@
1
- import { useMemo } from 'react';
2
- import { Box } from '../Box';
3
- import { BarChartProvider, useBarChart } from './BarChartProvider';
4
- import { BarRow } from './BarRow';
5
- import { GridLines } from './GridLines';
6
- import { ScaleChartHeader } from './ScaleChartHeader';
7
- import { sortBars } from './utils';
8
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- export const BarChart = ({
10
- 'aria-label': ariaLabel,
11
- 'aria-labelledby': ariaLabelledBy,
12
- animate = false,
13
- barValues,
14
- maxRange,
15
- minRange,
16
- order = 'ascending',
17
- sortBy = 'none',
18
- unit = '',
19
- styleConfig,
20
- xScale
21
- }) => {
22
- const contextValue = useBarChart({
23
- minRange,
24
- maxRange,
25
- xScale,
26
- unit,
27
- styleConfig,
28
- animate
29
- });
30
- const sortedBars = useMemo(() => sortBars({
31
- bars: barValues,
32
- sortBy,
33
- order
34
- }), [barValues, sortBy, order]);
35
-
36
- // Calculate number of ticks for the scale header
37
- const tickCount = Math.ceil((maxRange - minRange) / contextValue.xScale) + 1;
38
- return /*#__PURE__*/_jsx(BarChartProvider, {
39
- value: contextValue,
40
- children: /*#__PURE__*/_jsxs(Box, {
41
- position: "relative",
42
- width: "100%",
43
- children: [/*#__PURE__*/_jsx(ScaleChartHeader, {
44
- labelCount: tickCount,
45
- max: maxRange,
46
- min: minRange
47
- }), /*#__PURE__*/_jsxs(Box, {
48
- position: "relative",
49
- width: "100%",
50
- children: [/*#__PURE__*/_jsx(GridLines, {
51
- tickCount: tickCount
52
- }), /*#__PURE__*/_jsx(Box, {
53
- "aria-label": ariaLabel,
54
- "aria-labelledby": ariaLabelledBy,
55
- as: "ul",
56
- listStyle: "none",
57
- m: 0,
58
- p: 0,
59
- children: sortedBars.map((bar, index) => /*#__PURE__*/_jsx(BarRow, {
60
- index: index,
61
- ...bar
62
- }, `${bar.yLabel}-${index}`))
63
- })]
64
- })]
65
- })
66
- });
67
- };
68
- export * from './types';
@@ -1,56 +0,0 @@
1
- import { ColorAlias } from '@codecademy/gamut-styles';
2
- import { GamutIconProps } from '@codecademy/gamut-icons';
3
- import { HTMLProps } from 'react';
4
- import { ButtonProps } from '../Button';
5
- type BarChartAriaLabel = {
6
- 'aria-label': string;
7
- 'aria-labelledby'?: never;
8
- };
9
- type BarChartAriaLabelledBy = {
10
- 'aria-label'?: never;
11
- 'aria-labelledby': string;
12
- };
13
- type BarChartLabel = BarChartAriaLabel | BarChartAriaLabelledBy;
14
- export type BarChartStyles = {
15
- /** Color for text labels. Defaults to 'text' */
16
- textColor?: ColorAlias;
17
- /** Color for the foreground/progress bar. Defaults to 'feedback-warning' */
18
- foregroundBarColor?: ColorAlias;
19
- /** Color for the background/total bar. Defaults to 'paleBlue' */
20
- backgroundBarColor?: ColorAlias;
21
- };
22
- export type BarProps = {
23
- /** Label displayed on the y-axis for this bar */
24
- yLabel: string;
25
- /** The foreground/progress bar value (always shown) */
26
- seriesOneValue: number;
27
- /** The background/total bar value (optional - creates stacked effect when provided) */
28
- seriesTwoValue?: number;
29
- /** Optional icon to display next to the label */
30
- icon?: React.ComponentType<GamutIconProps>;
31
- /** Click handler - makes row interactive as a button */
32
- onClick?: ButtonProps['onClick'];
33
- /** Link href - makes row interactive as an anchor */
34
- href?: HTMLProps<HTMLAnchorElement>['href'];
35
- };
36
- export type BarChartProps = BarChartLabel & {
37
- /** Whether to animate bars on mount */
38
- animate?: boolean;
39
- /** Array of bar data to render */
40
- barValues: BarProps[];
41
- /** Maximum value for the x-axis scale */
42
- maxRange: number;
43
- /** Minimum value for the x-axis scale (usually 0) */
44
- minRange: number;
45
- /** Sort order for bars */
46
- order?: 'ascending' | 'descending';
47
- /** Property to sort bars by */
48
- sortBy?: 'label' | 'value' | 'none';
49
- /** Unit label to display (e.g., "XP") */
50
- unit?: string;
51
- /** Style configuration for colors */
52
- styleConfig?: BarChartStyles;
53
- /** Interval for x-axis scale markers */
54
- xScale?: number;
55
- };
56
- export {};
@@ -1 +0,0 @@
1
- export {};