@elastic/eui-theme-common 0.0.11 → 0.2.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 (56) hide show
  1. package/lib/cjs/global_styling/mixins/shadow.d.ts +16 -11
  2. package/lib/cjs/global_styling/mixins/shadow.d.ts.map +1 -1
  3. package/lib/cjs/global_styling/mixins/shadow.js +80 -61
  4. package/lib/cjs/global_styling/mixins/shadow.js.map +1 -1
  5. package/lib/cjs/global_styling/variables/borders.d.ts +3 -2
  6. package/lib/cjs/global_styling/variables/borders.d.ts.map +1 -1
  7. package/lib/cjs/global_styling/variables/borders.js.map +1 -1
  8. package/lib/cjs/global_styling/variables/colors.d.ts +1 -9
  9. package/lib/cjs/global_styling/variables/colors.d.ts.map +1 -1
  10. package/lib/cjs/global_styling/variables/colors.js.map +1 -1
  11. package/lib/cjs/global_styling/variables/components.d.ts +7 -3
  12. package/lib/cjs/global_styling/variables/components.d.ts.map +1 -1
  13. package/lib/cjs/global_styling/variables/components.js.map +1 -1
  14. package/lib/cjs/global_styling/variables/index.d.ts +1 -0
  15. package/lib/cjs/global_styling/variables/index.d.ts.map +1 -1
  16. package/lib/cjs/global_styling/variables/index.js +11 -0
  17. package/lib/cjs/global_styling/variables/index.js.map +1 -1
  18. package/lib/cjs/global_styling/variables/overrides.d.ts +9 -0
  19. package/lib/cjs/global_styling/variables/overrides.d.ts.map +1 -0
  20. package/lib/cjs/global_styling/variables/overrides.js +4 -0
  21. package/lib/cjs/global_styling/variables/overrides.js.map +1 -0
  22. package/lib/cjs/global_styling/variables/shadow.d.ts +1 -0
  23. package/lib/cjs/global_styling/variables/shadow.d.ts.map +1 -1
  24. package/lib/cjs/global_styling/variables/shadow.js.map +1 -1
  25. package/lib/cjs/services/theme/types.d.ts +20 -11
  26. package/lib/cjs/services/theme/types.d.ts.map +1 -1
  27. package/lib/cjs/services/theme/types.js +8 -1
  28. package/lib/cjs/services/theme/types.js.map +1 -1
  29. package/lib/cjs/utils.d.ts +7 -4
  30. package/lib/cjs/utils.d.ts.map +1 -1
  31. package/lib/cjs/utils.js +23 -5
  32. package/lib/cjs/utils.js.map +1 -1
  33. package/lib/cjs/utils.test.js +3 -0
  34. package/lib/cjs/utils.test.js.map +1 -1
  35. package/lib/esm/global_styling/mixins/shadow.d.ts +16 -11
  36. package/lib/esm/global_styling/mixins/shadow.js +56 -21
  37. package/lib/esm/global_styling/mixins/shadow.js.map +1 -1
  38. package/lib/esm/global_styling/variables/borders.d.ts +3 -2
  39. package/lib/esm/global_styling/variables/colors.d.ts +1 -9
  40. package/lib/esm/global_styling/variables/components.d.ts +7 -3
  41. package/lib/esm/global_styling/variables/index.d.ts +1 -0
  42. package/lib/esm/global_styling/variables/index.js +1 -0
  43. package/lib/esm/global_styling/variables/index.js.map +1 -1
  44. package/lib/esm/global_styling/variables/overrides.d.ts +8 -0
  45. package/lib/esm/global_styling/variables/overrides.js +9 -0
  46. package/lib/esm/global_styling/variables/overrides.js.map +1 -0
  47. package/lib/esm/global_styling/variables/shadow.d.ts +1 -0
  48. package/lib/esm/services/theme/types.d.ts +20 -11
  49. package/lib/esm/services/theme/types.js +2 -0
  50. package/lib/esm/services/theme/types.js.map +1 -1
  51. package/lib/esm/utils.d.ts +7 -4
  52. package/lib/esm/utils.js +37 -6
  53. package/lib/esm/utils.js.map +1 -1
  54. package/lib/esm/utils.test.js +3 -0
  55. package/lib/esm/utils.test.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,40 +1,45 @@
1
1
  import type { UseEuiTheme } from '../../services/theme/types';
2
- import { _EuiThemeShadowSize, _EuiThemeShadowCustomColor } from '../variables/shadow';
3
- export interface EuiShadowCustomColor {
2
+ import { _EuiThemeShadowSize } from '../variables/shadow';
3
+ export interface EuiShadowOptions {
4
4
  color?: string;
5
+ /**
6
+ * Note: not supported by all shadow utilities.
7
+ */
8
+ property?: 'box-shadow' | 'filter';
9
+ borderAllInHighContrastMode?: boolean;
5
10
  }
6
11
  /**
7
12
  * euiSlightShadow
8
13
  */
9
- export declare const euiShadowXSmall: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color }?: _EuiThemeShadowCustomColor) => string;
14
+ export declare const euiShadowXSmall: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
10
15
  /**
11
16
  * bottomShadowSmall
12
17
  */
13
- export declare const euiShadowSmall: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color }?: _EuiThemeShadowCustomColor) => string;
18
+ export declare const euiShadowSmall: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
14
19
  /**
15
20
  * bottomShadowMedium
16
21
  */
17
- export declare const euiShadowMedium: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color, property }?: _EuiThemeShadowCustomColor) => string;
22
+ export declare const euiShadowMedium: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
18
23
  /**
19
24
  * bottomShadow
20
25
  */
21
- export declare const euiShadowLarge: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color }?: _EuiThemeShadowCustomColor) => string;
26
+ export declare const euiShadowLarge: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
22
27
  /**
23
28
  * bottomShadowLarge
24
29
  */
25
- export interface EuiShadowXLarge extends _EuiThemeShadowCustomColor {
30
+ export interface EuiShadowXLarge extends EuiShadowOptions {
26
31
  reverse?: boolean;
27
32
  }
28
- export declare const euiShadowXLarge: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color, reverse }?: EuiShadowXLarge) => string;
33
+ export declare const euiShadowXLarge: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowXLarge | undefined) => string;
29
34
  /**
30
35
  * slightShadowHover
31
36
  */
32
- export declare const euiSlightShadowHover: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color }?: _EuiThemeShadowCustomColor) => string;
37
+ export declare const euiSlightShadowHover: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
33
38
  /**
34
39
  * bottomShadowFlat
35
40
  *
36
41
  * Similar to shadow medium but without the bottom depth.
37
42
  * Useful for popovers that drop UP rather than DOWN.
38
43
  */
39
- export declare const euiShadowFlat: ({ euiTheme, colorMode }: UseEuiTheme, { color: _color }?: _EuiThemeShadowCustomColor) => string;
40
- export declare const euiShadow: (euiThemeContext: UseEuiTheme, size?: _EuiThemeShadowSize, { color }?: _EuiThemeShadowCustomColor) => string;
44
+ export declare const euiShadowFlat: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, options?: EuiShadowOptions | undefined) => string;
45
+ export declare const euiShadow: (euiThemeContext: UseEuiTheme, size?: _EuiThemeShadowSize, options?: EuiShadowOptions | undefined) => string;
@@ -9,8 +9,11 @@ import { getShadowColor } from '../functions';
9
9
  /**
10
10
  * euiSlightShadow
11
11
  */
12
- export const euiShadowXSmall = ({ euiTheme, colorMode }, { color: _color } = {}) => {
13
- const color = _color || euiTheme.colors.shadow;
12
+ export const euiShadowXSmall = ({ euiTheme, colorMode, highContrastMode }, options) => {
13
+ if (highContrastMode) {
14
+ return _highContrastBorder(euiTheme, options);
15
+ }
16
+ const color = options?.color || euiTheme.colors.shadow;
14
17
  return `
15
18
  box-shadow:
16
19
  0 .8px .8px ${getShadowColor(color, 0.04, colorMode)},
@@ -20,8 +23,11 @@ box-shadow:
20
23
  /**
21
24
  * bottomShadowSmall
22
25
  */
23
- export const euiShadowSmall = ({ euiTheme, colorMode }, { color: _color } = {}) => {
24
- const color = _color || euiTheme.colors.shadow;
26
+ export const euiShadowSmall = ({ euiTheme, colorMode, highContrastMode }, options) => {
27
+ if (highContrastMode) {
28
+ return _highContrastBorder(euiTheme, options);
29
+ }
30
+ const color = options?.color || euiTheme.colors.shadow;
25
31
  return `
26
32
  box-shadow:
27
33
  0 .7px 1.4px ${getShadowColor(color, 0.07, colorMode)},
@@ -32,9 +38,12 @@ box-shadow:
32
38
  /**
33
39
  * bottomShadowMedium
34
40
  */
35
- export const euiShadowMedium = ({ euiTheme, colorMode }, { color: _color, property } = {}) => {
36
- const color = _color || euiTheme.colors.shadow;
37
- if (property === 'filter') {
41
+ export const euiShadowMedium = ({ euiTheme, colorMode, highContrastMode }, options) => {
42
+ if (highContrastMode) {
43
+ return _highContrastBorder(euiTheme, options);
44
+ }
45
+ const color = options?.color || euiTheme.colors.shadow;
46
+ if (options?.property === 'filter') {
38
47
  // Using only one drop-shadow filter instead of multiple is more performant & prevents Safari bugs
39
48
  return `filter: drop-shadow(0 5.7px 9px ${getShadowColor(color, 0.2, colorMode)});`;
40
49
  }
@@ -49,8 +58,11 @@ export const euiShadowMedium = ({ euiTheme, colorMode }, { color: _color, proper
49
58
  /**
50
59
  * bottomShadow
51
60
  */
52
- export const euiShadowLarge = ({ euiTheme, colorMode }, { color: _color } = {}) => {
53
- const color = _color || euiTheme.colors.shadow;
61
+ export const euiShadowLarge = ({ euiTheme, colorMode, highContrastMode }, options) => {
62
+ if (highContrastMode) {
63
+ return _highContrastBorder(euiTheme, options);
64
+ }
65
+ const color = options?.color || euiTheme.colors.shadow;
54
66
  return `
55
67
  box-shadow:
56
68
  0 1px 5px ${getShadowColor(color, 0.1, colorMode)},
@@ -59,8 +71,12 @@ box-shadow:
59
71
  0 23px 35px ${getShadowColor(color, 0.05, colorMode)};
60
72
  `;
61
73
  };
62
- export const euiShadowXLarge = ({ euiTheme, colorMode }, { color: _color, reverse } = {}) => {
63
- const color = _color || euiTheme.colors.shadow;
74
+ export const euiShadowXLarge = ({ euiTheme, colorMode, highContrastMode }, options) => {
75
+ if (highContrastMode) {
76
+ return _highContrastBorder(euiTheme, options);
77
+ }
78
+ const color = options?.color || euiTheme.colors.shadow;
79
+ const reverse = options?.reverse ?? false;
64
80
  return `
65
81
  box-shadow:
66
82
  0 ${reverse ? '-' : ''}2.7px 9px ${getShadowColor(color, 0.13, colorMode)},
@@ -71,8 +87,11 @@ box-shadow:
71
87
  /**
72
88
  * slightShadowHover
73
89
  */
74
- export const euiSlightShadowHover = ({ euiTheme, colorMode }, { color: _color } = {}) => {
75
- const color = _color || euiTheme.colors.shadow;
90
+ export const euiSlightShadowHover = ({ euiTheme, colorMode, highContrastMode }, options) => {
91
+ if (highContrastMode) {
92
+ return _highContrastBorder(euiTheme, options);
93
+ }
94
+ const color = options?.color || euiTheme.colors.shadow;
76
95
  return `
77
96
  box-shadow:
78
97
  0 1px 5px ${getShadowColor(color, 0.1, colorMode)},
@@ -87,8 +106,11 @@ box-shadow:
87
106
  * Similar to shadow medium but without the bottom depth.
88
107
  * Useful for popovers that drop UP rather than DOWN.
89
108
  */
90
- export const euiShadowFlat = ({ euiTheme, colorMode }, { color: _color } = {}) => {
91
- const color = _color || euiTheme.colors.shadow;
109
+ export const euiShadowFlat = ({ euiTheme, colorMode, highContrastMode }, options) => {
110
+ if (highContrastMode) {
111
+ return _highContrastBorder(euiTheme, options);
112
+ }
113
+ const color = options?.color || euiTheme.colors.shadow;
92
114
  return `
93
115
  box-shadow:
94
116
  0 0 .8px ${getShadowColor(color, 0.06, colorMode)},
@@ -97,21 +119,34 @@ box-shadow:
97
119
  0 0 17px ${getShadowColor(color, 0.03, colorMode)};
98
120
  `;
99
121
  };
100
- export const euiShadow = (euiThemeContext, size = 'l', { color } = {}) => {
122
+ export const euiShadow = (euiThemeContext, size = 'l', options) => {
123
+ if (euiThemeContext.highContrastMode) {
124
+ return _highContrastBorder(euiThemeContext.euiTheme, options);
125
+ }
101
126
  switch (size) {
102
127
  case 'xs':
103
- return euiShadowXSmall(euiThemeContext, { color });
128
+ return euiShadowXSmall(euiThemeContext, options);
104
129
  case 's':
105
- return euiShadowSmall(euiThemeContext, { color });
130
+ return euiShadowSmall(euiThemeContext, options);
106
131
  case 'm':
107
- return euiShadowMedium(euiThemeContext, { color });
132
+ return euiShadowMedium(euiThemeContext, options);
108
133
  case 'l':
109
- return euiShadowLarge(euiThemeContext, { color });
134
+ return euiShadowLarge(euiThemeContext, options);
110
135
  case 'xl':
111
- return euiShadowXLarge(euiThemeContext, { color });
136
+ return euiShadowXLarge(euiThemeContext, options);
112
137
  default:
113
138
  console.warn('Please provide a valid size option to useEuiShadow');
114
139
  return '';
115
140
  }
116
141
  };
142
+ /**
143
+ * Internal utilities for replacing shadows with high contrast borders instead.
144
+ * NOTE: Windows' high contrast themes ignore *all* `box-shadow` CSS,
145
+ * so we use `border` CSS explicitly instead of shadows
146
+ */
147
+ const _highContrastBorder = ({ border }, { borderAllInHighContrastMode } = {}) => {
148
+ return borderAllInHighContrastMode
149
+ ? `border: ${border.thin};`
150
+ : `border-block-end: ${border.thin};`;
151
+ };
117
152
  //# sourceMappingURL=shadow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../../src/global_styling/mixins/shadow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../../src/global_styling/mixins/shadow.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export interface _EuiThemeBorderWidthValues {
15
15
  export interface _EuiThemeBorderRadiusValues {
16
16
  /**
17
17
  * Primary corner radius size
18
- * - Default value: 6px
18
+ * - Default value: 4px (6px in Amsterdam)
19
19
  */
20
20
  medium: CSSProperties['borderRadius'];
21
21
  /**
@@ -26,7 +26,8 @@ export interface _EuiThemeBorderRadiusValues {
26
26
  }
27
27
  export interface _EuiThemeBorderColorValues {
28
28
  /**
29
- * Color for all borders; Default is `colors.lightShade`
29
+ * Color for all borders; Default is `colors.lightShade`.
30
+ * In high contrast mode, this value becomes `colors.fullShade` and cannot be overridden.
30
31
  */
31
32
  color: ColorModeSwitch;
32
33
  }
@@ -118,7 +118,7 @@ export declare type _EuiThemeTextColors = {
118
118
  */
119
119
  subduedText: ColorModeSwitch;
120
120
  /**
121
- * Computed against `colors.primaryText`
121
+ * Computed against `colors.textPrimary`
122
122
  */
123
123
  link: ColorModeSwitch;
124
124
  textParagraph: ColorModeSwitch;
@@ -314,15 +314,7 @@ export declare type _EuiThemeVisColors = {
314
314
  euiColorVisComplementary1: string;
315
315
  };
316
316
  export declare type _EuiThemeConstantColors = {
317
- /**
318
- * Purest **white**
319
- * @deprecated
320
- */
321
317
  ghost: string;
322
- /**
323
- * Purest **black**
324
- * @deprecated
325
- */
326
318
  ink: string;
327
319
  plainLight: string;
328
320
  plainDark: string;
@@ -2,9 +2,6 @@ import { ColorModeSwitch, StrictColorModeSwitch } from '../../services/theme/typ
2
2
  import { _EuiThemeButtonColors } from './buttons';
3
3
  import { _EuiThemeForm, _EuiThemeFormColors } from './forms';
4
4
  export declare type _EuiThemeComponentColors = {
5
- buttonGroupBorderColor: ColorModeSwitch;
6
- buttonGroupBorderColorSelected: ColorModeSwitch;
7
- buttonGroupFocusColor: ColorModeSwitch;
8
5
  badgeBackground: ColorModeSwitch;
9
6
  badgeBackgroundSubdued: ColorModeSwitch;
10
7
  badgeBorderColorHollow: ColorModeSwitch;
@@ -12,6 +9,10 @@ export declare type _EuiThemeComponentColors = {
12
9
  bottomBarBackground: ColorModeSwitch;
13
10
  breadcrumbsApplicationBackground: ColorModeSwitch;
14
11
  breadcrumbsApplicationColor: ColorModeSwitch;
12
+ buttonGroupBackgroundDisabledSelected: ColorModeSwitch;
13
+ buttonGroupBorderColor: ColorModeSwitch;
14
+ buttonGroupBorderColorSelected: ColorModeSwitch;
15
+ buttonGroupFocusColor: ColorModeSwitch;
15
16
  codeBackground: ColorModeSwitch;
16
17
  codeBackgroundSelected: ColorModeSwitch;
17
18
  codeColor: ColorModeSwitch;
@@ -65,11 +66,14 @@ export declare type _EuiThemeComponentColors = {
65
66
  loadingChartMonoBackground3: ColorModeSwitch;
66
67
  markBackground: ColorModeSwitch;
67
68
  markdownFormatTableBorderColor: ColorModeSwitch;
69
+ overlayMaskBackground: ColorModeSwitch;
70
+ overlayMaskBackgroundHighContrast: ColorModeSwitch;
68
71
  popoverPanelBackground: ColorModeSwitch;
69
72
  popoverFooterBorderColor: ColorModeSwitch;
70
73
  scrollbarTrackColor: ColorModeSwitch;
71
74
  sideNavItemEmphasizedBackground: ColorModeSwitch;
72
75
  selectableListItemBorderColor: ColorModeSwitch;
76
+ skeletonBackgroundSkeletonMiddleHighContrast: ColorModeSwitch;
73
77
  superDatePickerBackgroundSuccees: ColorModeSwitch;
74
78
  switchBackgroundOn: ColorModeSwitch;
75
79
  switchBackgroundOff: ColorModeSwitch;
@@ -13,3 +13,4 @@ export * from './buttons';
13
13
  export * from './forms';
14
14
  export * from './components';
15
15
  export * from './flags';
16
+ export * from './overrides';
@@ -20,4 +20,5 @@ export * from './buttons';
20
20
  export * from './forms';
21
21
  export * from './components';
22
22
  export * from './flags';
23
+ export * from './overrides';
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/global_styling/variables/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/global_styling/variables/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { RecursivePartial } from '../../types';
2
+ import { EUI_THEME_HIGH_CONTRAST_MODE_KEY, type EuiThemeShapeBase } from '../../services/theme/types';
3
+ /**
4
+ * Theme specific conditional overrides, e.g. for high contrast mode
5
+ */
6
+ export declare type _EuiThemeOverrides = {
7
+ [EUI_THEME_HIGH_CONTRAST_MODE_KEY]: RecursivePartial<EuiThemeShapeBase>;
8
+ };
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { EUI_THEME_HIGH_CONTRAST_MODE_KEY, } from '../../services/theme/types';
9
+ //# sourceMappingURL=overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/global_styling/variables/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,gCAAgC,GAEjC,MAAM,4BAA4B,CAAC"}
@@ -7,4 +7,5 @@ export declare const _EuiShadowSizesDescriptions: Record<_EuiThemeShadowSize, st
7
7
  export interface _EuiThemeShadowCustomColor {
8
8
  color?: string;
9
9
  property?: 'box-shadow' | 'filter';
10
+ borderAllInHighContrastMode?: boolean;
10
11
  }
@@ -1,15 +1,16 @@
1
1
  import type { CSSObject } from '@emotion/react';
2
2
  import type { RecursivePartial, ValueOf } from '../../types';
3
- import { _EuiThemeAnimation } from '../../global_styling/variables/animations';
4
- import { _EuiThemeBreakpoints } from '../../global_styling/variables/breakpoint';
5
- import { _EuiThemeBorder } from '../../global_styling/variables/borders';
6
- import { _EuiThemeColors } from '../../global_styling/variables/colors';
7
- import { _EuiThemeBase, _EuiThemeSizes } from '../../global_styling/variables/size';
8
- import { _EuiThemeFont } from '../../global_styling/variables/typography';
9
- import { _EuiThemeFocus } from '../../global_styling/variables/states';
10
- import { _EuiThemeLevels } from '../../global_styling/variables/levels';
11
- import { _EuiThemeComponents } from '../../global_styling/variables/components';
12
- import { _EuiThemeFlags } from '../../global_styling/variables';
3
+ import type { _EuiThemeAnimation } from '../../global_styling/variables/animations';
4
+ import type { _EuiThemeBreakpoints } from '../../global_styling/variables/breakpoint';
5
+ import type { _EuiThemeBorder } from '../../global_styling/variables/borders';
6
+ import type { _EuiThemeColors } from '../../global_styling/variables/colors';
7
+ import type { _EuiThemeBase, _EuiThemeSizes } from '../../global_styling/variables/size';
8
+ import type { _EuiThemeFont } from '../../global_styling/variables/typography';
9
+ import type { _EuiThemeFocus } from '../../global_styling/variables/states';
10
+ import type { _EuiThemeLevels } from '../../global_styling/variables/levels';
11
+ import type { _EuiThemeComponents } from '../../global_styling/variables/components';
12
+ import type { _EuiThemeFlags } from '../../global_styling/variables';
13
+ import type { _EuiThemeOverrides } from '../../global_styling/variables/overrides';
13
14
  export declare const COLOR_MODES_STANDARD: {
14
15
  readonly light: "LIGHT";
15
16
  readonly dark: "DARK";
@@ -24,7 +25,11 @@ export declare type ColorModeSwitch<T = string> = {
24
25
  export declare type StrictColorModeSwitch<T = string> = {
25
26
  [key in EuiThemeColorModeStandard]: T;
26
27
  };
27
- export declare type EuiThemeShape = {
28
+ export declare type EuiThemeHighContrastModeProp = boolean;
29
+ export declare type EuiThemeHighContrastMode = 'forced' | 'preferred' | false;
30
+ export declare const EUI_THEME_HIGH_CONTRAST_MODE_KEY: "HCM";
31
+ export declare const EUI_THEME_OVERRIDES_KEY: "overrides";
32
+ export declare type EuiThemeShapeBase = {
28
33
  colors: _EuiThemeColors;
29
34
  /** - Default value: 16 */
30
35
  base: _EuiThemeBase;
@@ -41,6 +46,9 @@ export declare type EuiThemeShape = {
41
46
  components: _EuiThemeComponents;
42
47
  flags: _EuiThemeFlags;
43
48
  };
49
+ export declare type EuiThemeShape = EuiThemeShapeBase & {
50
+ overrides?: _EuiThemeOverrides;
51
+ };
44
52
  export declare type EuiThemeSystem<T = {}> = {
45
53
  root: EuiThemeShape & T;
46
54
  model: EuiThemeShape & T;
@@ -68,5 +76,6 @@ export declare type EuiThemeNested = {
68
76
  export interface UseEuiTheme<T extends {} = {}> {
69
77
  euiTheme: EuiThemeComputed<T>;
70
78
  colorMode: EuiThemeColorModeStandard;
79
+ highContrastMode: EuiThemeHighContrastMode;
71
80
  modifications: EuiThemeModifications<T>;
72
81
  }
@@ -10,4 +10,6 @@ export const COLOR_MODES_STANDARD = {
10
10
  dark: 'DARK',
11
11
  };
12
12
  export const COLOR_MODES_INVERSE = 'INVERSE';
13
+ export const EUI_THEME_HIGH_CONTRAST_MODE_KEY = 'HCM';
14
+ export const EUI_THEME_OVERRIDES_KEY = 'overrides';
13
15
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAkB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAkB,CAAC;AA2BtD,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAc,CAAC;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EuiThemeColorMode, EuiThemeColorModeStandard, EuiThemeSystem, EuiThemeShape, EuiThemeComputed } from './global_styling';
1
+ import { EuiThemeColorMode, EuiThemeColorModeStandard, EuiThemeSystem, EuiThemeShape, EuiThemeComputed, EuiThemeHighContrastMode } from './global_styling';
2
2
  export declare const DEFAULT_COLOR_MODE: "LIGHT";
3
3
  /**
4
4
  * Returns whether the provided color mode is `inverse`
@@ -10,8 +10,9 @@ export declare const isInverseColorMode: (colorMode?: string | undefined) => col
10
10
  * Returns the parent color mode if none is explicity set.
11
11
  * @param {string} colorMode - `light`, `dark`, or `inverse`
12
12
  * @param {string} parentColorMode - `LIGHT` or `DARK`; used as the fallback
13
+ * @param {boolean} isForced
13
14
  */
14
- export declare const getColorMode: (colorMode?: EuiThemeColorMode | undefined, parentColorMode?: EuiThemeColorModeStandard | undefined) => EuiThemeColorModeStandard;
15
+ export declare const getColorMode: (colorMode?: EuiThemeColorMode | undefined, parentColorMode?: EuiThemeColorModeStandard | undefined, isForced?: boolean | undefined) => EuiThemeColorModeStandard;
15
16
  /**
16
17
  * Returns a value at a given path on an object.
17
18
  * If `colorMode` is provided, will scope the value to the appropriate color mode key (LIGHT\DARK)
@@ -52,7 +53,9 @@ export declare class Computed<T> {
52
53
  * @param {object} working - Partially computed theme
53
54
  * @param {string} colorMode - `light` or `dark`
54
55
  */
55
- getValue(base: EuiThemeSystem | EuiThemeShape | null, modifications: import("./types").RecursivePartial<EuiThemeShape> | undefined, working: Partial<EuiThemeComputed>, colorMode?: EuiThemeColorModeStandard): T;
56
+ getValue(base: EuiThemeSystem | EuiThemeShape | null, modifications: import("./types").RecursivePartial<import("./global_styling").EuiThemeShapeBase & {
57
+ overrides?: import("./global_styling")._EuiThemeOverrides | undefined;
58
+ }> | undefined, working: Partial<EuiThemeComputed>, colorMode?: EuiThemeColorModeStandard): T;
56
59
  }
57
60
  /**
58
61
  * Returns a Class (`Computed`) that stores the arbitrary computer method
@@ -72,7 +75,7 @@ export declare function computed<T>(computer: (value: any) => T, dependencies: s
72
75
  * @param {Proxy | object} over - Unique identifier or name
73
76
  * @param {string} colorMode - `light` or `dark`
74
77
  */
75
- export declare const getComputed: <T = EuiThemeShape>(base: EuiThemeSystem<T>, over: Partial<EuiThemeSystem<T>>, colorMode: EuiThemeColorModeStandard) => EuiThemeComputed<T>;
78
+ export declare const getComputed: <T = EuiThemeShape>(base: EuiThemeSystem<T>, over: Partial<EuiThemeSystem<T>>, colorMode: EuiThemeColorModeStandard, highContrastMode?: EuiThemeHighContrastMode | undefined) => EuiThemeComputed<T>;
76
79
  /**
77
80
  * Builds a Proxy with a custom `handler` designed to self-reference values
78
81
  * and prevent arbitrary value overrides.
package/lib/esm/utils.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * in compliance with, at your election, the Elastic License 2.0 or the Server
6
6
  * Side Public License, v 1.
7
7
  */
8
- import { COLOR_MODES_STANDARD, COLOR_MODES_INVERSE, } from './global_styling';
8
+ import { COLOR_MODES_STANDARD, COLOR_MODES_INVERSE, EUI_THEME_OVERRIDES_KEY, EUI_THEME_HIGH_CONTRAST_MODE_KEY, } from './global_styling';
9
9
  export const DEFAULT_COLOR_MODE = COLOR_MODES_STANDARD.light;
10
10
  /**
11
11
  * Returns whether the parameter is an object
@@ -24,9 +24,10 @@ export const isInverseColorMode = (colorMode) => {
24
24
  * Returns the parent color mode if none is explicity set.
25
25
  * @param {string} colorMode - `light`, `dark`, or `inverse`
26
26
  * @param {string} parentColorMode - `LIGHT` or `DARK`; used as the fallback
27
+ * @param {boolean} isForced
27
28
  */
28
- export const getColorMode = (colorMode, parentColorMode) => {
29
- if (colorMode == null) {
29
+ export const getColorMode = (colorMode, parentColorMode, isForced) => {
30
+ if (isForced || colorMode == null) {
30
31
  return parentColorMode || DEFAULT_COLOR_MODE;
31
32
  }
32
33
  const mode = colorMode.toUpperCase();
@@ -155,11 +156,23 @@ const isComputedLike = (key) => {
155
156
  * @param {Proxy | object} over - Unique identifier or name
156
157
  * @param {string} colorMode - `light` or `dark`
157
158
  */
158
- export const getComputed = (base, over, colorMode) => {
159
+ export const getComputed = (base, over, colorMode, highContrastMode) => {
159
160
  const output = { themeName: base.key };
161
+ const _hcmOverridesKey = `${EUI_THEME_OVERRIDES_KEY}.${EUI_THEME_HIGH_CONTRAST_MODE_KEY}`;
162
+ const _hcmBaseOverrides = highContrastMode
163
+ ? getOn(base, _hcmOverridesKey)
164
+ : undefined;
165
+ const _hcmOverOverrides = highContrastMode
166
+ ? getOn(over, _hcmOverridesKey)
167
+ : undefined;
160
168
  function loop(base, over, checkExisting = false, path) {
161
169
  Object.keys(base).forEach((key) => {
162
170
  let newPath = path ? `${path}.${key}` : `${key}`;
171
+ // remove the internal overrides key from the computed theme object
172
+ // the override values are only used internally in getComputed()
173
+ if (key === EUI_THEME_OVERRIDES_KEY) {
174
+ return;
175
+ }
163
176
  // @ts-expect-error `key` is not necessarily a colorMode key
164
177
  if ([...Object.values(COLOR_MODES_STANDARD), colorMode].includes(key)) {
165
178
  if (key !== colorMode) {
@@ -180,11 +193,29 @@ export const getComputed = (base, over, colorMode) => {
180
193
  const overValue = over[key] instanceof Computed || isComputedLike(over[key])
181
194
  ? over[key].getValue(base.root, over.root, output, colorMode)
182
195
  : over[key];
196
+ const hcmBaseValue = _hcmBaseOverrides
197
+ ? _hcmBaseOverrides[key] instanceof Computed ||
198
+ isComputedLike(_hcmBaseOverrides[key])
199
+ ? _hcmBaseOverrides[key].getValue(base.root, _hcmBaseOverrides.root, output, colorMode)
200
+ : _hcmBaseOverrides[key]
201
+ : undefined;
202
+ const hcmOverValue = _hcmOverOverrides
203
+ ? _hcmOverOverrides[key] instanceof Computed ||
204
+ isComputedLike(_hcmOverOverrides[key])
205
+ ? _hcmOverOverrides[key].getValue(base.root, _hcmOverOverrides.root, output, colorMode)
206
+ : _hcmOverOverrides[key]
207
+ : undefined;
208
+ const hcmCombinedOverValue = hcmOverValue ?? hcmBaseValue;
209
+ // combine internal overrides with manual overrides
210
+ const combinedOverValue = isObject(overValue) && isObject(hcmOverValue)
211
+ ? mergeDeep(overValue, hcmCombinedOverValue)
212
+ : // optional overrides e.g. on provider level should still override theme level
213
+ overValue ?? hcmCombinedOverValue;
183
214
  if (isObject(baseValue) && !Array.isArray(baseValue)) {
184
- loop(baseValue, overValue ?? {}, checkExisting, newPath);
215
+ loop(baseValue, combinedOverValue ?? {}, checkExisting, newPath);
185
216
  }
186
217
  else {
187
- setOn(output, newPath, overValue ?? baseValue);
218
+ setOn(output, newPath, combinedOverValue ?? baseValue);
188
219
  }
189
220
  }
190
221
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAQL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,KAAK,CAAC;AAE7D;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAAkB,EACqB,EAAE;IACzC,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAA6B,EAC7B,eAA2C,EAChB,EAAE;IAC7B,IAAI,SAAS,IAAI,IAAI,EAAE;QACrB,OAAO,eAAe,IAAI,kBAAkB,CAAC;KAC9C;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAEL,CAAC;IAC9B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,eAAe,KAAK,oBAAoB,CAAC,IAAI;YAClD,eAAe,KAAK,SAAS;YAC7B,CAAC,CAAC,oBAAoB,CAAC,KAAK;YAC5B,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC;KAC/B;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAA6B,EAC7B,KAAa,EACb,SAAqC,EACrC,EAAE;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,IAAI,CAAC,MAAM,EAAE;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAG,CAAC;QAE9B,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC1C,IACE,SAAS;gBACT,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI;gBACvC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAChD;gBACA,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,QAAQ,EAAE;oBAChD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;iBACrE;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;iBACjC;aACF;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;aAAM;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,QAAQ,EAAE;gBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aAC1D;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAA6B,EAC7B,KAAa,EACb,KAAU,EACV,EAAE;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;IACjC,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,OAAO,IAAI,CAAC,MAAM,EAAE;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAG,CAAC;QAC9B,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACpB;QACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;KACtB;IAED,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB,YACS,QAAiC,EACjC,eAAkC,EAAE;QADpC,aAAQ,GAAR,QAAQ,CAAyB;QACjC,iBAAY,GAAZ,YAAY,CAAwB;IAC1C,CAAC;IAEJ;;;;;;;OAOG;IACH,QAAQ,CACN,IAA2C,EAC3C,gBAAuC,EAAE,EACzC,OAAkC,EAClC,SAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;gBAC/B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;gBAClD,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAC/D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACnC,OAAO,CACL,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC1B,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC;gBAC3C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAiBD,MAAM,UAAU,QAAQ,CACtB,IAAqE,EACrE,GAAuB;IAEvB,OAAO,IAAI,QAAQ,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAI,GAAW,EAAsB,EAAE;IAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhE,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAuB,EACvB,IAAgC,EAChC,SAAoC,EACf,EAAE;IACvB,MAAM,MAAM,GAA8B,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAElE,SAAS,IAAI,CACX,IAA4B,EAC5B,IAA4B,EAC5B,gBAAyB,KAAK,EAC9B,IAAa;QAEb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;YACjD,4DAA4D;YAC5D,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrE,IAAI,GAAG,KAAK,SAAS,EAAE;oBACrB,OAAO;iBACR;qBAAM;oBACL,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,OAAO,SAAS,YAAY,SAAS,MAAM,CAC5C,CAAC;oBACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;iBACjD;aACF;YACD,MAAM,QAAQ,GAAG,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACnC,qFAAqF;gBACrF,wEAAwE;gBACxE,MAAM,SAAS,GACb,IAAI,CAAC,GAAG,CAAC,YAAY,QAAQ,IAAI,cAAc,CAAI,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;oBAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM,SAAS,GACb,IAAI,CAAC,GAAG,CAAC,YAAY,QAAQ,IAAI,cAAc,CAAI,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;oBAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACpD,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;iBAC1D;qBAAM;oBACL,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;iBAChD;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAoD;IACpD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,0CAA0C;IAC1C,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACrB,OAAO,MAA6B,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAe,KAAQ,EAAE,GAAW,EAAE,EAAE;IAChE,MAAM,OAAO,GAAoC;QAC/C,cAAc,CAAC,MAAM;YACnB,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,cAAc,CAAC,MAAM,EAAE,SAAS;YAC9B,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,YAAY,CAAC,MAAM;YACjB,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,iBAAiB,CAAC,MAAM;YACtB,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,wBAAwB,CAAC,MAAM,EAAE,GAAG;YAClC,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU;YACzC,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,QAAQ;YAClB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,QAAQ;YACnB,IAAI,QAAQ,KAAK,KAAK,EAAE;gBACtB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC1B;YAED,qEAAqE;YACrE,uCAAuC;YACvC,IAAI,QAAQ,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC;YAExC,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;YACxE,sCAAsC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5C,OAAO,IAAI,KAAK,CACd;oBACE,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE;iBACvB,EACD,OAAO,CACR,CAAC;aACH;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC;QAED,GAAG,CAAC,MAAW;YACb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,cAAc,CAAC,MAAW;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,MAAM;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,MAAW;YACf,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,CAAC,MAAW;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAEnE,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAA+B,EAC/B,SAAiC,EAAE,EACnC,EAAE;IACF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAE9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC1C,OAAO,MAAM,CAAC;KACf;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,WAAW,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;SACjE;aAAM;YACL,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;SAC3B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,OAAe,EACf,MAAe,EACf,EAAE;IACF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CACrC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,OAAO,EAAE,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ describe('getColorMode', () => {
22
22
  it('uses `parentMode` as fallback', () => {
23
23
  expect(getColorMode(undefined, 'DARK')).toEqual('DARK');
24
24
  });
25
+ it('uses `parentMode` (the system OS setting) if isForced is true', () => {
26
+ expect(getColorMode('LIGHT', 'DARK', true)).toEqual('DARK');
27
+ });
25
28
  it("understands 'INVERSE'", () => {
26
29
  expect(getColorMode('INVERSE', 'DARK')).toEqual('LIGHT');
27
30
  expect(getColorMode('INVERSE', 'LIGHT')).toEqual('DARK');