@elastic/eui-theme-common 0.0.1 → 0.0.3

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 (97) hide show
  1. package/lib/cjs/global_styling/functions/index.js +0 -5
  2. package/lib/cjs/global_styling/functions/index.js.map +1 -1
  3. package/lib/cjs/global_styling/functions/size.js +0 -8
  4. package/lib/cjs/global_styling/functions/size.js.map +1 -1
  5. package/lib/cjs/global_styling/index.js +0 -5
  6. package/lib/cjs/global_styling/index.js.map +1 -1
  7. package/lib/cjs/global_styling/types.d.ts +2 -0
  8. package/lib/cjs/global_styling/types.d.ts.map +1 -1
  9. package/lib/cjs/global_styling/types.js +0 -1
  10. package/lib/cjs/global_styling/types.js.map +1 -1
  11. package/lib/cjs/global_styling/variables/animations.js +0 -1
  12. package/lib/cjs/global_styling/variables/animations.js.map +1 -1
  13. package/lib/cjs/global_styling/variables/borders.js +0 -1
  14. package/lib/cjs/global_styling/variables/breakpoint.js +0 -1
  15. package/lib/cjs/global_styling/variables/breakpoint.js.map +1 -1
  16. package/lib/cjs/global_styling/variables/buttons.js +0 -1
  17. package/lib/cjs/global_styling/variables/colors.d.ts +45 -0
  18. package/lib/cjs/global_styling/variables/colors.d.ts.map +1 -1
  19. package/lib/cjs/global_styling/variables/colors.js +0 -1
  20. package/lib/cjs/global_styling/variables/colors.js.map +1 -1
  21. package/lib/cjs/global_styling/variables/components.d.ts +28 -0
  22. package/lib/cjs/global_styling/variables/components.d.ts.map +1 -1
  23. package/lib/cjs/global_styling/variables/components.js +0 -1
  24. package/lib/cjs/global_styling/variables/components.js.map +1 -1
  25. package/lib/cjs/global_styling/variables/flags.d.ts +8 -0
  26. package/lib/cjs/global_styling/variables/flags.d.ts.map +1 -0
  27. package/lib/cjs/global_styling/variables/flags.js +6 -0
  28. package/lib/cjs/global_styling/variables/flags.js.map +1 -0
  29. package/lib/cjs/global_styling/variables/forms.js +0 -1
  30. package/lib/cjs/global_styling/variables/index.d.ts +1 -1
  31. package/lib/cjs/global_styling/variables/index.d.ts.map +1 -1
  32. package/lib/cjs/global_styling/variables/index.js +11 -16
  33. package/lib/cjs/global_styling/variables/index.js.map +1 -1
  34. package/lib/cjs/global_styling/variables/levels.js +0 -1
  35. package/lib/cjs/global_styling/variables/levels.js.map +1 -1
  36. package/lib/cjs/global_styling/variables/shadow.js +0 -1
  37. package/lib/cjs/global_styling/variables/shadow.js.map +1 -1
  38. package/lib/cjs/global_styling/variables/size.js +0 -1
  39. package/lib/cjs/global_styling/variables/size.js.map +1 -1
  40. package/lib/cjs/global_styling/variables/states.js +0 -1
  41. package/lib/cjs/global_styling/variables/typography.js +0 -1
  42. package/lib/cjs/global_styling/variables/typography.js.map +1 -1
  43. package/lib/cjs/index.d.ts +1 -0
  44. package/lib/cjs/index.d.ts.map +1 -1
  45. package/lib/cjs/index.js +11 -5
  46. package/lib/cjs/index.js.map +1 -1
  47. package/lib/cjs/services/index.d.ts +2 -0
  48. package/lib/cjs/services/index.d.ts.map +1 -0
  49. package/lib/cjs/services/index.js +17 -0
  50. package/lib/cjs/services/index.js.map +1 -0
  51. package/lib/cjs/services/vis_color_store.d.ts +34 -0
  52. package/lib/cjs/services/vis_color_store.d.ts.map +1 -0
  53. package/lib/cjs/services/vis_color_store.js +96 -0
  54. package/lib/cjs/services/vis_color_store.js.map +1 -0
  55. package/lib/cjs/services/vis_color_store.test.js +70 -0
  56. package/lib/cjs/services/vis_color_store.test.js.map +1 -0
  57. package/lib/cjs/types.js +0 -1
  58. package/lib/cjs/utils.js +0 -42
  59. package/lib/cjs/utils.js.map +1 -1
  60. package/lib/cjs/utils.test.js +0 -15
  61. package/lib/cjs/utils.test.js.map +1 -1
  62. package/lib/esm/global_styling/types.d.ts +2 -0
  63. package/lib/esm/global_styling/types.js.map +1 -1
  64. package/lib/esm/global_styling/variables/colors.d.ts +45 -0
  65. package/lib/esm/global_styling/variables/components.d.ts +28 -0
  66. package/lib/esm/global_styling/variables/flags.d.ts +7 -0
  67. package/lib/esm/global_styling/variables/flags.js +9 -0
  68. package/lib/esm/global_styling/variables/flags.js.map +1 -0
  69. package/lib/esm/global_styling/variables/index.d.ts +1 -1
  70. package/lib/esm/global_styling/variables/index.js +1 -1
  71. package/lib/esm/global_styling/variables/index.js.map +1 -1
  72. package/lib/esm/index.d.ts +1 -0
  73. package/lib/esm/index.js +1 -0
  74. package/lib/esm/index.js.map +1 -1
  75. package/lib/esm/services/index.d.ts +1 -0
  76. package/lib/esm/services/index.js +9 -0
  77. package/lib/esm/services/index.js.map +1 -0
  78. package/lib/esm/services/vis_color_store.d.ts +33 -0
  79. package/lib/esm/services/vis_color_store.js +69 -0
  80. package/lib/esm/services/vis_color_store.js.map +1 -0
  81. package/lib/esm/services/vis_color_store.test.d.ts +1 -0
  82. package/lib/esm/services/vis_color_store.test.js +66 -0
  83. package/lib/esm/services/vis_color_store.test.js.map +1 -0
  84. package/package.json +9 -4
  85. package/src/global_styling/index.scss +0 -3
  86. package/src/global_styling/variables/_borders.scss +1 -1
  87. package/src/global_styling/variables/_index.scss +0 -1
  88. package/lib/cjs/.tsbuildinfo +0 -1
  89. package/lib/cjs/global_styling/variables/_colors_vis.d.ts +0 -13
  90. package/lib/cjs/global_styling/variables/_colors_vis.d.ts.map +0 -1
  91. package/lib/cjs/global_styling/variables/_colors_vis.js +0 -69
  92. package/lib/cjs/global_styling/variables/_colors_vis.js.map +0 -1
  93. package/lib/esm/.tsbuildinfo +0 -1
  94. package/lib/esm/global_styling/variables/_colors_vis.d.ts +0 -12
  95. package/lib/esm/global_styling/variables/_colors_vis.js +0 -60
  96. package/lib/esm/global_styling/variables/_colors_vis.js.map +0 -1
  97. package/src/global_styling/variables/_colors_vis.scss +0 -72
@@ -1 +1 @@
1
- {"version":3,"file":"shadow.js","names":["EuiThemeShadowSizes","exports","_EuiShadowSizesDescriptions","xs","s","m","l","xl"],"sources":["../../../../src/global_styling/variables/shadow.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\nexport const EuiThemeShadowSizes = ['xs', 's', 'm', 'l', 'xl'] as const;\n\nexport type _EuiThemeShadowSize = (typeof EuiThemeShadowSizes)[number];\n\n/**\n * Shadow t-shirt sizes descriptions\n */\nexport const _EuiShadowSizesDescriptions: Record<_EuiThemeShadowSize, string> =\n {\n xs: 'Very subtle shadow used on small components.',\n s: 'Adds subtle depth, usually used in conjunction with a border.',\n m: 'Used on small sized portalled content like popovers.',\n l: 'Primary shadow used in most cases to add visible depth.',\n xl: 'Very large shadows used for large portalled style containers like modals and flyouts.',\n };\n\nexport interface _EuiThemeShadowCustomColor {\n color?: string;\n property?: 'box-shadow' | 'filter';\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAU;AAIvE;AACA;AACA;AACO,IAAME,2BAAgE,GAAAD,OAAA,CAAAC,2BAAA,GAC3E;EACEC,EAAE,EAAE,8CAA8C;EAClDC,CAAC,EAAE,+DAA+D;EAClEC,CAAC,EAAE,sDAAsD;EACzDC,CAAC,EAAE,yDAAyD;EAC5DC,EAAE,EAAE;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"shadow.js","names":["EuiThemeShadowSizes","exports","_EuiShadowSizesDescriptions","xs","s","m","l","xl"],"sources":["../../../../src/global_styling/variables/shadow.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\nexport const EuiThemeShadowSizes = ['xs', 's', 'm', 'l', 'xl'] as const;\n\nexport type _EuiThemeShadowSize = (typeof EuiThemeShadowSizes)[number];\n\n/**\n * Shadow t-shirt sizes descriptions\n */\nexport const _EuiShadowSizesDescriptions: Record<_EuiThemeShadowSize, string> =\n {\n xs: 'Very subtle shadow used on small components.',\n s: 'Adds subtle depth, usually used in conjunction with a border.',\n m: 'Used on small sized portalled content like popovers.',\n l: 'Primary shadow used in most cases to add visible depth.',\n xl: 'Very large shadows used for large portalled style containers like modals and flyouts.',\n };\n\nexport interface _EuiThemeShadowCustomColor {\n color?: string;\n property?: 'box-shadow' | 'filter';\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAU;AAIvE;AACA;AACA;AACO,IAAME,2BAAgE,GAAAD,OAAA,CAAAC,2BAAA,GAC3E;EACEC,EAAE,EAAE,8CAA8C;EAClDC,CAAC,EAAE,+DAA+D;EAClEC,CAAC,EAAE,sDAAsD;EACzDC,CAAC,EAAE,yDAAyD;EAC5DC,EAAE,EAAE;AACN,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -1 +1 @@
1
- {"version":3,"file":"size.js","names":["EuiThemeSizes","exports"],"sources":["../../../../src/global_styling/variables/size.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\nexport type _EuiThemeBase = number;\n\nexport const EuiThemeSizes = [\n 'xxs',\n 'xs',\n 's',\n 'm',\n 'base',\n 'l',\n 'xl',\n 'xxl',\n 'xxxl',\n 'xxxxl',\n] as const;\n\nexport type _EuiThemeSize = (typeof EuiThemeSizes)[number];\n\nexport type _EuiThemeSizes = {\n /** - Default value: 2px */\n xxs: string;\n /** - Default value: 4px */\n xs: string;\n /** - Default value: 8px */\n s: string;\n /** - Default value: 12px */\n m: string;\n /** - Default value: 16px */\n base: string;\n /** - Default value: 24px */\n l: string;\n /** - Default value: 32px */\n xl: string;\n /** - Default value: 40px */\n xxl: string;\n /** - Default value: 48px */\n xxxl: string;\n /** - Default value: 64px */\n xxxxl: string;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIO,IAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,CAC3B,KAAK,EACL,IAAI,EACJ,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,CACC","ignoreList":[]}
1
+ {"version":3,"file":"size.js","names":["EuiThemeSizes","exports"],"sources":["../../../../src/global_styling/variables/size.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\nexport type _EuiThemeBase = number;\n\nexport const EuiThemeSizes = [\n 'xxs',\n 'xs',\n 's',\n 'm',\n 'base',\n 'l',\n 'xl',\n 'xxl',\n 'xxxl',\n 'xxxxl',\n] as const;\n\nexport type _EuiThemeSize = (typeof EuiThemeSizes)[number];\n\nexport type _EuiThemeSizes = {\n /** - Default value: 2px */\n xxs: string;\n /** - Default value: 4px */\n xs: string;\n /** - Default value: 8px */\n s: string;\n /** - Default value: 12px */\n m: string;\n /** - Default value: 16px */\n base: string;\n /** - Default value: 24px */\n l: string;\n /** - Default value: 32px */\n xl: string;\n /** - Default value: 40px */\n xxl: string;\n /** - Default value: 48px */\n xxxl: string;\n /** - Default value: 64px */\n xxxxl: string;\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIO,IAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,CAC3B,KAAK,EACL,IAAI,EACJ,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,CACC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","names":["EuiThemeFontUnits","exports","EuiThemeFontScales","EuiThemeFontWeights"],"sources":["../../../../src/global_styling/variables/typography.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 { CSSProperties } from 'react';\n\n/**\n * Font units of measure\n */\n\nexport const EuiThemeFontUnits = ['rem', 'px', 'em'] as const;\n\nexport type _EuiThemeFontUnit = (typeof EuiThemeFontUnits)[number];\n\n/*\n * Font scale\n */\n\nexport const EuiThemeFontScales = [\n 'xxxs',\n 'xxs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n 'xxl',\n] as const;\n\nexport type _EuiThemeFontScale = (typeof EuiThemeFontScales)[number];\n\nexport type _EuiThemeFontScales = Record<_EuiThemeFontScale, number>;\n\n/*\n * Font base settings\n */\n\nexport type _EuiThemeFontBase = {\n /**\n * The whole font family stack for all parts of the UI.\n * We encourage only customizing the first font in the stack.\n */\n family: string;\n /**\n * The font family used for monospace UI elements like EuiCode\n */\n familyCode?: string;\n /**\n * The font family used for serif UI elements like blockquotes within EuiText\n */\n familySerif?: string;\n /**\n * Controls advanced features OpenType fonts.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings\n */\n featureSettings?: string;\n /**\n * Sets the default units used for font size & line height set by UI components\n * like EuiText or EuiTitle. Defaults to `rem`.\n *\n * NOTE: This may overridden by some internal usages, e.g.\n * EuiText's `relative` size which must use `em`.\n *\n * @default 'rem'\n */\n defaultUnits: _EuiThemeFontUnit;\n /**\n * A computed number that is 1/4 of `base`\n */\n baseline: number;\n /**\n * Establishes the ideal line-height percentage, but it is the `baseline` integer that establishes the final pixel/rem value\n */\n lineHeightMultiplier: number;\n};\n\n/*\n * Font weights\n */\n\nexport const EuiThemeFontWeights = [\n 'light',\n 'regular',\n 'medium',\n 'semiBold',\n 'bold',\n] as const;\n\nexport type _EuiThemeFontWeight = (typeof EuiThemeFontWeights)[number];\n\nexport type _EuiThemeFontWeights = {\n /** - Default value: 300 */\n light: CSSProperties['fontWeight'];\n /** - Default value: 400 */\n regular: CSSProperties['fontWeight'];\n /** - Default value: 500 */\n medium: CSSProperties['fontWeight'];\n /** - Default value: 600 */\n semiBold: CSSProperties['fontWeight'];\n /** - Default value: 700 */\n bold: CSSProperties['fontWeight'];\n};\n\n/**\n * Body / Base styles\n */\n\nexport interface _EuiThemeBody {\n /**\n * A sizing key from one of the font scales to set as the base body font-size\n */\n scale: _EuiThemeFontScale;\n /**\n * A font weight key for setting the base body weight\n */\n weight: keyof _EuiThemeFontWeights;\n}\n\n/**\n * Title styles\n */\n\nexport interface _EuiThemeTitle {\n /**\n * A font weight key for setting the base weight for titles and headings\n */\n weight: keyof _EuiThemeFontWeights;\n}\n\n/*\n * Font\n */\n\nexport type _EuiThemeFont = _EuiThemeFontBase & {\n scale: _EuiThemeFontScales;\n /**\n * @see {@link https://eui.elastic.co/#/theming/typography/values%23font-weight | Reference} for more information\n */\n weight: _EuiThemeFontWeights;\n body: _EuiThemeBody;\n title: _EuiThemeTitle;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AAEO,IAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAU;AAI7D;AACA;AACA;;AAEO,IAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,CAChC,MAAM,EACN,KAAK,EACL,IAAI,EACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,KAAK,CACG;;AAMV;AACA;AACA;;AAyCA;AACA;AACA;;AAEO,IAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAG,CACjC,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,CACE;;AAiBV;AACA;AACA;;AAaA;AACA;AACA;;AASA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"typography.js","names":["EuiThemeFontUnits","exports","EuiThemeFontScales","EuiThemeFontWeights"],"sources":["../../../../src/global_styling/variables/typography.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 { CSSProperties } from 'react';\n\n/**\n * Font units of measure\n */\n\nexport const EuiThemeFontUnits = ['rem', 'px', 'em'] as const;\n\nexport type _EuiThemeFontUnit = (typeof EuiThemeFontUnits)[number];\n\n/*\n * Font scale\n */\n\nexport const EuiThemeFontScales = [\n 'xxxs',\n 'xxs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n 'xxl',\n] as const;\n\nexport type _EuiThemeFontScale = (typeof EuiThemeFontScales)[number];\n\nexport type _EuiThemeFontScales = Record<_EuiThemeFontScale, number>;\n\n/*\n * Font base settings\n */\n\nexport type _EuiThemeFontBase = {\n /**\n * The whole font family stack for all parts of the UI.\n * We encourage only customizing the first font in the stack.\n */\n family: string;\n /**\n * The font family used for monospace UI elements like EuiCode\n */\n familyCode?: string;\n /**\n * The font family used for serif UI elements like blockquotes within EuiText\n */\n familySerif?: string;\n /**\n * Controls advanced features OpenType fonts.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings\n */\n featureSettings?: string;\n /**\n * Sets the default units used for font size & line height set by UI components\n * like EuiText or EuiTitle. Defaults to `rem`.\n *\n * NOTE: This may overridden by some internal usages, e.g.\n * EuiText's `relative` size which must use `em`.\n *\n * @default 'rem'\n */\n defaultUnits: _EuiThemeFontUnit;\n /**\n * A computed number that is 1/4 of `base`\n */\n baseline: number;\n /**\n * Establishes the ideal line-height percentage, but it is the `baseline` integer that establishes the final pixel/rem value\n */\n lineHeightMultiplier: number;\n};\n\n/*\n * Font weights\n */\n\nexport const EuiThemeFontWeights = [\n 'light',\n 'regular',\n 'medium',\n 'semiBold',\n 'bold',\n] as const;\n\nexport type _EuiThemeFontWeight = (typeof EuiThemeFontWeights)[number];\n\nexport type _EuiThemeFontWeights = {\n /** - Default value: 300 */\n light: CSSProperties['fontWeight'];\n /** - Default value: 400 */\n regular: CSSProperties['fontWeight'];\n /** - Default value: 500 */\n medium: CSSProperties['fontWeight'];\n /** - Default value: 600 */\n semiBold: CSSProperties['fontWeight'];\n /** - Default value: 700 */\n bold: CSSProperties['fontWeight'];\n};\n\n/**\n * Body / Base styles\n */\n\nexport interface _EuiThemeBody {\n /**\n * A sizing key from one of the font scales to set as the base body font-size\n */\n scale: _EuiThemeFontScale;\n /**\n * A font weight key for setting the base body weight\n */\n weight: keyof _EuiThemeFontWeights;\n}\n\n/**\n * Title styles\n */\n\nexport interface _EuiThemeTitle {\n /**\n * A font weight key for setting the base weight for titles and headings\n */\n weight: keyof _EuiThemeFontWeights;\n}\n\n/*\n * Font\n */\n\nexport type _EuiThemeFont = _EuiThemeFontBase & {\n scale: _EuiThemeFontScales;\n /**\n * @see {@link https://eui.elastic.co/#/theming/typography/values%23font-weight | Reference} for more information\n */\n weight: _EuiThemeFontWeights;\n body: _EuiThemeBody;\n title: _EuiThemeTitle;\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AAEO,IAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAU;AAI7D;AACA;AACA;;AAEO,IAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,CAChC,MAAM,EACN,KAAK,EACL,IAAI,EACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,KAAK,CACG;;AAMV;AACA;AACA;;AAyCA;AACA;AACA;;AAEO,IAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAG,CACjC,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,CACE;;AAiBV;AACA;AACA;;AAaA;AACA;AACA;;AASA;AACA;AACA","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export * from './global_styling';
2
+ export * from './services';
2
3
  export * from './types';
3
4
  export * from './utils';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAE3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -1,10 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.for-each.js");
4
- require("core-js/modules/es.object.define-property.js");
5
- require("core-js/modules/es.object.keys.js");
6
- require("core-js/modules/es.object.to-string.js");
7
- require("core-js/modules/web.dom-collections.for-each.js");
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
@@ -19,6 +14,17 @@ Object.keys(_global_styling).forEach(function (key) {
19
14
  }
20
15
  });
21
16
  });
17
+ var _services = require("./services");
18
+ Object.keys(_services).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _services[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _services[key];
25
+ }
26
+ });
27
+ });
22
28
  var _types = require("./types");
23
29
  Object.keys(_types).forEach(function (key) {
24
30
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_global_styling","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_types","_utils"],"sources":["../../src/index.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\nexport * from './global_styling';\n\nexport * from './types';\nexport * from './utils';\n"],"mappings":";;;;;;;;;;AAQA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_global_styling","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_services","_types","_utils"],"sources":["../../src/index.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\nexport * from './global_styling';\nexport * from './services';\n\nexport * from './types';\nexport * from './utils';\n"],"mappings":";;;;;AAQA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './vis_color_store';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAQA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _vis_color_store = require("./vis_color_store");
7
+ Object.keys(_vis_color_store).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _vis_color_store[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _vis_color_store[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_vis_color_store","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/services/index.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\nexport * from './vis_color_store';\n"],"mappings":";;;;;AAQA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { _EuiThemeVisColors } from '../global_styling';
2
+ export declare const VIS_COLOR_STORE_EVENTS: {
3
+ readonly UPDATE: "UPDATE";
4
+ };
5
+ export declare type VisColorStoreEvents = keyof typeof VIS_COLOR_STORE_EVENTS;
6
+ declare type EventId = string;
7
+ export declare type _EuiVisColorStore = {
8
+ visColors: _EuiThemeVisColors;
9
+ hasVisColorAdjustment: boolean;
10
+ setVisColors: (colors: _EuiThemeVisColors, hasVisColorAdjustment?: boolean) => void;
11
+ subscribe: (eventName: VisColorStoreEvents, callback: any) => EventId;
12
+ unsubscribe: (eventName: VisColorStoreEvents, id: EventId) => void;
13
+ };
14
+ declare class EuiVisColorStoreImpl implements _EuiVisColorStore {
15
+ private _visColors;
16
+ private _hasVisColorAdjustment;
17
+ private events;
18
+ constructor(dependencies: {
19
+ defaultColors: _EuiThemeVisColors;
20
+ hasVisColorAdjustment: boolean;
21
+ });
22
+ get visColors(): _EuiVisColorStore['visColors'];
23
+ get hasVisColorAdjustment(): _EuiVisColorStore['hasVisColorAdjustment'];
24
+ setVisColors: (colors: _EuiThemeVisColors, hasColorAdjustment?: boolean | undefined) => void;
25
+ subscribe: (eventName: VisColorStoreEvents, callback: NonNullable<any>) => string;
26
+ unsubscribe: (eventName: VisColorStoreEvents, id: EventId) => void;
27
+ private publishUpdate;
28
+ }
29
+ export declare class EuiVisColorStore {
30
+ private static instance;
31
+ static getInstance(defaultColors: _EuiThemeVisColors, hasVisColorAdjustment: boolean): EuiVisColorStoreImpl;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=vis_color_store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vis_color_store.d.ts","sourceRoot":"","sources":["../../../src/services/vis_color_store.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,eAAO,MAAM,sBAAsB;;CAEzB,CAAC;AACX,oBAAY,mBAAmB,GAAG,MAAM,OAAO,sBAAsB,CAAC;AACtE,aAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,oBAAY,iBAAiB,GAAG;IAC9B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,CACZ,MAAM,EAAE,kBAAkB,EAC1B,qBAAqB,CAAC,EAAE,OAAO,KAC5B,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC;IACtE,WAAW,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF,cAAM,oBAAqB,YAAW,iBAAiB;IACrD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,sBAAsB,CAA6C;IAC3E,OAAO,CAAC,MAAM,CAGZ;gBAEU,YAAY,EAAE;QACxB,aAAa,EAAE,kBAAkB,CAAC;QAClC,qBAAqB,EAAE,OAAO,CAAC;KAChC;IAKD,IAAI,SAAS,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAE9C;IAED,IAAI,qBAAqB,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAEtE;IAED,YAAY,WAAY,kBAAkB,oDAaxC;IAEF,SAAS,cAAe,mBAAmB,YAAY,YAAY,GAAG,CAAC,YASrE;IAEF,WAAW,cAAe,mBAAmB,MAAM,OAAO,UAIxD;IAEF,OAAO,CAAC,aAAa,CAWnB;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAE9C,MAAM,CAAC,WAAW,CAChB,aAAa,EAAE,kBAAkB,EACjC,qBAAqB,EAAE,OAAO,GAC7B,oBAAoB;CAUxB"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VIS_COLOR_STORE_EVENTS = exports.EuiVisColorStore = void 0;
7
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
8
+ var _lodash = require("lodash");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
12
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
13
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
14
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
17
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
+ * or more contributor license agreements. Licensed under the Elastic License
19
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
21
+ * Side Public License, v 1.
22
+ */
23
+ var VIS_COLOR_STORE_EVENTS = exports.VIS_COLOR_STORE_EVENTS = {
24
+ UPDATE: 'UPDATE'
25
+ };
26
+ var EuiVisColorStoreImpl = /*#__PURE__*/function () {
27
+ function EuiVisColorStoreImpl(dependencies) {
28
+ var _this = this;
29
+ _classCallCheck(this, EuiVisColorStoreImpl);
30
+ _defineProperty(this, "_visColors", void 0);
31
+ _defineProperty(this, "_hasVisColorAdjustment", void 0);
32
+ _defineProperty(this, "events", {});
33
+ _defineProperty(this, "setVisColors", function (colors, hasColorAdjustment) {
34
+ if (!(0, _isEqual["default"])(_this._visColors, colors) || hasColorAdjustment !== _this._hasVisColorAdjustment) {
35
+ _this._visColors = colors;
36
+ if (hasColorAdjustment != null) {
37
+ _this._hasVisColorAdjustment = hasColorAdjustment;
38
+ }
39
+ _this.publishUpdate(VIS_COLOR_STORE_EVENTS.UPDATE, _this._visColors);
40
+ }
41
+ });
42
+ _defineProperty(this, "subscribe", function (eventName, callback) {
43
+ if (_this.events[eventName] == null) {
44
+ _this.events[eventName] = new Map();
45
+ }
46
+ var id = (0, _lodash.uniqueId)("".concat(eventName, "_"));
47
+ _this.events[eventName].set(id, callback);
48
+ return id;
49
+ });
50
+ _defineProperty(this, "unsubscribe", function (eventName, id) {
51
+ if (_this.events[eventName] != null && _this.events[eventName].has(id)) {
52
+ _this.events[eventName]["delete"](id);
53
+ }
54
+ });
55
+ _defineProperty(this, "publishUpdate", function (eventName, colors) {
56
+ if (_this.events[eventName]) _this.events[eventName].forEach(function (callback) {
57
+ // use timeout to execute callbacks after theme updates
58
+ setTimeout(function () {
59
+ callback === null || callback === void 0 || callback(colors);
60
+ });
61
+ });
62
+ });
63
+ this._visColors = dependencies.defaultColors;
64
+ this._hasVisColorAdjustment = dependencies.hasVisColorAdjustment;
65
+ }
66
+ return _createClass(EuiVisColorStoreImpl, [{
67
+ key: "visColors",
68
+ get: function get() {
69
+ return this._visColors;
70
+ }
71
+ }, {
72
+ key: "hasVisColorAdjustment",
73
+ get: function get() {
74
+ return this._hasVisColorAdjustment;
75
+ }
76
+ }]);
77
+ }();
78
+ var EuiVisColorStore = exports.EuiVisColorStore = /*#__PURE__*/function () {
79
+ function EuiVisColorStore() {
80
+ _classCallCheck(this, EuiVisColorStore);
81
+ }
82
+ return _createClass(EuiVisColorStore, null, [{
83
+ key: "getInstance",
84
+ value: function getInstance(defaultColors, hasVisColorAdjustment) {
85
+ if (!this.instance) {
86
+ this.instance = new EuiVisColorStoreImpl({
87
+ defaultColors: defaultColors,
88
+ hasVisColorAdjustment: hasVisColorAdjustment
89
+ });
90
+ }
91
+ return this.instance;
92
+ }
93
+ }]);
94
+ }();
95
+ _defineProperty(EuiVisColorStore, "instance", void 0);
96
+ //# sourceMappingURL=vis_color_store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vis_color_store.js","names":["_isEqual","_interopRequireDefault","require","_lodash","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","_defineProperty","value","i","_toPrimitive","toPrimitive","call","String","Number","VIS_COLOR_STORE_EVENTS","exports","UPDATE","EuiVisColorStoreImpl","dependencies","_this","colors","hasColorAdjustment","isEqual","_visColors","_hasVisColorAdjustment","publishUpdate","eventName","callback","events","Map","id","uniqueId","concat","set","has","forEach","setTimeout","defaultColors","hasVisColorAdjustment","get","EuiVisColorStore","getInstance","instance"],"sources":["../../../src/services/vis_color_store.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 isEqual from 'lodash/isEqual';\n\nimport { _EuiThemeVisColors } from '../global_styling';\nimport { uniqueId } from 'lodash';\n\nexport const VIS_COLOR_STORE_EVENTS = {\n UPDATE: 'UPDATE',\n} as const;\nexport type VisColorStoreEvents = keyof typeof VIS_COLOR_STORE_EVENTS;\ntype EventId = string;\n\nexport type _EuiVisColorStore = {\n visColors: _EuiThemeVisColors;\n hasVisColorAdjustment: boolean;\n setVisColors: (\n colors: _EuiThemeVisColors,\n hasVisColorAdjustment?: boolean\n ) => void;\n subscribe: (eventName: VisColorStoreEvents, callback: any) => EventId;\n unsubscribe: (eventName: VisColorStoreEvents, id: EventId) => void;\n};\n\nclass EuiVisColorStoreImpl implements _EuiVisColorStore {\n private _visColors: _EuiVisColorStore['visColors'];\n private _hasVisColorAdjustment: _EuiVisColorStore['hasVisColorAdjustment'];\n private events: Record<VisColorStoreEvents, Map<EventId, any>> = {} as Record<\n VisColorStoreEvents,\n Map<EventId, any>\n >;\n\n constructor(dependencies: {\n defaultColors: _EuiThemeVisColors;\n hasVisColorAdjustment: boolean;\n }) {\n this._visColors = dependencies.defaultColors;\n this._hasVisColorAdjustment = dependencies.hasVisColorAdjustment;\n }\n\n get visColors(): _EuiVisColorStore['visColors'] {\n return this._visColors;\n }\n\n get hasVisColorAdjustment(): _EuiVisColorStore['hasVisColorAdjustment'] {\n return this._hasVisColorAdjustment;\n }\n\n setVisColors = (colors: _EuiThemeVisColors, hasColorAdjustment?: boolean) => {\n if (\n !isEqual(this._visColors, colors) ||\n hasColorAdjustment !== this._hasVisColorAdjustment\n ) {\n this._visColors = colors;\n\n if (hasColorAdjustment != null) {\n this._hasVisColorAdjustment = hasColorAdjustment;\n }\n\n this.publishUpdate(VIS_COLOR_STORE_EVENTS.UPDATE, this._visColors);\n }\n };\n\n subscribe = (eventName: VisColorStoreEvents, callback: NonNullable<any>) => {\n if (this.events[eventName] == null) {\n this.events[eventName] = new Map();\n }\n\n const id = uniqueId(`${eventName}_`);\n\n this.events[eventName].set(id, callback);\n return id;\n };\n\n unsubscribe = (eventName: VisColorStoreEvents, id: EventId) => {\n if (this.events[eventName] != null && this.events[eventName].has(id)) {\n this.events[eventName].delete(id);\n }\n };\n\n private publishUpdate = (\n eventName: VisColorStoreEvents,\n colors?: _EuiThemeVisColors\n ) => {\n if (this.events[eventName])\n this.events[eventName].forEach((callback) => {\n // use timeout to execute callbacks after theme updates\n setTimeout(() => {\n callback?.(colors);\n });\n });\n };\n}\n\nexport class EuiVisColorStore {\n private static instance: EuiVisColorStoreImpl;\n\n static getInstance(\n defaultColors: _EuiThemeVisColors,\n hasVisColorAdjustment: boolean\n ): EuiVisColorStoreImpl {\n if (!this.instance) {\n this.instance = new EuiVisColorStoreImpl({\n defaultColors,\n hasVisColorAdjustment,\n });\n }\n\n return this.instance;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _vis_color_store = require("./vis_color_store");
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+ jest.useFakeTimers();
17
+ var visColors = {
18
+ euiColorVis0: '#aabbcc'
19
+ };
20
+ describe('EuiVisColorStore', function () {
21
+ var visColorStore = _vis_color_store.EuiVisColorStore.getInstance(visColors, false);
22
+ var updateFn;
23
+ beforeEach(function () {
24
+ updateFn = jest.fn();
25
+ });
26
+ afterEach(function () {
27
+ jest.clearAllMocks();
28
+ });
29
+ describe('setVisColors()', function () {
30
+ var customColors = _objectSpread(_objectSpread({}, visColors), {}, {
31
+ euiColorVis0: '#00ff00'
32
+ });
33
+ it('has initial colors', function () {
34
+ expect(visColorStore.visColors).toEqual(visColors);
35
+ });
36
+ it('updates colors', function () {
37
+ visColorStore.setVisColors(customColors);
38
+ expect(visColorStore.visColors).toEqual(customColors);
39
+ });
40
+ it('updates hasVisColorAdjustment', function () {
41
+ visColorStore.setVisColors(customColors, true);
42
+ expect(visColorStore.hasVisColorAdjustment).toEqual(true);
43
+ });
44
+ });
45
+ describe('subcribe and unsubscribe', function () {
46
+ it('subscribes to store updates', function () {
47
+ var customColors = _objectSpread(_objectSpread({}, visColors), {}, {
48
+ euiColorVis0: '#ff0000'
49
+ });
50
+ var id = visColorStore.subscribe(_vis_color_store.VIS_COLOR_STORE_EVENTS.UPDATE, updateFn);
51
+ expect(id).toContain('UPDATE');
52
+ visColorStore.setVisColors(customColors);
53
+ jest.runAllTimers();
54
+ expect(updateFn).toHaveBeenCalledTimes(1);
55
+ expect(updateFn).toHaveBeenCalledWith(customColors);
56
+ });
57
+ it('unsubscribes from store updates', function () {
58
+ var customColors = _objectSpread(_objectSpread({}, visColors), {}, {
59
+ euiColorVis0: '#0000ff'
60
+ });
61
+ var id = visColorStore.subscribe(_vis_color_store.VIS_COLOR_STORE_EVENTS.UPDATE, updateFn);
62
+ expect(id).toContain('UPDATE');
63
+ visColorStore.unsubscribe(_vis_color_store.VIS_COLOR_STORE_EVENTS.UPDATE, id);
64
+ visColorStore.setVisColors(customColors);
65
+ jest.runAllTimers();
66
+ expect(updateFn).toHaveBeenCalledTimes(0);
67
+ });
68
+ });
69
+ });
70
+ //# sourceMappingURL=vis_color_store.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vis_color_store.test.js","names":["_vis_color_store","require","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","jest","useFakeTimers","visColors","euiColorVis0","describe","visColorStore","EuiVisColorStore","getInstance","updateFn","beforeEach","fn","afterEach","clearAllMocks","customColors","it","expect","toEqual","setVisColors","hasVisColorAdjustment","id","subscribe","VIS_COLOR_STORE_EVENTS","UPDATE","toContain","runAllTimers","toHaveBeenCalledTimes","toHaveBeenCalledWith","unsubscribe"],"sources":["../../../src/services/vis_color_store.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 { _EuiThemeVisColors } from '../global_styling';\nimport { EuiVisColorStore, VIS_COLOR_STORE_EVENTS } from './vis_color_store';\n\njest.useFakeTimers();\n\nconst visColors: _EuiThemeVisColors = {\n euiColorVis0: '#aabbcc',\n} as _EuiThemeVisColors;\n\ndescribe('EuiVisColorStore', () => {\n const visColorStore = EuiVisColorStore.getInstance(visColors, false);\n let updateFn: jest.Mock;\n\n beforeEach(() => {\n updateFn = jest.fn();\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n describe('setVisColors()', () => {\n const customColors = {\n ...visColors,\n euiColorVis0: '#00ff00',\n };\n\n it('has initial colors', () => {\n expect(visColorStore.visColors).toEqual(visColors);\n });\n\n it('updates colors', () => {\n visColorStore.setVisColors(customColors);\n\n expect(visColorStore.visColors).toEqual(customColors);\n });\n\n it('updates hasVisColorAdjustment', () => {\n visColorStore.setVisColors(customColors, true);\n\n expect(visColorStore.hasVisColorAdjustment).toEqual(true);\n });\n });\n\n describe('subcribe and unsubscribe', () => {\n it('subscribes to store updates', () => {\n const customColors = {\n ...visColors,\n euiColorVis0: '#ff0000',\n };\n\n const id = visColorStore.subscribe(\n VIS_COLOR_STORE_EVENTS.UPDATE,\n updateFn\n );\n\n expect(id).toContain('UPDATE');\n\n visColorStore.setVisColors(customColors);\n jest.runAllTimers();\n\n expect(updateFn).toHaveBeenCalledTimes(1);\n expect(updateFn).toHaveBeenCalledWith(customColors);\n });\n\n it('unsubscribes from store updates', () => {\n const customColors = {\n ...visColors,\n euiColorVis0: '#0000ff',\n };\n\n const id = visColorStore.subscribe(\n VIS_COLOR_STORE_EVENTS.UPDATE,\n updateFn\n );\n\n expect(id).toContain('UPDATE');\n\n visColorStore.unsubscribe(VIS_COLOR_STORE_EVENTS.UPDATE, id);\n\n visColorStore.setVisColors(customColors);\n jest.runAllTimers();\n\n expect(updateFn).toHaveBeenCalledTimes(0);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
package/lib/cjs/types.js CHANGED
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
package/lib/cjs/utils.js CHANGED
@@ -1,53 +1,11 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.to-primitive.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.from.js");
6
- require("core-js/modules/es.date.to-primitive.js");
7
- require("core-js/modules/es.date.to-string.js");
8
- require("core-js/modules/es.function.name.js");
9
- require("core-js/modules/es.number.constructor.js");
10
- require("core-js/modules/es.object.define-properties.js");
11
- require("core-js/modules/es.object.define-property.js");
12
- require("core-js/modules/es.object.get-own-property-descriptor.js");
13
- require("core-js/modules/es.object.get-own-property-descriptors.js");
14
- require("core-js/modules/es.regexp.test.js");
15
3
  Object.defineProperty(exports, "__esModule", {
16
4
  value: true
17
5
  });
18
6
  exports.buildTheme = exports.DEFAULT_COLOR_MODE = exports.Computed = void 0;
19
7
  exports.computed = computed;
20
8
  exports.setOn = exports.mergeDeep = exports.isInverseColorMode = exports.getTokenName = exports.getOn = exports.getComputed = exports.getColorMode = void 0;
21
- require("core-js/modules/es.symbol.js");
22
- require("core-js/modules/es.symbol.description.js");
23
- require("core-js/modules/es.symbol.iterator.js");
24
- require("core-js/modules/es.array.concat.js");
25
- require("core-js/modules/es.array.for-each.js");
26
- require("core-js/modules/es.array.includes.js");
27
- require("core-js/modules/es.array.is-array.js");
28
- require("core-js/modules/es.array.iterator.js");
29
- require("core-js/modules/es.array.map.js");
30
- require("core-js/modules/es.array.slice.js");
31
- require("core-js/modules/es.object.keys.js");
32
- require("core-js/modules/es.object.to-string.js");
33
- require("core-js/modules/es.object.values.js");
34
- require("core-js/modules/es.reflect.define-property.js");
35
- require("core-js/modules/es.reflect.get-own-property-descriptor.js");
36
- require("core-js/modules/es.reflect.get-prototype-of.js");
37
- require("core-js/modules/es.reflect.has.js");
38
- require("core-js/modules/es.reflect.is-extensible.js");
39
- require("core-js/modules/es.reflect.own-keys.js");
40
- require("core-js/modules/es.reflect.prevent-extensions.js");
41
- require("core-js/modules/es.reflect.set-prototype-of.js");
42
- require("core-js/modules/es.regexp.constructor.js");
43
- require("core-js/modules/es.regexp.exec.js");
44
- require("core-js/modules/es.regexp.sticky.js");
45
- require("core-js/modules/es.regexp.to-string.js");
46
- require("core-js/modules/es.string.includes.js");
47
- require("core-js/modules/es.string.iterator.js");
48
- require("core-js/modules/es.string.replace.js");
49
- require("core-js/modules/web.dom-collections.for-each.js");
50
- require("core-js/modules/web.dom-collections.iterator.js");
51
9
  var _global_styling = require("./global_styling");
52
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
53
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -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","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":[]}