@atlaskit/tokens 1.22.1 → 1.24.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 (147) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/custom-themes/package.json +17 -0
  3. package/dist/cjs/artifacts/generated-pairs.js +2 -2
  4. package/dist/cjs/artifacts/themes/atlassian-dark.js +2 -2
  5. package/dist/cjs/artifacts/themes/atlassian-legacy-dark.js +2 -2
  6. package/dist/cjs/artifacts/themes/atlassian-legacy-light.js +2 -2
  7. package/dist/cjs/artifacts/themes/atlassian-light.js +2 -2
  8. package/dist/cjs/artifacts/token-default-values.js +2 -1
  9. package/dist/cjs/artifacts/token-names.js +2 -1
  10. package/dist/cjs/artifacts/tokens-raw/atlassian-dark.js +23 -1
  11. package/dist/cjs/artifacts/tokens-raw/atlassian-legacy-dark.js +23 -1
  12. package/dist/cjs/artifacts/tokens-raw/atlassian-legacy-light.js +23 -1
  13. package/dist/cjs/artifacts/tokens-raw/atlassian-light.js +23 -1
  14. package/dist/cjs/constants.js +3 -1
  15. package/dist/cjs/custom-theme.js +45 -79
  16. package/dist/cjs/enable-global-theme.js +70 -0
  17. package/dist/cjs/entry-points/custom-themes.js +13 -0
  18. package/dist/cjs/get-token-value.js +1 -1
  19. package/dist/cjs/get-token.js +1 -1
  20. package/dist/cjs/index.js +7 -0
  21. package/dist/cjs/load-custom-theme-styles.js +45 -0
  22. package/dist/cjs/set-global-theme.js +50 -94
  23. package/dist/cjs/theme-config.js +5 -0
  24. package/dist/cjs/tokens/atlassian-dark/color/text.js +3 -0
  25. package/dist/cjs/tokens/atlassian-legacy-dark/color/text.js +3 -0
  26. package/dist/cjs/tokens/atlassian-legacy-light/color/text.js +3 -0
  27. package/dist/cjs/tokens/atlassian-light/color/text.js +3 -0
  28. package/dist/cjs/tokens/default/color/text.js +8 -0
  29. package/dist/cjs/utils/color-mode-listeners.js +66 -0
  30. package/dist/cjs/utils/configure-page.js +34 -0
  31. package/dist/es2019/artifacts/generated-pairs.js +2 -2
  32. package/dist/es2019/artifacts/themes/atlassian-dark.js +2 -1
  33. package/dist/es2019/artifacts/themes/atlassian-legacy-dark.js +2 -1
  34. package/dist/es2019/artifacts/themes/atlassian-legacy-light.js +2 -1
  35. package/dist/es2019/artifacts/themes/atlassian-light.js +2 -1
  36. package/dist/es2019/artifacts/token-default-values.js +2 -1
  37. package/dist/es2019/artifacts/token-names.js +2 -1
  38. package/dist/es2019/artifacts/tokens-raw/atlassian-dark.js +23 -1
  39. package/dist/es2019/artifacts/tokens-raw/atlassian-legacy-dark.js +23 -1
  40. package/dist/es2019/artifacts/tokens-raw/atlassian-legacy-light.js +23 -1
  41. package/dist/es2019/artifacts/tokens-raw/atlassian-light.js +23 -1
  42. package/dist/es2019/constants.js +1 -0
  43. package/dist/es2019/custom-theme.js +4 -4
  44. package/dist/es2019/enable-global-theme.js +53 -0
  45. package/dist/es2019/entry-points/custom-themes.js +1 -0
  46. package/dist/es2019/get-token-value.js +1 -1
  47. package/dist/es2019/get-token.js +1 -1
  48. package/dist/es2019/index.js +1 -0
  49. package/dist/es2019/load-custom-theme-styles.js +37 -0
  50. package/dist/es2019/set-global-theme.js +34 -65
  51. package/dist/es2019/theme-config.js +6 -0
  52. package/dist/es2019/tokens/atlassian-dark/color/text.js +3 -0
  53. package/dist/es2019/tokens/atlassian-legacy-dark/color/text.js +3 -0
  54. package/dist/es2019/tokens/atlassian-legacy-light/color/text.js +3 -0
  55. package/dist/es2019/tokens/atlassian-light/color/text.js +3 -0
  56. package/dist/es2019/tokens/default/color/text.js +8 -0
  57. package/dist/es2019/utils/color-mode-listeners.js +48 -0
  58. package/dist/es2019/utils/configure-page.js +22 -0
  59. package/dist/esm/artifacts/generated-pairs.js +2 -2
  60. package/dist/esm/artifacts/themes/atlassian-dark.js +2 -2
  61. package/dist/esm/artifacts/themes/atlassian-legacy-dark.js +2 -2
  62. package/dist/esm/artifacts/themes/atlassian-legacy-light.js +2 -2
  63. package/dist/esm/artifacts/themes/atlassian-light.js +2 -2
  64. package/dist/esm/artifacts/token-default-values.js +2 -1
  65. package/dist/esm/artifacts/token-names.js +2 -1
  66. package/dist/esm/artifacts/tokens-raw/atlassian-dark.js +23 -1
  67. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-dark.js +23 -1
  68. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-light.js +23 -1
  69. package/dist/esm/artifacts/tokens-raw/atlassian-light.js +23 -1
  70. package/dist/esm/constants.js +1 -0
  71. package/dist/esm/custom-theme.js +45 -78
  72. package/dist/esm/enable-global-theme.js +63 -0
  73. package/dist/esm/entry-points/custom-themes.js +1 -0
  74. package/dist/esm/get-token-value.js +1 -1
  75. package/dist/esm/get-token.js +1 -1
  76. package/dist/esm/index.js +1 -0
  77. package/dist/esm/load-custom-theme-styles.js +39 -0
  78. package/dist/esm/set-global-theme.js +49 -93
  79. package/dist/esm/theme-config.js +6 -0
  80. package/dist/esm/tokens/atlassian-dark/color/text.js +3 -0
  81. package/dist/esm/tokens/atlassian-legacy-dark/color/text.js +3 -0
  82. package/dist/esm/tokens/atlassian-legacy-light/color/text.js +3 -0
  83. package/dist/esm/tokens/atlassian-light/color/text.js +3 -0
  84. package/dist/esm/tokens/default/color/text.js +8 -0
  85. package/dist/esm/utils/color-mode-listeners.js +58 -0
  86. package/dist/esm/utils/configure-page.js +28 -0
  87. package/dist/types/artifacts/generated-pairs.d.ts +1 -1
  88. package/dist/types/artifacts/themes/atlassian-dark.d.ts +2 -2
  89. package/dist/types/artifacts/themes/atlassian-legacy-dark.d.ts +2 -2
  90. package/dist/types/artifacts/themes/atlassian-legacy-light.d.ts +2 -2
  91. package/dist/types/artifacts/themes/atlassian-light.d.ts +2 -2
  92. package/dist/types/artifacts/token-default-values.d.ts +2 -1
  93. package/dist/types/artifacts/token-names.d.ts +3 -1
  94. package/dist/types/artifacts/tokens-raw/atlassian-dark.d.ts +1 -1
  95. package/dist/types/artifacts/tokens-raw/atlassian-legacy-dark.d.ts +1 -1
  96. package/dist/types/artifacts/tokens-raw/atlassian-legacy-light.d.ts +1 -1
  97. package/dist/types/artifacts/tokens-raw/atlassian-light.d.ts +1 -1
  98. package/dist/types/artifacts/types-internal.d.ts +2 -2
  99. package/dist/types/artifacts/types.d.ts +2 -2
  100. package/dist/types/constants.d.ts +1 -0
  101. package/dist/types/custom-theme.d.ts +3 -3
  102. package/dist/types/enable-global-theme.d.ts +25 -0
  103. package/dist/types/entry-points/custom-themes.d.ts +1 -0
  104. package/dist/types/get-global-theme.d.ts +1 -1
  105. package/dist/types/index.d.ts +1 -0
  106. package/dist/types/load-custom-theme-styles.d.ts +17 -0
  107. package/dist/types/set-global-theme.d.ts +1 -4
  108. package/dist/types/theme-config.d.ts +7 -0
  109. package/dist/types/theme-mutation-observer.d.ts +1 -1
  110. package/dist/types/types.d.ts +1 -0
  111. package/dist/types/use-theme-observer.d.ts +1 -1
  112. package/dist/types/utils/color-mode-listeners.d.ts +13 -0
  113. package/dist/types/utils/configure-page.d.ts +6 -0
  114. package/dist/types-ts4.5/artifacts/generated-pairs.d.ts +1 -1
  115. package/dist/types-ts4.5/artifacts/themes/atlassian-dark.d.ts +2 -2
  116. package/dist/types-ts4.5/artifacts/themes/atlassian-legacy-dark.d.ts +2 -2
  117. package/dist/types-ts4.5/artifacts/themes/atlassian-legacy-light.d.ts +2 -2
  118. package/dist/types-ts4.5/artifacts/themes/atlassian-light.d.ts +2 -2
  119. package/dist/types-ts4.5/artifacts/token-default-values.d.ts +2 -1
  120. package/dist/types-ts4.5/artifacts/token-names.d.ts +3 -1
  121. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-dark.d.ts +1 -1
  122. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-legacy-dark.d.ts +1 -1
  123. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-legacy-light.d.ts +1 -1
  124. package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-light.d.ts +1 -1
  125. package/dist/types-ts4.5/artifacts/types-internal.d.ts +2 -2
  126. package/dist/types-ts4.5/artifacts/types.d.ts +2 -2
  127. package/dist/types-ts4.5/constants.d.ts +1 -0
  128. package/dist/types-ts4.5/custom-theme.d.ts +3 -3
  129. package/dist/types-ts4.5/enable-global-theme.d.ts +25 -0
  130. package/dist/types-ts4.5/entry-points/custom-themes.d.ts +1 -0
  131. package/dist/types-ts4.5/get-global-theme.d.ts +1 -1
  132. package/dist/types-ts4.5/index.d.ts +1 -0
  133. package/dist/types-ts4.5/load-custom-theme-styles.d.ts +17 -0
  134. package/dist/types-ts4.5/set-global-theme.d.ts +1 -4
  135. package/dist/types-ts4.5/theme-config.d.ts +7 -0
  136. package/dist/types-ts4.5/theme-mutation-observer.d.ts +1 -1
  137. package/dist/types-ts4.5/types.d.ts +1 -0
  138. package/dist/types-ts4.5/use-theme-observer.d.ts +1 -1
  139. package/dist/types-ts4.5/utils/color-mode-listeners.d.ts +13 -0
  140. package/dist/types-ts4.5/utils/configure-page.d.ts +6 -0
  141. package/figma/atlassian-dark.json +9 -0
  142. package/figma/atlassian-legacy-dark.json +9 -0
  143. package/figma/atlassian-legacy-light.json +9 -0
  144. package/figma/atlassian-light.json +9 -0
  145. package/package.json +3 -2
  146. package/report.api.md +20 -2
  147. package/tmp/api-report-tmp.d.ts +9 -4
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _bindEventListener = require("bind-event-listener");
12
+ var _constants = require("../constants");
13
+ var _themeLoading = require("./theme-loading");
14
+ var isMatchMediaAvailable = typeof window !== 'undefined' && 'matchMedia' in window;
15
+
16
+ /**
17
+ * Updates the current theme when the system theme changes. Should be bound
18
+ * to an event listener listening on the '(prefers-color-scheme: dark)' query
19
+ * @param e The event representing a change in system theme.
20
+ */
21
+ function checkNativeListener(e) {
22
+ var element = document.documentElement;
23
+ element.setAttribute(_constants.COLOR_MODE_ATTRIBUTE, e.matches ? 'dark' : 'light');
24
+ }
25
+ var darkModeMql = isMatchMediaAvailable && window.matchMedia(_themeLoading.darkModeMediaQuery);
26
+ var ColorModeObserver = /*#__PURE__*/function () {
27
+ function ColorModeObserver() {
28
+ (0, _classCallCheck2.default)(this, ColorModeObserver);
29
+ (0, _defineProperty2.default)(this, "unbindThemeChangeListener", null);
30
+ }
31
+ (0, _createClass2.default)(ColorModeObserver, [{
32
+ key: "getColorMode",
33
+ value: function getColorMode() {
34
+ if (!darkModeMql) {
35
+ return 'light';
36
+ }
37
+ return darkModeMql !== null && darkModeMql !== void 0 && darkModeMql.matches ? 'dark' : 'light';
38
+ }
39
+ }, {
40
+ key: "bind",
41
+ value: function bind() {
42
+ if (darkModeMql && this.unbindThemeChangeListener === null) {
43
+ this.unbindThemeChangeListener = (0, _bindEventListener.bind)(darkModeMql, {
44
+ type: 'change',
45
+ listener: checkNativeListener
46
+ });
47
+ }
48
+ }
49
+ }, {
50
+ key: "unbind",
51
+ value: function unbind() {
52
+ if (this.unbindThemeChangeListener) {
53
+ this.unbindThemeChangeListener();
54
+ this.unbindThemeChangeListener = null;
55
+ }
56
+ }
57
+ }]);
58
+ return ColorModeObserver;
59
+ }();
60
+ /**
61
+ * A singleton color mode observer - binds "auto" switching logic to a single `mediaQueryList` listener
62
+ * that can be unbound by any consumer when no longer needed.
63
+ */
64
+ var SingletonColorModeObserver = new ColorModeObserver();
65
+ var _default = SingletonColorModeObserver;
66
+ exports.default = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = configurePage;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _getThemeHtmlAttrs = _interopRequireDefault(require("../get-theme-html-attrs"));
10
+ var _colorModeListeners = _interopRequireDefault(require("./color-mode-listeners"));
11
+ /**
12
+ * Given ThemeState, sets appropriate html attributes on the documentElement,
13
+ * adds a listener to keep colorMode updated, and returns a function to unbind.
14
+ */
15
+ function configurePage(themeState) {
16
+ if (themeState.colorMode === 'auto') {
17
+ // Set colorMode based on the user preference
18
+ themeState.colorMode = _colorModeListeners.default.getColorMode();
19
+ // Bind a listener (if one doesn't already exist) to keep colorMode updated
20
+ _colorModeListeners.default.bind();
21
+ } else {
22
+ _colorModeListeners.default.unbind();
23
+ }
24
+ var themeAttributes = (0, _getThemeHtmlAttrs.default)(themeState);
25
+ Object.entries(themeAttributes).forEach(function (_ref) {
26
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
27
+ key = _ref2[0],
28
+ value = _ref2[1];
29
+ document.documentElement.setAttribute(key, value);
30
+ });
31
+ return function () {
32
+ return _colorModeListeners.default.unbind;
33
+ };
34
+ }