@atlaskit/tokens 1.25.1 → 1.26.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 (188) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/artifacts/theme-import-map.js +13 -1
  3. package/dist/cjs/artifacts/themes/atlassian-dark-increased-contrast.js +12 -0
  4. package/dist/cjs/artifacts/themes/atlassian-light-increased-contrast.js +12 -0
  5. package/dist/cjs/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +8687 -0
  6. package/dist/cjs/artifacts/tokens-raw/atlassian-light-increased-contrast.js +8653 -0
  7. package/dist/cjs/constants.js +2 -1
  8. package/dist/cjs/enable-global-theme.js +3 -0
  9. package/dist/cjs/get-ssr-auto-script.js +8 -2
  10. package/dist/cjs/get-theme-html-attrs.js +9 -0
  11. package/dist/cjs/get-theme-styles.js +9 -0
  12. package/dist/cjs/get-token-value.js +1 -1
  13. package/dist/cjs/get-token.js +1 -1
  14. package/dist/cjs/set-global-theme.js +35 -20
  15. package/dist/cjs/theme-config.js +29 -2
  16. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/accent.js +271 -0
  17. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/background.js +104 -0
  18. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/border.js +46 -0
  19. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/chart.js +309 -0
  20. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/icon.js +45 -0
  21. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/interaction.js +22 -0
  22. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/skeleton.js +21 -0
  23. package/dist/cjs/tokens/atlassian-dark-increased-contrast/color/text.js +56 -0
  24. package/dist/cjs/tokens/atlassian-dark-increased-contrast/elevation/shadow.js +66 -0
  25. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/accent.js +423 -0
  26. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/background.js +145 -0
  27. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/border.js +50 -0
  28. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/chart.js +418 -0
  29. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/icon.js +49 -0
  30. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/interaction.js +22 -0
  31. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/skeleton.js +21 -0
  32. package/dist/cjs/tokens/atlassian-light-increased-contrast/color/text.js +56 -0
  33. package/dist/cjs/tokens/atlassian-light-increased-contrast/elevation/shadow.js +62 -0
  34. package/dist/cjs/tokens/atlassian-light-increased-contrast/elevation/surface.js +18 -0
  35. package/dist/cjs/utils/configure-page.js +16 -1
  36. package/dist/cjs/utils/contrast-mode-listeners.js +65 -0
  37. package/dist/cjs/utils/get-increased-contrast-theme.js +20 -0
  38. package/dist/cjs/utils/get-theme-preferences.js +23 -1
  39. package/dist/cjs/utils/theme-loading.js +3 -2
  40. package/dist/es2019/artifacts/theme-import-map.js +5 -1
  41. package/dist/es2019/artifacts/themes/atlassian-dark-increased-contrast.js +401 -0
  42. package/dist/es2019/artifacts/themes/atlassian-light-increased-contrast.js +401 -0
  43. package/dist/es2019/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +8681 -0
  44. package/dist/es2019/artifacts/tokens-raw/atlassian-light-increased-contrast.js +8647 -0
  45. package/dist/es2019/constants.js +1 -0
  46. package/dist/es2019/enable-global-theme.js +2 -0
  47. package/dist/es2019/get-ssr-auto-script.js +17 -11
  48. package/dist/es2019/get-theme-html-attrs.js +12 -2
  49. package/dist/es2019/get-theme-styles.js +7 -0
  50. package/dist/es2019/get-token-value.js +1 -1
  51. package/dist/es2019/get-token.js +1 -1
  52. package/dist/es2019/set-global-theme.js +14 -0
  53. package/dist/es2019/theme-config.js +28 -1
  54. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/accent.js +265 -0
  55. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/background.js +98 -0
  56. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/border.js +40 -0
  57. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/chart.js +303 -0
  58. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/icon.js +39 -0
  59. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/interaction.js +16 -0
  60. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/skeleton.js +15 -0
  61. package/dist/es2019/tokens/atlassian-dark-increased-contrast/color/text.js +50 -0
  62. package/dist/es2019/tokens/atlassian-dark-increased-contrast/elevation/shadow.js +60 -0
  63. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/accent.js +417 -0
  64. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/background.js +139 -0
  65. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/border.js +44 -0
  66. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/chart.js +412 -0
  67. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/icon.js +43 -0
  68. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/interaction.js +16 -0
  69. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/skeleton.js +15 -0
  70. package/dist/es2019/tokens/atlassian-light-increased-contrast/color/text.js +50 -0
  71. package/dist/es2019/tokens/atlassian-light-increased-contrast/elevation/shadow.js +56 -0
  72. package/dist/es2019/tokens/atlassian-light-increased-contrast/elevation/surface.js +12 -0
  73. package/dist/es2019/utils/configure-page.js +18 -1
  74. package/dist/es2019/utils/contrast-mode-listeners.js +48 -0
  75. package/dist/es2019/utils/get-increased-contrast-theme.js +13 -0
  76. package/dist/es2019/utils/get-theme-preferences.js +23 -1
  77. package/dist/es2019/utils/theme-loading.js +2 -1
  78. package/dist/esm/artifacts/theme-import-map.js +9 -1
  79. package/dist/esm/artifacts/themes/atlassian-dark-increased-contrast.js +6 -0
  80. package/dist/esm/artifacts/themes/atlassian-light-increased-contrast.js +6 -0
  81. package/dist/esm/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +8681 -0
  82. package/dist/esm/artifacts/tokens-raw/atlassian-light-increased-contrast.js +8647 -0
  83. package/dist/esm/constants.js +1 -0
  84. package/dist/esm/enable-global-theme.js +3 -0
  85. package/dist/esm/get-ssr-auto-script.js +10 -4
  86. package/dist/esm/get-theme-html-attrs.js +10 -1
  87. package/dist/esm/get-theme-styles.js +9 -0
  88. package/dist/esm/get-token-value.js +1 -1
  89. package/dist/esm/get-token.js +1 -1
  90. package/dist/esm/set-global-theme.js +35 -20
  91. package/dist/esm/theme-config.js +28 -1
  92. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/accent.js +265 -0
  93. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/background.js +98 -0
  94. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/border.js +40 -0
  95. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/chart.js +303 -0
  96. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/icon.js +39 -0
  97. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/interaction.js +16 -0
  98. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/skeleton.js +15 -0
  99. package/dist/esm/tokens/atlassian-dark-increased-contrast/color/text.js +50 -0
  100. package/dist/esm/tokens/atlassian-dark-increased-contrast/elevation/shadow.js +60 -0
  101. package/dist/esm/tokens/atlassian-light-increased-contrast/color/accent.js +417 -0
  102. package/dist/esm/tokens/atlassian-light-increased-contrast/color/background.js +139 -0
  103. package/dist/esm/tokens/atlassian-light-increased-contrast/color/border.js +44 -0
  104. package/dist/esm/tokens/atlassian-light-increased-contrast/color/chart.js +412 -0
  105. package/dist/esm/tokens/atlassian-light-increased-contrast/color/icon.js +43 -0
  106. package/dist/esm/tokens/atlassian-light-increased-contrast/color/interaction.js +16 -0
  107. package/dist/esm/tokens/atlassian-light-increased-contrast/color/skeleton.js +15 -0
  108. package/dist/esm/tokens/atlassian-light-increased-contrast/color/text.js +50 -0
  109. package/dist/esm/tokens/atlassian-light-increased-contrast/elevation/shadow.js +56 -0
  110. package/dist/esm/tokens/atlassian-light-increased-contrast/elevation/surface.js +12 -0
  111. package/dist/esm/utils/configure-page.js +16 -1
  112. package/dist/esm/utils/contrast-mode-listeners.js +58 -0
  113. package/dist/esm/utils/get-increased-contrast-theme.js +14 -0
  114. package/dist/esm/utils/get-theme-preferences.js +23 -1
  115. package/dist/esm/utils/theme-loading.js +2 -1
  116. package/dist/types/artifacts/theme-import-map.d.ts +1 -1
  117. package/dist/types/artifacts/themes/atlassian-dark-increased-contrast.d.ts +7 -0
  118. package/dist/types/artifacts/themes/atlassian-light-increased-contrast.d.ts +7 -0
  119. package/dist/types/artifacts/tokens-raw/atlassian-dark-increased-contrast.d.ts +133 -0
  120. package/dist/types/artifacts/tokens-raw/atlassian-light-increased-contrast.d.ts +113 -0
  121. package/dist/types/constants.d.ts +1 -0
  122. package/dist/types/enable-global-theme.d.ts +1 -1
  123. package/dist/types/get-ssr-auto-script.d.ts +1 -1
  124. package/dist/types/get-theme-html-attrs.d.ts +1 -1
  125. package/dist/types/set-global-theme.d.ts +2 -1
  126. package/dist/types/theme-config.d.ts +29 -6
  127. package/dist/types/tokens/atlassian-dark-increased-contrast/color/accent.d.ts +4 -0
  128. package/dist/types/tokens/atlassian-dark-increased-contrast/color/background.d.ts +4 -0
  129. package/dist/types/tokens/atlassian-dark-increased-contrast/color/border.d.ts +4 -0
  130. package/dist/types/tokens/atlassian-dark-increased-contrast/color/chart.d.ts +4 -0
  131. package/dist/types/tokens/atlassian-dark-increased-contrast/color/icon.d.ts +4 -0
  132. package/dist/types/tokens/atlassian-dark-increased-contrast/color/interaction.d.ts +4 -0
  133. package/dist/types/tokens/atlassian-dark-increased-contrast/color/skeleton.d.ts +4 -0
  134. package/dist/types/tokens/atlassian-dark-increased-contrast/color/text.d.ts +4 -0
  135. package/dist/types/tokens/atlassian-dark-increased-contrast/elevation/shadow.d.ts +4 -0
  136. package/dist/types/tokens/atlassian-light-increased-contrast/color/accent.d.ts +4 -0
  137. package/dist/types/tokens/atlassian-light-increased-contrast/color/background.d.ts +4 -0
  138. package/dist/types/tokens/atlassian-light-increased-contrast/color/border.d.ts +4 -0
  139. package/dist/types/tokens/atlassian-light-increased-contrast/color/chart.d.ts +4 -0
  140. package/dist/types/tokens/atlassian-light-increased-contrast/color/icon.d.ts +4 -0
  141. package/dist/types/tokens/atlassian-light-increased-contrast/color/interaction.d.ts +4 -0
  142. package/dist/types/tokens/atlassian-light-increased-contrast/color/skeleton.d.ts +4 -0
  143. package/dist/types/tokens/atlassian-light-increased-contrast/color/text.d.ts +4 -0
  144. package/dist/types/tokens/atlassian-light-increased-contrast/elevation/shadow.d.ts +4 -0
  145. package/dist/types/tokens/atlassian-light-increased-contrast/elevation/surface.d.ts +4 -0
  146. package/dist/types/utils/configure-page.d.ts +1 -1
  147. package/dist/types/utils/contrast-mode-listeners.d.ts +13 -0
  148. package/dist/types/utils/get-increased-contrast-theme.d.ts +5 -0
  149. package/dist/types/utils/theme-loading.d.ts +1 -0
  150. package/dist/types-ts4.5/artifacts/theme-import-map.d.ts +1 -1
  151. package/dist/types-ts4.5/artifacts/themes/atlassian-dark-increased-contrast.d.ts +7 -0
  152. package/dist/types-ts4.5/artifacts/themes/atlassian-light-increased-contrast.d.ts +7 -0
  153. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-dark-increased-contrast.d.ts +133 -0
  154. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-light-increased-contrast.d.ts +113 -0
  155. package/dist/types-ts4.5/constants.d.ts +1 -0
  156. package/dist/types-ts4.5/enable-global-theme.d.ts +1 -1
  157. package/dist/types-ts4.5/get-ssr-auto-script.d.ts +1 -1
  158. package/dist/types-ts4.5/get-theme-html-attrs.d.ts +1 -1
  159. package/dist/types-ts4.5/set-global-theme.d.ts +2 -1
  160. package/dist/types-ts4.5/theme-config.d.ts +35 -4
  161. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/accent.d.ts +4 -0
  162. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/background.d.ts +4 -0
  163. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/border.d.ts +4 -0
  164. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/chart.d.ts +4 -0
  165. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/icon.d.ts +4 -0
  166. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/interaction.d.ts +4 -0
  167. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/skeleton.d.ts +4 -0
  168. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/color/text.d.ts +4 -0
  169. package/dist/types-ts4.5/tokens/atlassian-dark-increased-contrast/elevation/shadow.d.ts +4 -0
  170. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/accent.d.ts +4 -0
  171. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/background.d.ts +4 -0
  172. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/border.d.ts +4 -0
  173. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/chart.d.ts +4 -0
  174. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/icon.d.ts +4 -0
  175. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/interaction.d.ts +4 -0
  176. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/skeleton.d.ts +4 -0
  177. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/color/text.d.ts +4 -0
  178. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/elevation/shadow.d.ts +4 -0
  179. package/dist/types-ts4.5/tokens/atlassian-light-increased-contrast/elevation/surface.d.ts +4 -0
  180. package/dist/types-ts4.5/utils/configure-page.d.ts +1 -1
  181. package/dist/types-ts4.5/utils/contrast-mode-listeners.d.ts +13 -0
  182. package/dist/types-ts4.5/utils/get-increased-contrast-theme.d.ts +5 -0
  183. package/dist/types-ts4.5/utils/theme-loading.d.ts +1 -0
  184. package/figma/atlassian-dark-increased-contrast.json +3542 -0
  185. package/figma/atlassian-light-increased-contrast.json +3523 -0
  186. package/package.json +4 -2
  187. package/report.api.md +38 -6
  188. package/tmp/api-report-tmp.d.ts +19 -12
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TOKEN_NOT_FOUND_CSS_VAR = exports.THEME_DATA_ATTRIBUTE = exports.DEFAULT_THEME = exports.CUSTOM_THEME_ATTRIBUTE = exports.CURRENT_SURFACE_CSS_VAR = exports.CSS_VAR_FULL = exports.CSS_PREFIX = exports.COLOR_MODE_ATTRIBUTE = void 0;
6
+ exports.TOKEN_NOT_FOUND_CSS_VAR = exports.THEME_DATA_ATTRIBUTE = exports.DEFAULT_THEME = exports.CUSTOM_THEME_ATTRIBUTE = exports.CURRENT_SURFACE_CSS_VAR = exports.CSS_VAR_FULL = exports.CSS_PREFIX = exports.CONTRAST_MODE_ATTRIBUTE = exports.COLOR_MODE_ATTRIBUTE = void 0;
7
7
  var THEME_DATA_ATTRIBUTE = exports.THEME_DATA_ATTRIBUTE = 'data-theme';
8
8
  var COLOR_MODE_ATTRIBUTE = exports.COLOR_MODE_ATTRIBUTE = 'data-color-mode';
9
+ var CONTRAST_MODE_ATTRIBUTE = exports.CONTRAST_MODE_ATTRIBUTE = 'data-contrast-mode';
9
10
  var CUSTOM_THEME_ATTRIBUTE = exports.CUSTOM_THEME_ATTRIBUTE = 'data-custom-theme';
10
11
  var DEFAULT_THEME = exports.DEFAULT_THEME = 'light';
11
12
  var CSS_PREFIX = exports.CSS_PREFIX = 'ds';
@@ -33,6 +33,8 @@ var enableGlobalTheme = function enableGlobalTheme() {
33
33
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
34
34
  _ref$colorMode = _ref.colorMode,
35
35
  colorMode = _ref$colorMode === void 0 ? _themeConfig.themeStateDefaults['colorMode'] : _ref$colorMode,
36
+ _ref$contrastMode = _ref.contrastMode,
37
+ contrastMode = _ref$contrastMode === void 0 ? _themeConfig.themeStateDefaults['contrastMode'] : _ref$contrastMode,
36
38
  _ref$dark = _ref.dark,
37
39
  dark = _ref$dark === void 0 ? _themeConfig.themeStateDefaults['dark'] : _ref$dark,
38
40
  _ref$light = _ref.light,
@@ -48,6 +50,7 @@ var enableGlobalTheme = function enableGlobalTheme() {
48
50
  var themeLoader = arguments.length > 1 ? arguments[1] : undefined;
49
51
  var themeState = {
50
52
  colorMode: colorMode,
53
+ contrastMode: contrastMode,
51
54
  dark: dark,
52
55
  light: light,
53
56
  shape: shape,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
7
8
  var _constants = require("./constants");
8
9
  var _themeLoading = require("./utils/theme-loading");
9
10
  /**
@@ -14,7 +15,12 @@ var _themeLoading = require("./utils/theme-loading");
14
15
  *
15
16
  * @returns {string} A string to be added to the innerHTML of a script tag in the document head
16
17
  */
17
- var getSSRAutoScript = function getSSRAutoScript(colorMode) {
18
- return colorMode === 'auto' ? "(\n () => {\n try {\n const mql = window.matchMedia('".concat(_themeLoading.darkModeMediaQuery, "');\n const colorMode = mql.matches ? 'dark' : 'light';\n document.documentElement.setAttribute('").concat(_constants.COLOR_MODE_ATTRIBUTE, "', colorMode);\n } catch (e) {}\n }\n)()") : undefined;
18
+ var getSSRAutoScript = function getSSRAutoScript(colorMode, contrastMode) {
19
+ if (colorMode !== 'auto' && contrastMode !== 'auto') {
20
+ return undefined;
21
+ }
22
+ var setColorMode = colorMode === 'auto' ? "\n try {\n const darkModeMql = window.matchMedia('".concat(_themeLoading.darkModeMediaQuery, "');\n const colorMode = darkModeMql.matches ? 'dark' : 'light';\n document.documentElement.setAttribute('").concat(_constants.COLOR_MODE_ATTRIBUTE, "', colorMode);\n } catch (e) {}") : '';
23
+ var setContrastMode = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.increased-contrast-themes') && contrastMode === 'auto' ? "\n try {\n const contrastModeMql = window.matchMedia('".concat(_themeLoading.moreContrastMediaQuery, "');\n const contrastMode = contrastModeMql.matches ? 'more' : 'no-preference';\n document.documentElement.setAttribute('").concat(_constants.CONTRAST_MODE_ATTRIBUTE, "', contrastMode);\n } catch (e) {}") : '';
24
+ return "(() => {".concat(setColorMode).concat(setContrastMode, "})()");
19
25
  };
20
26
  var _default = exports.default = getSSRAutoScript;
@@ -6,12 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
10
  var _constants = require("./constants");
10
11
  var _themeConfig = require("./theme-config");
11
12
  var _themeStateTransformer = require("./theme-state-transformer");
12
13
  var _colorUtils = require("./utils/color-utils");
13
14
  var _hash = require("./utils/hash");
15
+ 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; }
16
+ 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) { (0, _defineProperty2.default)(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; }
14
17
  var defaultColorMode = 'light';
18
+ var defaultContrastMode = 'no-preference';
15
19
 
16
20
  /**
17
21
  * Server-side rendering utility. Generates the valid HTML attributes for a given theme.
@@ -36,6 +40,8 @@ var getThemeHtmlAttrs = function getThemeHtmlAttrs() {
36
40
  dark = _ref$dark === void 0 ? _themeConfig.themeStateDefaults['dark'] : _ref$dark,
37
41
  _ref$light = _ref.light,
38
42
  light = _ref$light === void 0 ? _themeConfig.themeStateDefaults['light'] : _ref$light,
43
+ _ref$contrastMode = _ref.contrastMode,
44
+ contrastMode = _ref$contrastMode === void 0 ? _themeConfig.themeStateDefaults['contrastMode'] : _ref$contrastMode,
39
45
  _ref$shape = _ref.shape,
40
46
  shape = _ref$shape === void 0 ? _themeConfig.themeStateDefaults['shape'] : _ref$shape,
41
47
  _ref$spacing = _ref.spacing,
@@ -52,6 +58,9 @@ var getThemeHtmlAttrs = function getThemeHtmlAttrs() {
52
58
  typography: typography
53
59
  });
54
60
  var result = (_result = {}, (0, _defineProperty2.default)(_result, _constants.THEME_DATA_ATTRIBUTE, themeAttribute), (0, _defineProperty2.default)(_result, _constants.COLOR_MODE_ATTRIBUTE, colorMode === 'auto' ? defaultColorMode : colorMode), _result);
61
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.increased-contrast-themes')) {
62
+ result = _objectSpread(_objectSpread({}, result), {}, (0, _defineProperty2.default)({}, _constants.CONTRAST_MODE_ATTRIBUTE, contrastMode === 'auto' ? defaultContrastMode : contrastMode));
63
+ }
55
64
  if (UNSAFE_themeOptions && (0, _colorUtils.isValidBrandHex)(UNSAFE_themeOptions.brandColor)) {
56
65
  var optionString = JSON.stringify(UNSAFE_themeOptions);
57
66
  var uniqueId = (0, _hash.hash)(optionString);
@@ -9,6 +9,7 @@ exports.default = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _themeConfig = require("./theme-config");
13
14
  var _colorUtils = require("./utils/color-utils");
14
15
  var _getThemePreferences = require("./utils/get-theme-preferences");
@@ -40,9 +41,17 @@ var getThemeStyles = /*#__PURE__*/function () {
40
41
  themeOverridePreferences = [];
41
42
  if (preferences === 'all') {
42
43
  themePreferences = _themeConfig.themeIdsWithOverrides;
44
+
45
+ // CLEANUP: Remove
46
+ if (!(0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.increased-contrast-themes')) {
47
+ themePreferences = themePreferences.filter(function (n) {
48
+ return n !== 'light-increased-contrast' && n !== 'dark-increased-contrast';
49
+ });
50
+ }
43
51
  } else {
44
52
  themeState = {
45
53
  colorMode: (preferences === null || preferences === void 0 ? void 0 : preferences.colorMode) || _themeConfig.themeStateDefaults['colorMode'],
54
+ contrastMode: (preferences === null || preferences === void 0 ? void 0 : preferences.contrastMode) || _themeConfig.themeStateDefaults['contrastMode'],
46
55
  dark: (preferences === null || preferences === void 0 ? void 0 : preferences.dark) || _themeConfig.themeStateDefaults['dark'],
47
56
  light: (preferences === null || preferences === void 0 ? void 0 : preferences.light) || _themeConfig.themeStateDefaults['light'],
48
57
  shape: (preferences === null || preferences === void 0 ? void 0 : preferences.shape) || _themeConfig.themeStateDefaults['shape'],
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  var _warnOnce = _interopRequireDefault(require("@atlaskit/ds-lib/warn-once"));
9
9
  var _tokenNames = _interopRequireDefault(require("./artifacts/token-names"));
10
10
  var name = "@atlaskit/tokens";
11
- var version = "1.25.1";
11
+ var version = "0.0.0-development";
12
12
  /**
13
13
  * Takes a dot-separated token name and and an optional fallback, and returns the current computed CSS value for the
14
14
  * resulting CSS Custom Property.
@@ -9,7 +9,7 @@ var _warnOnce = _interopRequireDefault(require("@atlaskit/ds-lib/warn-once"));
9
9
  var _tokenNames = _interopRequireDefault(require("./artifacts/token-names"));
10
10
  var _constants = require("./constants");
11
11
  var name = "@atlaskit/tokens";
12
- var version = "1.25.1";
12
+ var version = "0.0.0-development";
13
13
  /**
14
14
  * Takes a dot-separated token name and an optional fallback, and returns the CSS custom property for the corresponding token.
15
15
  * This should be used to implement design decisions throughout your application.
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _themeConfig = require("./theme-config");
12
13
  var _colorUtils = require("./utils/color-utils");
13
14
  var _configurePage = _interopRequireDefault(require("./utils/configure-page"));
@@ -24,6 +25,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
25
  *
25
26
  * @param {Object<string, string>} themeState The themes and color mode that should be applied.
26
27
  * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.
28
+ * @param {string} themeState.contrastMode The contrast mode theme to be applied. If set to `auto`, the theme applied will be determined by the OS setting.set to `auto`, the theme applied will be determined by the OS setting.
27
29
  * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.
28
30
  * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.
29
31
  * @param {string} themeState.shape The shape theme to be applied.
@@ -44,6 +46,8 @@ var setGlobalTheme = /*#__PURE__*/function () {
44
46
  var _ref2,
45
47
  _ref2$colorMode,
46
48
  colorMode,
49
+ _ref2$contrastMode,
50
+ contrastMode,
47
51
  _ref2$dark,
48
52
  dark,
49
53
  _ref2$light,
@@ -72,10 +76,21 @@ var setGlobalTheme = /*#__PURE__*/function () {
72
76
  return _regenerator.default.wrap(function _callee3$(_context3) {
73
77
  while (1) switch (_context3.prev = _context3.next) {
74
78
  case 0:
75
- _ref2 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref2$colorMode = _ref2.colorMode, colorMode = _ref2$colorMode === void 0 ? _themeConfig.themeStateDefaults['colorMode'] : _ref2$colorMode, _ref2$dark = _ref2.dark, dark = _ref2$dark === void 0 ? _themeConfig.themeStateDefaults['dark'] : _ref2$dark, _ref2$light = _ref2.light, light = _ref2$light === void 0 ? _themeConfig.themeStateDefaults['light'] : _ref2$light, _ref2$shape = _ref2.shape, shape = _ref2$shape === void 0 ? _themeConfig.themeStateDefaults['shape'] : _ref2$shape, _ref2$spacing = _ref2.spacing, spacing = _ref2$spacing === void 0 ? _themeConfig.themeStateDefaults['spacing'] : _ref2$spacing, _ref2$typography = _ref2.typography, typography = _ref2$typography === void 0 ? _themeConfig.themeStateDefaults['typography'] : _ref2$typography, _ref2$UNSAFE_themeOpt = _ref2.UNSAFE_themeOptions, UNSAFE_themeOptions = _ref2$UNSAFE_themeOpt === void 0 ? _themeConfig.themeStateDefaults['UNSAFE_themeOptions'] : _ref2$UNSAFE_themeOpt;
79
+ _ref2 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref2$colorMode = _ref2.colorMode, colorMode = _ref2$colorMode === void 0 ? _themeConfig.themeStateDefaults['colorMode'] : _ref2$colorMode, _ref2$contrastMode = _ref2.contrastMode, contrastMode = _ref2$contrastMode === void 0 ? _themeConfig.themeStateDefaults['contrastMode'] : _ref2$contrastMode, _ref2$dark = _ref2.dark, dark = _ref2$dark === void 0 ? _themeConfig.themeStateDefaults['dark'] : _ref2$dark, _ref2$light = _ref2.light, light = _ref2$light === void 0 ? _themeConfig.themeStateDefaults['light'] : _ref2$light, _ref2$shape = _ref2.shape, shape = _ref2$shape === void 0 ? _themeConfig.themeStateDefaults['shape'] : _ref2$shape, _ref2$spacing = _ref2.spacing, spacing = _ref2$spacing === void 0 ? _themeConfig.themeStateDefaults['spacing'] : _ref2$spacing, _ref2$typography = _ref2.typography, typography = _ref2$typography === void 0 ? _themeConfig.themeStateDefaults['typography'] : _ref2$typography, _ref2$UNSAFE_themeOpt = _ref2.UNSAFE_themeOptions, UNSAFE_themeOptions = _ref2$UNSAFE_themeOpt === void 0 ? _themeConfig.themeStateDefaults['UNSAFE_themeOptions'] : _ref2$UNSAFE_themeOpt;
76
80
  themeLoader = _args3.length > 1 ? _args3[1] : undefined;
81
+ // CLEANUP: Remove. This blocks application of increased contrast themes
82
+ // without the feature flag enabled.
83
+ if (!(0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.increased-contrast-themes')) {
84
+ if (light === 'light-increased-contrast') {
85
+ light = 'light';
86
+ }
87
+ if (dark === 'dark-increased-contrast') {
88
+ dark = 'dark';
89
+ }
90
+ }
77
91
  themeState = {
78
92
  colorMode: colorMode,
93
+ contrastMode: contrastMode,
79
94
  dark: dark,
80
95
  light: light,
81
96
  shape: shape,
@@ -136,44 +151,44 @@ var setGlobalTheme = /*#__PURE__*/function () {
136
151
  }))());
137
152
  }
138
153
  }
139
- _context3.next = 9;
154
+ _context3.next = 10;
140
155
  return Promise.all(loadingTasks);
141
- case 9:
156
+ case 10:
142
157
  // Load override themes after standard themes
143
158
  themeOverridePreferences = (0, _getThemePreferences.getThemeOverridePreferences)(themeState);
144
159
  _iterator = _createForOfIteratorHelper(themeOverridePreferences);
145
- _context3.prev = 11;
160
+ _context3.prev = 12;
146
161
  _iterator.s();
147
- case 13:
162
+ case 14:
148
163
  if ((_step = _iterator.n()).done) {
149
- _context3.next = 19;
164
+ _context3.next = 20;
150
165
  break;
151
166
  }
152
167
  themeId = _step.value;
153
- _context3.next = 17;
168
+ _context3.next = 18;
154
169
  return loadingStrategy(themeId);
155
- case 17:
156
- _context3.next = 13;
170
+ case 18:
171
+ _context3.next = 14;
157
172
  break;
158
- case 19:
159
- _context3.next = 24;
173
+ case 20:
174
+ _context3.next = 25;
160
175
  break;
161
- case 21:
162
- _context3.prev = 21;
163
- _context3.t0 = _context3["catch"](11);
176
+ case 22:
177
+ _context3.prev = 22;
178
+ _context3.t0 = _context3["catch"](12);
164
179
  _iterator.e(_context3.t0);
165
- case 24:
166
- _context3.prev = 24;
180
+ case 25:
181
+ _context3.prev = 25;
167
182
  _iterator.f();
168
- return _context3.finish(24);
169
- case 27:
183
+ return _context3.finish(25);
184
+ case 28:
170
185
  autoUnbind = (0, _configurePage.default)(themeState);
171
186
  return _context3.abrupt("return", autoUnbind);
172
- case 29:
187
+ case 30:
173
188
  case "end":
174
189
  return _context3.stop();
175
190
  }
176
- }, _callee3, null, [[11, 21, 24, 27]]);
191
+ }, _callee3, null, [[12, 22, 25, 28]]);
177
192
  }));
178
193
  return function setGlobalTheme() {
179
194
  return _ref.apply(this, arguments);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.themeStateDefaults = exports.themeOverrideIds = exports.themeIdsWithOverrides = exports.themeIds = exports.themeColorModes = exports.default = void 0;
6
+ exports.themeStateDefaults = exports.themeOverrideIds = exports.themeIdsWithOverrides = exports.themeIds = exports.themeContrastModes = exports.themeColorModes = exports.default = void 0;
7
7
  /**
8
8
  * This file contains the source of truth for themes and all associated meta data.
9
9
  */
@@ -34,13 +34,17 @@ exports.themeStateDefaults = exports.themeOverrideIds = exports.themeIdsWithOver
34
34
  * The idea is there may exist many color themes, but every theme must either fit into light or dark.
35
35
  */
36
36
  var themeColorModes = exports.themeColorModes = ['light', 'dark', 'auto'];
37
+ /**
38
+ * Contrast preferences: The system contrast preference
39
+ */
40
+ var themeContrastModes = exports.themeContrastModes = ['more', 'no-preference', 'auto'];
37
41
  /**
38
42
  * Theme ids: The value that will be mounted to the DOM as a data attr
39
43
  * For example: `data-theme="light:light dark:dark spacing:spacing"
40
44
  *
41
45
  * These ids must be kebab case
42
46
  */
43
- var themeIds = exports.themeIds = ['light', 'dark', 'legacy-light', 'legacy-dark', 'spacing', 'typography', 'shape', 'typography-adg3', 'typography-minor3'];
47
+ var themeIds = exports.themeIds = ['light-increased-contrast', 'light', 'dark', 'dark-increased-contrast', 'legacy-light', 'legacy-dark', 'spacing', 'typography', 'shape', 'typography-adg3', 'typography-minor3'];
44
48
  /**
45
49
  * Theme override ids: the equivalent of themeIds for theme overrides.
46
50
  * Theme overrides are temporary and there may not be any defined at times.
@@ -75,6 +79,17 @@ var themeConfig = {
75
79
  mode: 'light'
76
80
  }
77
81
  },
82
+ 'atlassian-light-increased-contrast': {
83
+ id: 'light-increased-contrast',
84
+ displayName: 'Light Theme (increased contrast)',
85
+ palette: 'defaultPalette',
86
+ attributes: {
87
+ type: 'color',
88
+ mode: 'light'
89
+ },
90
+ extends: 'light',
91
+ increasesContrastFor: 'light'
92
+ },
78
93
  'atlassian-dark': {
79
94
  id: 'dark',
80
95
  displayName: 'Dark Theme',
@@ -84,6 +99,17 @@ var themeConfig = {
84
99
  mode: 'dark'
85
100
  }
86
101
  },
102
+ 'atlassian-dark-increased-contrast': {
103
+ id: 'dark-increased-contrast',
104
+ displayName: 'Dark Theme (increased contrast)',
105
+ palette: 'defaultPalette',
106
+ attributes: {
107
+ type: 'color',
108
+ mode: 'dark'
109
+ },
110
+ extends: 'dark',
111
+ increasesContrastFor: 'dark'
112
+ },
87
113
  'atlassian-legacy-light': {
88
114
  id: 'legacy-light',
89
115
  displayName: 'Light Theme (legacy)',
@@ -201,6 +227,7 @@ var themeConfig = {
201
227
  */
202
228
  var themeStateDefaults = exports.themeStateDefaults = {
203
229
  colorMode: 'auto',
230
+ contrastMode: 'auto',
204
231
  dark: 'dark',
205
232
  light: 'light',
206
233
  shape: undefined,
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var color = {
8
+ color: {
9
+ text: {
10
+ accent: {
11
+ blue: {
12
+ '[default]': {
13
+ value: 'Blue200'
14
+ },
15
+ bolder: {
16
+ value: 'Blue100'
17
+ }
18
+ },
19
+ red: {
20
+ '[default]': {
21
+ value: 'Red200'
22
+ },
23
+ bolder: {
24
+ value: 'Red100'
25
+ }
26
+ },
27
+ orange: {
28
+ '[default]': {
29
+ value: 'Orange200'
30
+ },
31
+ bolder: {
32
+ value: 'Orange100'
33
+ }
34
+ },
35
+ yellow: {
36
+ '[default]': {
37
+ value: 'Yellow200'
38
+ },
39
+ bolder: {
40
+ value: 'Yellow100'
41
+ }
42
+ },
43
+ green: {
44
+ '[default]': {
45
+ value: 'Green200'
46
+ },
47
+ bolder: {
48
+ value: 'Green100'
49
+ }
50
+ },
51
+ purple: {
52
+ '[default]': {
53
+ value: 'Purple200'
54
+ },
55
+ bolder: {
56
+ value: 'Purple100'
57
+ }
58
+ },
59
+ teal: {
60
+ '[default]': {
61
+ value: 'Teal200'
62
+ },
63
+ bolder: {
64
+ value: 'Teal100'
65
+ }
66
+ },
67
+ magenta: {
68
+ '[default]': {
69
+ value: 'Magenta200'
70
+ },
71
+ bolder: {
72
+ value: 'Magenta100'
73
+ }
74
+ },
75
+ lime: {
76
+ '[default]': {
77
+ value: 'Lime200'
78
+ },
79
+ bolder: {
80
+ value: 'Lime100'
81
+ }
82
+ },
83
+ gray: {
84
+ '[default]': {
85
+ value: 'DarkNeutral900'
86
+ },
87
+ bolder: {
88
+ value: 'DarkNeutral1100'
89
+ }
90
+ }
91
+ }
92
+ },
93
+ icon: {
94
+ accent: {
95
+ blue: {
96
+ value: 'Blue300'
97
+ },
98
+ red: {
99
+ value: 'Red300'
100
+ },
101
+ orange: {
102
+ value: 'Orange300'
103
+ },
104
+ yellow: {
105
+ value: 'Yellow300'
106
+ },
107
+ green: {
108
+ value: 'Green300'
109
+ },
110
+ purple: {
111
+ value: 'Purple300'
112
+ },
113
+ teal: {
114
+ value: 'Teal300'
115
+ },
116
+ magenta: {
117
+ value: 'Magenta300'
118
+ },
119
+ lime: {
120
+ value: 'Lime300'
121
+ },
122
+ gray: {
123
+ value: 'DarkNeutral800'
124
+ }
125
+ }
126
+ },
127
+ border: {
128
+ accent: {
129
+ blue: {
130
+ value: 'Blue300'
131
+ },
132
+ red: {
133
+ value: 'Red300'
134
+ },
135
+ orange: {
136
+ value: 'Orange300'
137
+ },
138
+ yellow: {
139
+ value: 'Yellow300'
140
+ },
141
+ green: {
142
+ value: 'Green300'
143
+ },
144
+ purple: {
145
+ value: 'Purple300'
146
+ },
147
+ teal: {
148
+ value: 'Teal300'
149
+ },
150
+ magenta: {
151
+ value: 'Magenta300'
152
+ },
153
+ lime: {
154
+ value: 'Lime300'
155
+ },
156
+ gray: {
157
+ value: 'DarkNeutral800'
158
+ }
159
+ }
160
+ },
161
+ background: {
162
+ accent: {
163
+ red: {
164
+ bolder: {
165
+ '[default]': {
166
+ value: 'Red200'
167
+ },
168
+ hovered: {
169
+ value: 'Red100'
170
+ }
171
+ }
172
+ },
173
+ orange: {
174
+ bolder: {
175
+ '[default]': {
176
+ value: 'Orange200'
177
+ },
178
+ hovered: {
179
+ value: 'Orange100'
180
+ }
181
+ }
182
+ },
183
+ yellow: {
184
+ bolder: {
185
+ '[default]': {
186
+ value: 'Yellow200'
187
+ },
188
+ hovered: {
189
+ value: 'Yellow100'
190
+ }
191
+ }
192
+ },
193
+ green: {
194
+ bolder: {
195
+ '[default]': {
196
+ value: 'Green200'
197
+ },
198
+ hovered: {
199
+ value: 'Green100'
200
+ }
201
+ }
202
+ },
203
+ purple: {
204
+ bolder: {
205
+ '[default]': {
206
+ value: 'Purple200'
207
+ },
208
+ hovered: {
209
+ value: 'Purple100'
210
+ }
211
+ }
212
+ },
213
+ teal: {
214
+ bolder: {
215
+ '[default]': {
216
+ value: 'Teal200'
217
+ },
218
+ hovered: {
219
+ value: 'Teal100'
220
+ }
221
+ }
222
+ },
223
+ magenta: {
224
+ bolder: {
225
+ '[default]': {
226
+ value: 'Magenta200'
227
+ },
228
+ hovered: {
229
+ value: 'Magenta100'
230
+ }
231
+ }
232
+ },
233
+ lime: {
234
+ bolder: {
235
+ '[default]': {
236
+ value: 'Lime200'
237
+ },
238
+ hovered: {
239
+ value: 'Lime100'
240
+ }
241
+ }
242
+ },
243
+ gray: {
244
+ subtle: {
245
+ '[default]': {
246
+ value: 'DarkNeutral400'
247
+ },
248
+ hovered: {
249
+ value: 'DarkNeutral300'
250
+ },
251
+ pressed: {
252
+ value: 'DarkNeutral200'
253
+ }
254
+ },
255
+ bolder: {
256
+ '[default]': {
257
+ value: 'DarkNeutral800'
258
+ },
259
+ hovered: {
260
+ value: 'DarkNeutral900'
261
+ },
262
+ pressed: {
263
+ value: 'DarkNeutral1000'
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
269
+ }
270
+ };
271
+ var _default = exports.default = color;