@codecademy/gamut 67.6.3-alpha.86d3e6.0 → 67.6.3-alpha.cb4c1d.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.
@@ -0,0 +1,96 @@
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 { motion } from 'framer-motion';
5
+ import { Box } from '../../Box';
6
+ const rowBaseStyles = css({
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ width: '100%',
10
+ gap: 0,
11
+ py: 8,
12
+ pr: 16,
13
+ position: 'relative',
14
+ bg: 'transparent',
15
+ border: 'none',
16
+ textDecoration: 'none',
17
+ cursor: 'inherit',
18
+ '&:focus': {
19
+ outline: 'none'
20
+ },
21
+ '&:focus-visible': {
22
+ outline: '2px solid',
23
+ outlineColor: 'primary',
24
+ outlineOffset: '2px'
25
+ }
26
+ });
27
+ const interactiveStyles = css({
28
+ cursor: 'pointer',
29
+ '&:hover': {
30
+ bg: 'background-hover'
31
+ }
32
+ });
33
+ export const RowWrapper = /*#__PURE__*/_styled('div', _extends({}, {
34
+ target: "e1lnm2ux5",
35
+ label: "RowWrapper"
36
+ }, styledOptions()))(rowBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DMEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
37
+ export const RowButton = /*#__PURE__*/_styled('button', _extends({}, {
38
+ target: "e1lnm2ux4",
39
+ label: "RowButton"
40
+ }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9DeUIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
41
+ export const RowAnchor = /*#__PURE__*/_styled('a', _extends({}, {
42
+ target: "e1lnm2ux3",
43
+ label: "RowAnchor"
44
+ }, styledOptions()))(rowBaseStyles, interactiveStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDeUIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
45
+
46
+ /**
47
+ * Container for bars with responsive height
48
+ */
49
+ export const BarWrapper = /*#__PURE__*/_styled(Box, {
50
+ target: "e1lnm2ux2",
51
+ label: "BarWrapper"
52
+ })(css({
53
+ display: 'flex',
54
+ overflow: 'hidden',
55
+ position: 'relative',
56
+ alignItems: 'center',
57
+ flex: 1,
58
+ height: {
59
+ _: 12,
60
+ sm: 20
61
+ },
62
+ borderRadius: {
63
+ _: 'md',
64
+ sm: 'xl'
65
+ }
66
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEMEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
67
+ const baseBarStyles = {
68
+ alignItems: 'center',
69
+ border: 1,
70
+ borderColor: 'border-primary',
71
+ borderRadius: 'inherit',
72
+ display: 'flex',
73
+ height: '100%',
74
+ left: 0,
75
+ position: 'absolute'
76
+ };
77
+
78
+ /**
79
+ * Animated bar element for background/total value display
80
+ */
81
+ export const BackgroundBar = /*#__PURE__*/_styled(motion.create(Box), {
82
+ target: "e1lnm2ux1",
83
+ label: "BackgroundBar"
84
+ })(css({
85
+ ...baseBarStyles
86
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBFNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
87
+
88
+ /**
89
+ * Foreground bar for stacked display (progress value)
90
+ */
91
+ export const ForegroundBar = /*#__PURE__*/_styled(motion.create(Box), {
92
+ target: "e1lnm2ux0",
93
+ label: "ForegroundBar"
94
+ })(css({
95
+ ...baseBarStyles
96
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9CYXIvZWxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1GNkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L0Jhci9lbGVtZW50cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHN0eWxlZE9wdGlvbnMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmNvbnN0IHJvd0Jhc2VTdHlsZXMgPSBjc3Moe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBnYXA6IDAsXG4gIHB5OiA4LFxuICBwcjogMTYsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBiZzogJ3RyYW5zcGFyZW50JyxcbiAgYm9yZGVyOiAnbm9uZScsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIGN1cnNvcjogJ2luaGVyaXQnLFxuICAnJjpmb2N1cyc6IHtcbiAgICBvdXRsaW5lOiAnbm9uZScsXG4gIH0sXG4gICcmOmZvY3VzLXZpc2libGUnOiB7XG4gICAgb3V0bGluZTogJzJweCBzb2xpZCcsXG4gICAgb3V0bGluZUNvbG9yOiAncHJpbWFyeScsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gIH0sXG59KTtcblxuY29uc3QgaW50ZXJhY3RpdmVTdHlsZXMgPSBjc3Moe1xuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgJyY6aG92ZXInOiB7XG4gICAgYmc6ICdiYWNrZ3JvdW5kLWhvdmVyJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUm93V3JhcHBlciA9IHN0eWxlZCgnZGl2Jywgc3R5bGVkT3B0aW9uczwnZGl2Jz4oKSkocm93QmFzZVN0eWxlcyk7XG5leHBvcnQgY29uc3QgUm93QnV0dG9uID0gc3R5bGVkKCdidXR0b24nLCBzdHlsZWRPcHRpb25zPCdidXR0b24nPigpKShcbiAgcm93QmFzZVN0eWxlcyxcbiAgaW50ZXJhY3RpdmVTdHlsZXNcbik7XG5leHBvcnQgY29uc3QgUm93QW5jaG9yID0gc3R5bGVkKCdhJywgc3R5bGVkT3B0aW9uczwnYSc+KCkpKFxuICByb3dCYXNlU3R5bGVzLFxuICBpbnRlcmFjdGl2ZVN0eWxlc1xuKTtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGJhcnMgd2l0aCByZXNwb25zaXZlIGhlaWdodFxuICovXG5leHBvcnQgY29uc3QgQmFyV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleDogMSxcbiAgICBoZWlnaHQ6IHsgXzogMTIsIHNtOiAyMCB9LFxuICAgIGJvcmRlclJhZGl1czogeyBfOiAnbWQnLCBzbTogJ3hsJyB9LFxuICB9KVxuKTtcblxuY29uc3QgYmFzZUJhclN0eWxlcyA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdib3JkZXItcHJpbWFyeScsXG4gIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQW5pbWF0ZWQgYmFyIGVsZW1lbnQgZm9yIGJhY2tncm91bmQvdG90YWwgdmFsdWUgZGlzcGxheVxuICovXG5leHBvcnQgY29uc3QgQmFja2dyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuXG4vKipcbiAqIEZvcmVncm91bmQgYmFyIGZvciBzdGFja2VkIGRpc3BsYXkgKHByb2dyZXNzIHZhbHVlKVxuICovXG5leHBvcnQgY29uc3QgRm9yZWdyb3VuZEJhciA9IHN0eWxlZChtb3Rpb24uY3JlYXRlKEJveCkpKFxuICBjc3Moe1xuICAgIC4uLmJhc2VCYXJTdHlsZXMsXG4gIH0pXG4pO1xuIl19 */");
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { BarProps } from '../shared/types';
3
+ export interface BarRowProps extends BarProps {
4
+ index?: number;
5
+ }
6
+ export declare const Bar: import("react").ForwardRefExoticComponent<BarRowProps & import("react").RefAttributes<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement>>;
@@ -0,0 +1,134 @@
1
+ import { forwardRef } from 'react';
2
+ import { FlexBox } from '../../Box';
3
+ import { Text } from '../../Typography';
4
+ import { minBarWidth, rightSpacerWidth } from '../shared/styles';
5
+ import { calculateBarWidth, getValuesSummary, useBarChartContext } from '../utils';
6
+ import { BackgroundBar, BarWrapper, ForegroundBar, RowAnchor, RowButton, RowWrapper } from './elements';
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
+ export const Bar = /*#__PURE__*/forwardRef(({
9
+ yLabel,
10
+ seriesOneValue,
11
+ seriesTwoValue,
12
+ icon: Icon,
13
+ onClick,
14
+ href,
15
+ index = 0
16
+ }, ref) => {
17
+ const {
18
+ minRange,
19
+ maxRange,
20
+ unit,
21
+ styleConfig,
22
+ animate
23
+ } = useBarChartContext();
24
+ const isStacked = seriesTwoValue !== undefined;
25
+ const displayValue = isStacked ? seriesTwoValue : seriesOneValue;
26
+ const backgroundBarWidth = calculateBarWidth({
27
+ value: displayValue,
28
+ minRange,
29
+ maxRange
30
+ });
31
+ const foregroundBarWidth = isStacked ? calculateBarWidth({
32
+ value: seriesOneValue,
33
+ minRange,
34
+ maxRange
35
+ }) : 0;
36
+ const bgWidthStr = `${Math.max(minBarWidth, backgroundBarWidth)}%`;
37
+ const fgWidthStr = `${Math.max(minBarWidth, foregroundBarWidth)}%`;
38
+ const valuesSummary = getValuesSummary({
39
+ yLabel,
40
+ seriesOneValue,
41
+ seriesTwoValue,
42
+ unit
43
+ });
44
+ const animationDelay = animate ? index * 0.1 : 0;
45
+ const rowContent = /*#__PURE__*/_jsxs(_Fragment, {
46
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
47
+ alignItems: "center",
48
+ color: styleConfig.textColor,
49
+ flexShrink: 0,
50
+ minWidth: "200px",
51
+ children: [Icon && /*#__PURE__*/_jsx(Icon, {
52
+ size: 24
53
+ }), /*#__PURE__*/_jsx(Text, {
54
+ fontWeight: "bold",
55
+ truncate: "ellipsis",
56
+ truncateLines: 1,
57
+ children: yLabel
58
+ })]
59
+ }), /*#__PURE__*/_jsxs(BarWrapper, {
60
+ children: [/*#__PURE__*/_jsx(BackgroundBar, {
61
+ animate: animate ? {
62
+ width: bgWidthStr
63
+ } : undefined,
64
+ bg: styleConfig.backgroundBarColor,
65
+ "data-testid": "background-bar",
66
+ initial: animate ? {
67
+ width: '0%'
68
+ } : undefined,
69
+ transition: {
70
+ duration: 0.5,
71
+ delay: animationDelay
72
+ },
73
+ width: !animate ? bgWidthStr : undefined
74
+ }), isStacked && /*#__PURE__*/_jsx(ForegroundBar, {
75
+ animate: animate ? {
76
+ width: fgWidthStr
77
+ } : undefined,
78
+ bg: styleConfig.foregroundBarColor,
79
+ "data-testid": "foreground-bar",
80
+ initial: animate ? {
81
+ width: '0%'
82
+ } : undefined,
83
+ transition: {
84
+ duration: 0.5,
85
+ delay: animationDelay + 0.25
86
+ },
87
+ width: !animate ? fgWidthStr : undefined
88
+ })]
89
+ }), /*#__PURE__*/_jsx(FlexBox, {
90
+ alignItems: "center",
91
+ flexShrink: 0,
92
+ justifyContent: "flex-end",
93
+ minWidth: rightSpacerWidth - 16,
94
+ children: /*#__PURE__*/_jsxs(Text, {
95
+ color: styleConfig.textColor,
96
+ variant: "p-small",
97
+ children: [displayValue.toLocaleString(), unit && ` ${unit}`]
98
+ })
99
+ })]
100
+ });
101
+ if (href) {
102
+ return /*#__PURE__*/_jsx("li", {
103
+ children: /*#__PURE__*/_jsx(RowAnchor, {
104
+ "aria-label": valuesSummary,
105
+ href: href,
106
+ ref: ref,
107
+ children: rowContent
108
+ })
109
+ });
110
+ }
111
+ if (onClick) {
112
+ return /*#__PURE__*/_jsx("li", {
113
+ children: /*#__PURE__*/_jsx(RowButton, {
114
+ "aria-label": valuesSummary,
115
+ ref: ref,
116
+ type: "button",
117
+ onClick: onClick,
118
+ onKeyDown: e => {
119
+ if (e.key === 'Enter') {
120
+ onClick(e);
121
+ }
122
+ },
123
+ children: rowContent
124
+ })
125
+ });
126
+ }
127
+ return /*#__PURE__*/_jsx("li", {
128
+ children: /*#__PURE__*/_jsx(RowWrapper, {
129
+ "aria-label": valuesSummary,
130
+ ref: ref,
131
+ children: rowContent
132
+ })
133
+ });
134
+ });
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { BarChartStyles } from './shared/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>;
@@ -0,0 +1,16 @@
1
+ import { createContext } 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;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { BarChartProps } from './shared/types';
3
+ export declare const BarChart: React.FC<BarChartProps>;
@@ -0,0 +1,69 @@
1
+ import { useMemo } from 'react';
2
+ import { Box } from '../Box';
3
+ import { Bar } from './Bar';
4
+ import { BarChartProvider } from './BarChartProvider';
5
+ import { GridLines } from './layout/GridLines';
6
+ import { ScaleChartHeader } from './layout/ScaleChartHeader';
7
+ import { BarsList } from './shared/elements';
8
+ import { sortBars, useBarChart } from './utils';
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export const BarChart = ({
11
+ 'aria-label': ariaLabel,
12
+ 'aria-labelledby': ariaLabelledBy,
13
+ animate = false,
14
+ barValues,
15
+ maxRange,
16
+ minRange,
17
+ order = 'ascending',
18
+ sortBy = 'none',
19
+ unit = '',
20
+ styleConfig,
21
+ xScale
22
+ }) => {
23
+ const contextValue = useBarChart({
24
+ minRange,
25
+ maxRange,
26
+ xScale,
27
+ unit,
28
+ styleConfig,
29
+ animate
30
+ });
31
+ const sortedBars = useMemo(() => sortBars({
32
+ bars: barValues,
33
+ sortBy,
34
+ order
35
+ }), [barValues, sortBy, order]);
36
+
37
+ // Calculate number of ticks for the scale header
38
+ const tickCount = Math.ceil((maxRange - minRange) / contextValue.xScale) + 1;
39
+ return /*#__PURE__*/_jsx(BarChartProvider, {
40
+ value: contextValue,
41
+ children: /*#__PURE__*/_jsxs(Box, {
42
+ position: "relative",
43
+ width: "100%",
44
+ children: [/*#__PURE__*/_jsx(ScaleChartHeader, {
45
+ labelCount: tickCount,
46
+ max: maxRange,
47
+ min: minRange
48
+ }), /*#__PURE__*/_jsxs(Box, {
49
+ position: "relative",
50
+ width: "100%",
51
+ children: [/*#__PURE__*/_jsx(GridLines, {
52
+ max: maxRange,
53
+ min: minRange,
54
+ tickCount: tickCount
55
+ }), /*#__PURE__*/_jsx(BarsList, {
56
+ "aria-label": ariaLabel,
57
+ "aria-labelledby": ariaLabelledBy,
58
+ children: sortedBars.map((bar, index) => {
59
+ const uniqueKey = `${bar.yLabel}-${bar.seriesOneValue}-${bar.seriesTwoValue ?? ''}`;
60
+ return /*#__PURE__*/_jsx(Bar, {
61
+ index: index,
62
+ ...bar
63
+ }, uniqueKey);
64
+ })
65
+ })]
66
+ })]
67
+ })
68
+ });
69
+ };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface GridLinesProps {
3
+ tickCount: number;
4
+ min: number;
5
+ max: number;
6
+ }
7
+ export declare const GridLines: React.FC<GridLinesProps>;
@@ -0,0 +1,77 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { css } from '@codecademy/gamut-styles';
3
+ import { Box } from '../../Box';
4
+ import { useLabelPositions } from '../utils';
5
+ import { VerticalSpacer } from './VerticalSpacer';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const GridLineWrapper = /*#__PURE__*/_styled(Box, {
8
+ target: "ejng4zk2",
9
+ label: "GridLineWrapper"
10
+ })(css({
11
+ position: 'absolute',
12
+ top: 0,
13
+ bottom: 0,
14
+ left: 0,
15
+ right: 0,
16
+ pointerEvents: 'none',
17
+ zIndex: 0
18
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPd0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L2xheW91dC9HcmlkTGluZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IHVzZUxhYmVsUG9zaXRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuY29uc3QgR3JpZExpbmVXcmFwcGVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB6SW5kZXg6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGJvdHRvbTogMCxcbiAgICBkaXNwbGF5OiB7IF86ICdub25lJywgc206ICdibG9jaycgfSxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3JkZXJMZWZ0OiAxLFxuICAgIGJvcmRlclJpZ2h0OiAxLFxuICAgIGJvcmRlckNvbG9yOiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZSA9IHN0eWxlZChCb3gpPHsgcG9zaXRpb25QZXJjZW50OiBudW1iZXIgfT4oXG4gIGNzcyh7XG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJDb2xvckxlZnQ6ICdiYWNrZ3JvdW5kLWRpc2FibGVkJyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG4gIH0pLFxuICAoeyBwb3NpdGlvblBlcmNlbnQgfSkgPT4gKHtcbiAgICBsZWZ0OiBgJHtwb3NpdGlvblBlcmNlbnR9JWAsXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gIH0pXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaW5lc1Byb3BzIHtcbiAgdGlja0NvdW50OiBudW1iZXI7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEdyaWRMaW5lczogUmVhY3QuRkM8R3JpZExpbmVzUHJvcHM+ID0gKHtcbiAgdGlja0NvdW50LFxuICBtaW4sXG4gIG1heCxcbn0pID0+IHtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogdGlja0NvdW50IH0pO1xuXG4gIGNvbnN0IGxpbmVzID0gbGFiZWxQb3NpdGlvbnMubWFwKCh7IHBvc2l0aW9uUGVyY2VudCwgdmFsdWUgfSkgPT4gKFxuICAgIDxHcmlkTGluZVxuICAgICAgYXJpYS1oaWRkZW5cbiAgICAgIGtleT17YGdyaWRsaW5lLSR7dmFsdWV9LSR7cG9zaXRpb25QZXJjZW50fWB9XG4gICAgICBwb3NpdGlvblBlcmNlbnQ9e3Bvc2l0aW9uUGVyY2VudH1cbiAgICAvPlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkTGluZVdyYXBwZXIgYXJpYS1oaWRkZW4+XG4gICAgICA8VmVydGljYWxTcGFjZXI+XG4gICAgICAgIDxHcmlkTGluZUNvbnRhaW5lcj57bGluZXN9PC9HcmlkTGluZUNvbnRhaW5lcj5cbiAgICAgIDwvVmVydGljYWxTcGFjZXI+XG4gICAgPC9HcmlkTGluZVdyYXBwZXI+XG4gICk7XG59O1xuIl19 */");
19
+ const GridLineContainer = /*#__PURE__*/_styled(Box, {
20
+ target: "ejng4zk1",
21
+ label: "GridLineContainer"
22
+ })(css({
23
+ bottom: 0,
24
+ display: {
25
+ _: 'none',
26
+ sm: 'block'
27
+ },
28
+ position: 'absolute',
29
+ top: 0,
30
+ left: 0,
31
+ right: 0,
32
+ borderLeft: 1,
33
+ borderRight: 1,
34
+ borderColor: 'background-disabled'
35
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQjBCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5pbXBvcnQgeyB1c2VMYWJlbFBvc2l0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFZlcnRpY2FsU3BhY2VyIH0gZnJvbSAnLi9WZXJ0aWNhbFNwYWNlcic7XG5cbmNvbnN0IEdyaWRMaW5lV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgekluZGV4OiAwLFxuICB9KVxuKTtcblxuY29uc3QgR3JpZExpbmVDb250YWluZXIgPSBzdHlsZWQoQm94KShcbiAgY3NzKHtcbiAgICBib3R0b206IDAsXG4gICAgZGlzcGxheTogeyBfOiAnbm9uZScsIHNtOiAnYmxvY2snIH0sXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJSaWdodDogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JhY2tncm91bmQtZGlzYWJsZWQnLFxuICB9KVxuKTtcblxuY29uc3QgR3JpZExpbmUgPSBzdHlsZWQoQm94KTx7IHBvc2l0aW9uUGVyY2VudDogbnVtYmVyIH0+KFxuICBjc3Moe1xuICAgIGJvcmRlckxlZnQ6IDEsXG4gICAgYm9yZGVyQ29sb3JMZWZ0OiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KSxcbiAgKHsgcG9zaXRpb25QZXJjZW50IH0pID0+ICh7XG4gICAgbGVmdDogYCR7cG9zaXRpb25QZXJjZW50fSVgLFxuICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTUwJSknLFxuICB9KVxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkTGluZXNQcm9wcyB7XG4gIHRpY2tDb3VudDogbnVtYmVyO1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkTGluZXM6IFJlYWN0LkZDPEdyaWRMaW5lc1Byb3BzPiA9ICh7XG4gIHRpY2tDb3VudCxcbiAgbWluLFxuICBtYXgsXG59KSA9PiB7XG4gIGNvbnN0IGxhYmVsUG9zaXRpb25zID0gdXNlTGFiZWxQb3NpdGlvbnMoeyBtaW4sIG1heCwgY291bnQ6IHRpY2tDb3VudCB9KTtcblxuICBjb25zdCBsaW5lcyA9IGxhYmVsUG9zaXRpb25zLm1hcCgoeyBwb3NpdGlvblBlcmNlbnQsIHZhbHVlIH0pID0+IChcbiAgICA8R3JpZExpbmVcbiAgICAgIGFyaWEtaGlkZGVuXG4gICAgICBrZXk9e2BncmlkbGluZS0ke3ZhbHVlfS0ke3Bvc2l0aW9uUGVyY2VudH1gfVxuICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgLz5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JpZExpbmVXcmFwcGVyIGFyaWEtaGlkZGVuPlxuICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICA8R3JpZExpbmVDb250YWluZXI+e2xpbmVzfTwvR3JpZExpbmVDb250YWluZXI+XG4gICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgIDwvR3JpZExpbmVXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */");
36
+ const GridLine = /*#__PURE__*/_styled(Box, {
37
+ target: "ejng4zk0",
38
+ label: "GridLine"
39
+ })(css({
40
+ borderLeft: 1,
41
+ borderColorLeft: 'background-disabled',
42
+ height: '100%',
43
+ position: 'absolute',
44
+ top: 0,
45
+ width: 0
46
+ }), ({
47
+ positionPercent
48
+ }) => ({
49
+ left: `${positionPercent}%`,
50
+ transform: 'translateX(-50%)'
51
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ2lCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5pbXBvcnQgeyB1c2VMYWJlbFBvc2l0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFZlcnRpY2FsU3BhY2VyIH0gZnJvbSAnLi9WZXJ0aWNhbFNwYWNlcic7XG5cbmNvbnN0IEdyaWRMaW5lV3JhcHBlciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgekluZGV4OiAwLFxuICB9KVxuKTtcblxuY29uc3QgR3JpZExpbmVDb250YWluZXIgPSBzdHlsZWQoQm94KShcbiAgY3NzKHtcbiAgICBib3R0b206IDAsXG4gICAgZGlzcGxheTogeyBfOiAnbm9uZScsIHNtOiAnYmxvY2snIH0sXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJSaWdodDogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JhY2tncm91bmQtZGlzYWJsZWQnLFxuICB9KVxuKTtcblxuY29uc3QgR3JpZExpbmUgPSBzdHlsZWQoQm94KTx7IHBvc2l0aW9uUGVyY2VudDogbnVtYmVyIH0+KFxuICBjc3Moe1xuICAgIGJvcmRlckxlZnQ6IDEsXG4gICAgYm9yZGVyQ29sb3JMZWZ0OiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KSxcbiAgKHsgcG9zaXRpb25QZXJjZW50IH0pID0+ICh7XG4gICAgbGVmdDogYCR7cG9zaXRpb25QZXJjZW50fSVgLFxuICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTUwJSknLFxuICB9KVxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkTGluZXNQcm9wcyB7XG4gIHRpY2tDb3VudDogbnVtYmVyO1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkTGluZXM6IFJlYWN0LkZDPEdyaWRMaW5lc1Byb3BzPiA9ICh7XG4gIHRpY2tDb3VudCxcbiAgbWluLFxuICBtYXgsXG59KSA9PiB7XG4gIGNvbnN0IGxhYmVsUG9zaXRpb25zID0gdXNlTGFiZWxQb3NpdGlvbnMoeyBtaW4sIG1heCwgY291bnQ6IHRpY2tDb3VudCB9KTtcblxuICBjb25zdCBsaW5lcyA9IGxhYmVsUG9zaXRpb25zLm1hcCgoeyBwb3NpdGlvblBlcmNlbnQsIHZhbHVlIH0pID0+IChcbiAgICA8R3JpZExpbmVcbiAgICAgIGFyaWEtaGlkZGVuXG4gICAgICBrZXk9e2BncmlkbGluZS0ke3ZhbHVlfS0ke3Bvc2l0aW9uUGVyY2VudH1gfVxuICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgLz5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JpZExpbmVXcmFwcGVyIGFyaWEtaGlkZGVuPlxuICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICA8R3JpZExpbmVDb250YWluZXI+e2xpbmVzfTwvR3JpZExpbmVDb250YWluZXI+XG4gICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgIDwvR3JpZExpbmVXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */");
52
+ export const GridLines = ({
53
+ tickCount,
54
+ min,
55
+ max
56
+ }) => {
57
+ const labelPositions = useLabelPositions({
58
+ min,
59
+ max,
60
+ count: tickCount
61
+ });
62
+ const lines = labelPositions.map(({
63
+ positionPercent,
64
+ value
65
+ }) => /*#__PURE__*/_jsx(GridLine, {
66
+ "aria-hidden": true,
67
+ positionPercent: positionPercent
68
+ }, `gridline-${value}-${positionPercent}`));
69
+ return /*#__PURE__*/_jsx(GridLineWrapper, {
70
+ "aria-hidden": true,
71
+ children: /*#__PURE__*/_jsx(VerticalSpacer, {
72
+ children: /*#__PURE__*/_jsx(GridLineContainer, {
73
+ children: lines
74
+ })
75
+ })
76
+ });
77
+ };
@@ -0,0 +1,10 @@
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>;
@@ -0,0 +1,88 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { css } from '@codecademy/gamut-styles';
3
+ import { Box } from '../../Box';
4
+ import { Text } from '../../Typography';
5
+ import { formatNumberUSCompact, useBarChartContext, useLabelPositions } from '../utils';
6
+ import { VerticalSpacer } from './VerticalSpacer';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const StyledLabelText = /*#__PURE__*/_styled(Text, {
9
+ target: "e1ssd1i12",
10
+ label: "StyledLabelText"
11
+ })(css({
12
+ position: 'absolute',
13
+ whiteSpace: 'nowrap',
14
+ margin: 0,
15
+ padding: 0
16
+ }), ({
17
+ positionPercent,
18
+ textAlign
19
+ }) => {
20
+ let transform = '';
21
+ if (textAlign === 'left') {
22
+ transform = 'translateX(0)';
23
+ } else if (textAlign === 'right') {
24
+ transform = 'translateX(-100%)';
25
+ } else {
26
+ transform = 'translateX(-50%)';
27
+ }
28
+ return {
29
+ left: `${positionPercent}%`,
30
+ transform
31
+ };
32
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvU2NhbGVDaGFydEhlYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJ3QiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvQmFyQ2hhcnQvbGF5b3V0L1NjYWxlQ2hhcnRIZWFkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7XG4gIGZvcm1hdE51bWJlclVTQ29tcGFjdCxcbiAgdXNlQmFyQ2hhcnRDb250ZXh0LFxuICB1c2VMYWJlbFBvc2l0aW9ucyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBTY2FsZUNoYXJ0SGVhZGVyUHJvcHMge1xuICAvKiogTWluaW11bSB2YWx1ZSBvbiB0aGUgc2NhbGUgKi9cbiAgbWluOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHZhbHVlIG9uIHRoZSBzY2FsZSAqL1xuICBtYXg6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiBsYWJlbHMgdG8gZGlzcGxheSAqL1xuICBsYWJlbENvdW50OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZExhYmVsVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIHBvc2l0aW9uUGVyY2VudDogbnVtYmVyO1xuICB0ZXh0QWxpZ246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jztcbn0+KFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG1hcmdpbjogMCxcbiAgICBwYWRkaW5nOiAwLFxuICB9KSxcbiAgKHsgcG9zaXRpb25QZXJjZW50LCB0ZXh0QWxpZ24gfSkgPT4ge1xuICAgIGxldCB0cmFuc2Zvcm0gPSAnJztcbiAgICBpZiAodGV4dEFsaWduID09PSAnbGVmdCcpIHtcbiAgICAgIHRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKDApJztcbiAgICB9IGVsc2UgaWYgKHRleHRBbGlnbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTEwMCUpJztcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTUwJSknO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogYCR7cG9zaXRpb25QZXJjZW50fSVgLFxuICAgICAgdHJhbnNmb3JtLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZEhlYWRlckNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB9KVxuKTtcblxuY29uc3QgSGVhZGVyTGFiZWxBcmVhID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgbWluSGVpZ2h0OiAnMjRweCcsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgU2NhbGVDaGFydEhlYWRlcjogUmVhY3QuRkM8U2NhbGVDaGFydEhlYWRlclByb3BzPiA9ICh7XG4gIGxhYmVsQ291bnQsXG4gIG1pbixcbiAgbWF4LFxufSkgPT4ge1xuICBjb25zdCB7IHN0eWxlQ29uZmlnIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogbGFiZWxDb3VudCB9KTtcblxuICBjb25zdCBzY2FsZUxhYmVscyA9IGxhYmVsUG9zaXRpb25zLm1hcCgoeyB2YWx1ZSwgcG9zaXRpb25QZXJjZW50IH0pID0+IChcbiAgICA8U3R5bGVkTGFiZWxUZXh0XG4gICAgICBkYXRhLXRlc3RpZD1cImNoYXJ0LWhlYWRlci1sYWJlbFwiXG4gICAgICBrZXk9e2BsYWJlbC0ke3ZhbHVlfS0ke3Bvc2l0aW9uUGVyY2VudH1gfVxuICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgICB0ZXh0QWxpZ249XCJjZW50ZXJcIlxuICAgICAgdGV4dENvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICB2YXJpYW50PVwicC1zbWFsbFwiXG4gICAgPlxuICAgICAge2Zvcm1hdE51bWJlclVTQ29tcGFjdCh7XG4gICAgICAgIG51bTogdmFsdWUsXG4gICAgICB9KX1cbiAgICA8L1N0eWxlZExhYmVsVGV4dD5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IG1iPXsxMn0gd2lkdGg9ezF9PlxuICAgICAgPFN0eWxlZEhlYWRlckNvbnRhaW5lclxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBkaXNwbGF5PXt7IF86ICdub25lJywgc206ICdibG9jaycgfX1cbiAgICAgID5cbiAgICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICAgIDxIZWFkZXJMYWJlbEFyZWE+e3NjYWxlTGFiZWxzfTwvSGVhZGVyTGFiZWxBcmVhPlxuICAgICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgICAgPC9TdHlsZWRIZWFkZXJDb250YWluZXI+XG4gICAgPC9Cb3g+XG4gICk7XG59O1xuXG4iXX0= */");
33
+ const StyledHeaderContainer = /*#__PURE__*/_styled(Box, {
34
+ target: "e1ssd1i11",
35
+ label: "StyledHeaderContainer"
36
+ })(css({
37
+ alignItems: 'center',
38
+ position: 'relative'
39
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvU2NhbGVDaGFydEhlYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0M4QiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvQmFyQ2hhcnQvbGF5b3V0L1NjYWxlQ2hhcnRIZWFkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7XG4gIGZvcm1hdE51bWJlclVTQ29tcGFjdCxcbiAgdXNlQmFyQ2hhcnRDb250ZXh0LFxuICB1c2VMYWJlbFBvc2l0aW9ucyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBTY2FsZUNoYXJ0SGVhZGVyUHJvcHMge1xuICAvKiogTWluaW11bSB2YWx1ZSBvbiB0aGUgc2NhbGUgKi9cbiAgbWluOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHZhbHVlIG9uIHRoZSBzY2FsZSAqL1xuICBtYXg6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiBsYWJlbHMgdG8gZGlzcGxheSAqL1xuICBsYWJlbENvdW50OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZExhYmVsVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIHBvc2l0aW9uUGVyY2VudDogbnVtYmVyO1xuICB0ZXh0QWxpZ246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jztcbn0+KFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG1hcmdpbjogMCxcbiAgICBwYWRkaW5nOiAwLFxuICB9KSxcbiAgKHsgcG9zaXRpb25QZXJjZW50LCB0ZXh0QWxpZ24gfSkgPT4ge1xuICAgIGxldCB0cmFuc2Zvcm0gPSAnJztcbiAgICBpZiAodGV4dEFsaWduID09PSAnbGVmdCcpIHtcbiAgICAgIHRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKDApJztcbiAgICB9IGVsc2UgaWYgKHRleHRBbGlnbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTEwMCUpJztcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTUwJSknO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogYCR7cG9zaXRpb25QZXJjZW50fSVgLFxuICAgICAgdHJhbnNmb3JtLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZEhlYWRlckNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB9KVxuKTtcblxuY29uc3QgSGVhZGVyTGFiZWxBcmVhID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgbWluSGVpZ2h0OiAnMjRweCcsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgU2NhbGVDaGFydEhlYWRlcjogUmVhY3QuRkM8U2NhbGVDaGFydEhlYWRlclByb3BzPiA9ICh7XG4gIGxhYmVsQ291bnQsXG4gIG1pbixcbiAgbWF4LFxufSkgPT4ge1xuICBjb25zdCB7IHN0eWxlQ29uZmlnIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogbGFiZWxDb3VudCB9KTtcblxuICBjb25zdCBzY2FsZUxhYmVscyA9IGxhYmVsUG9zaXRpb25zLm1hcCgoeyB2YWx1ZSwgcG9zaXRpb25QZXJjZW50IH0pID0+IChcbiAgICA8U3R5bGVkTGFiZWxUZXh0XG4gICAgICBkYXRhLXRlc3RpZD1cImNoYXJ0LWhlYWRlci1sYWJlbFwiXG4gICAgICBrZXk9e2BsYWJlbC0ke3ZhbHVlfS0ke3Bvc2l0aW9uUGVyY2VudH1gfVxuICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgICB0ZXh0QWxpZ249XCJjZW50ZXJcIlxuICAgICAgdGV4dENvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICB2YXJpYW50PVwicC1zbWFsbFwiXG4gICAgPlxuICAgICAge2Zvcm1hdE51bWJlclVTQ29tcGFjdCh7XG4gICAgICAgIG51bTogdmFsdWUsXG4gICAgICB9KX1cbiAgICA8L1N0eWxlZExhYmVsVGV4dD5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IG1iPXsxMn0gd2lkdGg9ezF9PlxuICAgICAgPFN0eWxlZEhlYWRlckNvbnRhaW5lclxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBkaXNwbGF5PXt7IF86ICdub25lJywgc206ICdibG9jaycgfX1cbiAgICAgID5cbiAgICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICAgIDxIZWFkZXJMYWJlbEFyZWE+e3NjYWxlTGFiZWxzfTwvSGVhZGVyTGFiZWxBcmVhPlxuICAgICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgICAgPC9TdHlsZWRIZWFkZXJDb250YWluZXI+XG4gICAgPC9Cb3g+XG4gICk7XG59O1xuXG4iXX0= */");
40
+ const HeaderLabelArea = /*#__PURE__*/_styled(Box, {
41
+ target: "e1ssd1i10",
42
+ label: "HeaderLabelArea"
43
+ })(css({
44
+ minHeight: '24px'
45
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvU2NhbGVDaGFydEhlYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0R3QiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvQmFyQ2hhcnQvbGF5b3V0L1NjYWxlQ2hhcnRIZWFkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7XG4gIGZvcm1hdE51bWJlclVTQ29tcGFjdCxcbiAgdXNlQmFyQ2hhcnRDb250ZXh0LFxuICB1c2VMYWJlbFBvc2l0aW9ucyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBTY2FsZUNoYXJ0SGVhZGVyUHJvcHMge1xuICAvKiogTWluaW11bSB2YWx1ZSBvbiB0aGUgc2NhbGUgKi9cbiAgbWluOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHZhbHVlIG9uIHRoZSBzY2FsZSAqL1xuICBtYXg6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiBsYWJlbHMgdG8gZGlzcGxheSAqL1xuICBsYWJlbENvdW50OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZExhYmVsVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIHBvc2l0aW9uUGVyY2VudDogbnVtYmVyO1xuICB0ZXh0QWxpZ246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jztcbn0+KFxuICBjc3Moe1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG1hcmdpbjogMCxcbiAgICBwYWRkaW5nOiAwLFxuICB9KSxcbiAgKHsgcG9zaXRpb25QZXJjZW50LCB0ZXh0QWxpZ24gfSkgPT4ge1xuICAgIGxldCB0cmFuc2Zvcm0gPSAnJztcbiAgICBpZiAodGV4dEFsaWduID09PSAnbGVmdCcpIHtcbiAgICAgIHRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKDApJztcbiAgICB9IGVsc2UgaWYgKHRleHRBbGlnbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTEwMCUpJztcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLTUwJSknO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogYCR7cG9zaXRpb25QZXJjZW50fSVgLFxuICAgICAgdHJhbnNmb3JtLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZEhlYWRlckNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB9KVxuKTtcblxuY29uc3QgSGVhZGVyTGFiZWxBcmVhID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgbWluSGVpZ2h0OiAnMjRweCcsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgU2NhbGVDaGFydEhlYWRlcjogUmVhY3QuRkM8U2NhbGVDaGFydEhlYWRlclByb3BzPiA9ICh7XG4gIGxhYmVsQ291bnQsXG4gIG1pbixcbiAgbWF4LFxufSkgPT4ge1xuICBjb25zdCB7IHN0eWxlQ29uZmlnIH0gPSB1c2VCYXJDaGFydENvbnRleHQoKTtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogbGFiZWxDb3VudCB9KTtcblxuICBjb25zdCBzY2FsZUxhYmVscyA9IGxhYmVsUG9zaXRpb25zLm1hcCgoeyB2YWx1ZSwgcG9zaXRpb25QZXJjZW50IH0pID0+IChcbiAgICA8U3R5bGVkTGFiZWxUZXh0XG4gICAgICBkYXRhLXRlc3RpZD1cImNoYXJ0LWhlYWRlci1sYWJlbFwiXG4gICAgICBrZXk9e2BsYWJlbC0ke3ZhbHVlfS0ke3Bvc2l0aW9uUGVyY2VudH1gfVxuICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgICB0ZXh0QWxpZ249XCJjZW50ZXJcIlxuICAgICAgdGV4dENvbG9yPXtzdHlsZUNvbmZpZy50ZXh0Q29sb3J9XG4gICAgICB2YXJpYW50PVwicC1zbWFsbFwiXG4gICAgPlxuICAgICAge2Zvcm1hdE51bWJlclVTQ29tcGFjdCh7XG4gICAgICAgIG51bTogdmFsdWUsXG4gICAgICB9KX1cbiAgICA8L1N0eWxlZExhYmVsVGV4dD5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IG1iPXsxMn0gd2lkdGg9ezF9PlxuICAgICAgPFN0eWxlZEhlYWRlckNvbnRhaW5lclxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBkaXNwbGF5PXt7IF86ICdub25lJywgc206ICdibG9jaycgfX1cbiAgICAgID5cbiAgICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICAgIDxIZWFkZXJMYWJlbEFyZWE+e3NjYWxlTGFiZWxzfTwvSGVhZGVyTGFiZWxBcmVhPlxuICAgICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgICAgPC9TdHlsZWRIZWFkZXJDb250YWluZXI+XG4gICAgPC9Cb3g+XG4gICk7XG59O1xuXG4iXX0= */");
46
+ export const ScaleChartHeader = ({
47
+ labelCount,
48
+ min,
49
+ max
50
+ }) => {
51
+ const {
52
+ styleConfig
53
+ } = useBarChartContext();
54
+ const labelPositions = useLabelPositions({
55
+ min,
56
+ max,
57
+ count: labelCount
58
+ });
59
+ const scaleLabels = labelPositions.map(({
60
+ value,
61
+ positionPercent
62
+ }) => /*#__PURE__*/_jsx(StyledLabelText, {
63
+ "data-testid": "chart-header-label",
64
+ positionPercent: positionPercent,
65
+ textAlign: "center",
66
+ textColor: styleConfig.textColor,
67
+ variant: "p-small",
68
+ children: formatNumberUSCompact({
69
+ num: value
70
+ })
71
+ }, `label-${value}-${positionPercent}`));
72
+ return /*#__PURE__*/_jsx(Box, {
73
+ mb: 12,
74
+ width: 1,
75
+ children: /*#__PURE__*/_jsx(StyledHeaderContainer, {
76
+ "aria-hidden": "true",
77
+ display: {
78
+ _: 'none',
79
+ sm: 'block'
80
+ },
81
+ children: /*#__PURE__*/_jsx(VerticalSpacer, {
82
+ children: /*#__PURE__*/_jsx(HeaderLabelArea, {
83
+ children: scaleLabels
84
+ })
85
+ })
86
+ })
87
+ });
88
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface VerticalSpacerProps {
3
+ children: ReactNode;
4
+ className?: string;
5
+ }
6
+ export declare const VerticalSpacer: React.FC<VerticalSpacerProps>;