@react-magma/charts 13.0.1-rc.0 → 13.0.2-next.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 (83) hide show
  1. package/dist/charts.js +2452 -1
  2. package/dist/charts.js.map +1 -1
  3. package/dist/charts.modern.module.js +2430 -1
  4. package/dist/charts.modern.module.js.map +1 -1
  5. package/dist/charts.umd.js +49167 -1
  6. package/dist/charts.umd.js.map +1 -1
  7. package/dist/components/CarbonChart/CarbonChart.d.ts +6 -1
  8. package/dist/components/CarbonChart/CarbonChartArea.stories.d.ts +310 -0
  9. package/dist/components/CarbonChart/CarbonChartAreaStacked.stories.d.ts +136 -0
  10. package/dist/components/CarbonChart/CarbonChartBar.stories.d.ts +214 -0
  11. package/dist/components/CarbonChart/CarbonChartBarFloating.stories.d.ts +82 -0
  12. package/dist/components/CarbonChart/CarbonChartBarGrouped.stories.d.ts +234 -0
  13. package/dist/components/CarbonChart/CarbonChartBarStacked.stories.d.ts +266 -0
  14. package/dist/components/CarbonChart/CarbonChartBoxplot.stories.d.ts +53 -0
  15. package/dist/components/CarbonChart/CarbonChartBubble.stories.d.ts +196 -0
  16. package/dist/components/CarbonChart/CarbonChartBullet.stories.d.ts +35 -0
  17. package/dist/components/CarbonChart/CarbonChartCombo.stories.d.ts +580 -0
  18. package/dist/components/CarbonChart/CarbonChartDonut.stories.d.ts +120 -0
  19. package/dist/components/CarbonChart/CarbonChartGauge.stories.d.ts +43 -0
  20. package/dist/components/CarbonChart/CarbonChartHistogram.stories.d.ts +89 -0
  21. package/dist/components/CarbonChart/CarbonChartLine.stories.d.ts +577 -0
  22. package/dist/components/CarbonChart/CarbonChartLollipop.stories.d.ts +55 -0
  23. package/dist/components/CarbonChart/CarbonChartMeter.stories.d.ts +127 -0
  24. package/dist/components/CarbonChart/CarbonChartPie.stories.d.ts +101 -0
  25. package/dist/components/CarbonChart/CarbonChartRadar.stories.d.ts +98 -0
  26. package/dist/components/CarbonChart/CarbonChartScatter.stories.d.ts +173 -0
  27. package/dist/components/CarbonChart/CarbonChartSparkline.stories.d.ts +51 -0
  28. package/dist/components/CarbonChart/CarbonChartStep.stories.d.ts +38 -0
  29. package/dist/components/LineChart/Chart.d.ts +27 -0
  30. package/dist/components/LineChart/ChartDataTable.d.ts +17 -0
  31. package/dist/components/LineChart/CustomAxisComponent.d.ts +3 -0
  32. package/dist/components/LineChart/CustomPointComponent.d.ts +17 -0
  33. package/dist/components/LineChart/DataTable.d.ts +5 -0
  34. package/dist/components/LineChart/GraphTooltip.d.ts +3 -0
  35. package/dist/components/LineChart/LegendButton.d.ts +6 -0
  36. package/dist/components/LineChart/LineChart.d.ts +67 -0
  37. package/dist/components/LineChart/LineChart.stories.d.ts +113 -0
  38. package/dist/components/LineChart/index.d.ts +1 -0
  39. package/dist/components/LineChart/magma-charts.d.ts +1 -0
  40. package/dist/index.d.ts +1 -0
  41. package/package.json +28 -26
  42. package/src/components/CarbonChart/CarbonChart.test.js +506 -0
  43. package/src/components/CarbonChart/CarbonChart.tsx +63 -61
  44. package/src/components/CarbonChart/CarbonChartArea.stories.tsx +1 -1
  45. package/src/components/CarbonChart/CarbonChartAreaStacked.stories.tsx +1 -1
  46. package/src/components/CarbonChart/CarbonChartBar.stories.tsx +1 -1
  47. package/src/components/CarbonChart/CarbonChartBarFloating.stories.tsx +1 -1
  48. package/src/components/CarbonChart/CarbonChartBarGrouped.stories.tsx +1 -1
  49. package/src/components/CarbonChart/CarbonChartBarStacked.stories.tsx +1 -1
  50. package/src/components/CarbonChart/CarbonChartBoxplot.stories.tsx +1 -1
  51. package/src/components/CarbonChart/CarbonChartBubble.stories.tsx +1 -1
  52. package/src/components/CarbonChart/CarbonChartBullet.stories.tsx +1 -1
  53. package/src/components/CarbonChart/CarbonChartCombo.stories.tsx +1 -1
  54. package/src/components/CarbonChart/CarbonChartDonut.stories.tsx +1 -1
  55. package/src/components/CarbonChart/CarbonChartGauge.stories.tsx +1 -1
  56. package/src/components/CarbonChart/CarbonChartHistogram.stories.tsx +1 -1
  57. package/src/components/CarbonChart/CarbonChartLine.stories.tsx +1 -1
  58. package/src/components/CarbonChart/CarbonChartLollipop.stories.tsx +1 -1
  59. package/src/components/CarbonChart/CarbonChartMeter.stories.tsx +1 -1
  60. package/src/components/CarbonChart/CarbonChartPie.stories.tsx +1 -1
  61. package/src/components/CarbonChart/CarbonChartRadar.stories.tsx +1 -1
  62. package/src/components/CarbonChart/CarbonChartScatter.stories.tsx +1 -1
  63. package/src/components/CarbonChart/CarbonChartSparkline.stories.tsx +1 -1
  64. package/src/components/CarbonChart/CarbonChartStep.stories.tsx +1 -1
  65. package/src/components/CarbonChart/carbon-charts.css +24931 -0
  66. package/src/components/LineChart/Chart.tsx +241 -0
  67. package/src/components/LineChart/ChartDataTable.test.js +165 -0
  68. package/src/components/LineChart/ChartDataTable.tsx +135 -0
  69. package/src/components/LineChart/CustomAxisComponent.tsx +30 -0
  70. package/src/components/LineChart/CustomPointComponent.tsx +93 -0
  71. package/src/components/LineChart/DataTable.tsx +57 -0
  72. package/src/components/LineChart/GraphTooltip.tsx +100 -0
  73. package/src/components/LineChart/LegendButton.tsx +77 -0
  74. package/src/components/LineChart/LineChart.stories.tsx +399 -0
  75. package/src/components/LineChart/LineChart.test.js +501 -0
  76. package/src/components/LineChart/LineChart.tsx +669 -0
  77. package/src/components/LineChart/index.ts +1 -0
  78. package/src/components/LineChart/magma-charts.ts +279 -0
  79. package/src/components/LineChart/test/exampleChartData.js +289 -0
  80. package/src/index.ts +1 -0
  81. package/dist/components/CarbonChart/CarbonChart.test.d.ts +0 -1
  82. package/dist/components/CarbonChart/embeddedStyles.d.ts +0 -1
  83. package/src/components/CarbonChart/embeddedStyles.ts +0 -24880
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
 
3
3
  import { render } from '@testing-library/react';
4
+ import { ThemeContext, magma } from 'react-magma-dom';
4
5
 
5
6
  import { CarbonChart, CarbonChartType } from '.';
6
7
 
@@ -73,4 +74,509 @@ describe('CarbonChart', () => {
73
74
 
74
75
  expect(getByTestId(testId)).toBeInTheDocument();
75
76
  });
77
+
78
+ describe('Magma Theme Values Applied to Styles', () => {
79
+ it('should apply theme.colors.neutral700 to data table cells', () => {
80
+ const testId = 'table-color-test';
81
+ const { getByTestId } = render(
82
+ <ThemeContext.Provider value={magma}>
83
+ <CarbonChart
84
+ testId={testId}
85
+ dataSet={dataSet}
86
+ options={chartOptions}
87
+ type={CarbonChartType.bar}
88
+ />
89
+ </ThemeContext.Provider>
90
+ );
91
+
92
+ const wrapper = getByTestId(testId);
93
+
94
+ // CarbonChartWrapper applies theme.colors.neutral700 to .cds--data-table td
95
+ expect(wrapper).toHaveStyleRule('color', magma.colors.neutral700, {
96
+ target: '.cds--data-table td',
97
+ });
98
+ });
99
+
100
+ it('should apply theme.colors.primary for button background in non-inverse mode', () => {
101
+ const testId = 'button-color-test';
102
+ const { getByTestId } = render(
103
+ <ThemeContext.Provider value={magma}>
104
+ <CarbonChart
105
+ testId={testId}
106
+ dataSet={dataSet}
107
+ options={chartOptions}
108
+ type={CarbonChartType.bar}
109
+ isInverse={false}
110
+ />
111
+ </ThemeContext.Provider>
112
+ );
113
+
114
+ const wrapper = getByTestId(testId);
115
+
116
+ // CarbonChartWrapper applies theme.colors.primary to .cds--btn--primary
117
+ expect(wrapper).toHaveStyleRule('background', magma.colors.primary, {
118
+ target: '.chart-holder .cds--btn--primary',
119
+ });
120
+ });
121
+
122
+ it('should apply theme.colors.tertiary500 for button background when isInverse is true', () => {
123
+ const testId = 'button-inverse-test';
124
+ const { getByTestId } = render(
125
+ <ThemeContext.Provider value={magma}>
126
+ <CarbonChart
127
+ testId={testId}
128
+ dataSet={dataSet}
129
+ options={chartOptions}
130
+ type={CarbonChartType.bar}
131
+ isInverse
132
+ />
133
+ </ThemeContext.Provider>
134
+ );
135
+
136
+ const wrapper = getByTestId(testId);
137
+
138
+ // CarbonChartWrapper applies theme.colors.tertiary500 to .cds--btn--primary when inverse
139
+ expect(wrapper).toHaveStyleRule('background', magma.colors.tertiary500, {
140
+ target: '.chart-holder .cds--btn--primary',
141
+ });
142
+ });
143
+
144
+ it('should apply theme.colors.primary700 for inverse table header background', () => {
145
+ const testId = 'table-inverse-test';
146
+ const { getByTestId } = render(
147
+ <ThemeContext.Provider value={magma}>
148
+ <CarbonChart
149
+ testId={testId}
150
+ dataSet={dataSet}
151
+ options={chartOptions}
152
+ type={CarbonChartType.bar}
153
+ isInverse
154
+ />
155
+ </ThemeContext.Provider>
156
+ );
157
+
158
+ const wrapper = getByTestId(testId);
159
+
160
+ // CarbonChartWrapper applies theme.colors.primary700 to table header when inverse
161
+ expect(wrapper).toHaveStyleRule(
162
+ 'background',
163
+ `${magma.colors.primary700}!important`,
164
+ {
165
+ target: '.cds--data-table thead tr th',
166
+ }
167
+ );
168
+ });
169
+
170
+ it('should apply theme.colors.neutral100 for inverse text color', () => {
171
+ const testId = 'text-inverse-test';
172
+ const { getByTestId } = render(
173
+ <ThemeContext.Provider value={magma}>
174
+ <CarbonChart
175
+ testId={testId}
176
+ dataSet={dataSet}
177
+ options={chartOptions}
178
+ type={CarbonChartType.bar}
179
+ isInverse
180
+ />
181
+ </ThemeContext.Provider>
182
+ );
183
+
184
+ const wrapper = getByTestId(testId);
185
+
186
+ // CarbonChartWrapper applies theme.colors.neutral100 to text when inverse
187
+ expect(wrapper).toHaveStyleRule('color', magma.colors.neutral100, {
188
+ target: 'p',
189
+ });
190
+ });
191
+
192
+ it('should apply theme.bodyFont to chart text elements', () => {
193
+ const testId = 'font-test';
194
+ const { getByTestId } = render(
195
+ <ThemeContext.Provider value={magma}>
196
+ <CarbonChart
197
+ testId={testId}
198
+ dataSet={dataSet}
199
+ options={chartOptions}
200
+ type={CarbonChartType.bar}
201
+ />
202
+ </ThemeContext.Provider>
203
+ );
204
+
205
+ const wrapper = getByTestId(testId);
206
+
207
+ // CarbonChartWrapper applies theme.bodyFont to various text elements
208
+ expect(wrapper).toHaveStyleRule(
209
+ 'font-family',
210
+ `${magma.bodyFont}!important`,
211
+ {
212
+ target: 'p',
213
+ }
214
+ );
215
+ });
216
+
217
+ it('should apply theme.typeScale.size02.fontSize to tooltip text', () => {
218
+ const testId = 'font-size-test';
219
+ const { getByTestId } = render(
220
+ <ThemeContext.Provider value={magma}>
221
+ <CarbonChart
222
+ testId={testId}
223
+ dataSet={dataSet}
224
+ options={chartOptions}
225
+ type={CarbonChartType.bar}
226
+ />
227
+ </ThemeContext.Provider>
228
+ );
229
+
230
+ const wrapper = getByTestId(testId);
231
+
232
+ // CarbonChartWrapper applies theme.typeScale.size02.fontSize to tooltips
233
+ expect(wrapper).toHaveStyleRule(
234
+ 'font-size',
235
+ magma.typeScale.size02.fontSize,
236
+ {
237
+ target: '.cds--cc--tooltip .content-box .datapoint-tooltip p',
238
+ }
239
+ );
240
+ });
241
+
242
+ it('should apply theme.typeScale.size03.fontSize to legend text', () => {
243
+ const testId = 'legend-font-test';
244
+ const { getByTestId } = render(
245
+ <ThemeContext.Provider value={magma}>
246
+ <CarbonChart
247
+ testId={testId}
248
+ dataSet={dataSet}
249
+ options={chartOptions}
250
+ type={CarbonChartType.bar}
251
+ />
252
+ </ThemeContext.Provider>
253
+ );
254
+
255
+ const wrapper = getByTestId(testId);
256
+
257
+ // CarbonChartWrapper applies theme.typeScale.size03.fontSize to legend
258
+ expect(wrapper).toHaveStyleRule(
259
+ 'font-size',
260
+ magma.typeScale.size03.fontSize,
261
+ {
262
+ target: 'div.cds--cc--legend div.legend-item p',
263
+ }
264
+ );
265
+ });
266
+
267
+ it('should apply theme.borderRadius to modal container', () => {
268
+ const testId = 'border-radius-test';
269
+ const { getByTestId } = render(
270
+ <ThemeContext.Provider value={magma}>
271
+ <CarbonChart
272
+ testId={testId}
273
+ dataSet={dataSet}
274
+ options={chartOptions}
275
+ type={CarbonChartType.bar}
276
+ />
277
+ </ThemeContext.Provider>
278
+ );
279
+
280
+ const wrapper = getByTestId(testId);
281
+
282
+ // CarbonChartWrapper applies theme.borderRadius in clip-path
283
+ expect(wrapper).toHaveStyleRule(
284
+ 'clip-path',
285
+ `inset(0% 0% 0% 0% round ${magma.borderRadius})`,
286
+ {
287
+ target: '.cds--modal-container',
288
+ }
289
+ );
290
+ });
291
+
292
+ it('should apply theme.colors.focus for focus outline', () => {
293
+ const testId = 'focus-color-test';
294
+ const { getByTestId } = render(
295
+ <ThemeContext.Provider value={magma}>
296
+ <CarbonChart
297
+ testId={testId}
298
+ dataSet={dataSet}
299
+ options={chartOptions}
300
+ type={CarbonChartType.bar}
301
+ />
302
+ </ThemeContext.Provider>
303
+ );
304
+
305
+ const wrapper = getByTestId(testId);
306
+
307
+ // CarbonChartWrapper applies theme.colors.focus to outline
308
+ expect(wrapper).toHaveStyleRule(
309
+ 'outline',
310
+ `2px solid ${magma.colors.focus}!important`,
311
+ {
312
+ target: '.chart-holder *:focus',
313
+ }
314
+ );
315
+ });
316
+
317
+ it('should apply theme.colors.focusInverse for focus outline when isInverse is true', () => {
318
+ const testId = 'focus-inverse-test';
319
+ const { getByTestId } = render(
320
+ <ThemeContext.Provider value={magma}>
321
+ <CarbonChart
322
+ testId={testId}
323
+ dataSet={dataSet}
324
+ options={chartOptions}
325
+ type={CarbonChartType.bar}
326
+ isInverse
327
+ />
328
+ </ThemeContext.Provider>
329
+ );
330
+
331
+ const wrapper = getByTestId(testId);
332
+
333
+ // CarbonChartWrapper applies theme.colors.focusInverse to outline when inverse
334
+ expect(wrapper).toHaveStyleRule(
335
+ 'outline',
336
+ `2px solid ${magma.colors.focusInverse}!important`,
337
+ {
338
+ target: '.chart-holder *:focus',
339
+ }
340
+ );
341
+ });
342
+
343
+ it('should apply theme.spaceScale.spacing05 to legend checkbox dimensions', () => {
344
+ const testId = 'spacing-test';
345
+ const { getByTestId } = render(
346
+ <ThemeContext.Provider value={magma}>
347
+ <CarbonChart
348
+ testId={testId}
349
+ dataSet={dataSet}
350
+ options={chartOptions}
351
+ type={CarbonChartType.bar}
352
+ />
353
+ </ThemeContext.Provider>
354
+ );
355
+
356
+ const wrapper = getByTestId(testId);
357
+
358
+ // CarbonChartWrapper applies theme.spaceScale.spacing05 to checkbox width
359
+ expect(wrapper).toHaveStyleRule('width', magma.spaceScale.spacing05, {
360
+ target: 'div.cds--cc--legend div.legend-item div.checkbox',
361
+ });
362
+
363
+ // And height
364
+ expect(wrapper).toHaveStyleRule('height', magma.spaceScale.spacing05, {
365
+ target: 'div.cds--cc--legend div.legend-item div.checkbox',
366
+ });
367
+ });
368
+
369
+ it('should apply theme.colors.neutral900 to legend checkbox background when isInverse', () => {
370
+ const testId = 'legend-bg-inverse-test';
371
+ const { getByTestId } = render(
372
+ <ThemeContext.Provider value={magma}>
373
+ <CarbonChart
374
+ testId={testId}
375
+ dataSet={dataSet}
376
+ options={chartOptions}
377
+ type={CarbonChartType.bar}
378
+ isInverse
379
+ />
380
+ </ThemeContext.Provider>
381
+ );
382
+
383
+ const wrapper = getByTestId(testId);
384
+
385
+ // CarbonChartWrapper applies theme.colors.neutral900 to checkbox background when inverse
386
+ expect(wrapper).toHaveStyleRule('background', magma.colors.neutral900, {
387
+ target: 'div.cds--cc--legend div.legend-item div.checkbox',
388
+ });
389
+ });
390
+
391
+ it('should apply theme.colors.neutral100 to legend checkbox background in normal mode', () => {
392
+ const testId = 'legend-bg-test';
393
+ const { getByTestId } = render(
394
+ <ThemeContext.Provider value={magma}>
395
+ <CarbonChart
396
+ testId={testId}
397
+ dataSet={dataSet}
398
+ options={chartOptions}
399
+ type={CarbonChartType.bar}
400
+ isInverse={false}
401
+ />
402
+ </ThemeContext.Provider>
403
+ );
404
+
405
+ const wrapper = getByTestId(testId);
406
+
407
+ // CarbonChartWrapper applies theme.colors.neutral100 to checkbox background
408
+ expect(wrapper).toHaveStyleRule('background', magma.colors.neutral100, {
409
+ target: 'div.cds--cc--legend div.legend-item div.checkbox',
410
+ });
411
+ });
412
+
413
+ it('should apply theme.colors.neutral100 to modal header background in normal mode', () => {
414
+ const testId = 'modal-header-test';
415
+ const { getByTestId } = render(
416
+ <ThemeContext.Provider value={magma}>
417
+ <CarbonChart
418
+ testId={testId}
419
+ dataSet={dataSet}
420
+ options={chartOptions}
421
+ type={CarbonChartType.bar}
422
+ isInverse={false}
423
+ />
424
+ </ThemeContext.Provider>
425
+ );
426
+
427
+ const wrapper = getByTestId(testId);
428
+
429
+ // CarbonChartWrapper applies theme.colors.neutral100 to modal header background
430
+ expect(wrapper).toHaveStyleRule('background', magma.colors.neutral100, {
431
+ target: '.chart-holder .cds--modal-header',
432
+ });
433
+ });
434
+
435
+ it('should apply theme.colors.primary600 to modal header background when isInverse', () => {
436
+ const testId = 'modal-header-inverse-test';
437
+ const { getByTestId } = render(
438
+ <ThemeContext.Provider value={magma}>
439
+ <CarbonChart
440
+ testId={testId}
441
+ dataSet={dataSet}
442
+ options={chartOptions}
443
+ type={CarbonChartType.bar}
444
+ isInverse
445
+ />
446
+ </ThemeContext.Provider>
447
+ );
448
+
449
+ const wrapper = getByTestId(testId);
450
+
451
+ // CarbonChartWrapper applies theme.colors.primary600 to modal header when inverse
452
+ expect(wrapper).toHaveStyleRule('background', magma.colors.primary600, {
453
+ target: '.chart-holder .cds--modal-header',
454
+ });
455
+ });
456
+
457
+ it('should apply font-weight 600 to modal header heading', () => {
458
+ const testId = 'modal-heading-test';
459
+ const { getByTestId } = render(
460
+ <ThemeContext.Provider value={magma}>
461
+ <CarbonChart
462
+ testId={testId}
463
+ dataSet={dataSet}
464
+ options={chartOptions}
465
+ type={CarbonChartType.bar}
466
+ />
467
+ </ThemeContext.Provider>
468
+ );
469
+
470
+ const wrapper = getByTestId(testId);
471
+
472
+ // CarbonChartWrapper applies font-weight to modal header heading
473
+ expect(wrapper).toHaveStyleRule('font-weight', '600', {
474
+ target: '.chart-holder .cds--modal-header__heading',
475
+ });
476
+ });
477
+
478
+ it('should apply theme.colors.neutral100 to modal footer background in normal mode', () => {
479
+ const testId = 'modal-footer-test';
480
+ const { getByTestId } = render(
481
+ <ThemeContext.Provider value={magma}>
482
+ <CarbonChart
483
+ testId={testId}
484
+ dataSet={dataSet}
485
+ options={chartOptions}
486
+ type={CarbonChartType.bar}
487
+ isInverse={false}
488
+ />
489
+ </ThemeContext.Provider>
490
+ );
491
+
492
+ const wrapper = getByTestId(testId);
493
+
494
+ // CarbonChartWrapper applies theme.colors.neutral100 to modal footer background
495
+ expect(wrapper).toHaveStyleRule(
496
+ 'background',
497
+ `${magma.colors.neutral100}!important`,
498
+ {
499
+ target: '.cds--modal-footer.cds--modal-footer',
500
+ }
501
+ );
502
+ });
503
+
504
+ it('should apply theme.colors.primary600 to modal footer background when isInverse', () => {
505
+ const testId = 'modal-footer-inverse-test';
506
+ const { getByTestId } = render(
507
+ <ThemeContext.Provider value={magma}>
508
+ <CarbonChart
509
+ testId={testId}
510
+ dataSet={dataSet}
511
+ options={chartOptions}
512
+ type={CarbonChartType.bar}
513
+ isInverse
514
+ />
515
+ </ThemeContext.Provider>
516
+ );
517
+
518
+ const wrapper = getByTestId(testId);
519
+
520
+ // CarbonChartWrapper applies theme.colors.primary600 to modal footer when inverse
521
+ expect(wrapper).toHaveStyleRule(
522
+ 'background',
523
+ `${magma.colors.primary600}!important`,
524
+ {
525
+ target: '.cds--modal-footer.cds--modal-footer',
526
+ }
527
+ );
528
+ });
529
+
530
+ it('should apply theme.colors.neutral300 border to modal header in normal mode', () => {
531
+ const testId = 'modal-header-border-test';
532
+ const { getByTestId } = render(
533
+ <ThemeContext.Provider value={magma}>
534
+ <CarbonChart
535
+ testId={testId}
536
+ dataSet={dataSet}
537
+ options={chartOptions}
538
+ type={CarbonChartType.bar}
539
+ isInverse={false}
540
+ />
541
+ </ThemeContext.Provider>
542
+ );
543
+
544
+ const wrapper = getByTestId(testId);
545
+
546
+ // CarbonChartWrapper applies theme.colors.neutral300 border to modal header
547
+ expect(wrapper).toHaveStyleRule(
548
+ 'border-bottom',
549
+ `1px solid ${magma.colors.neutral300}`,
550
+ {
551
+ target: '.chart-holder .cds--modal-header',
552
+ }
553
+ );
554
+ });
555
+
556
+ it('should apply theme.colors.neutral300 border to modal footer in normal mode', () => {
557
+ const testId = 'modal-footer-border-test';
558
+ const { getByTestId } = render(
559
+ <ThemeContext.Provider value={magma}>
560
+ <CarbonChart
561
+ testId={testId}
562
+ dataSet={dataSet}
563
+ options={chartOptions}
564
+ type={CarbonChartType.bar}
565
+ isInverse={false}
566
+ />
567
+ </ThemeContext.Provider>
568
+ );
569
+
570
+ const wrapper = getByTestId(testId);
571
+
572
+ // CarbonChartWrapper applies theme.colors.neutral300 border to modal footer
573
+ expect(wrapper).toHaveStyleRule(
574
+ 'border-top',
575
+ `1px solid ${magma.colors.neutral300}`,
576
+ {
577
+ target: '.cds--modal-footer.cds--modal-footer',
578
+ }
579
+ );
580
+ });
581
+ });
76
582
  });