@codecademy/gamut 68.0.2-alpha.f8c3b5.0 → 68.1.0-alpha.46f13d.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 (55) hide show
  1. package/dist/Anchor/index.d.ts +60 -12
  2. package/dist/Badge/index.d.ts +74 -14
  3. package/dist/Box/props.d.ts +204 -40
  4. package/dist/Button/shared/styles.d.ts +190 -38
  5. package/dist/Card/elements.d.ts +612 -120
  6. package/dist/ConnectedForm/utils.d.ts +1 -1
  7. package/dist/Form/SelectDropdown/styles.d.ts +1 -1
  8. package/dist/Form/elements/Form.d.ts +191 -39
  9. package/dist/Form/elements/FormGroupLabel.js +2 -2
  10. package/dist/Form/inputs/Select.js +5 -6
  11. package/dist/GridForm/GridFormSections/GridFormSectionBreak.d.ts +144 -28
  12. package/dist/InternalFloatingCard/InternalFloatingCard.d.ts +30 -6
  13. package/dist/Layout/Column.d.ts +60 -12
  14. package/dist/Layout/LayoutGrid.d.ts +60 -12
  15. package/dist/List/elements.d.ts +265 -53
  16. package/dist/Menu/elements.d.ts +204 -40
  17. package/dist/Pagination/AnimatedPaginationButtons.d.ts +190 -38
  18. package/dist/Pagination/utils.d.ts +190 -38
  19. package/dist/Tabs/props.d.ts +60 -12
  20. package/dist/Tag/types.d.ts +60 -12
  21. package/dist/Toggle/elements.d.ts +134 -26
  22. package/dist/Typography/Text.d.ts +74 -14
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.js +0 -1
  25. package/package.json +7 -7
  26. package/dist/BarChart/BarChartProvider.d.ts +0 -20
  27. package/dist/BarChart/BarChartProvider.js +0 -31
  28. package/dist/BarChart/BarRow/ValueLabelsContent.d.ts +0 -7
  29. package/dist/BarChart/BarRow/ValueLabelsContent.js +0 -30
  30. package/dist/BarChart/BarRow/elements.d.ts +0 -719
  31. package/dist/BarChart/BarRow/elements.js +0 -97
  32. package/dist/BarChart/BarRow/index.d.ts +0 -26
  33. package/dist/BarChart/BarRow/index.js +0 -243
  34. package/dist/BarChart/GENERIC_EXAMPLE.d.ts +0 -14
  35. package/dist/BarChart/GENERIC_EXAMPLE.js +0 -328
  36. package/dist/BarChart/index.d.ts +0 -4
  37. package/dist/BarChart/index.js +0 -155
  38. package/dist/BarChart/layout/GridLines.d.ts +0 -7
  39. package/dist/BarChart/layout/GridLines.js +0 -78
  40. package/dist/BarChart/layout/ScaleChartHeader.d.ts +0 -10
  41. package/dist/BarChart/layout/ScaleChartHeader.js +0 -89
  42. package/dist/BarChart/layout/VerticalSpacer.d.ts +0 -6
  43. package/dist/BarChart/layout/VerticalSpacer.js +0 -56
  44. package/dist/BarChart/shared/elements.d.ts +0 -7
  45. package/dist/BarChart/shared/elements.js +0 -12
  46. package/dist/BarChart/shared/styles.d.ts +0 -4
  47. package/dist/BarChart/shared/styles.js +0 -4
  48. package/dist/BarChart/shared/translations.d.ts +0 -68
  49. package/dist/BarChart/shared/translations.js +0 -52
  50. package/dist/BarChart/shared/types.d.ts +0 -94
  51. package/dist/BarChart/shared/types.js +0 -1
  52. package/dist/BarChart/utils/hooks.d.ts +0 -91
  53. package/dist/BarChart/utils/hooks.js +0 -291
  54. package/dist/BarChart/utils/index.d.ts +0 -100
  55. package/dist/BarChart/utils/index.js +0 -224
@@ -1,328 +0,0 @@
1
- /**
2
- * Generic Type Example for BarChart with Custom Sorting
3
- *
4
- * This file demonstrates how the generic types work with custom properties.
5
- * TypeScript will automatically infer the bar type from barValues, and
6
- * sort functions will receive the correct type with custom properties.
7
- *
8
- * THIS WILL BE DELETED BEFORE SHIPPING
9
- */
10
-
11
- import { BarChart } from './index';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- // ============================================================================
14
- // Example 1: Date-based sorting with automatic type inference
15
- // ============================================================================
16
-
17
- // Define bars with custom dateAdded property
18
- const barsWithDates = [{
19
- yLabel: 'Python',
20
- seriesOneValue: 1500,
21
- dateAdded: new Date('2023-01-15')
22
- }, {
23
- yLabel: 'JavaScript',
24
- seriesOneValue: 2000,
25
- dateAdded: new Date('2023-03-20')
26
- }, {
27
- yLabel: 'React',
28
- seriesOneValue: 450,
29
- dateAdded: new Date('2023-06-10')
30
- }, {
31
- yLabel: 'TypeScript',
32
- seriesOneValue: 300,
33
- dateAdded: new Date('2023-08-05')
34
- }, {
35
- yLabel: 'SQL',
36
- seriesOneValue: 600,
37
- dateAdded: new Date('2023-02-28')
38
- }];
39
-
40
- // TypeScript infers the type automatically - no need to specify it!
41
- export const DateSortingExample = () => {
42
- return /*#__PURE__*/_jsx(BarChart, {
43
- barValues: barsWithDates,
44
- description: "Sort by when each skill was added to your profile",
45
- maxRange: 2000,
46
- sortFns: ['none', {
47
- label: 'Recently Added',
48
- value: 'recent',
49
- // bars parameter is automatically typed as:
50
- // (BarProps & { dateAdded: Date })[]
51
- // No type assertions needed!
52
- sortFn: bars => {
53
- return [...bars].sort((a, b) => {
54
- // TypeScript knows dateAdded exists and is a Date!
55
- const aDate = a.dateAdded;
56
- const bDate = b.dateAdded;
57
- if (!aDate && !bDate) return 0;
58
- if (!aDate) return 1;
59
- if (!bDate) return -1;
60
- return bDate.getTime() - aDate.getTime();
61
- });
62
- }
63
- }, {
64
- label: 'Oldest First',
65
- value: 'oldest',
66
- sortFn: bars => {
67
- return [...bars].sort((a, b) => {
68
- const aDate = a.dateAdded;
69
- const bDate = b.dateAdded;
70
- if (!aDate && !bDate) return 0;
71
- if (!aDate) return 1;
72
- if (!bDate) return -1;
73
- return aDate.getTime() - bDate.getTime();
74
- });
75
- }
76
- }],
77
- title: "Skills by Date Added",
78
- unit: "XP"
79
- });
80
- };
81
-
82
- // ============================================================================
83
- // Example 2: Category-based sorting with multiple custom properties
84
- // ============================================================================
85
-
86
- const barsWithCategory = [{
87
- yLabel: 'Python',
88
- seriesOneValue: 1500,
89
- category: 'backend',
90
- priority: 1
91
- }, {
92
- yLabel: 'JavaScript',
93
- seriesOneValue: 2000,
94
- category: 'frontend',
95
- priority: 2
96
- }, {
97
- yLabel: 'React',
98
- seriesOneValue: 450,
99
- category: 'frontend',
100
- priority: 3
101
- }, {
102
- yLabel: 'TypeScript',
103
- seriesOneValue: 300,
104
- category: 'frontend',
105
- priority: 4
106
- }, {
107
- yLabel: 'SQL',
108
- seriesOneValue: 600,
109
- category: 'backend',
110
- priority: 5
111
- }];
112
- export const CategorySortingExample = () => {
113
- return /*#__PURE__*/_jsx(BarChart, {
114
- barValues: barsWithCategory,
115
- description: "Sort by category or priority",
116
- maxRange: 2000,
117
- sortFns: ['none', {
118
- label: 'By Category',
119
- value: 'category',
120
- // bars is typed with both category and priority properties
121
- sortFn: bars => {
122
- return [...bars].sort((a, b) => {
123
- // TypeScript knows category exists!
124
- if (a.category !== b.category) {
125
- return a.category.localeCompare(b.category);
126
- }
127
- // TypeScript knows priority exists!
128
- return a.priority - b.priority;
129
- });
130
- }
131
- }, {
132
- label: 'High Priority First',
133
- value: 'priority',
134
- sortFn: bars => {
135
- return [...bars].sort((a, b) => {
136
- // Direct access to priority - fully typed!
137
- return a.priority - b.priority;
138
- });
139
- }
140
- }],
141
- title: "Skills by Category",
142
- unit: "XP"
143
- });
144
- };
145
-
146
- // ============================================================================
147
- // Example 3: Complex sorting with nested properties
148
- // ============================================================================
149
-
150
- const barsWithMetadata = [{
151
- yLabel: 'Python',
152
- seriesOneValue: 1500,
153
- metadata: {
154
- addedDate: new Date('2023-01-15'),
155
- tags: ['backend', 'data-science'],
156
- rating: 4.5
157
- }
158
- }, {
159
- yLabel: 'JavaScript',
160
- seriesOneValue: 2000,
161
- metadata: {
162
- addedDate: new Date('2023-03-20'),
163
- tags: ['frontend', 'backend'],
164
- rating: 5.0
165
- }
166
- }, {
167
- yLabel: 'React',
168
- seriesOneValue: 450,
169
- metadata: {
170
- addedDate: new Date('2023-06-10'),
171
- tags: ['frontend'],
172
- rating: 4.8
173
- }
174
- }];
175
- export const ComplexSortingExample = () => {
176
- return /*#__PURE__*/_jsx(BarChart, {
177
- barValues: barsWithMetadata,
178
- description: "Sort by metadata properties",
179
- maxRange: 2000,
180
- sortFns: ['none', {
181
- label: 'By Rating',
182
- value: 'rating',
183
- sortFn: bars => {
184
- return [...bars].sort((a, b) => {
185
- // TypeScript knows metadata.rating exists!
186
- return b.metadata.rating - a.metadata.rating;
187
- });
188
- }
189
- }, {
190
- label: 'By Date Added',
191
- value: 'date',
192
- sortFn: bars => {
193
- return [...bars].sort((a, b) => {
194
- // TypeScript knows metadata.addedDate exists!
195
- return b.metadata.addedDate.getTime() - a.metadata.addedDate.getTime();
196
- });
197
- }
198
- }, {
199
- label: 'Has Backend Tag',
200
- value: 'backend-tag',
201
- sortFn: bars => {
202
- return [...bars].sort((a, b) => {
203
- // TypeScript knows metadata.tags exists!
204
- const aHasBackend = a.metadata.tags.includes('backend');
205
- const bHasBackend = b.metadata.tags.includes('backend');
206
- if (aHasBackend && !bHasBackend) return -1;
207
- if (!aHasBackend && bHasBackend) return 1;
208
- return 0;
209
- });
210
- }
211
- }],
212
- title: "Skills with Metadata",
213
- unit: "XP"
214
- });
215
- };
216
-
217
- // ============================================================================
218
- // Example 4: Explicit type annotation (when needed)
219
- // ============================================================================
220
-
221
- // Sometimes you might want to be explicit about the type
222
- // The type is automatically inferred from barValues, but you can still
223
- // explicitly type the array if needed for clarity
224
-
225
- const barsWithScore = [{
226
- yLabel: 'Python',
227
- seriesOneValue: 1500,
228
- score: 85,
229
- lastUpdated: new Date('2024-01-01')
230
- }, {
231
- yLabel: 'JavaScript',
232
- seriesOneValue: 2000,
233
- score: 95,
234
- lastUpdated: new Date('2024-01-15')
235
- }];
236
- export const ExplicitTypeExample = () => {
237
- return /*#__PURE__*/_jsx(BarChart, {
238
- barValues: barsWithScore,
239
- description: "Explicitly typed bars with score and update date",
240
- maxRange: 2000,
241
- sortFns: ['none', {
242
- label: 'By Score',
243
- value: 'score',
244
- // TypeScript automatically infers BarWithScore[] from barValues
245
- sortFn: bars => {
246
- return [...bars].sort((a, b) => {
247
- // Direct access to score - fully typed!
248
- return b.score - a.score;
249
- });
250
- }
251
- }, {
252
- label: 'Recently Updated',
253
- value: 'updated',
254
- sortFn: bars => {
255
- return [...bars].sort((a, b) => {
256
- // Direct access to lastUpdated - fully typed!
257
- return b.lastUpdated.getTime() - a.lastUpdated.getTime();
258
- });
259
- }
260
- }],
261
- title: "Skills with Scores",
262
- unit: "XP"
263
- });
264
- };
265
-
266
- // ============================================================================
267
- // Example 6: Purposefully wrong example to show type errors
268
- // ============================================================================
269
-
270
- const barsWithWrongCategory = [{
271
- yLabel: 'Python',
272
- seriesOneValue: 1500,
273
- category: 'backend',
274
- priority: 1
275
- }, {
276
- yLabel: 'JavaScript',
277
- seriesOneValue: 2000,
278
- category: 'frontend',
279
- priority: 2
280
- }, {
281
- yLabel: 'React',
282
- seriesOneValue: 450,
283
- category: 'frontend',
284
- priority: 3
285
- }, {
286
- yLabel: 'TypeScript',
287
- seriesOneValue: 300,
288
- category: 'frontend',
289
- priority: 4
290
- }, {
291
- yLabel: 'SQL',
292
- seriesOneValue: 600,
293
- catty: 'backend',
294
- purr: 5
295
- }];
296
- export const WrongCategorySortingExample = () => {
297
- return /*#__PURE__*/_jsx(BarChart, {
298
- barValues: barsWithWrongCategory,
299
- description: "Sort by category or priority",
300
- maxRange: 2000,
301
- sortFns: ['none', {
302
- label: 'By Category',
303
- value: 'category',
304
- // bars is typed with both category and priority properties
305
- sortFn: bars => {
306
- return [...bars].sort((a, b) => {
307
- if (a.category !== b.category) {
308
- // @ts-expect-error - we know this is wrong
309
- return a.category.localeCompare(b.category);
310
- }
311
- // @ts-expect-error - we know priority might not exist
312
- return a.priority - b.priority;
313
- });
314
- }
315
- }, {
316
- label: 'High Priority First',
317
- value: 'priority',
318
- sortFn: bars => {
319
- return [...bars].sort((a, b) => {
320
- // @ts-expect-error - we know priority might not exist
321
- return a.priority - b.priority;
322
- });
323
- }
324
- }],
325
- title: "Skills by Category",
326
- unit: "XP"
327
- });
328
- };
@@ -1,4 +0,0 @@
1
- import { BarChartAccessibilityInLabelContext, BarChartAccessibilityInOnlyContext, BarChartAccessibilityStackedContext, BarChartTranslations, PartialBarChartTranslations } from './shared/translations';
2
- import { BarChartProps, BarProps, InferBarType } from './shared/types';
3
- export type { BarChartAccessibilityInLabelContext, BarChartAccessibilityInOnlyContext, BarChartAccessibilityStackedContext, BarProps, InferBarType, BarChartTranslations, PartialBarChartTranslations, };
4
- export declare const BarChart: <TBarValues extends BarProps[] | readonly BarProps[] = BarProps[]>({ "aria-labelledby": ariaLabelledBy, animate, barValues, description, hideDescription, hideTitle, maxRange, sortFns, styleConfig, title, translations, unit, xScale, }: BarChartProps<TBarValues>) => import("react/jsx-runtime").JSX.Element;
@@ -1,155 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { css } from '@codecademy/gamut-styles';
3
- import { useId, useMemo } from 'react';
4
- import { Box, FlexBox } from '../Box';
5
- import { FormGroupLabel } from '../Form';
6
- import { Select } from '../Form/inputs/Select';
7
- import { Text } from '../Typography/Text';
8
- import { BarChartProvider } from './BarChartProvider';
9
- import { BarRow } from './BarRow';
10
- import { GridLines } from './layout/GridLines';
11
- import { ScaleChartHeader } from './layout/ScaleChartHeader';
12
- import { BarsList } from './shared/elements';
13
- import { defaultBarChartTranslations } from './shared/translations';
14
- import { getBarRowKey } from './utils';
15
- import { useBarChart, useBarChartSort } from './utils/hooks';
16
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
- const StyledFormGroupLabel = /*#__PURE__*/_styled(FormGroupLabel, {
18
- target: "ey39o7m1",
19
- label: "StyledFormGroupLabel"
20
- })(css({
21
- mr: 8,
22
- mt: 4
23
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUM2QiIsImZpbGUiOiIuLi8uLi9zcmMvQmFyQ2hhcnQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHVzZUlkLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBCb3gsIEZsZXhCb3ggfSBmcm9tICcuLi9Cb3gnO1xuaW1wb3J0IHsgRm9ybUdyb3VwTGFiZWwgfSBmcm9tICcuLi9Gb3JtJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uL0Zvcm0vaW5wdXRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeS9UZXh0JztcbmltcG9ydCB7IEJhckNoYXJ0UHJvdmlkZXIgfSBmcm9tICcuL0JhckNoYXJ0UHJvdmlkZXInO1xuaW1wb3J0IHsgQmFyUm93IH0gZnJvbSAnLi9CYXJSb3cnO1xuaW1wb3J0IHsgR3JpZExpbmVzIH0gZnJvbSAnLi9sYXlvdXQvR3JpZExpbmVzJztcbmltcG9ydCB7IFNjYWxlQ2hhcnRIZWFkZXIgfSBmcm9tICcuL2xheW91dC9TY2FsZUNoYXJ0SGVhZGVyJztcbmltcG9ydCB7IEJhcnNMaXN0IH0gZnJvbSAnLi9zaGFyZWQvZWxlbWVudHMnO1xuaW1wb3J0IHtcbiAgQmFyQ2hhcnRBY2Nlc3NpYmlsaXR5SW5MYWJlbENvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eUluT25seUNvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eVN0YWNrZWRDb250ZXh0LFxuICBCYXJDaGFydFRyYW5zbGF0aW9ucyxcbiAgZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLFxuICBQYXJ0aWFsQmFyQ2hhcnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vc2hhcmVkL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBCYXJDaGFydFByb3BzLCBCYXJQcm9wcywgSW5mZXJCYXJUeXBlIH0gZnJvbSAnLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QmFyUm93S2V5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VCYXJDaGFydCwgdXNlQmFyQ2hhcnRTb3J0IH0gZnJvbSAnLi91dGlscy9ob29rcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQmFyQ2hhcnRBY2Nlc3NpYmlsaXR5SW5MYWJlbENvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eUluT25seUNvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eVN0YWNrZWRDb250ZXh0LFxuICBCYXJQcm9wcyxcbiAgSW5mZXJCYXJUeXBlLFxuICBCYXJDaGFydFRyYW5zbGF0aW9ucyxcbiAgUGFydGlhbEJhckNoYXJ0VHJhbnNsYXRpb25zLFxufTtcblxuY29uc3QgU3R5bGVkRm9ybUdyb3VwTGFiZWwgPSBzdHlsZWQoRm9ybUdyb3VwTGFiZWwpKFxuICBjc3Moe1xuICAgIG1yOiA4LFxuICAgIG10OiA0LFxuICB9KVxuKTtcbmNvbnN0IFdpZHRoU2VsZWN0ID0gc3R5bGVkKFNlbGVjdCkoXG4gIGNzcyh7XG4gICAgd2lkdGg6ICdtYXgtY29udGVudCcsXG4gICAgcHI6IDEyLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IEJhckNoYXJ0ID0gPFxuICBUQmFyVmFsdWVzIGV4dGVuZHMgQmFyUHJvcHNbXSB8IHJlYWRvbmx5IEJhclByb3BzW10gPSBCYXJQcm9wc1tdXG4+KHtcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LFxuICBhbmltYXRlID0gZmFsc2UsXG4gIGJhclZhbHVlcyxcbiAgZGVzY3JpcHRpb24sXG4gIGhpZGVEZXNjcmlwdGlvbiA9IGZhbHNlLFxuICBoaWRlVGl0bGUgPSBmYWxzZSxcbiAgbWF4UmFuZ2UsXG4gIHNvcnRGbnMsXG4gIHN0eWxlQ29uZmlnLFxuICB0aXRsZSxcbiAgdHJhbnNsYXRpb25zLFxuICB1bml0ID0gJycsXG4gIHhTY2FsZSxcbn06IEJhckNoYXJ0UHJvcHM8VEJhclZhbHVlcz4pID0+IHtcbiAgY29uc3QgbWVyZ2VkVHJhbnNsYXRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLFxuICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgc29ydE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLnNvcnRPcHRpb25zLFxuICAgICAgICAuLi50cmFuc2xhdGlvbnM/LnNvcnRPcHRpb25zLFxuICAgICAgfSxcbiAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLmFjY2Vzc2liaWxpdHksXG4gICAgICAgIC4uLnRyYW5zbGF0aW9ucz8uYWNjZXNzaWJpbGl0eSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgW3RyYW5zbGF0aW9uc11cbiAgKTtcblxuICBjb25zdCB7IHNvcnRlZEJhcnMsIHNlbGVjdFByb3BzIH0gPSB1c2VCYXJDaGFydFNvcnQ8VEJhclZhbHVlcz4oe1xuICAgIGJhcnM6IGJhclZhbHVlcyxcbiAgICBzb3J0Rm5zLFxuICAgIHRyYW5zbGF0aW9uczogbWVyZ2VkVHJhbnNsYXRpb25zLFxuICB9KTtcblxuICBjb25zdCBjb250ZXh0VmFsdWUgPSB1c2VCYXJDaGFydCh7XG4gICAgbWF4UmFuZ2UsXG4gICAgeFNjYWxlLFxuICAgIHVuaXQsXG4gICAgc3R5bGVDb25maWcsXG4gICAgYW5pbWF0ZSxcbiAgICBiYXJDb3VudDogc29ydGVkQmFycz8ubGVuZ3RoLFxuICAgIHRyYW5zbGF0aW9uczogbWVyZ2VkVHJhbnNsYXRpb25zLFxuICB9KTtcblxuICBjb25zdCB0aWNrQ291bnQgPSBNYXRoLmNlaWwobWF4UmFuZ2UgLyBjb250ZXh0VmFsdWUueFNjYWxlKSArIDE7XG5cbiAgY29uc3QgdGl0bGVJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHNvcnRTZWxlY3RJZCA9IHVzZUlkKCk7XG5cbiAgY29uc3QgdGl0bGVQcm9wcyA9XG4gICAgdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJ1xuICAgICAgPyB7XG4gICAgICAgICAgYXM6ICdoMicgYXMgY29uc3QsXG4gICAgICAgICAgY2hpbGRyZW46IHRpdGxlLFxuICAgICAgICAgIGhpZGRlbjogaGlkZVRpdGxlLFxuICAgICAgICAgIGlkOiB0aXRsZUlkLFxuICAgICAgICAgIHZhcmlhbnQ6ICd0aXRsZS14cycgYXMgY29uc3QsXG4gICAgICAgIH1cbiAgICAgIDogdGl0bGVcbiAgICAgID8geyAuLi50aXRsZSwgY2hpbGRyZW46IHRpdGxlLnRpdGxlLCBoaWRkZW46IGhpZGVUaXRsZSwgaWQ6IHRpdGxlSWQgfVxuICAgICAgOiBudWxsO1xuXG4gIGNvbnN0IHRpdGxlQ29udGVudCA9XG4gICAgKHRpdGxlICYmICFoaWRlVGl0bGUpIHx8IHNlbGVjdFByb3BzID8gKFxuICAgICAgPEJveFxuICAgICAgICBib3JkZXJCb3R0b209ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiYmFja2dyb3VuZC1kaXNhYmxlZFwiXG4gICAgICAgIG1iPXsyNH1cbiAgICAgICAgcGI9ezh9XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICA+XG4gICAgICAgICAge3RpdGxlUHJvcHMgJiYgPFRleHQgbWI9ezR9IHsuLi50aXRsZVByb3BzfSAvPn1cbiAgICAgICAgICB7c2VsZWN0UHJvcHMgJiYgKFxuICAgICAgICAgICAgPEZsZXhCb3ggYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICA8U3R5bGVkRm9ybUdyb3VwTGFiZWxcbiAgICAgICAgICAgICAgICBodG1sRm9yPXtzb3J0U2VsZWN0SWR9XG4gICAgICAgICAgICAgICAgaXNTb2xvRmllbGRcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21lcmdlZFRyYW5zbGF0aW9ucy5zb3J0TGFiZWx9XG4gICAgICAgICAgICAgIDwvU3R5bGVkRm9ybUdyb3VwTGFiZWw+XG4gICAgICAgICAgICAgIDxXaWR0aFNlbGVjdFxuICAgICAgICAgICAgICAgIHNpemVWYXJpYW50PVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHsuLi5zZWxlY3RQcm9wc31cbiAgICAgICAgICAgICAgICBpZD17c29ydFNlbGVjdElkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgIDwvQm94PlxuICAgICkgOiB0aXRsZVByb3BzID8gKFxuICAgICAgPFRleHQgey4uLnRpdGxlUHJvcHN9IC8+XG4gICAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFyQ2hhcnRQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIHt0aXRsZUNvbnRlbnR9XG4gICAgICA8Qm94XG4gICAgICAgIGFzPVwiZmlndXJlXCJcbiAgICAgICAgY29udGFpbmVyVHlwZT1cImlubGluZS1zaXplXCJcbiAgICAgICAgcG9zaXRpb249XCJyZWxhdGl2ZVwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICA+XG4gICAgICAgIDxTY2FsZUNoYXJ0SGVhZGVyIGxhYmVsQ291bnQ9e3RpY2tDb3VudH0gbWF4PXttYXhSYW5nZX0gbWluPXswfSAvPlxuICAgICAgICA8Qm94IHBvc2l0aW9uPVwicmVsYXRpdmVcIiB3aWR0aD1cIjEwMCVcIj5cbiAgICAgICAgICA8R3JpZExpbmVzIG1heD17bWF4UmFuZ2V9IG1pbj17MH0gdGlja0NvdW50PXt0aWNrQ291bnR9IC8+XG4gICAgICAgICAgPEJhcnNMaXN0IGFyaWEtbGFiZWxsZWRieT17YXJpYUxhYmVsbGVkQnkgPz8gdGl0bGVJZH0+XG4gICAgICAgICAgICB7c29ydGVkQmFycy5tYXAoKGJhciwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPEJhclJvd1xuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBrZXk9e2dldEJhclJvd0tleShiYXIsIGluZGV4KX1cbiAgICAgICAgICAgICAgICB7Li4uYmFyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9CYXJzTGlzdD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJmaWdjYXB0aW9uXCJcbiAgICAgICAgICBjb2xvcj1cInRleHQtZGlzYWJsZWRcIlxuICAgICAgICAgIGhpZGRlbj17aGlkZURlc2NyaXB0aW9ufVxuICAgICAgICAgIG10PXs4fVxuICAgICAgICAgIHZhcmlhbnQ9XCJwLXNtYWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9Cb3g+XG4gICAgPC9CYXJDaGFydFByb3ZpZGVyPlxuICApO1xufTtcbiJdfQ== */");
24
- const WidthSelect = /*#__PURE__*/_styled(Select, {
25
- target: "ey39o7m0",
26
- label: "WidthSelect"
27
- })(css({
28
- width: 'max-content',
29
- pr: 12
30
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXJDaGFydC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNvQiIsImZpbGUiOiIuLi8uLi9zcmMvQmFyQ2hhcnQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHVzZUlkLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBCb3gsIEZsZXhCb3ggfSBmcm9tICcuLi9Cb3gnO1xuaW1wb3J0IHsgRm9ybUdyb3VwTGFiZWwgfSBmcm9tICcuLi9Gb3JtJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uL0Zvcm0vaW5wdXRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVHlwb2dyYXBoeS9UZXh0JztcbmltcG9ydCB7IEJhckNoYXJ0UHJvdmlkZXIgfSBmcm9tICcuL0JhckNoYXJ0UHJvdmlkZXInO1xuaW1wb3J0IHsgQmFyUm93IH0gZnJvbSAnLi9CYXJSb3cnO1xuaW1wb3J0IHsgR3JpZExpbmVzIH0gZnJvbSAnLi9sYXlvdXQvR3JpZExpbmVzJztcbmltcG9ydCB7IFNjYWxlQ2hhcnRIZWFkZXIgfSBmcm9tICcuL2xheW91dC9TY2FsZUNoYXJ0SGVhZGVyJztcbmltcG9ydCB7IEJhcnNMaXN0IH0gZnJvbSAnLi9zaGFyZWQvZWxlbWVudHMnO1xuaW1wb3J0IHtcbiAgQmFyQ2hhcnRBY2Nlc3NpYmlsaXR5SW5MYWJlbENvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eUluT25seUNvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eVN0YWNrZWRDb250ZXh0LFxuICBCYXJDaGFydFRyYW5zbGF0aW9ucyxcbiAgZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLFxuICBQYXJ0aWFsQmFyQ2hhcnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vc2hhcmVkL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBCYXJDaGFydFByb3BzLCBCYXJQcm9wcywgSW5mZXJCYXJUeXBlIH0gZnJvbSAnLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QmFyUm93S2V5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VCYXJDaGFydCwgdXNlQmFyQ2hhcnRTb3J0IH0gZnJvbSAnLi91dGlscy9ob29rcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQmFyQ2hhcnRBY2Nlc3NpYmlsaXR5SW5MYWJlbENvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eUluT25seUNvbnRleHQsXG4gIEJhckNoYXJ0QWNjZXNzaWJpbGl0eVN0YWNrZWRDb250ZXh0LFxuICBCYXJQcm9wcyxcbiAgSW5mZXJCYXJUeXBlLFxuICBCYXJDaGFydFRyYW5zbGF0aW9ucyxcbiAgUGFydGlhbEJhckNoYXJ0VHJhbnNsYXRpb25zLFxufTtcblxuY29uc3QgU3R5bGVkRm9ybUdyb3VwTGFiZWwgPSBzdHlsZWQoRm9ybUdyb3VwTGFiZWwpKFxuICBjc3Moe1xuICAgIG1yOiA4LFxuICAgIG10OiA0LFxuICB9KVxuKTtcbmNvbnN0IFdpZHRoU2VsZWN0ID0gc3R5bGVkKFNlbGVjdCkoXG4gIGNzcyh7XG4gICAgd2lkdGg6ICdtYXgtY29udGVudCcsXG4gICAgcHI6IDEyLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IEJhckNoYXJ0ID0gPFxuICBUQmFyVmFsdWVzIGV4dGVuZHMgQmFyUHJvcHNbXSB8IHJlYWRvbmx5IEJhclByb3BzW10gPSBCYXJQcm9wc1tdXG4+KHtcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LFxuICBhbmltYXRlID0gZmFsc2UsXG4gIGJhclZhbHVlcyxcbiAgZGVzY3JpcHRpb24sXG4gIGhpZGVEZXNjcmlwdGlvbiA9IGZhbHNlLFxuICBoaWRlVGl0bGUgPSBmYWxzZSxcbiAgbWF4UmFuZ2UsXG4gIHNvcnRGbnMsXG4gIHN0eWxlQ29uZmlnLFxuICB0aXRsZSxcbiAgdHJhbnNsYXRpb25zLFxuICB1bml0ID0gJycsXG4gIHhTY2FsZSxcbn06IEJhckNoYXJ0UHJvcHM8VEJhclZhbHVlcz4pID0+IHtcbiAgY29uc3QgbWVyZ2VkVHJhbnNsYXRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLFxuICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgc29ydE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLnNvcnRPcHRpb25zLFxuICAgICAgICAuLi50cmFuc2xhdGlvbnM/LnNvcnRPcHRpb25zLFxuICAgICAgfSxcbiAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhckNoYXJ0VHJhbnNsYXRpb25zLmFjY2Vzc2liaWxpdHksXG4gICAgICAgIC4uLnRyYW5zbGF0aW9ucz8uYWNjZXNzaWJpbGl0eSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgW3RyYW5zbGF0aW9uc11cbiAgKTtcblxuICBjb25zdCB7IHNvcnRlZEJhcnMsIHNlbGVjdFByb3BzIH0gPSB1c2VCYXJDaGFydFNvcnQ8VEJhclZhbHVlcz4oe1xuICAgIGJhcnM6IGJhclZhbHVlcyxcbiAgICBzb3J0Rm5zLFxuICAgIHRyYW5zbGF0aW9uczogbWVyZ2VkVHJhbnNsYXRpb25zLFxuICB9KTtcblxuICBjb25zdCBjb250ZXh0VmFsdWUgPSB1c2VCYXJDaGFydCh7XG4gICAgbWF4UmFuZ2UsXG4gICAgeFNjYWxlLFxuICAgIHVuaXQsXG4gICAgc3R5bGVDb25maWcsXG4gICAgYW5pbWF0ZSxcbiAgICBiYXJDb3VudDogc29ydGVkQmFycz8ubGVuZ3RoLFxuICAgIHRyYW5zbGF0aW9uczogbWVyZ2VkVHJhbnNsYXRpb25zLFxuICB9KTtcblxuICBjb25zdCB0aWNrQ291bnQgPSBNYXRoLmNlaWwobWF4UmFuZ2UgLyBjb250ZXh0VmFsdWUueFNjYWxlKSArIDE7XG5cbiAgY29uc3QgdGl0bGVJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHNvcnRTZWxlY3RJZCA9IHVzZUlkKCk7XG5cbiAgY29uc3QgdGl0bGVQcm9wcyA9XG4gICAgdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJ1xuICAgICAgPyB7XG4gICAgICAgICAgYXM6ICdoMicgYXMgY29uc3QsXG4gICAgICAgICAgY2hpbGRyZW46IHRpdGxlLFxuICAgICAgICAgIGhpZGRlbjogaGlkZVRpdGxlLFxuICAgICAgICAgIGlkOiB0aXRsZUlkLFxuICAgICAgICAgIHZhcmlhbnQ6ICd0aXRsZS14cycgYXMgY29uc3QsXG4gICAgICAgIH1cbiAgICAgIDogdGl0bGVcbiAgICAgID8geyAuLi50aXRsZSwgY2hpbGRyZW46IHRpdGxlLnRpdGxlLCBoaWRkZW46IGhpZGVUaXRsZSwgaWQ6IHRpdGxlSWQgfVxuICAgICAgOiBudWxsO1xuXG4gIGNvbnN0IHRpdGxlQ29udGVudCA9XG4gICAgKHRpdGxlICYmICFoaWRlVGl0bGUpIHx8IHNlbGVjdFByb3BzID8gKFxuICAgICAgPEJveFxuICAgICAgICBib3JkZXJCb3R0b209ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiYmFja2dyb3VuZC1kaXNhYmxlZFwiXG4gICAgICAgIG1iPXsyNH1cbiAgICAgICAgcGI9ezh9XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICA+XG4gICAgICAgICAge3RpdGxlUHJvcHMgJiYgPFRleHQgbWI9ezR9IHsuLi50aXRsZVByb3BzfSAvPn1cbiAgICAgICAgICB7c2VsZWN0UHJvcHMgJiYgKFxuICAgICAgICAgICAgPEZsZXhCb3ggYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICA8U3R5bGVkRm9ybUdyb3VwTGFiZWxcbiAgICAgICAgICAgICAgICBodG1sRm9yPXtzb3J0U2VsZWN0SWR9XG4gICAgICAgICAgICAgICAgaXNTb2xvRmllbGRcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21lcmdlZFRyYW5zbGF0aW9ucy5zb3J0TGFiZWx9XG4gICAgICAgICAgICAgIDwvU3R5bGVkRm9ybUdyb3VwTGFiZWw+XG4gICAgICAgICAgICAgIDxXaWR0aFNlbGVjdFxuICAgICAgICAgICAgICAgIHNpemVWYXJpYW50PVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHsuLi5zZWxlY3RQcm9wc31cbiAgICAgICAgICAgICAgICBpZD17c29ydFNlbGVjdElkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgIDwvQm94PlxuICAgICkgOiB0aXRsZVByb3BzID8gKFxuICAgICAgPFRleHQgey4uLnRpdGxlUHJvcHN9IC8+XG4gICAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFyQ2hhcnRQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIHt0aXRsZUNvbnRlbnR9XG4gICAgICA8Qm94XG4gICAgICAgIGFzPVwiZmlndXJlXCJcbiAgICAgICAgY29udGFpbmVyVHlwZT1cImlubGluZS1zaXplXCJcbiAgICAgICAgcG9zaXRpb249XCJyZWxhdGl2ZVwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICA+XG4gICAgICAgIDxTY2FsZUNoYXJ0SGVhZGVyIGxhYmVsQ291bnQ9e3RpY2tDb3VudH0gbWF4PXttYXhSYW5nZX0gbWluPXswfSAvPlxuICAgICAgICA8Qm94IHBvc2l0aW9uPVwicmVsYXRpdmVcIiB3aWR0aD1cIjEwMCVcIj5cbiAgICAgICAgICA8R3JpZExpbmVzIG1heD17bWF4UmFuZ2V9IG1pbj17MH0gdGlja0NvdW50PXt0aWNrQ291bnR9IC8+XG4gICAgICAgICAgPEJhcnNMaXN0IGFyaWEtbGFiZWxsZWRieT17YXJpYUxhYmVsbGVkQnkgPz8gdGl0bGVJZH0+XG4gICAgICAgICAgICB7c29ydGVkQmFycy5tYXAoKGJhciwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPEJhclJvd1xuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBrZXk9e2dldEJhclJvd0tleShiYXIsIGluZGV4KX1cbiAgICAgICAgICAgICAgICB7Li4uYmFyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9CYXJzTGlzdD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJmaWdjYXB0aW9uXCJcbiAgICAgICAgICBjb2xvcj1cInRleHQtZGlzYWJsZWRcIlxuICAgICAgICAgIGhpZGRlbj17aGlkZURlc2NyaXB0aW9ufVxuICAgICAgICAgIG10PXs4fVxuICAgICAgICAgIHZhcmlhbnQ9XCJwLXNtYWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9Cb3g+XG4gICAgPC9CYXJDaGFydFByb3ZpZGVyPlxuICApO1xufTtcbiJdfQ== */");
31
- export const BarChart = ({
32
- 'aria-labelledby': ariaLabelledBy,
33
- animate = false,
34
- barValues,
35
- description,
36
- hideDescription = false,
37
- hideTitle = false,
38
- maxRange,
39
- sortFns,
40
- styleConfig,
41
- title,
42
- translations,
43
- unit = '',
44
- xScale
45
- }) => {
46
- const mergedTranslations = useMemo(() => ({
47
- ...defaultBarChartTranslations,
48
- ...translations,
49
- sortOptions: {
50
- ...defaultBarChartTranslations.sortOptions,
51
- ...translations?.sortOptions
52
- },
53
- accessibility: {
54
- ...defaultBarChartTranslations.accessibility,
55
- ...translations?.accessibility
56
- }
57
- }), [translations]);
58
- const {
59
- sortedBars,
60
- selectProps
61
- } = useBarChartSort({
62
- bars: barValues,
63
- sortFns,
64
- translations: mergedTranslations
65
- });
66
- const contextValue = useBarChart({
67
- maxRange,
68
- xScale,
69
- unit,
70
- styleConfig,
71
- animate,
72
- barCount: sortedBars?.length,
73
- translations: mergedTranslations
74
- });
75
- const tickCount = Math.ceil(maxRange / contextValue.xScale) + 1;
76
- const titleId = useId();
77
- const sortSelectId = useId();
78
- const titleProps = typeof title === 'string' ? {
79
- as: 'h2',
80
- children: title,
81
- hidden: hideTitle,
82
- id: titleId,
83
- variant: 'title-xs'
84
- } : title ? {
85
- ...title,
86
- children: title.title,
87
- hidden: hideTitle,
88
- id: titleId
89
- } : null;
90
- const titleContent = title && !hideTitle || selectProps ? /*#__PURE__*/_jsx(Box, {
91
- borderBottom: 1,
92
- borderColor: "background-disabled",
93
- mb: 24,
94
- pb: 8,
95
- width: "100%",
96
- children: /*#__PURE__*/_jsxs(FlexBox, {
97
- alignItems: "center",
98
- justifyContent: "space-between",
99
- width: "100%",
100
- children: [titleProps && /*#__PURE__*/_jsx(Text, {
101
- mb: 4,
102
- ...titleProps
103
- }), selectProps && /*#__PURE__*/_jsxs(FlexBox, {
104
- alignItems: "center",
105
- children: [/*#__PURE__*/_jsx(StyledFormGroupLabel, {
106
- htmlFor: sortSelectId,
107
- isSoloField: true,
108
- size: "small",
109
- children: mergedTranslations.sortLabel
110
- }), /*#__PURE__*/_jsx(WidthSelect, {
111
- sizeVariant: "small",
112
- ...selectProps,
113
- id: sortSelectId
114
- })]
115
- })]
116
- })
117
- }) : titleProps ? /*#__PURE__*/_jsx(Text, {
118
- ...titleProps
119
- }) : null;
120
- return /*#__PURE__*/_jsxs(BarChartProvider, {
121
- value: contextValue,
122
- children: [titleContent, /*#__PURE__*/_jsxs(Box, {
123
- as: "figure",
124
- containerType: "inline-size",
125
- position: "relative",
126
- width: "100%",
127
- children: [/*#__PURE__*/_jsx(ScaleChartHeader, {
128
- labelCount: tickCount,
129
- max: maxRange,
130
- min: 0
131
- }), /*#__PURE__*/_jsxs(Box, {
132
- position: "relative",
133
- width: "100%",
134
- children: [/*#__PURE__*/_jsx(GridLines, {
135
- max: maxRange,
136
- min: 0,
137
- tickCount: tickCount
138
- }), /*#__PURE__*/_jsx(BarsList, {
139
- "aria-labelledby": ariaLabelledBy ?? titleId,
140
- children: sortedBars.map((bar, index) => /*#__PURE__*/_jsx(BarRow, {
141
- index: index,
142
- ...bar
143
- }, getBarRowKey(bar, index)))
144
- })]
145
- }), /*#__PURE__*/_jsx(Text, {
146
- as: "figcaption",
147
- color: "text-disabled",
148
- hidden: hideDescription,
149
- mt: 8,
150
- variant: "p-small",
151
- children: description
152
- })]
153
- })]
154
- });
155
- };
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export interface GridLinesProps {
3
- tickCount: number;
4
- min: number;
5
- max: number;
6
- }
7
- export declare const GridLines: React.FC<GridLinesProps>;
@@ -1,78 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { css } from '@codecademy/gamut-styles';
3
- import React, { useMemo } from 'react';
4
- import { Box } from '../../Box';
5
- import { useLabelPositions } from '../utils/hooks';
6
- import { VerticalSpacer } from './VerticalSpacer';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const GridLineWrapper = /*#__PURE__*/_styled(Box, {
9
- target: "ejng4zk2",
10
- label: "GridLineWrapper"
11
- })(css({
12
- bottom: 0,
13
- left: 0,
14
- pointerEvents: 'none',
15
- position: 'absolute',
16
- right: 0,
17
- top: 0,
18
- zIndex: 0
19
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRd0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0JhckNoYXJ0L2xheW91dC9HcmlkTGluZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBCb3ggfSBmcm9tICcuLi8uLi9Cb3gnO1xuaW1wb3J0IHsgdXNlTGFiZWxQb3NpdGlvbnMgfSBmcm9tICcuLi91dGlscy9ob29rcyc7XG5pbXBvcnQgeyBWZXJ0aWNhbFNwYWNlciB9IGZyb20gJy4vVmVydGljYWxTcGFjZXInO1xuXG5jb25zdCBHcmlkTGluZVdyYXBwZXIgPSBzdHlsZWQoQm94KShcbiAgY3NzKHtcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gICAgdG9wOiAwLFxuICAgIHpJbmRleDogMCxcbiAgfSlcbik7XG5cbmNvbnN0IEdyaWRMaW5lQ29udGFpbmVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgYm9yZGVyQ29sb3I6ICdiYWNrZ3JvdW5kLWRpc2FibGVkJyxcbiAgICBib3JkZXJMZWZ0OiAxLFxuICAgIGJvcmRlclJpZ2h0OiAxLFxuICAgIGJvdHRvbTogMCxcbiAgICBkaXNwbGF5OiB7IF86ICdub25lJywgeHM6ICdibG9jaycgfSxcbiAgICBsZWZ0OiAwLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgfSlcbik7XG5cbmNvbnN0IEdyaWRMaW5lID0gc3R5bGVkKEJveCk8eyBwb3NpdGlvblBlcmNlbnQ6IG51bWJlciB9PihcbiAgY3NzKHtcbiAgICBib3JkZXJMZWZ0OiAxLFxuICAgIGJvcmRlckNvbG9yTGVmdDogJ2JhY2tncm91bmQtZGlzYWJsZWQnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICB3aWR0aDogMCxcbiAgfSksXG4gICh7IHBvc2l0aW9uUGVyY2VudCB9KSA9PiAoe1xuICAgIGxlZnQ6IGAke3Bvc2l0aW9uUGVyY2VudH0lYCxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MCUpJyxcbiAgfSlcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZExpbmVzUHJvcHMge1xuICB0aWNrQ291bnQ6IG51bWJlcjtcbiAgbWluOiBudW1iZXI7XG4gIG1heDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgR3JpZExpbmVzOiBSZWFjdC5GQzxHcmlkTGluZXNQcm9wcz4gPSAoe1xuICB0aWNrQ291bnQsXG4gIG1pbixcbiAgbWF4LFxufSkgPT4ge1xuICBjb25zdCBsYWJlbFBvc2l0aW9ucyA9IHVzZUxhYmVsUG9zaXRpb25zKHsgbWluLCBtYXgsIGNvdW50OiB0aWNrQ291bnQgfSk7XG5cbiAgY29uc3QgbGluZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBsYWJlbFBvc2l0aW9ucy5tYXAoKHsgcG9zaXRpb25QZXJjZW50LCB2YWx1ZSB9KSA9PiAoXG4gICAgICAgIDxHcmlkTGluZVxuICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAga2V5PXtgZ3JpZGxpbmUtJHt2YWx1ZX0tJHtwb3NpdGlvblBlcmNlbnR9YH1cbiAgICAgICAgICBwb3NpdGlvblBlcmNlbnQ9e3Bvc2l0aW9uUGVyY2VudH1cbiAgICAgICAgLz5cbiAgICAgICkpLFxuICAgIFtsYWJlbFBvc2l0aW9uc11cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkTGluZVdyYXBwZXIgYXJpYS1oaWRkZW4+XG4gICAgICA8VmVydGljYWxTcGFjZXI+XG4gICAgICAgIDxHcmlkTGluZUNvbnRhaW5lcj57bGluZXN9PC9HcmlkTGluZUNvbnRhaW5lcj5cbiAgICAgIDwvVmVydGljYWxTcGFjZXI+XG4gICAgPC9HcmlkTGluZVdyYXBwZXI+XG4gICk7XG59O1xuIl19 */");
20
- const GridLineContainer = /*#__PURE__*/_styled(Box, {
21
- target: "ejng4zk1",
22
- label: "GridLineContainer"
23
- })(css({
24
- borderColor: 'background-disabled',
25
- borderLeft: 1,
26
- borderRight: 1,
27
- bottom: 0,
28
- display: {
29
- _: 'none',
30
- xs: 'block'
31
- },
32
- left: 0,
33
- position: 'absolute',
34
- right: 0,
35
- top: 0
36
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQjBCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IHVzZUxhYmVsUG9zaXRpb25zIH0gZnJvbSAnLi4vdXRpbHMvaG9va3MnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuY29uc3QgR3JpZExpbmVXcmFwcGVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgYm90dG9tOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgICB6SW5kZXg6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGJvcmRlckNvbG9yOiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJSaWdodDogMSxcbiAgICBib3R0b206IDAsXG4gICAgZGlzcGxheTogeyBfOiAnbm9uZScsIHhzOiAnYmxvY2snIH0sXG4gICAgbGVmdDogMCxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICByaWdodDogMCxcbiAgICB0b3A6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZSA9IHN0eWxlZChCb3gpPHsgcG9zaXRpb25QZXJjZW50OiBudW1iZXIgfT4oXG4gIGNzcyh7XG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJDb2xvckxlZnQ6ICdiYWNrZ3JvdW5kLWRpc2FibGVkJyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG4gIH0pLFxuICAoeyBwb3NpdGlvblBlcmNlbnQgfSkgPT4gKHtcbiAgICBsZWZ0OiBgJHtwb3NpdGlvblBlcmNlbnR9JWAsXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gIH0pXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaW5lc1Byb3BzIHtcbiAgdGlja0NvdW50OiBudW1iZXI7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEdyaWRMaW5lczogUmVhY3QuRkM8R3JpZExpbmVzUHJvcHM+ID0gKHtcbiAgdGlja0NvdW50LFxuICBtaW4sXG4gIG1heCxcbn0pID0+IHtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogdGlja0NvdW50IH0pO1xuXG4gIGNvbnN0IGxpbmVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbGFiZWxQb3NpdGlvbnMubWFwKCh7IHBvc2l0aW9uUGVyY2VudCwgdmFsdWUgfSkgPT4gKFxuICAgICAgICA8R3JpZExpbmVcbiAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgIGtleT17YGdyaWRsaW5lLSR7dmFsdWV9LSR7cG9zaXRpb25QZXJjZW50fWB9XG4gICAgICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgICAgIC8+XG4gICAgICApKSxcbiAgICBbbGFiZWxQb3NpdGlvbnNdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JpZExpbmVXcmFwcGVyIGFyaWEtaGlkZGVuPlxuICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICA8R3JpZExpbmVDb250YWluZXI+e2xpbmVzfTwvR3JpZExpbmVDb250YWluZXI+XG4gICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgIDwvR3JpZExpbmVXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */");
37
- const GridLine = /*#__PURE__*/_styled(Box, {
38
- target: "ejng4zk0",
39
- label: "GridLine"
40
- })(css({
41
- borderLeft: 1,
42
- borderColorLeft: 'background-disabled',
43
- height: '100%',
44
- position: 'absolute',
45
- top: 0,
46
- width: 0
47
- }), ({
48
- positionPercent
49
- }) => ({
50
- left: `${positionPercent}%`,
51
- transform: 'translateX(-50%)'
52
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ2lCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9CYXJDaGFydC9sYXlvdXQvR3JpZExpbmVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vLi4vQm94JztcbmltcG9ydCB7IHVzZUxhYmVsUG9zaXRpb25zIH0gZnJvbSAnLi4vdXRpbHMvaG9va3MnO1xuaW1wb3J0IHsgVmVydGljYWxTcGFjZXIgfSBmcm9tICcuL1ZlcnRpY2FsU3BhY2VyJztcblxuY29uc3QgR3JpZExpbmVXcmFwcGVyID0gc3R5bGVkKEJveCkoXG4gIGNzcyh7XG4gICAgYm90dG9tOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgICB6SW5kZXg6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGJvcmRlckNvbG9yOiAnYmFja2dyb3VuZC1kaXNhYmxlZCcsXG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJSaWdodDogMSxcbiAgICBib3R0b206IDAsXG4gICAgZGlzcGxheTogeyBfOiAnbm9uZScsIHhzOiAnYmxvY2snIH0sXG4gICAgbGVmdDogMCxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICByaWdodDogMCxcbiAgICB0b3A6IDAsXG4gIH0pXG4pO1xuXG5jb25zdCBHcmlkTGluZSA9IHN0eWxlZChCb3gpPHsgcG9zaXRpb25QZXJjZW50OiBudW1iZXIgfT4oXG4gIGNzcyh7XG4gICAgYm9yZGVyTGVmdDogMSxcbiAgICBib3JkZXJDb2xvckxlZnQ6ICdiYWNrZ3JvdW5kLWRpc2FibGVkJyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG4gIH0pLFxuICAoeyBwb3NpdGlvblBlcmNlbnQgfSkgPT4gKHtcbiAgICBsZWZ0OiBgJHtwb3NpdGlvblBlcmNlbnR9JWAsXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gIH0pXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaW5lc1Byb3BzIHtcbiAgdGlja0NvdW50OiBudW1iZXI7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEdyaWRMaW5lczogUmVhY3QuRkM8R3JpZExpbmVzUHJvcHM+ID0gKHtcbiAgdGlja0NvdW50LFxuICBtaW4sXG4gIG1heCxcbn0pID0+IHtcbiAgY29uc3QgbGFiZWxQb3NpdGlvbnMgPSB1c2VMYWJlbFBvc2l0aW9ucyh7IG1pbiwgbWF4LCBjb3VudDogdGlja0NvdW50IH0pO1xuXG4gIGNvbnN0IGxpbmVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbGFiZWxQb3NpdGlvbnMubWFwKCh7IHBvc2l0aW9uUGVyY2VudCwgdmFsdWUgfSkgPT4gKFxuICAgICAgICA8R3JpZExpbmVcbiAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgIGtleT17YGdyaWRsaW5lLSR7dmFsdWV9LSR7cG9zaXRpb25QZXJjZW50fWB9XG4gICAgICAgICAgcG9zaXRpb25QZXJjZW50PXtwb3NpdGlvblBlcmNlbnR9XG4gICAgICAgIC8+XG4gICAgICApKSxcbiAgICBbbGFiZWxQb3NpdGlvbnNdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JpZExpbmVXcmFwcGVyIGFyaWEtaGlkZGVuPlxuICAgICAgPFZlcnRpY2FsU3BhY2VyPlxuICAgICAgICA8R3JpZExpbmVDb250YWluZXI+e2xpbmVzfTwvR3JpZExpbmVDb250YWluZXI+XG4gICAgICA8L1ZlcnRpY2FsU3BhY2VyPlxuICAgIDwvR3JpZExpbmVXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */");
53
- export const GridLines = ({
54
- tickCount,
55
- min,
56
- max
57
- }) => {
58
- const labelPositions = useLabelPositions({
59
- min,
60
- max,
61
- count: tickCount
62
- });
63
- const lines = useMemo(() => labelPositions.map(({
64
- positionPercent,
65
- value
66
- }) => /*#__PURE__*/_jsx(GridLine, {
67
- "aria-hidden": true,
68
- positionPercent: positionPercent
69
- }, `gridline-${value}-${positionPercent}`)), [labelPositions]);
70
- return /*#__PURE__*/_jsx(GridLineWrapper, {
71
- "aria-hidden": true,
72
- children: /*#__PURE__*/_jsx(VerticalSpacer, {
73
- children: /*#__PURE__*/_jsx(GridLineContainer, {
74
- children: lines
75
- })
76
- })
77
- });
78
- };
@@ -1,10 +0,0 @@
1
- import React from '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>;