@elastic/eui-theme-common 0.0.11 → 0.1.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 (39) 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 +2 -1
  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 -1
  9. package/lib/cjs/global_styling/variables/colors.js.map +1 -1
  10. package/lib/cjs/global_styling/variables/components.d.ts +7 -3
  11. package/lib/cjs/global_styling/variables/components.d.ts.map +1 -1
  12. package/lib/cjs/global_styling/variables/components.js.map +1 -1
  13. package/lib/cjs/global_styling/variables/shadow.d.ts +1 -0
  14. package/lib/cjs/global_styling/variables/shadow.d.ts.map +1 -1
  15. package/lib/cjs/global_styling/variables/shadow.js.map +1 -1
  16. package/lib/cjs/services/theme/types.d.ts +3 -0
  17. package/lib/cjs/services/theme/types.d.ts.map +1 -1
  18. package/lib/cjs/services/theme/types.js +4 -0
  19. package/lib/cjs/services/theme/types.js.map +1 -1
  20. package/lib/cjs/utils.d.ts +2 -1
  21. package/lib/cjs/utils.d.ts.map +1 -1
  22. package/lib/cjs/utils.js +3 -2
  23. package/lib/cjs/utils.js.map +1 -1
  24. package/lib/cjs/utils.test.js +3 -0
  25. package/lib/cjs/utils.test.js.map +1 -1
  26. package/lib/esm/global_styling/mixins/shadow.d.ts +16 -11
  27. package/lib/esm/global_styling/mixins/shadow.js +56 -21
  28. package/lib/esm/global_styling/mixins/shadow.js.map +1 -1
  29. package/lib/esm/global_styling/variables/borders.d.ts +2 -1
  30. package/lib/esm/global_styling/variables/colors.d.ts +1 -1
  31. package/lib/esm/global_styling/variables/components.d.ts +7 -3
  32. package/lib/esm/global_styling/variables/shadow.d.ts +1 -0
  33. package/lib/esm/services/theme/types.d.ts +3 -0
  34. package/lib/esm/utils.d.ts +2 -1
  35. package/lib/esm/utils.js +3 -2
  36. package/lib/esm/utils.js.map +1 -1
  37. package/lib/esm/utils.test.js +3 -0
  38. package/lib/esm/utils.test.js.map +1 -1
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["COLOR_MODES_STANDARD","exports","light","dark","COLOR_MODES_INVERSE"],"sources":["../../../../src/services/theme/types.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport type { CSSObject } from '@emotion/react';\n\nimport type { RecursivePartial, ValueOf } from '../../types';\n\nimport { _EuiThemeAnimation } from '../../global_styling/variables/animations';\nimport { _EuiThemeBreakpoints } from '../../global_styling/variables/breakpoint';\nimport { _EuiThemeBorder } from '../../global_styling/variables/borders';\nimport { _EuiThemeColors } from '../../global_styling/variables/colors';\nimport {\n _EuiThemeBase,\n _EuiThemeSizes,\n} from '../../global_styling/variables/size';\nimport { _EuiThemeFont } from '../../global_styling/variables/typography';\nimport { _EuiThemeFocus } from '../../global_styling/variables/states';\nimport { _EuiThemeLevels } from '../../global_styling/variables/levels';\nimport { _EuiThemeComponents } from '../../global_styling/variables/components';\nimport { _EuiThemeFlags } from '../../global_styling/variables';\n\nexport const COLOR_MODES_STANDARD = {\n light: 'LIGHT',\n dark: 'DARK',\n} as const;\nexport const COLOR_MODES_INVERSE = 'INVERSE' as const;\n\nexport type EuiThemeColorModeInverse = typeof COLOR_MODES_INVERSE;\nexport type EuiThemeColorModeStandard = ValueOf<typeof COLOR_MODES_STANDARD>;\nexport type EuiThemeColorMode =\n | 'light'\n | 'dark'\n | EuiThemeColorModeStandard\n | 'inverse'\n | EuiThemeColorModeInverse;\n\nexport type ColorModeSwitch<T = string> =\n | {\n [key in EuiThemeColorModeStandard]: T;\n }\n | T;\n\nexport type StrictColorModeSwitch<T = string> = {\n [key in EuiThemeColorModeStandard]: T;\n};\n\nexport type EuiThemeShape = {\n colors: _EuiThemeColors;\n /** - Default value: 16 */\n base: _EuiThemeBase;\n /**\n * @see {@link https://eui.elastic.co/#/theming/sizing | Reference} for more information\n */\n size: _EuiThemeSizes;\n font: _EuiThemeFont;\n border: _EuiThemeBorder;\n focus: _EuiThemeFocus;\n animation: _EuiThemeAnimation;\n breakpoint: _EuiThemeBreakpoints;\n levels: _EuiThemeLevels;\n components: _EuiThemeComponents;\n flags: _EuiThemeFlags;\n};\n\nexport type EuiThemeSystem<T = {}> = {\n root: EuiThemeShape & T;\n model: EuiThemeShape & T;\n key: string;\n};\n\nexport type EuiThemeModifications<T = {}> = RecursivePartial<EuiThemeShape & T>;\n\nexport type ComputedThemeShape<\n T,\n P = string | number | bigint | boolean | null | undefined\n> = T extends P | ColorModeSwitch<infer X>\n ? T extends ColorModeSwitch<X>\n ? X extends P\n ? X\n : {\n [K in keyof (X &\n Exclude<\n T,\n keyof X | keyof StrictColorModeSwitch\n >)]: ComputedThemeShape<\n (X & Exclude<T, keyof X | keyof StrictColorModeSwitch>)[K],\n P\n >;\n }\n : T\n : {\n [K in keyof T]: ComputedThemeShape<T[K], P>;\n };\n\nexport type EuiThemeComputed<T = {}> = ComputedThemeShape<EuiThemeShape & T> & {\n themeName: string;\n};\n\nexport type EuiThemeNested = {\n isGlobalTheme: boolean;\n hasDifferentColorFromGlobalTheme: boolean;\n bodyColor: string;\n colorClassName: string;\n setGlobalCSSVariables: Function;\n globalCSSVariables?: CSSObject;\n setNearestThemeCSSVariables: Function;\n themeCSSVariables?: CSSObject;\n};\n\nexport interface UseEuiTheme<T extends {} = {}> {\n euiTheme: EuiThemeComputed<T>;\n colorMode: EuiThemeColorModeStandard;\n modifications: EuiThemeModifications<T>;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoBO,IAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClCE,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAU;AACH,IAAMC,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,GAAG,SAAkB","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["COLOR_MODES_STANDARD","exports","light","dark","COLOR_MODES_INVERSE"],"sources":["../../../../src/services/theme/types.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport type { CSSObject } from '@emotion/react';\n\nimport type { RecursivePartial, ValueOf } from '../../types';\n\nimport { _EuiThemeAnimation } from '../../global_styling/variables/animations';\nimport { _EuiThemeBreakpoints } from '../../global_styling/variables/breakpoint';\nimport { _EuiThemeBorder } from '../../global_styling/variables/borders';\nimport { _EuiThemeColors } from '../../global_styling/variables/colors';\nimport {\n _EuiThemeBase,\n _EuiThemeSizes,\n} from '../../global_styling/variables/size';\nimport { _EuiThemeFont } from '../../global_styling/variables/typography';\nimport { _EuiThemeFocus } from '../../global_styling/variables/states';\nimport { _EuiThemeLevels } from '../../global_styling/variables/levels';\nimport { _EuiThemeComponents } from '../../global_styling/variables/components';\nimport { _EuiThemeFlags } from '../../global_styling/variables';\n\nexport const COLOR_MODES_STANDARD = {\n light: 'LIGHT',\n dark: 'DARK',\n} as const;\nexport const COLOR_MODES_INVERSE = 'INVERSE' as const;\n\nexport type EuiThemeColorModeInverse = typeof COLOR_MODES_INVERSE;\nexport type EuiThemeColorModeStandard = ValueOf<typeof COLOR_MODES_STANDARD>;\nexport type EuiThemeColorMode =\n | 'light'\n | 'dark'\n | EuiThemeColorModeStandard\n | 'inverse'\n | EuiThemeColorModeInverse;\n\nexport type ColorModeSwitch<T = string> =\n | {\n [key in EuiThemeColorModeStandard]: T;\n }\n | T;\n\nexport type StrictColorModeSwitch<T = string> = {\n [key in EuiThemeColorModeStandard]: T;\n};\n\n// Consumers can pass a boolean to manually toggle the preferred high contrast mode,\n// but our internal high contrast mode enum is slightly more granular to account for\n// Windows's high contrast themes, which force colors/backgrounds/shadows\nexport type EuiThemeHighContrastModeProp = boolean;\nexport type EuiThemeHighContrastMode = 'forced' | 'preferred' | false;\n\nexport type EuiThemeShape = {\n colors: _EuiThemeColors;\n /** - Default value: 16 */\n base: _EuiThemeBase;\n /**\n * @see {@link https://eui.elastic.co/#/theming/sizing | Reference} for more information\n */\n size: _EuiThemeSizes;\n font: _EuiThemeFont;\n border: _EuiThemeBorder;\n focus: _EuiThemeFocus;\n animation: _EuiThemeAnimation;\n breakpoint: _EuiThemeBreakpoints;\n levels: _EuiThemeLevels;\n components: _EuiThemeComponents;\n flags: _EuiThemeFlags;\n};\n\nexport type EuiThemeSystem<T = {}> = {\n root: EuiThemeShape & T;\n model: EuiThemeShape & T;\n key: string;\n};\n\nexport type EuiThemeModifications<T = {}> = RecursivePartial<EuiThemeShape & T>;\n\nexport type ComputedThemeShape<\n T,\n P = string | number | bigint | boolean | null | undefined\n> = T extends P | ColorModeSwitch<infer X>\n ? T extends ColorModeSwitch<X>\n ? X extends P\n ? X\n : {\n [K in keyof (X &\n Exclude<\n T,\n keyof X | keyof StrictColorModeSwitch\n >)]: ComputedThemeShape<\n (X & Exclude<T, keyof X | keyof StrictColorModeSwitch>)[K],\n P\n >;\n }\n : T\n : {\n [K in keyof T]: ComputedThemeShape<T[K], P>;\n };\n\nexport type EuiThemeComputed<T = {}> = ComputedThemeShape<EuiThemeShape & T> & {\n themeName: string;\n};\n\nexport type EuiThemeNested = {\n isGlobalTheme: boolean;\n hasDifferentColorFromGlobalTheme: boolean;\n bodyColor: string;\n colorClassName: string;\n setGlobalCSSVariables: Function;\n globalCSSVariables?: CSSObject;\n setNearestThemeCSSVariables: Function;\n themeCSSVariables?: CSSObject;\n};\n\nexport interface UseEuiTheme<T extends {} = {}> {\n euiTheme: EuiThemeComputed<T>;\n colorMode: EuiThemeColorModeStandard;\n highContrastMode: EuiThemeHighContrastMode;\n modifications: EuiThemeModifications<T>;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoBO,IAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClCE,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAU;AACH,IAAMC,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,GAAG,SAAkB;;AAqBrD;AACA;AACA","ignoreList":[]}
@@ -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)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAEzB,cAAc,EACd,aAAa,EACb,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,kBAAkB,SAA6B,CAAC;AAQ7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,4DAI9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,0GAGtB,yBAeF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;UAET,MAAM;;aAgCd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;UAET,MAAM,SACN,GAAG,YAgBX,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC;IAEZ,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;gBAD/B,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EACjC,YAAY,GAAE,MAAM,GAAG,MAAM,EAAO;IAG7C;;;;;;;OAOG;IACH,QAAQ,CACN,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,EAC3C,aAAa,+DAA4B,EACzC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,SAAS,CAAC,EAAE,yBAAyB;CAsBxC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC;AACzE,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAC7B,YAAY,EAAE,MAAM,EAAE,GACrB,CAAC,CAAC;AACL,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAC3B,YAAY,EAAE,MAAM,GACnB,CAAC,CAAC;AAkBL;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,4FAGX,yBAAyB,wBAgDrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,gCAAiC,MAAM;;;;CA+E7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;CAsBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,WACf,MAAM,WACL,MAAM,wCAShB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAEzB,cAAc,EACd,aAAa,EACb,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,kBAAkB,SAA6B,CAAC;AAQ7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,4DAI9B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0IAItB,yBAeF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;UAET,MAAM;;aAgCd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;UAET,MAAM,SACN,GAAG,YAgBX,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC;IAEZ,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;gBAD/B,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EACjC,YAAY,GAAE,MAAM,GAAG,MAAM,EAAO;IAG7C;;;;;;;OAOG;IACH,QAAQ,CACN,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,EAC3C,aAAa,+DAA4B,EACzC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,SAAS,CAAC,EAAE,yBAAyB;CAsBxC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC;AACzE,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAC7B,YAAY,EAAE,MAAM,EAAE,GACrB,CAAC,CAAC;AACL,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAC3B,YAAY,EAAE,MAAM,GACnB,CAAC,CAAC;AAkBL;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,4FAGX,yBAAyB,wBAgDrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,gCAAiC,MAAM;;;;CA+E7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;CAsBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,WACf,MAAM,WACL,MAAM,wCAShB,CAAC"}
package/lib/cjs/utils.js CHANGED
@@ -51,9 +51,10 @@ var isInverseColorMode = exports.isInverseColorMode = function isInverseColorMod
51
51
  * Returns the parent color mode if none is explicity set.
52
52
  * @param {string} colorMode - `light`, `dark`, or `inverse`
53
53
  * @param {string} parentColorMode - `LIGHT` or `DARK`; used as the fallback
54
+ * @param {boolean} isForced
54
55
  */
55
- var getColorMode = exports.getColorMode = function getColorMode(colorMode, parentColorMode) {
56
- if (colorMode == null) {
56
+ var getColorMode = exports.getColorMode = function getColorMode(colorMode, parentColorMode, isForced) {
57
+ if (isForced || colorMode == null) {
57
58
  return parentColorMode || DEFAULT_COLOR_MODE;
58
59
  }
59
60
  var mode = colorMode.toUpperCase();
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_global_styling","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","n","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","DEFAULT_COLOR_MODE","exports","COLOR_MODES_STANDARD","light","isObject","obj","isInverseColorMode","colorMode","COLOR_MODES_INVERSE","getColorMode","parentColorMode","mode","toUpperCase","dark","undefined","getOn","model","_path","path","split","node","segment","shift","hasOwnProperty","Computed","getValue","setOn","propertyName","pop","computer","dependencies","base","modifications","working","_ref","_getOn","map","dependency","_ref2","_getOn2","computed","comp","dep","isComputedLike","getComputed","over","output","themeName","loop","checkExisting","newPath","concat","values","includes","colorModeSegment","RegExp","replace","existing","baseValue","root","overValue","buildTheme","handler","getPrototypeOf","target","Reflect","setPrototypeOf","isExtensible","preventExtensions","property","attributes","has","get","_target","Proxy","set","deleteProperty","construct","themeProxy","mergeDeep","source","targetValue","sourceValue","getTokenName","prefix","variant","suffix","getCapitalized","str","charAt","colorName","_suffix"],"sources":["../../src/utils.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport {\n EuiThemeColorMode,\n EuiThemeColorModeInverse,\n EuiThemeColorModeStandard,\n EuiThemeModifications,\n EuiThemeSystem,\n EuiThemeShape,\n EuiThemeComputed,\n COLOR_MODES_STANDARD,\n COLOR_MODES_INVERSE,\n} from './global_styling';\n\nexport const DEFAULT_COLOR_MODE = COLOR_MODES_STANDARD.light;\n\n/**\n * Returns whether the parameter is an object\n * @param {any} obj - Anything\n */\nconst isObject = (obj: any) => obj && typeof obj === 'object';\n\n/**\n * Returns whether the provided color mode is `inverse`\n * @param {string} colorMode - `light`, `dark`, or `inverse`\n */\nexport const isInverseColorMode = (\n colorMode?: string\n): colorMode is EuiThemeColorModeInverse => {\n return colorMode === COLOR_MODES_INVERSE;\n};\n\n/**\n * Returns the color mode configured in the current EuiThemeProvider.\n * Returns the parent color mode if none is explicity set.\n * @param {string} colorMode - `light`, `dark`, or `inverse`\n * @param {string} parentColorMode - `LIGHT` or `DARK`; used as the fallback\n */\nexport const getColorMode = (\n colorMode?: EuiThemeColorMode,\n parentColorMode?: EuiThemeColorModeStandard\n): EuiThemeColorModeStandard => {\n if (colorMode == null) {\n return parentColorMode || DEFAULT_COLOR_MODE;\n }\n const mode = colorMode.toUpperCase() as\n | EuiThemeColorModeInverse\n | EuiThemeColorModeStandard;\n if (isInverseColorMode(mode)) {\n return parentColorMode === COLOR_MODES_STANDARD.dark ||\n parentColorMode === undefined\n ? COLOR_MODES_STANDARD.light\n : COLOR_MODES_STANDARD.dark;\n } else {\n return mode;\n }\n};\n\n/**\n * Returns a value at a given path on an object.\n * If `colorMode` is provided, will scope the value to the appropriate color mode key (LIGHT\\DARK)\n * @param {object} model - Object\n * @param {string} _path - Dot-notated string to a path on the object\n * @param {string} colorMode - `light` or `dark`\n */\nexport const getOn = (\n model: { [key: string]: any },\n _path: string,\n colorMode?: EuiThemeColorModeStandard\n) => {\n const path = _path.split('.');\n let node = model;\n while (path.length) {\n const segment = path.shift()!;\n\n if (node.hasOwnProperty(segment) === false) {\n if (\n colorMode &&\n node.hasOwnProperty(colorMode) === true &&\n node[colorMode].hasOwnProperty(segment) === true\n ) {\n if (node[colorMode][segment] instanceof Computed) {\n node = node[colorMode][segment].getValue(null, {}, node, colorMode);\n } else {\n node = node[colorMode][segment];\n }\n } else {\n return undefined;\n }\n } else {\n if (node[segment] instanceof Computed) {\n node = node[segment].getValue(null, {}, node, colorMode);\n } else {\n node = node[segment];\n }\n }\n }\n\n return node;\n};\n\n/**\n * Sets a value at a given path on an object.\n * @param {object} model - Object\n * @param {string} _path - Dot-notated string to a path on the object\n * @param {any} string - The value to set\n */\nexport const setOn = (\n model: { [key: string]: any },\n _path: string,\n value: any\n) => {\n const path = _path.split('.');\n const propertyName = path.pop()!;\n let node = model;\n\n while (path.length) {\n const segment = path.shift()!;\n if (node.hasOwnProperty(segment) === false) {\n node[segment] = {};\n }\n node = node[segment];\n }\n\n node[propertyName] = value;\n return true;\n};\n\n/**\n * Creates a class to store the `computer` method and its eventual parameters.\n * Allows for on-demand computation with up-to-date parameters via `getValue` method.\n * @constructor\n * @param {function} computer - Function to be computed\n * @param {string | array} dependencies - Dependencies passed to the `computer` as parameters\n */\nexport class Computed<T> {\n constructor(\n public computer: (...values: any[]) => T,\n public dependencies: string | string[] = []\n ) {}\n\n /**\n * Executes the `computer` method with the current state of the theme\n * by taking into account previously computed values and modifications.\n * @param {Proxy | object} base - Computed or uncomputed theme\n * @param {Proxy | object} modifications - Theme value overrides\n * @param {object} working - Partially computed theme\n * @param {string} colorMode - `light` or `dark`\n */\n getValue(\n base: EuiThemeSystem | EuiThemeShape | null,\n modifications: EuiThemeModifications = {},\n working: Partial<EuiThemeComputed>,\n colorMode?: EuiThemeColorModeStandard\n ) {\n if (!this.dependencies.length) {\n return this.computer(working);\n }\n if (!Array.isArray(this.dependencies)) {\n return this.computer(\n getOn(working, this.dependencies) ??\n getOn(modifications, this.dependencies, colorMode) ??\n (base ? getOn(base, this.dependencies, colorMode) : working)\n );\n }\n return this.computer(\n this.dependencies.map((dependency) => {\n return (\n getOn(working, dependency) ??\n getOn(modifications, dependency, colorMode) ??\n (base ? getOn(base, dependency, colorMode) : working)\n );\n })\n );\n }\n}\n\n/**\n * Returns a Class (`Computed`) that stores the arbitrary computer method\n * and references to its optional dependecies.\n * @param {function} computer - Arbitrary method to be called at compute time.\n * @param {string | array} dependencies - Values that will be provided to `computer` at compute time.\n */\nexport function computed<T>(computer: (value: EuiThemeComputed) => T): T;\nexport function computed<T>(\n computer: (value: any[]) => T,\n dependencies: string[]\n): T;\nexport function computed<T>(\n computer: (value: any) => T,\n dependencies: string\n): T;\nexport function computed<T>(\n comp: ((value: T) => T) | ((value: any) => T) | ((value: any[]) => T),\n dep?: string | string[]\n) {\n return new Computed<T>(comp, dep);\n}\n\n/**\n * Type guard to check for a Computed object based on object shape\n * without relying on the Computed class directly\n */\nconst isComputedLike = <T>(key: object): key is Computed<T> => {\n if (typeof key !== 'object' || Array.isArray(key)) return false;\n\n return key.hasOwnProperty('dependencies') && key.hasOwnProperty('computer');\n};\n\n/**\n * Takes an uncomputed theme, and computes and returns all values taking\n * into consideration value overrides and configured color mode.\n * Overrides take precedence, and only values in the current color mode\n * are computed and returned.\n * @param {Proxy} base - Object to transform into Proxy\n * @param {Proxy | object} over - Unique identifier or name\n * @param {string} colorMode - `light` or `dark`\n */\nexport const getComputed = <T = EuiThemeShape>(\n base: EuiThemeSystem<T>,\n over: Partial<EuiThemeSystem<T>>,\n colorMode: EuiThemeColorModeStandard\n): EuiThemeComputed<T> => {\n const output: Partial<EuiThemeComputed> = { themeName: base.key };\n\n function loop(\n base: { [key: string]: any },\n over: { [key: string]: any },\n checkExisting: boolean = false,\n path?: string\n ) {\n Object.keys(base).forEach((key) => {\n let newPath = path ? `${path}.${key}` : `${key}`;\n // @ts-expect-error `key` is not necessarily a colorMode key\n if ([...Object.values(COLOR_MODES_STANDARD), colorMode].includes(key)) {\n if (key !== colorMode) {\n return;\n } else {\n const colorModeSegment = new RegExp(\n `(\\\\.${colorMode}\\\\b)|(\\\\b${colorMode}\\\\.)`\n );\n newPath = newPath.replace(colorModeSegment, '');\n }\n }\n const existing = checkExisting && getOn(output, newPath);\n if (!existing || isObject(existing)) {\n // NOTE: the class type check for Computed is not true for themes created externally;\n // we additionally check on the object shape to confirm a Computed value\n const baseValue =\n base[key] instanceof Computed || isComputedLike<T>(base[key])\n ? base[key].getValue(base.root, over.root, output, colorMode)\n : base[key];\n const overValue =\n over[key] instanceof Computed || isComputedLike<T>(over[key])\n ? over[key].getValue(base.root, over.root, output, colorMode)\n : over[key];\n if (isObject(baseValue) && !Array.isArray(baseValue)) {\n loop(baseValue, overValue ?? {}, checkExisting, newPath);\n } else {\n setOn(output, newPath, overValue ?? baseValue);\n }\n }\n });\n }\n // Compute standard theme values and apply overrides\n loop(base, over);\n // Compute and apply extension values only\n loop(over, {}, true);\n return output as EuiThemeComputed<T>;\n};\n\n/**\n * Builds a Proxy with a custom `handler` designed to self-reference values\n * and prevent arbitrary value overrides.\n * @param {object} model - Object to transform into Proxy\n * @param {string} key - Unique identifier or name\n */\nexport const buildTheme = <T extends {}>(model: T, key: string) => {\n const handler: ProxyHandler<EuiThemeSystem<T>> = {\n getPrototypeOf(target) {\n return Reflect.getPrototypeOf(target.model);\n },\n\n setPrototypeOf(target, prototype) {\n return Reflect.setPrototypeOf(target.model, prototype);\n },\n\n isExtensible(target) {\n return Reflect.isExtensible(target);\n },\n\n preventExtensions(target) {\n return Reflect.preventExtensions(target.model);\n },\n\n getOwnPropertyDescriptor(target, key) {\n return Reflect.getOwnPropertyDescriptor(target.model, key);\n },\n\n defineProperty(target, property, attributes) {\n return Reflect.defineProperty(target.model, property, attributes);\n },\n\n has(target, property) {\n return Reflect.has(target.model, property);\n },\n\n get(_target, property) {\n if (property === 'key') {\n return _target[property];\n }\n\n // prevent Safari from locking up when the proxy is used in dev tools\n // as it doesn't support getPrototypeOf\n if (property === '__proto__') return {};\n\n const target = property === 'root' ? _target : _target.model || _target;\n // @ts-ignore `string` index signature\n const value = target[property];\n if (isObject(value) && !Array.isArray(value)) {\n return new Proxy(\n {\n model: value,\n root: _target.root,\n key: `_${_target.key}`,\n },\n handler\n );\n } else {\n return value;\n }\n },\n\n set(target: any) {\n return target;\n },\n\n deleteProperty(target: any) {\n return target;\n },\n\n ownKeys(target) {\n return Reflect.ownKeys(target.model);\n },\n\n apply(target: any) {\n return target;\n },\n\n construct(target: any) {\n return target;\n },\n };\n const themeProxy = new Proxy({ model, root: model, key }, handler);\n\n return themeProxy;\n};\n\n/**\n * Deeply merges two objects, using `source` values whenever possible.\n * @param {object} _target - Object with fallback values\n * @param {object} source - Object with desired values\n */\nexport const mergeDeep = (\n _target: { [key: string]: any },\n source: { [key: string]: any } = {}\n) => {\n const target = { ..._target };\n\n if (!isObject(target) || !isObject(source)) {\n return source;\n }\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key];\n const sourceValue = source[key];\n\n if (isObject(targetValue) && isObject(sourceValue)) {\n target[key] = mergeDeep({ ...targetValue }, { ...sourceValue });\n } else {\n target[key] = sourceValue;\n }\n });\n\n return target;\n};\n\n/**\n * Returns token name string based on passed dynamic variants\n * and additional prefix/suffix\n */\nexport const getTokenName = (\n prefix: string,\n variant: string,\n suffix?: string\n) => {\n const getCapitalized = (str: string) =>\n str.charAt(0).toUpperCase() + str.slice(1);\n const colorName = variant.charAt(0).toUpperCase() + variant.slice(1);\n const _suffix = suffix ? getCapitalized(suffix) : '';\n\n return `${prefix}${getCapitalized(colorName)}${_suffix}`;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_global_styling","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","n","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","DEFAULT_COLOR_MODE","exports","COLOR_MODES_STANDARD","light","isObject","obj","isInverseColorMode","colorMode","COLOR_MODES_INVERSE","getColorMode","parentColorMode","isForced","mode","toUpperCase","dark","undefined","getOn","model","_path","path","split","node","segment","shift","hasOwnProperty","Computed","getValue","setOn","propertyName","pop","computer","dependencies","base","modifications","working","_ref","_getOn","map","dependency","_ref2","_getOn2","computed","comp","dep","isComputedLike","getComputed","over","output","themeName","loop","checkExisting","newPath","concat","values","includes","colorModeSegment","RegExp","replace","existing","baseValue","root","overValue","buildTheme","handler","getPrototypeOf","target","Reflect","setPrototypeOf","isExtensible","preventExtensions","property","attributes","has","get","_target","Proxy","set","deleteProperty","construct","themeProxy","mergeDeep","source","targetValue","sourceValue","getTokenName","prefix","variant","suffix","getCapitalized","str","charAt","colorName","_suffix"],"sources":["../../src/utils.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport {\n EuiThemeColorMode,\n EuiThemeColorModeInverse,\n EuiThemeColorModeStandard,\n EuiThemeModifications,\n EuiThemeSystem,\n EuiThemeShape,\n EuiThemeComputed,\n COLOR_MODES_STANDARD,\n COLOR_MODES_INVERSE,\n} from './global_styling';\n\nexport const DEFAULT_COLOR_MODE = COLOR_MODES_STANDARD.light;\n\n/**\n * Returns whether the parameter is an object\n * @param {any} obj - Anything\n */\nconst isObject = (obj: any) => obj && typeof obj === 'object';\n\n/**\n * Returns whether the provided color mode is `inverse`\n * @param {string} colorMode - `light`, `dark`, or `inverse`\n */\nexport const isInverseColorMode = (\n colorMode?: string\n): colorMode is EuiThemeColorModeInverse => {\n return colorMode === COLOR_MODES_INVERSE;\n};\n\n/**\n * Returns the color mode configured in the current EuiThemeProvider.\n * Returns the parent color mode if none is explicity set.\n * @param {string} colorMode - `light`, `dark`, or `inverse`\n * @param {string} parentColorMode - `LIGHT` or `DARK`; used as the fallback\n * @param {boolean} isForced\n */\nexport const getColorMode = (\n colorMode?: EuiThemeColorMode,\n parentColorMode?: EuiThemeColorModeStandard,\n isForced?: boolean\n): EuiThemeColorModeStandard => {\n if (isForced || colorMode == null) {\n return parentColorMode || DEFAULT_COLOR_MODE;\n }\n const mode = colorMode.toUpperCase() as\n | EuiThemeColorModeInverse\n | EuiThemeColorModeStandard;\n if (isInverseColorMode(mode)) {\n return parentColorMode === COLOR_MODES_STANDARD.dark ||\n parentColorMode === undefined\n ? COLOR_MODES_STANDARD.light\n : COLOR_MODES_STANDARD.dark;\n } else {\n return mode;\n }\n};\n\n/**\n * Returns a value at a given path on an object.\n * If `colorMode` is provided, will scope the value to the appropriate color mode key (LIGHT\\DARK)\n * @param {object} model - Object\n * @param {string} _path - Dot-notated string to a path on the object\n * @param {string} colorMode - `light` or `dark`\n */\nexport const getOn = (\n model: { [key: string]: any },\n _path: string,\n colorMode?: EuiThemeColorModeStandard\n) => {\n const path = _path.split('.');\n let node = model;\n while (path.length) {\n const segment = path.shift()!;\n\n if (node.hasOwnProperty(segment) === false) {\n if (\n colorMode &&\n node.hasOwnProperty(colorMode) === true &&\n node[colorMode].hasOwnProperty(segment) === true\n ) {\n if (node[colorMode][segment] instanceof Computed) {\n node = node[colorMode][segment].getValue(null, {}, node, colorMode);\n } else {\n node = node[colorMode][segment];\n }\n } else {\n return undefined;\n }\n } else {\n if (node[segment] instanceof Computed) {\n node = node[segment].getValue(null, {}, node, colorMode);\n } else {\n node = node[segment];\n }\n }\n }\n\n return node;\n};\n\n/**\n * Sets a value at a given path on an object.\n * @param {object} model - Object\n * @param {string} _path - Dot-notated string to a path on the object\n * @param {any} string - The value to set\n */\nexport const setOn = (\n model: { [key: string]: any },\n _path: string,\n value: any\n) => {\n const path = _path.split('.');\n const propertyName = path.pop()!;\n let node = model;\n\n while (path.length) {\n const segment = path.shift()!;\n if (node.hasOwnProperty(segment) === false) {\n node[segment] = {};\n }\n node = node[segment];\n }\n\n node[propertyName] = value;\n return true;\n};\n\n/**\n * Creates a class to store the `computer` method and its eventual parameters.\n * Allows for on-demand computation with up-to-date parameters via `getValue` method.\n * @constructor\n * @param {function} computer - Function to be computed\n * @param {string | array} dependencies - Dependencies passed to the `computer` as parameters\n */\nexport class Computed<T> {\n constructor(\n public computer: (...values: any[]) => T,\n public dependencies: string | string[] = []\n ) {}\n\n /**\n * Executes the `computer` method with the current state of the theme\n * by taking into account previously computed values and modifications.\n * @param {Proxy | object} base - Computed or uncomputed theme\n * @param {Proxy | object} modifications - Theme value overrides\n * @param {object} working - Partially computed theme\n * @param {string} colorMode - `light` or `dark`\n */\n getValue(\n base: EuiThemeSystem | EuiThemeShape | null,\n modifications: EuiThemeModifications = {},\n working: Partial<EuiThemeComputed>,\n colorMode?: EuiThemeColorModeStandard\n ) {\n if (!this.dependencies.length) {\n return this.computer(working);\n }\n if (!Array.isArray(this.dependencies)) {\n return this.computer(\n getOn(working, this.dependencies) ??\n getOn(modifications, this.dependencies, colorMode) ??\n (base ? getOn(base, this.dependencies, colorMode) : working)\n );\n }\n return this.computer(\n this.dependencies.map((dependency) => {\n return (\n getOn(working, dependency) ??\n getOn(modifications, dependency, colorMode) ??\n (base ? getOn(base, dependency, colorMode) : working)\n );\n })\n );\n }\n}\n\n/**\n * Returns a Class (`Computed`) that stores the arbitrary computer method\n * and references to its optional dependecies.\n * @param {function} computer - Arbitrary method to be called at compute time.\n * @param {string | array} dependencies - Values that will be provided to `computer` at compute time.\n */\nexport function computed<T>(computer: (value: EuiThemeComputed) => T): T;\nexport function computed<T>(\n computer: (value: any[]) => T,\n dependencies: string[]\n): T;\nexport function computed<T>(\n computer: (value: any) => T,\n dependencies: string\n): T;\nexport function computed<T>(\n comp: ((value: T) => T) | ((value: any) => T) | ((value: any[]) => T),\n dep?: string | string[]\n) {\n return new Computed<T>(comp, dep);\n}\n\n/**\n * Type guard to check for a Computed object based on object shape\n * without relying on the Computed class directly\n */\nconst isComputedLike = <T>(key: object): key is Computed<T> => {\n if (typeof key !== 'object' || Array.isArray(key)) return false;\n\n return key.hasOwnProperty('dependencies') && key.hasOwnProperty('computer');\n};\n\n/**\n * Takes an uncomputed theme, and computes and returns all values taking\n * into consideration value overrides and configured color mode.\n * Overrides take precedence, and only values in the current color mode\n * are computed and returned.\n * @param {Proxy} base - Object to transform into Proxy\n * @param {Proxy | object} over - Unique identifier or name\n * @param {string} colorMode - `light` or `dark`\n */\nexport const getComputed = <T = EuiThemeShape>(\n base: EuiThemeSystem<T>,\n over: Partial<EuiThemeSystem<T>>,\n colorMode: EuiThemeColorModeStandard\n): EuiThemeComputed<T> => {\n const output: Partial<EuiThemeComputed> = { themeName: base.key };\n\n function loop(\n base: { [key: string]: any },\n over: { [key: string]: any },\n checkExisting: boolean = false,\n path?: string\n ) {\n Object.keys(base).forEach((key) => {\n let newPath = path ? `${path}.${key}` : `${key}`;\n // @ts-expect-error `key` is not necessarily a colorMode key\n if ([...Object.values(COLOR_MODES_STANDARD), colorMode].includes(key)) {\n if (key !== colorMode) {\n return;\n } else {\n const colorModeSegment = new RegExp(\n `(\\\\.${colorMode}\\\\b)|(\\\\b${colorMode}\\\\.)`\n );\n newPath = newPath.replace(colorModeSegment, '');\n }\n }\n const existing = checkExisting && getOn(output, newPath);\n if (!existing || isObject(existing)) {\n // NOTE: the class type check for Computed is not true for themes created externally;\n // we additionally check on the object shape to confirm a Computed value\n const baseValue =\n base[key] instanceof Computed || isComputedLike<T>(base[key])\n ? base[key].getValue(base.root, over.root, output, colorMode)\n : base[key];\n const overValue =\n over[key] instanceof Computed || isComputedLike<T>(over[key])\n ? over[key].getValue(base.root, over.root, output, colorMode)\n : over[key];\n if (isObject(baseValue) && !Array.isArray(baseValue)) {\n loop(baseValue, overValue ?? {}, checkExisting, newPath);\n } else {\n setOn(output, newPath, overValue ?? baseValue);\n }\n }\n });\n }\n // Compute standard theme values and apply overrides\n loop(base, over);\n // Compute and apply extension values only\n loop(over, {}, true);\n return output as EuiThemeComputed<T>;\n};\n\n/**\n * Builds a Proxy with a custom `handler` designed to self-reference values\n * and prevent arbitrary value overrides.\n * @param {object} model - Object to transform into Proxy\n * @param {string} key - Unique identifier or name\n */\nexport const buildTheme = <T extends {}>(model: T, key: string) => {\n const handler: ProxyHandler<EuiThemeSystem<T>> = {\n getPrototypeOf(target) {\n return Reflect.getPrototypeOf(target.model);\n },\n\n setPrototypeOf(target, prototype) {\n return Reflect.setPrototypeOf(target.model, prototype);\n },\n\n isExtensible(target) {\n return Reflect.isExtensible(target);\n },\n\n preventExtensions(target) {\n return Reflect.preventExtensions(target.model);\n },\n\n getOwnPropertyDescriptor(target, key) {\n return Reflect.getOwnPropertyDescriptor(target.model, key);\n },\n\n defineProperty(target, property, attributes) {\n return Reflect.defineProperty(target.model, property, attributes);\n },\n\n has(target, property) {\n return Reflect.has(target.model, property);\n },\n\n get(_target, property) {\n if (property === 'key') {\n return _target[property];\n }\n\n // prevent Safari from locking up when the proxy is used in dev tools\n // as it doesn't support getPrototypeOf\n if (property === '__proto__') return {};\n\n const target = property === 'root' ? _target : _target.model || _target;\n // @ts-ignore `string` index signature\n const value = target[property];\n if (isObject(value) && !Array.isArray(value)) {\n return new Proxy(\n {\n model: value,\n root: _target.root,\n key: `_${_target.key}`,\n },\n handler\n );\n } else {\n return value;\n }\n },\n\n set(target: any) {\n return target;\n },\n\n deleteProperty(target: any) {\n return target;\n },\n\n ownKeys(target) {\n return Reflect.ownKeys(target.model);\n },\n\n apply(target: any) {\n return target;\n },\n\n construct(target: any) {\n return target;\n },\n };\n const themeProxy = new Proxy({ model, root: model, key }, handler);\n\n return themeProxy;\n};\n\n/**\n * Deeply merges two objects, using `source` values whenever possible.\n * @param {object} _target - Object with fallback values\n * @param {object} source - Object with desired values\n */\nexport const mergeDeep = (\n _target: { [key: string]: any },\n source: { [key: string]: any } = {}\n) => {\n const target = { ..._target };\n\n if (!isObject(target) || !isObject(source)) {\n return source;\n }\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key];\n const sourceValue = source[key];\n\n if (isObject(targetValue) && isObject(sourceValue)) {\n target[key] = mergeDeep({ ...targetValue }, { ...sourceValue });\n } else {\n target[key] = sourceValue;\n }\n });\n\n return target;\n};\n\n/**\n * Returns token name string based on passed dynamic variants\n * and additional prefix/suffix\n */\nexport const getTokenName = (\n prefix: string,\n variant: string,\n suffix?: string\n) => {\n const getCapitalized = (str: string) =>\n str.charAt(0).toUpperCase() + str.slice(1);\n const colorName = variant.charAt(0).toUpperCase() + variant.slice(1);\n const _suffix = suffix ? getCapitalized(suffix) : '';\n\n return `${prefix}${getCapitalized(colorName)}${_suffix}`;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,9 @@ describe('getColorMode', function () {
29
29
  it('uses `parentMode` as fallback', function () {
30
30
  expect((0, _utils.getColorMode)(undefined, 'DARK')).toEqual('DARK');
31
31
  });
32
+ it('uses `parentMode` (the system OS setting) if isForced is true', function () {
33
+ expect((0, _utils.getColorMode)('LIGHT', 'DARK', true)).toEqual('DARK');
34
+ });
32
35
  it("understands 'INVERSE'", function () {
33
36
  expect((0, _utils.getColorMode)('INVERSE', 'DARK')).toEqual('LIGHT');
34
37
  expect((0, _utils.getColorMode)('INVERSE', 'LIGHT')).toEqual('DARK');
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.js","names":["_utils","require","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","describe","it","expect","isInverseColorMode","toBe","getColorMode","toEqual","undefined","obj","parent","child","other","thing","string","nested","number","func","colors","LIGHT","primary","DARK","getOn","toBeInstanceOf","Function","beforeEach","existing","val","setOn","trail","blazing","happening","now","output","computed","_ref","_ref2","path","Computed","computer","dependencies","theme","buildTheme","secondary","_ref3","_ref4","concat","sizes","small","getComputed","themeName","tertiary","custom","myProp","_ref5","_ref6","key","mergeDeep","b","c","d","getTokenName"],"sources":["../../src/utils.test.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport {\n isInverseColorMode,\n getColorMode,\n getOn,\n setOn,\n computed,\n Computed,\n getComputed,\n buildTheme,\n mergeDeep,\n getTokenName,\n} from './utils';\n\ndescribe('isInverseColorMode', () => {\n it(\"true only if 'inverse'\", () => {\n expect(isInverseColorMode('LIGHT')).toBe(false);\n expect(isInverseColorMode('DARK')).toBe(false);\n expect(isInverseColorMode('custom')).toBe(false);\n expect(isInverseColorMode()).toBe(false);\n expect(isInverseColorMode('INVERSE')).toBe(true);\n });\n});\n\ndescribe('getColorMode', () => {\n it(\"defaults to 'LIGHT'\", () => {\n expect(getColorMode()).toEqual('LIGHT');\n });\n it('uses `parentMode` as fallback', () => {\n expect(getColorMode(undefined, 'DARK')).toEqual('DARK');\n });\n it(\"understands 'INVERSE'\", () => {\n expect(getColorMode('INVERSE', 'DARK')).toEqual('LIGHT');\n expect(getColorMode('INVERSE', 'LIGHT')).toEqual('DARK');\n expect(getColorMode('INVERSE')).toEqual('LIGHT');\n });\n});\n\ndescribe('getOn', () => {\n const obj = {\n parent: {\n child: 'childVal',\n },\n other: {\n thing: {\n string: 'stringVal',\n nested: ['array'],\n number: 0,\n func: () => {},\n },\n },\n colors: {\n LIGHT: { primary: '#000' },\n DARK: { primary: '#FFF' },\n },\n };\n it('gets values at the given path', () => {\n expect(getOn(obj, 'parent')).toEqual({\n child: 'childVal',\n });\n expect(getOn(obj, 'parent.child')).toEqual('childVal');\n expect(getOn(obj, 'other.thing.string')).toEqual('stringVal');\n });\n it('gets values of various kinds', () => {\n expect(getOn(obj, 'other.thing.nested')).toEqual(['array']);\n expect(getOn(obj, 'other.thing.number')).toEqual(0);\n expect(getOn(obj, 'other.thing.func')).toBeInstanceOf(Function);\n });\n it('can shortcut color modes', () => {\n expect(getOn(obj, 'colors.primary', 'LIGHT')).toEqual('#000');\n expect(getOn(obj, 'colors.primary', 'DARK')).toEqual('#FFF');\n });\n it('will not error', () => {\n expect(getOn(obj, 'nope')).toBe(undefined);\n expect(getOn(obj, 'other.nope')).toBe(undefined);\n expect(getOn(obj, 'other.thing.nope')).toBe(undefined);\n });\n});\n\ndescribe('setOn', () => {\n let obj: {};\n beforeEach(() => {\n obj = {\n existing: {\n nested: {\n val: 'value',\n },\n },\n };\n });\n it('sets values at the given path', () => {\n setOn(obj, 'existing.new', 'value');\n expect(obj).toEqual({\n existing: { nested: { val: 'value' }, new: 'value' },\n });\n setOn(obj, 'existing.nested.new', 'value');\n expect(obj).toEqual({\n existing: { nested: { val: 'value', new: 'value' }, new: 'value' },\n });\n });\n it('deep arbitrary creation', () => {\n setOn(obj, 'trail.blazing.happening.now', 'wow');\n expect(obj).toEqual({\n existing: { nested: { val: 'value' } },\n trail: { blazing: { happening: { now: 'wow' } } },\n });\n });\n it('overrides existing path value', () => {\n setOn(obj, 'existing.nested', 'diff');\n expect(obj).toEqual({\n existing: {\n nested: 'diff',\n },\n });\n });\n});\n\ndescribe('computed', () => {\n it('should transform to Computed with dependencies array', () => {\n const output = computed(([path]) => path, ['path.to']);\n expect(output).toBeInstanceOf(Computed);\n expect(output.computer).toBeInstanceOf(Function);\n expect(output.dependencies).toEqual(['path.to']);\n });\n it('should transform to Computed with single dependency', () => {\n const output = computed((path) => path, 'path.to');\n expect(output).toBeInstanceOf(Computed);\n expect(output.computer).toBeInstanceOf(Function);\n expect(output.dependencies).toEqual('path.to');\n });\n it('should transform to Computed without dependencies array', () => {\n const output = computed((path) => path);\n expect(output).toBeInstanceOf(Computed);\n });\n});\n\nconst theme = buildTheme(\n {\n colors: {\n LIGHT: {\n primary: '#000',\n secondary: computed(([primary]) => `${primary}000`, ['colors.primary']),\n },\n DARK: {\n primary: '#FFF',\n secondary: computed((theme) => `${theme.colors.primary}FFF`),\n },\n },\n sizes: {\n small: 8,\n },\n },\n 'minimal'\n);\ndescribe('getComputed', () => {\n it('computes all values and returns only the current color mode', () => {\n // @ts-expect-error intentionally not using a full EUI theme definition\n expect(getComputed(theme, {}, 'LIGHT')).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n // @ts-expect-error intentionally not using a full EUI theme definition\n expect(getComputed(theme, {}, 'DARK')).toEqual({\n colors: { primary: '#FFF', secondary: '#FFFFFF' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects simple overrides', () => {\n expect(\n // @ts-expect-error intentionally not using a full EUI theme definition\n getComputed(theme, buildTheme({ sizes: { small: 4 } }, ''), 'LIGHT')\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 4 },\n themeName: 'minimal',\n });\n });\n it('respects overrides in computation', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ colors: { LIGHT: { primary: '#CCC' } } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#CCC', secondary: '#CCC000' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects property extensions', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ colors: { LIGHT: { tertiary: '#333' } } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000', tertiary: '#333' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects section extensions', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ custom: { myProp: '#333' } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 8 },\n custom: { myProp: '#333' },\n themeName: 'minimal',\n });\n });\n it('respects extensions in computation', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme(\n {\n colors: {\n LIGHT: {\n tertiary: computed(\n ([primary]) => `${primary}333`,\n ['colors.primary']\n ),\n },\n },\n },\n ''\n ),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000', tertiary: '#000333' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n});\n\ndescribe('buildTheme', () => {\n it('builds an EUI theme system', () => {\n // TypeError: 'getOwnPropertyDescriptor' on proxy: trap reported non-configurability for property 'length' which is either non-existant or configurable in the proxy target\n // expect(theme).toEqual(Proxy); // get() trap returns theme.model\n // expect(theme.root).toEqual(Proxy);\n expect(theme.key).toEqual('minimal');\n });\n});\n\ndescribe('mergeDeep', () => {\n it('merge simple objects, second into first', () => {\n expect(mergeDeep({ a: 1 }, { b: 2 })).toEqual({ a: 1, b: 2 });\n expect(mergeDeep({ a: 1 }, { a: 2 })).toEqual({ a: 2 });\n });\n it('merge complex objects, second into first', () => {\n expect(\n mergeDeep({ a: 1, b: { c: { d: 3 } } }, { b: { c: { d: 4 } } })\n ).toEqual({ a: 1, b: { c: { d: 4 } } });\n expect(\n mergeDeep({ a: 1, b: { c: { d: 3 } } }, { b: { c: { e: 5 } } })\n ).toEqual({ a: 1, b: { c: { d: 3, e: 5 } } });\n });\n});\n\ndescribe('getTokenName', () => {\n it('returns the correct token name', () => {\n expect(getTokenName('backgroundBase', 'primary')).toEqual(\n 'backgroundBasePrimary'\n );\n expect(getTokenName('backgroundBase', 'primary', 'hovered')).toEqual(\n 'backgroundBasePrimaryHovered'\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.test.js","names":["_utils","require","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","describe","it","expect","isInverseColorMode","toBe","getColorMode","toEqual","undefined","obj","parent","child","other","thing","string","nested","number","func","colors","LIGHT","primary","DARK","getOn","toBeInstanceOf","Function","beforeEach","existing","val","setOn","trail","blazing","happening","now","output","computed","_ref","_ref2","path","Computed","computer","dependencies","theme","buildTheme","secondary","_ref3","_ref4","concat","sizes","small","getComputed","themeName","tertiary","custom","myProp","_ref5","_ref6","key","mergeDeep","b","c","d","getTokenName"],"sources":["../../src/utils.test.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport {\n isInverseColorMode,\n getColorMode,\n getOn,\n setOn,\n computed,\n Computed,\n getComputed,\n buildTheme,\n mergeDeep,\n getTokenName,\n} from './utils';\n\ndescribe('isInverseColorMode', () => {\n it(\"true only if 'inverse'\", () => {\n expect(isInverseColorMode('LIGHT')).toBe(false);\n expect(isInverseColorMode('DARK')).toBe(false);\n expect(isInverseColorMode('custom')).toBe(false);\n expect(isInverseColorMode()).toBe(false);\n expect(isInverseColorMode('INVERSE')).toBe(true);\n });\n});\n\ndescribe('getColorMode', () => {\n it(\"defaults to 'LIGHT'\", () => {\n expect(getColorMode()).toEqual('LIGHT');\n });\n it('uses `parentMode` as fallback', () => {\n expect(getColorMode(undefined, 'DARK')).toEqual('DARK');\n });\n it('uses `parentMode` (the system OS setting) if isForced is true', () => {\n expect(getColorMode('LIGHT', 'DARK', true)).toEqual('DARK');\n });\n it(\"understands 'INVERSE'\", () => {\n expect(getColorMode('INVERSE', 'DARK')).toEqual('LIGHT');\n expect(getColorMode('INVERSE', 'LIGHT')).toEqual('DARK');\n expect(getColorMode('INVERSE')).toEqual('LIGHT');\n });\n});\n\ndescribe('getOn', () => {\n const obj = {\n parent: {\n child: 'childVal',\n },\n other: {\n thing: {\n string: 'stringVal',\n nested: ['array'],\n number: 0,\n func: () => {},\n },\n },\n colors: {\n LIGHT: { primary: '#000' },\n DARK: { primary: '#FFF' },\n },\n };\n it('gets values at the given path', () => {\n expect(getOn(obj, 'parent')).toEqual({\n child: 'childVal',\n });\n expect(getOn(obj, 'parent.child')).toEqual('childVal');\n expect(getOn(obj, 'other.thing.string')).toEqual('stringVal');\n });\n it('gets values of various kinds', () => {\n expect(getOn(obj, 'other.thing.nested')).toEqual(['array']);\n expect(getOn(obj, 'other.thing.number')).toEqual(0);\n expect(getOn(obj, 'other.thing.func')).toBeInstanceOf(Function);\n });\n it('can shortcut color modes', () => {\n expect(getOn(obj, 'colors.primary', 'LIGHT')).toEqual('#000');\n expect(getOn(obj, 'colors.primary', 'DARK')).toEqual('#FFF');\n });\n it('will not error', () => {\n expect(getOn(obj, 'nope')).toBe(undefined);\n expect(getOn(obj, 'other.nope')).toBe(undefined);\n expect(getOn(obj, 'other.thing.nope')).toBe(undefined);\n });\n});\n\ndescribe('setOn', () => {\n let obj: {};\n beforeEach(() => {\n obj = {\n existing: {\n nested: {\n val: 'value',\n },\n },\n };\n });\n it('sets values at the given path', () => {\n setOn(obj, 'existing.new', 'value');\n expect(obj).toEqual({\n existing: { nested: { val: 'value' }, new: 'value' },\n });\n setOn(obj, 'existing.nested.new', 'value');\n expect(obj).toEqual({\n existing: { nested: { val: 'value', new: 'value' }, new: 'value' },\n });\n });\n it('deep arbitrary creation', () => {\n setOn(obj, 'trail.blazing.happening.now', 'wow');\n expect(obj).toEqual({\n existing: { nested: { val: 'value' } },\n trail: { blazing: { happening: { now: 'wow' } } },\n });\n });\n it('overrides existing path value', () => {\n setOn(obj, 'existing.nested', 'diff');\n expect(obj).toEqual({\n existing: {\n nested: 'diff',\n },\n });\n });\n});\n\ndescribe('computed', () => {\n it('should transform to Computed with dependencies array', () => {\n const output = computed(([path]) => path, ['path.to']);\n expect(output).toBeInstanceOf(Computed);\n expect(output.computer).toBeInstanceOf(Function);\n expect(output.dependencies).toEqual(['path.to']);\n });\n it('should transform to Computed with single dependency', () => {\n const output = computed((path) => path, 'path.to');\n expect(output).toBeInstanceOf(Computed);\n expect(output.computer).toBeInstanceOf(Function);\n expect(output.dependencies).toEqual('path.to');\n });\n it('should transform to Computed without dependencies array', () => {\n const output = computed((path) => path);\n expect(output).toBeInstanceOf(Computed);\n });\n});\n\nconst theme = buildTheme(\n {\n colors: {\n LIGHT: {\n primary: '#000',\n secondary: computed(([primary]) => `${primary}000`, ['colors.primary']),\n },\n DARK: {\n primary: '#FFF',\n secondary: computed((theme) => `${theme.colors.primary}FFF`),\n },\n },\n sizes: {\n small: 8,\n },\n },\n 'minimal'\n);\ndescribe('getComputed', () => {\n it('computes all values and returns only the current color mode', () => {\n // @ts-expect-error intentionally not using a full EUI theme definition\n expect(getComputed(theme, {}, 'LIGHT')).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n // @ts-expect-error intentionally not using a full EUI theme definition\n expect(getComputed(theme, {}, 'DARK')).toEqual({\n colors: { primary: '#FFF', secondary: '#FFFFFF' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects simple overrides', () => {\n expect(\n // @ts-expect-error intentionally not using a full EUI theme definition\n getComputed(theme, buildTheme({ sizes: { small: 4 } }, ''), 'LIGHT')\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 4 },\n themeName: 'minimal',\n });\n });\n it('respects overrides in computation', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ colors: { LIGHT: { primary: '#CCC' } } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#CCC', secondary: '#CCC000' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects property extensions', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ colors: { LIGHT: { tertiary: '#333' } } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000', tertiary: '#333' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n it('respects section extensions', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme({ custom: { myProp: '#333' } }, ''),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000' },\n sizes: { small: 8 },\n custom: { myProp: '#333' },\n themeName: 'minimal',\n });\n });\n it('respects extensions in computation', () => {\n expect(\n getComputed(\n // @ts-expect-error intentionally not using a full EUI theme definition\n theme,\n buildTheme(\n {\n colors: {\n LIGHT: {\n tertiary: computed(\n ([primary]) => `${primary}333`,\n ['colors.primary']\n ),\n },\n },\n },\n ''\n ),\n 'LIGHT'\n )\n ).toEqual({\n colors: { primary: '#000', secondary: '#000000', tertiary: '#000333' },\n sizes: { small: 8 },\n themeName: 'minimal',\n });\n });\n});\n\ndescribe('buildTheme', () => {\n it('builds an EUI theme system', () => {\n // TypeError: 'getOwnPropertyDescriptor' on proxy: trap reported non-configurability for property 'length' which is either non-existant or configurable in the proxy target\n // expect(theme).toEqual(Proxy); // get() trap returns theme.model\n // expect(theme.root).toEqual(Proxy);\n expect(theme.key).toEqual('minimal');\n });\n});\n\ndescribe('mergeDeep', () => {\n it('merge simple objects, second into first', () => {\n expect(mergeDeep({ a: 1 }, { b: 2 })).toEqual({ a: 1, b: 2 });\n expect(mergeDeep({ a: 1 }, { a: 2 })).toEqual({ a: 2 });\n });\n it('merge complex objects, second into first', () => {\n expect(\n mergeDeep({ a: 1, b: { c: { d: 3 } } }, { b: { c: { d: 4 } } })\n ).toEqual({ a: 1, b: { c: { d: 4 } } });\n expect(\n mergeDeep({ a: 1, b: { c: { d: 3 } } }, { b: { c: { e: 5 } } })\n ).toEqual({ a: 1, b: { c: { d: 3, e: 5 } } });\n });\n});\n\ndescribe('getTokenName', () => {\n it('returns the correct token name', () => {\n expect(getTokenName('backgroundBase', 'primary')).toEqual(\n 'backgroundBasePrimary'\n );\n expect(getTokenName('backgroundBase', 'primary', 'hovered')).toEqual(\n 'backgroundBasePrimaryHovered'\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -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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"}
@@ -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;
@@ -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;