Skip to content

Commit 404bf4e

Browse files
committed
New Fluent Next Palette
1 parent ddfe5c4 commit 404bf4e

5 files changed

Lines changed: 38 additions & 7 deletions

File tree

packages/devextreme/js/__internal/viz/core/themes/fluent-next/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { getAccentColorScheme } from '@ts/viz/core/themes/shared/accent_color_scheme';
2+
13
const themes = [
24
{
35
baseThemeName: 'fluent.blue.light',
46
theme: {
57
name: 'fluent-next.blue.light',
8+
defaultPalette: 'Fluent Next',
69
},
710
},
811
{
@@ -15,6 +18,8 @@ const themes = [
1518
baseThemeName: 'fluent.blue.dark',
1619
theme: {
1720
name: 'fluent-next.blue.dark',
21+
defaultPalette: 'Fluent Next',
22+
...getAccentColorScheme('#4B90D9'),
1823
},
1924
},
2025
{

packages/devextreme/js/__internal/viz/palette.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ const palettes = {
4242

4343
office: officePalette,
4444

45+
'fluent next': {
46+
simpleSet: ['#0078d4', '#c83d3d', '#008f04', '#eaa300', '#e43ba6', '#865cbf'],
47+
indicatingSet: ['#008f04', '#eaa300', '#c83d3d'],
48+
gradientSet: ['#0078d4', '#008f04'],
49+
accentColor: '#0f6cbd',
50+
},
51+
4552
'harmony light': {
4653
simpleSet: ['#fcb65e', '#679ec5', '#ad79ce', '#7abd5c', '#e18e92', '#b6d623', '#b7abea', '#85dbd5'],
4754
indicatingSet: ['#b6d623', '#fcb65e', '#e18e92'],

packages/devextreme/js/common/charts.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export type LegendMarkerState = 'normal' | 'hovered' | 'selected';
9797
* @public
9898
* @namespace DevExpress.common.charts
9999
*/
100-
export type Palette = 'Bright' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office';
100+
export type Palette = 'Bright' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office' | 'Fluent Next';
101101

102102
/**
103103
* @public

packages/devextreme/testing/tests/DevExpress.viz.core/themes.tests.js

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import $ from 'jquery';
22
import themeModule from 'viz/themes';
3+
import { createPalette } from 'viz/palette';
34
import uiThemeModule from 'ui/themes';
45

56
uiThemeModule.setDefaultTimeout(0);
@@ -359,16 +360,33 @@ QUnit.test('Invalid input data (with color scheme)', function(assert) {
359360
});
360361

361362
[
362-
'fluent-next.blue.light',
363-
'fluent-next.blue.light.compact',
364-
'fluent-next.blue.dark',
365-
'fluent-next.blue.dark.compact',
366-
].forEach((theme) => {
363+
{ theme: 'fluent-next.blue.light', accentColor: '#0F6CBD' },
364+
{ theme: 'fluent-next.blue.light.compact', accentColor: '#0F6CBD' },
365+
{ theme: 'fluent-next.blue.dark', accentColor: '#4B90D9' },
366+
{ theme: 'fluent-next.blue.dark.compact', accentColor: '#4B90D9' },
367+
].forEach(({ theme, accentColor }) => {
367368
QUnit.test(`fluent-next theme should be registered: ${theme}`, function(assert) {
368369
themeModule.currentTheme(theme);
369370

370371
assert.strictEqual(themeModule.currentTheme(), theme);
371372
});
373+
374+
QUnit.test(`fluent-next theme should color series with the Fluent Next palette: ${theme}`, function(assert) {
375+
const defaultPalette = themeModule.getTheme(theme).defaultPalette;
376+
377+
const colors = createPalette(undefined, {}, defaultPalette).generateColors(6);
378+
379+
assert.deepEqual(colors, ['#0078d4', '#c83d3d', '#008f04', '#eaa300', '#e43ba6', '#865cbf']);
380+
});
381+
382+
QUnit.test(`fluent-next theme should accent widgets with its own primary color: ${theme}`, function(assert) {
383+
const registeredTheme = themeModule.getTheme(theme);
384+
385+
assert.strictEqual(registeredTheme.rangeSelector.selectedRangeColor, accentColor, 'rangeSelector');
386+
assert.strictEqual(registeredTheme.map['layer:marker:dot'].color, accentColor, 'map marker');
387+
assert.strictEqual(registeredTheme.bullet.color, accentColor, 'bullet');
388+
assert.strictEqual(registeredTheme.gauge.valueIndicators.rangebar.color, accentColor, 'gauge');
389+
});
372390
});
373391

374392

packages/devextreme/ts/dx.all.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2144,7 +2144,8 @@ declare module DevExpress.common.charts {
21442144
| 'Green Mist'
21452145
| 'Soft Blue'
21462146
| 'Material'
2147-
| 'Office';
2147+
| 'Office'
2148+
| 'Fluent Next';
21482149
export type PaletteColorSet = 'simpleSet' | 'indicatingSet' | 'gradientSet';
21492150
export type PaletteExtensionMode = 'alternate' | 'blend' | 'extrapolate';
21502151
export type PointInteractionMode =

0 commit comments

Comments
 (0)