@codecademy/gamut 67.6.1-alpha.1b85c1.0 → 67.6.1-alpha.7ad049.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.
Files changed (35) hide show
  1. package/dist/BarChart/Bar/elements.d.ts +1392 -0
  2. package/dist/BarChart/Bar/elements.js +61 -0
  3. package/dist/BarChart/Bar/index.d.ts +1 -0
  4. package/dist/BarChart/Bar/index.js +2 -0
  5. package/dist/BarChart/BarChartProvider.d.ts +33 -0
  6. package/dist/BarChart/BarChartProvider.js +39 -0
  7. package/dist/BarChart/BarRow.d.ts +7 -0
  8. package/dist/BarChart/BarRow.js +213 -0
  9. package/dist/BarChart/GridLines.d.ts +6 -0
  10. package/dist/BarChart/GridLines.js +45 -0
  11. package/dist/BarChart/ScaleChartHeader.d.ts +17 -0
  12. package/dist/BarChart/ScaleChartHeader.js +58 -0
  13. package/dist/BarChart/index.d.ts +4 -0
  14. package/dist/BarChart/index.js +81 -0
  15. package/dist/BarChart/types.d.ts +56 -0
  16. package/dist/BarChart/types.js +1 -0
  17. package/dist/BarChart/utils/index.d.ts +23 -0
  18. package/dist/BarChart/utils/index.js +56 -0
  19. package/dist/ConnectedForm/ConnectedFormGroup.d.ts +0 -5
  20. package/dist/ConnectedForm/ConnectedFormGroup.js +1 -1
  21. package/dist/Form/elements/FormGroupLabel.js +2 -8
  22. package/dist/GridForm/GridFormInputGroup/__fixtures__/renderers.d.ts +0 -4
  23. package/dist/GridForm/types.d.ts +0 -5
  24. package/dist/Tip/InfoTip/InfoTipButton.js +2 -5
  25. package/dist/Tip/InfoTip/elements.d.ts +12 -0
  26. package/dist/Tip/InfoTip/elements.js +9 -0
  27. package/dist/Tip/InfoTip/index.d.ts +0 -13
  28. package/dist/Tip/InfoTip/index.js +66 -36
  29. package/dist/Tip/__tests__/helpers.d.ts +26 -5
  30. package/dist/Tip/shared/FloatingTip.js +3 -3
  31. package/dist/Tip/shared/InlineTip.js +1 -4
  32. package/dist/Tip/shared/types.d.ts +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1 -0
  35. package/package.json +2 -2
@@ -0,0 +1,61 @@
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
+ height: '100%',
9
+ display: 'flex',
10
+ position: 'absolute',
11
+ left: 0,
12
+ borderRadius: 'inherit'
13
+ };
14
+
15
+ /**
16
+ * Animated bar element for background/total value display
17
+ */
18
+ export const BackgroundBar = /*#__PURE__*/_styled(motion.create(Box), {
19
+ target: "e1lnm2ux2",
20
+ label: "BackgroundBar"
21
+ })(css({
22
+ ...baseBarStyles,
23
+ border: 1,
24
+ borderColor: 'border-primary'
25
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbGVmdDogMCxcbiAgYm9yZGVyUmFkaXVzOiAnaW5oZXJpdCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICAgIGJvcmRlcjogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci1wcmltYXJ5JyxcbiAgfSlcbik7XG5cbi8qKlxuICogRm9yZWdyb3VuZCBiYXIgZm9yIHN0YWNrZWQgZGlzcGxheSAocHJvZ3Jlc3MgdmFsdWUpXG4gKiBDb2xvciBzaG91bGQgYmUgcGFzc2VkIHZpYSBiZyBwcm9wIGZyb20gcGFyZW50XG4gKi9cbmV4cG9ydCBjb25zdCBGb3JlZ3JvdW5kQmFyID0gc3R5bGVkKG1vdGlvbi5jcmVhdGUoQm94KSkoXG4gIGNzcyh7XG4gICAgLi4uYmFzZUJhclN0eWxlcyxcbiAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSAycHgpJyxcbiAgICB0b3A6IDEsXG4gICAgekluZGV4OiAxLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgaGVpZ2h0OiB7IF86IDEyLCBzbTogMjAgfSxcbiAgICBib3JkZXJSYWRpdXM6IHsgXzogJ21kJywgc206ICd4bCcgfSxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9KVxuKTtcbiJdfQ== */");
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
+ height: 'calc(100% - 2px)',
37
+ top: 1,
38
+ zIndex: 1
39
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbGVmdDogMCxcbiAgYm9yZGVyUmFkaXVzOiAnaW5oZXJpdCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICAgIGJvcmRlcjogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci1wcmltYXJ5JyxcbiAgfSlcbik7XG5cbi8qKlxuICogRm9yZWdyb3VuZCBiYXIgZm9yIHN0YWNrZWQgZGlzcGxheSAocHJvZ3Jlc3MgdmFsdWUpXG4gKiBDb2xvciBzaG91bGQgYmUgcGFzc2VkIHZpYSBiZyBwcm9wIGZyb20gcGFyZW50XG4gKi9cbmV4cG9ydCBjb25zdCBGb3JlZ3JvdW5kQmFyID0gc3R5bGVkKG1vdGlvbi5jcmVhdGUoQm94KSkoXG4gIGNzcyh7XG4gICAgLi4uYmFzZUJhclN0eWxlcyxcbiAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSAycHgpJyxcbiAgICB0b3A6IDEsXG4gICAgekluZGV4OiAxLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgaGVpZ2h0OiB7IF86IDEyLCBzbTogMjAgfSxcbiAgICBib3JkZXJSYWRpdXM6IHsgXzogJ21kJywgc206ICd4bCcgfSxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9KVxuKTtcbiJdfQ== */");
40
+
41
+ /**
42
+ * Container for bars with responsive height
43
+ */
44
+ export const BarWrapper = /*#__PURE__*/_styled(Box, {
45
+ target: "e1lnm2ux0",
46
+ label: "BarWrapper"
47
+ })(css({
48
+ display: 'flex',
49
+ overflow: 'hidden',
50
+ position: 'relative',
51
+ alignItems: 'center',
52
+ height: {
53
+ _: 12,
54
+ sm: 20
55
+ },
56
+ borderRadius: {
57
+ _: 'md',
58
+ sm: 'xl'
59
+ },
60
+ width: '100%'
61
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDMEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBtaW5CYXJXaWR0aCA9IDg7XG5cbmNvbnN0IGJhc2VCYXJTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbGVmdDogMCxcbiAgYm9yZGVyUmFkaXVzOiAnaW5oZXJpdCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFuaW1hdGVkIGJhciBlbGVtZW50IGZvciBiYWNrZ3JvdW5kL3RvdGFsIHZhbHVlIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCYXIgPSBzdHlsZWQobW90aW9uLmNyZWF0ZShCb3gpKShcbiAgY3NzKHtcbiAgICAuLi5iYXNlQmFyU3R5bGVzLFxuICAgIGJvcmRlcjogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci1wcmltYXJ5JyxcbiAgfSlcbik7XG5cbi8qKlxuICogRm9yZWdyb3VuZCBiYXIgZm9yIHN0YWNrZWQgZGlzcGxheSAocHJvZ3Jlc3MgdmFsdWUpXG4gKiBDb2xvciBzaG91bGQgYmUgcGFzc2VkIHZpYSBiZyBwcm9wIGZyb20gcGFyZW50XG4gKi9cbmV4cG9ydCBjb25zdCBGb3JlZ3JvdW5kQmFyID0gc3R5bGVkKG1vdGlvbi5jcmVhdGUoQm94KSkoXG4gIGNzcyh7XG4gICAgLi4uYmFzZUJhclN0eWxlcyxcbiAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSAycHgpJyxcbiAgICB0b3A6IDEsXG4gICAgekluZGV4OiAxLFxuICB9KVxuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgaGVpZ2h0OiB7IF86IDEyLCBzbTogMjAgfSxcbiAgICBib3JkZXJSYWRpdXM6IHsgXzogJ21kJywgc206ICd4bCcgfSxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9KVxuKTtcbiJdfQ== */");
@@ -0,0 +1 @@
1
+ export * from './elements';
@@ -0,0 +1,2 @@
1
+ // Re-export bar elements
2
+ export * from './elements';
@@ -0,0 +1,33 @@
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
+ };
@@ -0,0 +1,39 @@
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
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { BarProps } from './types';
3
+ export interface BarRowProps extends BarProps {
4
+ /** Index for animation staggering */
5
+ index?: number;
6
+ }
7
+ export declare const BarRow: import("react").ForwardRefExoticComponent<BarRowProps & import("react").RefAttributes<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement>>;
@@ -0,0 +1,213 @@
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 { useBarChartContext } from './BarChartProvider';
8
+ import { calculateBarWidth } from './utils';
9
+ import { BackgroundBar, BarWrapper, ForegroundBar, minBarWidth } from './Bar/elements';
10
+
11
+ // Polymorphic row wrapper styles
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ const rowBaseStyles = css({
14
+ display: 'flex',
15
+ alignItems: 'center',
16
+ width: '100%',
17
+ gap: 16,
18
+ py: 8,
19
+ px: 0,
20
+ bg: 'transparent',
21
+ border: 'none',
22
+ textDecoration: 'none',
23
+ cursor: 'inherit',
24
+ '&:focus': {
25
+ outline: 'none'
26
+ },
27
+ '&:focus-visible': {
28
+ outline: '2px solid',
29
+ outlineColor: 'primary',
30
+ outlineOffset: '2px'
31
+ }
32
+ });
33
+ const interactiveStyles = css({
34
+ cursor: 'pointer',
35
+ '&:hover': {
36
+ bg: 'background-hover'
37
+ }
38
+ });
39
+ const RowWrapper = /*#__PURE__*/_styled('div', _extends({}, {
40
+ target: "eew7ix72",
41
+ label: "RowWrapper"
42
+ }, styledOptions()))(rowBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDbUIiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyB1c2VCYXJDaGFydENvbnRleHQgfSBmcm9tICcuL0JhckNoYXJ0UHJvdmlkZXInO1xuaW1wb3J0IHsgQmFyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUJhcldpZHRoIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuXG4vLyBQb2x5bW9ycGhpYyByb3cgd3JhcHBlciBzdHlsZXNcbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDE2LFxuICBweTogOCxcbiAgcHg6IDAsXG4gIGJnOiAndHJhbnNwYXJlbnQnLFxuICBib3JkZXI6ICdub25lJyxcbiAgdGV4dERlY29yYXRpb246ICdub25lJyxcbiAgY3Vyc29yOiAnaW5oZXJpdCcsXG4gICcmOmZvY3VzJzoge1xuICAgIG91dGxpbmU6ICdub25lJyxcbiAgfSxcbiAgJyY6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICBvdXRsaW5lOiAnMnB4IHNvbGlkJyxcbiAgICBvdXRsaW5lQ29sb3I6ICdwcmltYXJ5JyxcbiAgICBvdXRsaW5lT2Zmc2V0OiAnMnB4JyxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnRlcmFjdGl2ZVN0eWxlcyA9IGNzcyh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICAnJjpob3Zlcic6IHtcbiAgICBiZzogJ2JhY2tncm91bmQtaG92ZXInLFxuICB9LFxufSk7XG5cbmNvbnN0IFJvd1dyYXBwZXIgPSBzdHlsZWQoJ2RpdicsIHN0eWxlZE9wdGlvbnM8J2Rpdic+KCkpKHJvd0Jhc2VTdHlsZXMpO1xuY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5jb25zdCBSb3dBbmNob3IgPSBzdHlsZWQoJ2EnLCBzdHlsZWRPcHRpb25zPCdhJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhclJvd1Byb3BzIGV4dGVuZHMgQmFyUHJvcHMge1xuICAvKiogSW5kZXggZm9yIGFuaW1hdGlvbiBzdGFnZ2VyaW5nICovXG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbiBhY2Nlc3NpYmxlIHN1bW1hcnkgb2YgdGhlIGJhciB2YWx1ZXNcbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gIHlMYWJlbCxcbiAgc2VyaWVzT25lVmFsdWUsXG4gIHNlcmllc1R3b1ZhbHVlLFxuICB1bml0LFxufToge1xuICB5TGFiZWw6IHN0cmluZztcbiAgc2VyaWVzT25lVmFsdWU6IG51bWJlcjtcbiAgc2VyaWVzVHdvVmFsdWU/OiBudW1iZXI7XG4gIHVuaXQ6IHN0cmluZztcbn0pOiBzdHJpbmcge1xuICBpZiAoc2VyaWVzVHdvVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGdhaW5lZCA9IHNlcmllc09uZVZhbHVlO1xuICAgIHJldHVybiBgJHtnYWluZWR9ICR7dW5pdH0gZ2FpbmVkIC0gbm93IGF0ICR7c2VyaWVzVHdvVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbiAgfVxuICByZXR1cm4gYCR7c2VyaWVzT25lVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbn1cblxuZXhwb3J0IGNvbnN0IEJhclJvdyA9IGZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50IHwgSFRNTEJ1dHRvbkVsZW1lbnQgfCBIVE1MQW5jaG9yRWxlbWVudCxcbiAgQmFyUm93UHJvcHNcbj4oXG4gIChcbiAgICB7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgaWNvbjogSWNvbixcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBocmVmLFxuICAgICAgaW5kZXggPSAwLFxuICAgIH0sXG4gICAgcmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgbWF4UmFuZ2UsIHVuaXQsIHN0eWxlQ29uZmlnLCBhbmltYXRlIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcblxuICAgIGNvbnN0IGlzU3RhY2tlZCA9IHNlcmllc1R3b1ZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNTdGFja2VkID8gc2VyaWVzVHdvVmFsdWUgOiBzZXJpZXNPbmVWYWx1ZTtcblxuICAgIC8vIENhbGN1bGF0ZSBiYXIgd2lkdGhzIGFzIHBlcmNlbnRhZ2VzXG4gICAgY29uc3QgYmFja2dyb3VuZEJhcldpZHRoID0gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgdmFsdWU6IGRpc3BsYXlWYWx1ZSxcbiAgICAgIG1heFJhbmdlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZm9yZWdyb3VuZEJhcldpZHRoID0gaXNTdGFja2VkXG4gICAgICA/IGNhbGN1bGF0ZUJhcldpZHRoKHtcbiAgICAgICAgICB2YWx1ZTogc2VyaWVzT25lVmFsdWUsXG4gICAgICAgICAgbWF4UmFuZ2UsXG4gICAgICAgIH0pXG4gICAgICA6IDA7XG5cbiAgICBjb25zdCBiZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGJhY2tncm91bmRCYXJXaWR0aCl9JWA7XG4gICAgY29uc3QgZmdXaWR0aFN0ciA9IGAke01hdGgubWF4KG1pbkJhcldpZHRoLCBmb3JlZ3JvdW5kQmFyV2lkdGgpfSVgO1xuXG4gICAgY29uc3QgdmFsdWVzU3VtbWFyeSA9IGdldFZhbHVlc1N1bW1hcnkoe1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIHVuaXQsXG4gICAgfSk7XG5cbiAgICAvLyBBbmltYXRpb24gZGVsYXkgZm9yIHN0YWdnZXJlZCBiYXIgZW50cmFuY2VcbiAgICBjb25zdCBhbmltYXRpb25EZWxheSA9IGFuaW1hdGUgPyBpbmRleCAqIDAuMSA6IDA7XG5cbiAgICBjb25zdCByb3dDb250ZW50ID0gKFxuICAgICAgPD5cbiAgICAgICAgey8qIFktYXhpcyBsYWJlbCB3aXRoIG9wdGlvbmFsIGljb24gKi99XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgZ2FwPXs4fVxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDgwLCBzbTogMTIwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIHtJY29uICYmIDxJY29uIHNpemU9ezE2fSBjb2xvcj17c3R5bGVDb25maWcudGV4dENvbG9yfSAvPn1cbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn1cbiAgICAgICAgICAgIHRydW5jYXRlPVwiZWxsaXBzaXNcIlxuICAgICAgICAgICAgdHJ1bmNhdGVMaW5lcz17MX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eUxhYmVsfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuXG4gICAgICAgIHsvKiBCYXIgY29udGFpbmVyICovfVxuICAgICAgICA8RmxleEJveCBmbGV4PXsxfSBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgcG9zaXRpb249XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxCYXJXcmFwcGVyPlxuICAgICAgICAgICAgey8qIEJhY2tncm91bmQgYmFyICh0b3RhbCB2YWx1ZSBpbiBzdGFja2VkLCBvciBzaW5nbGUgdmFsdWUgaW4gbm9uLXN0YWNrZWQpICovfVxuICAgICAgICAgICAgPEJhY2tncm91bmRCYXJcbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmJhY2tncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgaW5pdGlhbD17YW5pbWF0ZSA/IHsgd2lkdGg6ICcwJScgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogYmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIHsvKiBGb3JlZ3JvdW5kIGJhciAocHJvZ3Jlc3MgdmFsdWUgaW4gc3RhY2tlZCBtb2RlIG9ubHkpICovfVxuICAgICAgICAgICAge2lzU3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxGb3JlZ3JvdW5kQmFyXG4gICAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgICBpbml0aWFsPXthbmltYXRlID8geyB3aWR0aDogJzAlJyB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e2FuaW1hdGUgPyB7IHdpZHRoOiBmZ1dpZHRoU3RyIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogZmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZm9yZWdyb3VuZC1iYXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0JhcldyYXBwZXI+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogVmFsdWUgZGlzcGxheSAqL31cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImZsZXgtZW5kXCJcbiAgICAgICAgICBtaW5XaWR0aD17eyBfOiA0MCwgc206IDYwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLXNtYWxsXCIgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn0+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIC8vIFBvbHltb3JwaGljIHJlbmRlcmluZyBiYXNlZCBvbiBpbnRlcmFjdGl2aXR5XG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QW5jaG9yXG4gICAgICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEFuY2hvckVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QW5jaG9yPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxSb3dCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlIGFzIHVua25vd24gYXMgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEJ1dHRvbkVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGxpPlxuICAgICAgICA8Um93V3JhcHBlclxuICAgICAgICAgIGFyaWEtbGFiZWw9e3ZhbHVlc1N1bW1hcnl9XG4gICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD59XG4gICAgICAgID5cbiAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgPC9Sb3dXcmFwcGVyPlxuICAgICAgPC9saT5cbiAgICApO1xuICB9XG4pO1xuXG5CYXJSb3cuZGlzcGxheU5hbWUgPSAnQmFyUm93JztcbiJdfQ== */");
43
+ const RowButton = /*#__PURE__*/_styled('button', _extends({}, {
44
+ target: "eew7ix71",
45
+ label: "RowButton"
46
+ }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDa0IiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyB1c2VCYXJDaGFydENvbnRleHQgfSBmcm9tICcuL0JhckNoYXJ0UHJvdmlkZXInO1xuaW1wb3J0IHsgQmFyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUJhcldpZHRoIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuXG4vLyBQb2x5bW9ycGhpYyByb3cgd3JhcHBlciBzdHlsZXNcbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDE2LFxuICBweTogOCxcbiAgcHg6IDAsXG4gIGJnOiAndHJhbnNwYXJlbnQnLFxuICBib3JkZXI6ICdub25lJyxcbiAgdGV4dERlY29yYXRpb246ICdub25lJyxcbiAgY3Vyc29yOiAnaW5oZXJpdCcsXG4gICcmOmZvY3VzJzoge1xuICAgIG91dGxpbmU6ICdub25lJyxcbiAgfSxcbiAgJyY6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICBvdXRsaW5lOiAnMnB4IHNvbGlkJyxcbiAgICBvdXRsaW5lQ29sb3I6ICdwcmltYXJ5JyxcbiAgICBvdXRsaW5lT2Zmc2V0OiAnMnB4JyxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnRlcmFjdGl2ZVN0eWxlcyA9IGNzcyh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICAnJjpob3Zlcic6IHtcbiAgICBiZzogJ2JhY2tncm91bmQtaG92ZXInLFxuICB9LFxufSk7XG5cbmNvbnN0IFJvd1dyYXBwZXIgPSBzdHlsZWQoJ2RpdicsIHN0eWxlZE9wdGlvbnM8J2Rpdic+KCkpKHJvd0Jhc2VTdHlsZXMpO1xuY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5jb25zdCBSb3dBbmNob3IgPSBzdHlsZWQoJ2EnLCBzdHlsZWRPcHRpb25zPCdhJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhclJvd1Byb3BzIGV4dGVuZHMgQmFyUHJvcHMge1xuICAvKiogSW5kZXggZm9yIGFuaW1hdGlvbiBzdGFnZ2VyaW5nICovXG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbiBhY2Nlc3NpYmxlIHN1bW1hcnkgb2YgdGhlIGJhciB2YWx1ZXNcbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gIHlMYWJlbCxcbiAgc2VyaWVzT25lVmFsdWUsXG4gIHNlcmllc1R3b1ZhbHVlLFxuICB1bml0LFxufToge1xuICB5TGFiZWw6IHN0cmluZztcbiAgc2VyaWVzT25lVmFsdWU6IG51bWJlcjtcbiAgc2VyaWVzVHdvVmFsdWU/OiBudW1iZXI7XG4gIHVuaXQ6IHN0cmluZztcbn0pOiBzdHJpbmcge1xuICBpZiAoc2VyaWVzVHdvVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGdhaW5lZCA9IHNlcmllc09uZVZhbHVlO1xuICAgIHJldHVybiBgJHtnYWluZWR9ICR7dW5pdH0gZ2FpbmVkIC0gbm93IGF0ICR7c2VyaWVzVHdvVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbiAgfVxuICByZXR1cm4gYCR7c2VyaWVzT25lVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbn1cblxuZXhwb3J0IGNvbnN0IEJhclJvdyA9IGZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50IHwgSFRNTEJ1dHRvbkVsZW1lbnQgfCBIVE1MQW5jaG9yRWxlbWVudCxcbiAgQmFyUm93UHJvcHNcbj4oXG4gIChcbiAgICB7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgaWNvbjogSWNvbixcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBocmVmLFxuICAgICAgaW5kZXggPSAwLFxuICAgIH0sXG4gICAgcmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgbWF4UmFuZ2UsIHVuaXQsIHN0eWxlQ29uZmlnLCBhbmltYXRlIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcblxuICAgIGNvbnN0IGlzU3RhY2tlZCA9IHNlcmllc1R3b1ZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNTdGFja2VkID8gc2VyaWVzVHdvVmFsdWUgOiBzZXJpZXNPbmVWYWx1ZTtcblxuICAgIC8vIENhbGN1bGF0ZSBiYXIgd2lkdGhzIGFzIHBlcmNlbnRhZ2VzXG4gICAgY29uc3QgYmFja2dyb3VuZEJhcldpZHRoID0gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgdmFsdWU6IGRpc3BsYXlWYWx1ZSxcbiAgICAgIG1heFJhbmdlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZm9yZWdyb3VuZEJhcldpZHRoID0gaXNTdGFja2VkXG4gICAgICA/IGNhbGN1bGF0ZUJhcldpZHRoKHtcbiAgICAgICAgICB2YWx1ZTogc2VyaWVzT25lVmFsdWUsXG4gICAgICAgICAgbWF4UmFuZ2UsXG4gICAgICAgIH0pXG4gICAgICA6IDA7XG5cbiAgICBjb25zdCBiZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGJhY2tncm91bmRCYXJXaWR0aCl9JWA7XG4gICAgY29uc3QgZmdXaWR0aFN0ciA9IGAke01hdGgubWF4KG1pbkJhcldpZHRoLCBmb3JlZ3JvdW5kQmFyV2lkdGgpfSVgO1xuXG4gICAgY29uc3QgdmFsdWVzU3VtbWFyeSA9IGdldFZhbHVlc1N1bW1hcnkoe1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIHVuaXQsXG4gICAgfSk7XG5cbiAgICAvLyBBbmltYXRpb24gZGVsYXkgZm9yIHN0YWdnZXJlZCBiYXIgZW50cmFuY2VcbiAgICBjb25zdCBhbmltYXRpb25EZWxheSA9IGFuaW1hdGUgPyBpbmRleCAqIDAuMSA6IDA7XG5cbiAgICBjb25zdCByb3dDb250ZW50ID0gKFxuICAgICAgPD5cbiAgICAgICAgey8qIFktYXhpcyBsYWJlbCB3aXRoIG9wdGlvbmFsIGljb24gKi99XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgZ2FwPXs4fVxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDgwLCBzbTogMTIwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIHtJY29uICYmIDxJY29uIHNpemU9ezE2fSBjb2xvcj17c3R5bGVDb25maWcudGV4dENvbG9yfSAvPn1cbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn1cbiAgICAgICAgICAgIHRydW5jYXRlPVwiZWxsaXBzaXNcIlxuICAgICAgICAgICAgdHJ1bmNhdGVMaW5lcz17MX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eUxhYmVsfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuXG4gICAgICAgIHsvKiBCYXIgY29udGFpbmVyICovfVxuICAgICAgICA8RmxleEJveCBmbGV4PXsxfSBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgcG9zaXRpb249XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxCYXJXcmFwcGVyPlxuICAgICAgICAgICAgey8qIEJhY2tncm91bmQgYmFyICh0b3RhbCB2YWx1ZSBpbiBzdGFja2VkLCBvciBzaW5nbGUgdmFsdWUgaW4gbm9uLXN0YWNrZWQpICovfVxuICAgICAgICAgICAgPEJhY2tncm91bmRCYXJcbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmJhY2tncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgaW5pdGlhbD17YW5pbWF0ZSA/IHsgd2lkdGg6ICcwJScgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogYmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIHsvKiBGb3JlZ3JvdW5kIGJhciAocHJvZ3Jlc3MgdmFsdWUgaW4gc3RhY2tlZCBtb2RlIG9ubHkpICovfVxuICAgICAgICAgICAge2lzU3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxGb3JlZ3JvdW5kQmFyXG4gICAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgICBpbml0aWFsPXthbmltYXRlID8geyB3aWR0aDogJzAlJyB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e2FuaW1hdGUgPyB7IHdpZHRoOiBmZ1dpZHRoU3RyIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogZmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZm9yZWdyb3VuZC1iYXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0JhcldyYXBwZXI+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogVmFsdWUgZGlzcGxheSAqL31cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImZsZXgtZW5kXCJcbiAgICAgICAgICBtaW5XaWR0aD17eyBfOiA0MCwgc206IDYwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLXNtYWxsXCIgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn0+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIC8vIFBvbHltb3JwaGljIHJlbmRlcmluZyBiYXNlZCBvbiBpbnRlcmFjdGl2aXR5XG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QW5jaG9yXG4gICAgICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEFuY2hvckVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QW5jaG9yPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxSb3dCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlIGFzIHVua25vd24gYXMgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEJ1dHRvbkVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGxpPlxuICAgICAgICA8Um93V3JhcHBlclxuICAgICAgICAgIGFyaWEtbGFiZWw9e3ZhbHVlc1N1bW1hcnl9XG4gICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD59XG4gICAgICAgID5cbiAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgPC9Sb3dXcmFwcGVyPlxuICAgICAgPC9saT5cbiAgICApO1xuICB9XG4pO1xuXG5CYXJSb3cuZGlzcGxheU5hbWUgPSAnQmFyUm93JztcbiJdfQ== */");
47
+ const RowAnchor = /*#__PURE__*/_styled('a', _extends({}, {
48
+ target: "eew7ix70",
49
+ label: "RowAnchor"
50
+ }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9CYXJSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEa0IiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0JhclJvdy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgTW91c2VFdmVudCwgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uL0JveCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyB1c2VCYXJDaGFydENvbnRleHQgfSBmcm9tICcuL0JhckNoYXJ0UHJvdmlkZXInO1xuaW1wb3J0IHsgQmFyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUJhcldpZHRoIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge1xuICBCYWNrZ3JvdW5kQmFyLFxuICBCYXJXcmFwcGVyLFxuICBGb3JlZ3JvdW5kQmFyLFxuICBtaW5CYXJXaWR0aCxcbn0gZnJvbSAnLi9CYXIvZWxlbWVudHMnO1xuXG4vLyBQb2x5bW9ycGhpYyByb3cgd3JhcHBlciBzdHlsZXNcbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDE2LFxuICBweTogOCxcbiAgcHg6IDAsXG4gIGJnOiAndHJhbnNwYXJlbnQnLFxuICBib3JkZXI6ICdub25lJyxcbiAgdGV4dERlY29yYXRpb246ICdub25lJyxcbiAgY3Vyc29yOiAnaW5oZXJpdCcsXG4gICcmOmZvY3VzJzoge1xuICAgIG91dGxpbmU6ICdub25lJyxcbiAgfSxcbiAgJyY6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICBvdXRsaW5lOiAnMnB4IHNvbGlkJyxcbiAgICBvdXRsaW5lQ29sb3I6ICdwcmltYXJ5JyxcbiAgICBvdXRsaW5lT2Zmc2V0OiAnMnB4JyxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnRlcmFjdGl2ZVN0eWxlcyA9IGNzcyh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICAnJjpob3Zlcic6IHtcbiAgICBiZzogJ2JhY2tncm91bmQtaG92ZXInLFxuICB9LFxufSk7XG5cbmNvbnN0IFJvd1dyYXBwZXIgPSBzdHlsZWQoJ2RpdicsIHN0eWxlZE9wdGlvbnM8J2Rpdic+KCkpKHJvd0Jhc2VTdHlsZXMpO1xuY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5jb25zdCBSb3dBbmNob3IgPSBzdHlsZWQoJ2EnLCBzdHlsZWRPcHRpb25zPCdhJz4oKSkoXG4gIHJvd0Jhc2VTdHlsZXMsXG4gIGludGVyYWN0aXZlU3R5bGVzXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhclJvd1Byb3BzIGV4dGVuZHMgQmFyUHJvcHMge1xuICAvKiogSW5kZXggZm9yIGFuaW1hdGlvbiBzdGFnZ2VyaW5nICovXG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbiBhY2Nlc3NpYmxlIHN1bW1hcnkgb2YgdGhlIGJhciB2YWx1ZXNcbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWVzU3VtbWFyeSh7XG4gIHlMYWJlbCxcbiAgc2VyaWVzT25lVmFsdWUsXG4gIHNlcmllc1R3b1ZhbHVlLFxuICB1bml0LFxufToge1xuICB5TGFiZWw6IHN0cmluZztcbiAgc2VyaWVzT25lVmFsdWU6IG51bWJlcjtcbiAgc2VyaWVzVHdvVmFsdWU/OiBudW1iZXI7XG4gIHVuaXQ6IHN0cmluZztcbn0pOiBzdHJpbmcge1xuICBpZiAoc2VyaWVzVHdvVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGdhaW5lZCA9IHNlcmllc09uZVZhbHVlO1xuICAgIHJldHVybiBgJHtnYWluZWR9ICR7dW5pdH0gZ2FpbmVkIC0gbm93IGF0ICR7c2VyaWVzVHdvVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbiAgfVxuICByZXR1cm4gYCR7c2VyaWVzT25lVmFsdWV9ICR7dW5pdH0gaW4gJHt5TGFiZWx9IGNhdGVnb3J5YDtcbn1cblxuZXhwb3J0IGNvbnN0IEJhclJvdyA9IGZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50IHwgSFRNTEJ1dHRvbkVsZW1lbnQgfCBIVE1MQW5jaG9yRWxlbWVudCxcbiAgQmFyUm93UHJvcHNcbj4oXG4gIChcbiAgICB7XG4gICAgICB5TGFiZWwsXG4gICAgICBzZXJpZXNPbmVWYWx1ZSxcbiAgICAgIHNlcmllc1R3b1ZhbHVlLFxuICAgICAgaWNvbjogSWNvbixcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBocmVmLFxuICAgICAgaW5kZXggPSAwLFxuICAgIH0sXG4gICAgcmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgbWF4UmFuZ2UsIHVuaXQsIHN0eWxlQ29uZmlnLCBhbmltYXRlIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcblxuICAgIGNvbnN0IGlzU3RhY2tlZCA9IHNlcmllc1R3b1ZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNTdGFja2VkID8gc2VyaWVzVHdvVmFsdWUgOiBzZXJpZXNPbmVWYWx1ZTtcblxuICAgIC8vIENhbGN1bGF0ZSBiYXIgd2lkdGhzIGFzIHBlcmNlbnRhZ2VzXG4gICAgY29uc3QgYmFja2dyb3VuZEJhcldpZHRoID0gY2FsY3VsYXRlQmFyV2lkdGgoe1xuICAgICAgdmFsdWU6IGRpc3BsYXlWYWx1ZSxcbiAgICAgIG1heFJhbmdlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZm9yZWdyb3VuZEJhcldpZHRoID0gaXNTdGFja2VkXG4gICAgICA/IGNhbGN1bGF0ZUJhcldpZHRoKHtcbiAgICAgICAgICB2YWx1ZTogc2VyaWVzT25lVmFsdWUsXG4gICAgICAgICAgbWF4UmFuZ2UsXG4gICAgICAgIH0pXG4gICAgICA6IDA7XG5cbiAgICBjb25zdCBiZ1dpZHRoU3RyID0gYCR7TWF0aC5tYXgobWluQmFyV2lkdGgsIGJhY2tncm91bmRCYXJXaWR0aCl9JWA7XG4gICAgY29uc3QgZmdXaWR0aFN0ciA9IGAke01hdGgubWF4KG1pbkJhcldpZHRoLCBmb3JlZ3JvdW5kQmFyV2lkdGgpfSVgO1xuXG4gICAgY29uc3QgdmFsdWVzU3VtbWFyeSA9IGdldFZhbHVlc1N1bW1hcnkoe1xuICAgICAgeUxhYmVsLFxuICAgICAgc2VyaWVzT25lVmFsdWUsXG4gICAgICBzZXJpZXNUd29WYWx1ZSxcbiAgICAgIHVuaXQsXG4gICAgfSk7XG5cbiAgICAvLyBBbmltYXRpb24gZGVsYXkgZm9yIHN0YWdnZXJlZCBiYXIgZW50cmFuY2VcbiAgICBjb25zdCBhbmltYXRpb25EZWxheSA9IGFuaW1hdGUgPyBpbmRleCAqIDAuMSA6IDA7XG5cbiAgICBjb25zdCByb3dDb250ZW50ID0gKFxuICAgICAgPD5cbiAgICAgICAgey8qIFktYXhpcyBsYWJlbCB3aXRoIG9wdGlvbmFsIGljb24gKi99XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgZ2FwPXs4fVxuICAgICAgICAgIG1pbldpZHRoPXt7IF86IDgwLCBzbTogMTIwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIHtJY29uICYmIDxJY29uIHNpemU9ezE2fSBjb2xvcj17c3R5bGVDb25maWcudGV4dENvbG9yfSAvPn1cbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn1cbiAgICAgICAgICAgIHRydW5jYXRlPVwiZWxsaXBzaXNcIlxuICAgICAgICAgICAgdHJ1bmNhdGVMaW5lcz17MX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eUxhYmVsfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuXG4gICAgICAgIHsvKiBCYXIgY29udGFpbmVyICovfVxuICAgICAgICA8RmxleEJveCBmbGV4PXsxfSBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgcG9zaXRpb249XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxCYXJXcmFwcGVyPlxuICAgICAgICAgICAgey8qIEJhY2tncm91bmQgYmFyICh0b3RhbCB2YWx1ZSBpbiBzdGFja2VkLCBvciBzaW5nbGUgdmFsdWUgaW4gbm9uLXN0YWNrZWQpICovfVxuICAgICAgICAgICAgPEJhY2tncm91bmRCYXJcbiAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmJhY2tncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgaW5pdGlhbD17YW5pbWF0ZSA/IHsgd2lkdGg6ICcwJScgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgYW5pbWF0ZT17YW5pbWF0ZSA/IHsgd2lkdGg6IGJnV2lkdGhTdHIgfSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogYmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjUsIGRlbGF5OiBhbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhY2tncm91bmQtYmFyXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIHsvKiBGb3JlZ3JvdW5kIGJhciAocHJvZ3Jlc3MgdmFsdWUgaW4gc3RhY2tlZCBtb2RlIG9ubHkpICovfVxuICAgICAgICAgICAge2lzU3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxGb3JlZ3JvdW5kQmFyXG4gICAgICAgICAgICAgICAgYmc9e3N0eWxlQ29uZmlnLmZvcmVncm91bmRCYXJDb2xvcn1cbiAgICAgICAgICAgICAgICBpbml0aWFsPXthbmltYXRlID8geyB3aWR0aDogJzAlJyB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e2FuaW1hdGUgPyB7IHdpZHRoOiBmZ1dpZHRoU3RyIH0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9eyFhbmltYXRlID8geyB3aWR0aDogZmdXaWR0aFN0ciB9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNSwgZGVsYXk6IGFuaW1hdGlvbkRlbGF5ICsgMC4yNSB9fVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZm9yZWdyb3VuZC1iYXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0JhcldyYXBwZXI+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogVmFsdWUgZGlzcGxheSAqL31cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImZsZXgtZW5kXCJcbiAgICAgICAgICBtaW5XaWR0aD17eyBfOiA0MCwgc206IDYwIH19XG4gICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLXNtYWxsXCIgY29sb3I9e3N0eWxlQ29uZmlnLnRleHRDb2xvcn0+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlLnRvTG9jYWxlU3RyaW5nKCl9XG4gICAgICAgICAgICB7dW5pdCAmJiBgICR7dW5pdH1gfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIC8vIFBvbHltb3JwaGljIHJlbmRlcmluZyBiYXNlZCBvbiBpbnRlcmFjdGl2aXR5XG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8Um93QW5jaG9yXG4gICAgICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEFuY2hvckVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QW5jaG9yPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxSb3dCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlIGFzIHVua25vd24gYXMgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dmFsdWVzU3VtbWFyeX1cbiAgICAgICAgICAgIHJlZj17cmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTEJ1dHRvbkVsZW1lbnQ+fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3dDb250ZW50fVxuICAgICAgICAgIDwvUm93QnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGxpPlxuICAgICAgICA8Um93V3JhcHBlclxuICAgICAgICAgIGFyaWEtbGFiZWw9e3ZhbHVlc1N1bW1hcnl9XG4gICAgICAgICAgcmVmPXtyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD59XG4gICAgICAgID5cbiAgICAgICAgICB7cm93Q29udGVudH1cbiAgICAgICAgPC9Sb3dXcmFwcGVyPlxuICAgICAgPC9saT5cbiAgICApO1xuICB9XG4pO1xuXG5CYXJSb3cuZGlzcGxheU5hbWUgPSAnQmFyUm93JztcbiJdfQ== */");
51
+ /**
52
+ * Generates an accessible summary of the bar values
53
+ */
54
+ function getValuesSummary({
55
+ yLabel,
56
+ seriesOneValue,
57
+ seriesTwoValue,
58
+ unit
59
+ }) {
60
+ if (seriesTwoValue !== undefined) {
61
+ const gained = seriesOneValue;
62
+ return `${gained} ${unit} gained - now at ${seriesTwoValue} ${unit} in ${yLabel} category`;
63
+ }
64
+ return `${seriesOneValue} ${unit} in ${yLabel} category`;
65
+ }
66
+ export const BarRow = /*#__PURE__*/forwardRef(({
67
+ yLabel,
68
+ seriesOneValue,
69
+ seriesTwoValue,
70
+ icon: Icon,
71
+ onClick,
72
+ href,
73
+ index = 0
74
+ }, ref) => {
75
+ const {
76
+ maxRange,
77
+ unit,
78
+ styleConfig,
79
+ animate
80
+ } = useBarChartContext();
81
+ const isStacked = seriesTwoValue !== undefined;
82
+ const displayValue = isStacked ? seriesTwoValue : seriesOneValue;
83
+
84
+ // Calculate bar widths as percentages
85
+ const backgroundBarWidth = calculateBarWidth({
86
+ value: displayValue,
87
+ maxRange
88
+ });
89
+ const foregroundBarWidth = isStacked ? calculateBarWidth({
90
+ value: seriesOneValue,
91
+ maxRange
92
+ }) : 0;
93
+ const bgWidthStr = `${Math.max(minBarWidth, backgroundBarWidth)}%`;
94
+ const fgWidthStr = `${Math.max(minBarWidth, foregroundBarWidth)}%`;
95
+ const valuesSummary = getValuesSummary({
96
+ yLabel,
97
+ seriesOneValue,
98
+ seriesTwoValue,
99
+ unit
100
+ });
101
+
102
+ // Animation delay for staggered bar entrance
103
+ const animationDelay = animate ? index * 0.1 : 0;
104
+ const rowContent = /*#__PURE__*/_jsxs(_Fragment, {
105
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
106
+ alignItems: "center",
107
+ gap: 8,
108
+ minWidth: {
109
+ _: 80,
110
+ sm: 120
111
+ },
112
+ flexShrink: 0,
113
+ children: [Icon && /*#__PURE__*/_jsx(Icon, {
114
+ size: 16,
115
+ color: styleConfig.textColor
116
+ }), /*#__PURE__*/_jsx(Text, {
117
+ variant: "p-small",
118
+ color: styleConfig.textColor,
119
+ truncate: "ellipsis",
120
+ truncateLines: 1,
121
+ children: yLabel
122
+ })]
123
+ }), /*#__PURE__*/_jsx(FlexBox, {
124
+ flex: 1,
125
+ alignItems: "center",
126
+ position: "relative",
127
+ children: /*#__PURE__*/_jsxs(BarWrapper, {
128
+ children: [/*#__PURE__*/_jsx(BackgroundBar, {
129
+ bg: styleConfig.backgroundBarColor,
130
+ initial: animate ? {
131
+ width: '0%'
132
+ } : undefined,
133
+ animate: animate ? {
134
+ width: bgWidthStr
135
+ } : undefined,
136
+ style: !animate ? {
137
+ width: bgWidthStr
138
+ } : undefined,
139
+ transition: {
140
+ duration: 0.5,
141
+ delay: animationDelay
142
+ },
143
+ "data-testid": "background-bar"
144
+ }), isStacked && /*#__PURE__*/_jsx(ForegroundBar, {
145
+ bg: styleConfig.foregroundBarColor,
146
+ initial: animate ? {
147
+ width: '0%'
148
+ } : undefined,
149
+ animate: animate ? {
150
+ width: fgWidthStr
151
+ } : undefined,
152
+ style: !animate ? {
153
+ width: fgWidthStr
154
+ } : undefined,
155
+ transition: {
156
+ duration: 0.5,
157
+ delay: animationDelay + 0.25
158
+ },
159
+ "data-testid": "foreground-bar"
160
+ })]
161
+ })
162
+ }), /*#__PURE__*/_jsx(FlexBox, {
163
+ alignItems: "center",
164
+ justifyContent: "flex-end",
165
+ minWidth: {
166
+ _: 40,
167
+ sm: 60
168
+ },
169
+ flexShrink: 0,
170
+ children: /*#__PURE__*/_jsxs(Text, {
171
+ variant: "p-small",
172
+ color: styleConfig.textColor,
173
+ children: [displayValue.toLocaleString(), unit && ` ${unit}`]
174
+ })
175
+ })]
176
+ });
177
+
178
+ // Polymorphic rendering based on interactivity
179
+ if (href) {
180
+ return /*#__PURE__*/_jsx("li", {
181
+ children: /*#__PURE__*/_jsx(RowAnchor, {
182
+ href: href,
183
+ "aria-label": valuesSummary,
184
+ ref: ref,
185
+ children: rowContent
186
+ })
187
+ });
188
+ }
189
+ if (onClick) {
190
+ return /*#__PURE__*/_jsx("li", {
191
+ children: /*#__PURE__*/_jsx(RowButton, {
192
+ type: "button",
193
+ onClick: onClick,
194
+ onKeyDown: e => {
195
+ if (e.key === 'Enter') {
196
+ onClick(e);
197
+ }
198
+ },
199
+ "aria-label": valuesSummary,
200
+ ref: ref,
201
+ children: rowContent
202
+ })
203
+ });
204
+ }
205
+ return /*#__PURE__*/_jsx("li", {
206
+ children: /*#__PURE__*/_jsx(RowWrapper, {
207
+ "aria-label": valuesSummary,
208
+ ref: ref,
209
+ children: rowContent
210
+ })
211
+ });
212
+ });
213
+ BarRow.displayName = 'BarRow';
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export interface GridLinesProps {
3
+ /** Number of grid lines to render */
4
+ tickCount: number;
5
+ }
6
+ export declare const GridLines: React.FC<GridLinesProps>;
@@ -0,0 +1,45 @@
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9HcmlkTGluZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUswQiIsImZpbGUiOiIuLi8uLi9zcmMvQmFyQ2hhcnQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uL0JveCc7XG5cbmNvbnN0IEdyaWRMaW5lQ29udGFpbmVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgYm90dG9tOiAwLFxuICAgIGRpc3BsYXk6IHsgXzogJ25vbmUnLCBzbTogJ2ZsZXgnIH0sXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHpJbmRleDogMCxcbiAgfSlcbik7XG5cbmNvbnN0IEdyaWRMaW5lID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJDb2xvckxlZnQ6ICdib3JkZXItdGVydGlhcnknLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIGZsZXg6IDEsXG4gICAgJyY6Zmlyc3Qtb2YtdHlwZSc6IHtcbiAgICAgIGJvcmRlckxlZnQ6ICdub25lJyxcbiAgICB9LFxuICB9KVxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkTGluZXNQcm9wcyB7XG4gIC8qKiBOdW1iZXIgb2YgZ3JpZCBsaW5lcyB0byByZW5kZXIgKi9cbiAgdGlja0NvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkTGluZXM6IFJlYWN0LkZDPEdyaWRMaW5lc1Byb3BzPiA9ICh7IHRpY2tDb3VudCB9KSA9PiB7XG4gIGNvbnN0IGxpbmVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGlja0NvdW50IH0sIChfLCBpKSA9PiAoXG4gICAgPEdyaWRMaW5lIGtleT17aX0gYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgKSk7XG5cbiAgcmV0dXJuIDxHcmlkTGluZUNvbnRhaW5lciBhcmlhLWhpZGRlbj1cInRydWVcIj57bGluZXN9PC9HcmlkTGluZUNvbnRhaW5lcj47XG59O1xuIl19 */");
21
+ const GridLine = /*#__PURE__*/_styled(Box, {
22
+ target: "e1y7txrp0",
23
+ label: "GridLine"
24
+ })(css({
25
+ borderLeft: 1,
26
+ borderColorLeft: 'border-tertiary',
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9HcmlkTGluZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCaUIiLCJmaWxlIjoiLi4vLi4vc3JjL0JhckNoYXJ0L0dyaWRMaW5lcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyBCb3ggfSBmcm9tICcuLi9Cb3gnO1xuXG5jb25zdCBHcmlkTGluZUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBkaXNwbGF5OiB7IF86ICdub25lJywgc206ICdmbGV4JyB9LFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB6SW5kZXg6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZSA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGJvcmRlckxlZnQ6IDEsXG4gICAgYm9yZGVyQ29sb3JMZWZ0OiAnYm9yZGVyLXRlcnRpYXJ5JyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBmbGV4OiAxLFxuICAgICcmOmZpcnN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJMZWZ0OiAnbm9uZScsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZExpbmVzUHJvcHMge1xuICAvKiogTnVtYmVyIG9mIGdyaWQgbGluZXMgdG8gcmVuZGVyICovXG4gIHRpY2tDb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgR3JpZExpbmVzOiBSZWFjdC5GQzxHcmlkTGluZXNQcm9wcz4gPSAoeyB0aWNrQ291bnQgfSkgPT4ge1xuICBjb25zdCBsaW5lcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHRpY2tDb3VudCB9LCAoXywgaSkgPT4gKFxuICAgIDxHcmlkTGluZSBrZXk9e2l9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICkpO1xuXG4gIHJldHVybiA8R3JpZExpbmVDb250YWluZXIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e2xpbmVzfTwvR3JpZExpbmVDb250YWluZXI+O1xufTtcbiJdfQ== */");
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
+ };
@@ -0,0 +1,17 @@
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
+ /**
11
+ * Calculates the value for a given label position
12
+ */
13
+ export declare const getLabel: (labelCount: number, labelIndex: number, max: number) => number;
14
+ /**
15
+ * Header component showing the x-axis scale labels
16
+ */
17
+ export declare const ScaleChartHeader: React.FC<ScaleChartHeaderProps>;
@@ -0,0 +1,58 @@
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 { formatNumberUSCompact } from './utils';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const StyledLabelText = /*#__PURE__*/_styled(Text, {
8
+ target: "egjxop0",
9
+ label: "StyledLabelText"
10
+ })(css({
11
+ flex: 1
12
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9TY2FsZUNoYXJ0SGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQndCIiwiZmlsZSI6Ii4uLy4uL3NyYy9CYXJDaGFydC9TY2FsZUNoYXJ0SGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEZsZXhCb3ggfSBmcm9tICcuLi9Cb3gnO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZm9ybWF0TnVtYmVyVVNDb21wYWN0IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbGVDaGFydEhlYWRlclByb3BzIHtcbiAgLyoqIE1pbmltdW0gdmFsdWUgb24gdGhlIHNjYWxlICovXG4gIG1pbjogbnVtYmVyO1xuICAvKiogTWF4aW11bSB2YWx1ZSBvbiB0aGUgc2NhbGUgKi9cbiAgbWF4OiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgbGFiZWxzIHRvIGRpc3BsYXkgKi9cbiAgbGFiZWxDb3VudDogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRMYWJlbFRleHQgPSBzdHlsZWQoVGV4dCkoXG4gIGNzcyh7XG4gICAgZmxleDogMSxcbiAgfSlcbik7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgdmFsdWUgZm9yIGEgZ2l2ZW4gbGFiZWwgcG9zaXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gKFxuICBsYWJlbENvdW50OiBudW1iZXIsXG4gIGxhYmVsSW5kZXg6IG51bWJlcixcbiAgbWF4OiBudW1iZXJcbik6IG51bWJlciA9PiB7XG4gIGlmIChsYWJlbENvdW50IDw9IDEpIHJldHVybiBtYXg7XG4gIGNvbnN0IGluY3JlbWVudGFsRGVjaW1hbCA9IGxhYmVsSW5kZXggLyAobGFiZWxDb3VudCAtIDEpO1xuICByZXR1cm4gTWF0aC5mbG9vcihpbmNyZW1lbnRhbERlY2ltYWwgKiBtYXgpO1xufTtcblxuLyoqXG4gKiBIZWFkZXIgY29tcG9uZW50IHNob3dpbmcgdGhlIHgtYXhpcyBzY2FsZSBsYWJlbHNcbiAqL1xuZXhwb3J0IGNvbnN0IFNjYWxlQ2hhcnRIZWFkZXI6IFJlYWN0LkZDPFNjYWxlQ2hhcnRIZWFkZXJQcm9wcz4gPSAoe1xuICBsYWJlbENvdW50LFxuICBtYXgsXG59KSA9PiB7XG4gIGNvbnN0IHNjYWxlTGFiZWxzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogbGFiZWxDb3VudCB9LCAoXywgaSkgPT4gKFxuICAgIDxTdHlsZWRMYWJlbFRleHRcbiAgICAgIGtleT17aX1cbiAgICAgIHZhcmlhbnQ9XCJwLXNtYWxsXCJcbiAgICAgIHRleHRDb2xvcj1cInRleHQtc2Vjb25kYXJ5XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiY2hhcnQtaGVhZGVyLWxhYmVsXCJcbiAgICAgIHRleHRBbGlnbj17aSA9PT0gMCA/ICdsZWZ0JyA6IGkgPT09IGxhYmVsQ291bnQgLSAxID8gJ3JpZ2h0JyA6ICdjZW50ZXInfVxuICAgID5cbiAgICAgIHtmb3JtYXROdW1iZXJVU0NvbXBhY3QoZ2V0TGFiZWwobGFiZWxDb3VudCwgaSwgbWF4KSl9XG4gICAgPC9TdHlsZWRMYWJlbFRleHQ+XG4gICkpO1xuXG4gIHJldHVybiAoXG4gICAgPEZsZXhCb3hcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgbWI9ezh9XG4gICAgICBwbD17eyBfOiA2NCwgc206IDk2IH19XG4gICAgICBwcj17eyBfOiA0MCwgc206IDY0IH19XG4gICAgICBkaXNwbGF5PXt7IF86ICdub25lJywgc206ICdmbGV4JyB9fVxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICA+XG4gICAgICB7c2NhbGVMYWJlbHN9XG4gICAgPC9GbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
13
+
14
+ /**
15
+ * Calculates the value for a given label position
16
+ */
17
+ export const getLabel = (labelCount, labelIndex, max) => {
18
+ if (labelCount <= 1) return max;
19
+ const incrementalDecimal = labelIndex / (labelCount - 1);
20
+ return Math.floor(incrementalDecimal * max);
21
+ };
22
+
23
+ /**
24
+ * Header component showing the x-axis scale labels
25
+ */
26
+ export const ScaleChartHeader = ({
27
+ labelCount,
28
+ max
29
+ }) => {
30
+ const scaleLabels = Array.from({
31
+ length: labelCount
32
+ }, (_, i) => /*#__PURE__*/_jsx(StyledLabelText, {
33
+ variant: "p-small",
34
+ textColor: "text-secondary",
35
+ "data-testid": "chart-header-label",
36
+ textAlign: i === 0 ? 'left' : i === labelCount - 1 ? 'right' : 'center',
37
+ children: formatNumberUSCompact(getLabel(labelCount, i, max))
38
+ }, i));
39
+ return /*#__PURE__*/_jsx(FlexBox, {
40
+ width: "100%",
41
+ justifyContent: "space-between",
42
+ mb: 8,
43
+ pl: {
44
+ _: 64,
45
+ sm: 96
46
+ },
47
+ pr: {
48
+ _: 40,
49
+ sm: 64
50
+ },
51
+ display: {
52
+ _: 'none',
53
+ sm: 'flex'
54
+ },
55
+ "aria-hidden": "true",
56
+ children: scaleLabels
57
+ });
58
+ };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { BarChartProps } from './types';
3
+ export declare const BarChart: React.FC<BarChartProps>;
4
+ export * from './types';
@@ -0,0 +1,81 @@
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 { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ /**
9
+ * Sort bars based on sortBy and order configuration
10
+ */
11
+ function sortBars(bars, sortBy, order) {
12
+ if (sortBy === 'none' || !sortBy) {
13
+ return bars;
14
+ }
15
+ const sorted = [...bars].sort((a, b) => {
16
+ if (sortBy === 'label') {
17
+ return a.yLabel.localeCompare(b.yLabel);
18
+ }
19
+ // sortBy === 'value' - use seriesTwoValue if available, otherwise seriesOneValue
20
+ const aValue = a.seriesTwoValue ?? a.seriesOneValue;
21
+ const bValue = b.seriesTwoValue ?? b.seriesOneValue;
22
+ return aValue - bValue;
23
+ });
24
+ return order === 'descending' ? sorted.reverse() : sorted;
25
+ }
26
+ export const BarChart = ({
27
+ 'aria-label': ariaLabel,
28
+ 'aria-labelledby': ariaLabelledBy,
29
+ animate = false,
30
+ barValues,
31
+ maxRange,
32
+ minRange,
33
+ order = 'ascending',
34
+ sortBy = 'none',
35
+ unit = '',
36
+ styleConfig,
37
+ xScale
38
+ }) => {
39
+ const contextValue = useBarChart({
40
+ minRange,
41
+ maxRange,
42
+ xScale,
43
+ unit,
44
+ styleConfig,
45
+ animate
46
+ });
47
+ const sortedBars = useMemo(() => sortBars(barValues, sortBy, order), [barValues, sortBy, order]);
48
+
49
+ // Calculate number of ticks for the scale header
50
+ const tickCount = Math.ceil((maxRange - minRange) / contextValue.xScale) + 1;
51
+ return /*#__PURE__*/_jsx(BarChartProvider, {
52
+ value: contextValue,
53
+ children: /*#__PURE__*/_jsxs(Box, {
54
+ width: "100%",
55
+ position: "relative",
56
+ children: [/*#__PURE__*/_jsx(ScaleChartHeader, {
57
+ min: minRange,
58
+ max: maxRange,
59
+ labelCount: tickCount
60
+ }), /*#__PURE__*/_jsxs(Box, {
61
+ position: "relative",
62
+ width: "100%",
63
+ children: [/*#__PURE__*/_jsx(GridLines, {
64
+ tickCount: tickCount
65
+ }), /*#__PURE__*/_jsx(Box, {
66
+ as: "ul",
67
+ "aria-label": ariaLabel,
68
+ "aria-labelledby": ariaLabelledBy,
69
+ p: 0,
70
+ m: 0,
71
+ listStyle: "none",
72
+ children: sortedBars.map((bar, index) => /*#__PURE__*/_jsx(BarRow, {
73
+ index: index,
74
+ ...bar
75
+ }, `${bar.yLabel}-${index}`))
76
+ })]
77
+ })]
78
+ })
79
+ });
80
+ };
81
+ export * from './types';