@atlaskit/tokens 0.13.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +305 -0
  2. package/README.md +7 -16
  3. package/dist/cjs/artifacts/palettes-raw/legacy-palette.js +0 -1
  4. package/dist/cjs/artifacts/palettes-raw/palette.js +0 -1
  5. package/dist/cjs/artifacts/palettes-raw/spacing-scale.js +0 -1
  6. package/dist/cjs/artifacts/palettes-raw/typography-palette.js +0 -1
  7. package/dist/cjs/artifacts/replacement-mapping.js +3 -611
  8. package/dist/cjs/artifacts/theme-import-map.js +56 -0
  9. package/dist/cjs/artifacts/themes/atlassian-dark.js +13 -0
  10. package/dist/cjs/artifacts/themes/atlassian-legacy-dark.js +13 -0
  11. package/dist/cjs/artifacts/themes/atlassian-legacy-light.js +13 -0
  12. package/dist/cjs/artifacts/themes/atlassian-light.js +13 -0
  13. package/dist/cjs/artifacts/themes/atlassian-spacing.js +13 -0
  14. package/dist/cjs/artifacts/themes/atlassian-typography.js +13 -0
  15. package/dist/cjs/artifacts/token-default-values.js +2 -170
  16. package/dist/cjs/artifacts/token-names.js +2 -170
  17. package/dist/cjs/artifacts/tokens-raw/atlassian-dark.js +1354 -4261
  18. package/dist/cjs/artifacts/tokens-raw/atlassian-legacy-dark.js +1352 -4259
  19. package/dist/cjs/artifacts/tokens-raw/atlassian-legacy-light.js +1396 -4283
  20. package/dist/cjs/artifacts/tokens-raw/atlassian-light.js +1365 -4252
  21. package/dist/cjs/artifacts/tokens-raw/atlassian-spacing.js +1 -1582
  22. package/dist/cjs/artifacts/tokens-raw/atlassian-typography.js +0 -1
  23. package/dist/cjs/artifacts/typescript/atlassian-dark-token-names.js +0 -1
  24. package/dist/cjs/artifacts/typescript/atlassian-light-token-names.js +0 -1
  25. package/dist/cjs/babel-plugin/index.js +0 -2
  26. package/dist/cjs/babel-plugin/plugin.js +17 -43
  27. package/dist/cjs/entry-points/babel-plugin.js +0 -2
  28. package/dist/cjs/entry-points/palettes-raw.js +0 -2
  29. package/dist/cjs/entry-points/rename-mapping.js +0 -2
  30. package/dist/cjs/entry-points/token-ids.js +0 -1
  31. package/dist/cjs/entry-points/token-names.js +0 -2
  32. package/dist/cjs/entry-points/tokens-raw.js +0 -5
  33. package/dist/cjs/get-global-theme.js +30 -0
  34. package/dist/cjs/get-token-value.js +1 -10
  35. package/dist/cjs/get-token.js +3 -13
  36. package/dist/cjs/index.js +46 -10
  37. package/dist/cjs/palettes/legacy-palette.js +1 -1
  38. package/dist/cjs/palettes/spacing-scale.js +1 -1
  39. package/dist/cjs/palettes/typography-palette.js +0 -5
  40. package/dist/cjs/set-global-theme.js +265 -39
  41. package/dist/cjs/theme-config.js +8 -23
  42. package/dist/cjs/{theme-change-observer.js → theme-mutation-observer.js} +5 -57
  43. package/dist/cjs/tokens/atlassian-dark/utility/utility.js +1 -4
  44. package/dist/cjs/tokens/atlassian-legacy-dark/utility/utility.js +1 -4
  45. package/dist/cjs/tokens/atlassian-legacy-light/utility/utility.js +1 -4
  46. package/dist/cjs/tokens/atlassian-light/utility/utility.js +1 -4
  47. package/dist/cjs/tokens/atlassian-spacing/spacing.js +0 -228
  48. package/dist/cjs/tokens/default/spacing/spacing.js +0 -621
  49. package/dist/cjs/tokens/default/utility/utility.js +1 -9
  50. package/dist/cjs/use-theme-observer.js +41 -0
  51. package/dist/cjs/utils/color-detection.js +23 -43
  52. package/dist/cjs/utils/theme-loading.js +69 -0
  53. package/dist/cjs/utils/theme-state-transformer.js +73 -0
  54. package/dist/cjs/utils/token-ids.js +4 -12
  55. package/dist/cjs/version.json +1 -1
  56. package/dist/es2019/artifacts/replacement-mapping.js +3 -610
  57. package/dist/es2019/artifacts/theme-import-map.js +27 -0
  58. package/dist/es2019/artifacts/themes/atlassian-dark.js +296 -0
  59. package/dist/es2019/artifacts/themes/atlassian-legacy-dark.js +296 -0
  60. package/dist/es2019/artifacts/themes/atlassian-legacy-light.js +296 -0
  61. package/dist/es2019/artifacts/themes/atlassian-light.js +296 -0
  62. package/dist/es2019/artifacts/themes/atlassian-spacing.js +23 -0
  63. package/{css/atlassian-typography.css → dist/es2019/artifacts/themes/atlassian-typography.js} +4 -2
  64. package/dist/es2019/artifacts/token-default-values.js +2 -169
  65. package/dist/es2019/artifacts/token-names.js +2 -169
  66. package/dist/es2019/artifacts/tokens-raw/atlassian-dark.js +1354 -4260
  67. package/dist/es2019/artifacts/tokens-raw/atlassian-legacy-dark.js +1349 -4255
  68. package/dist/es2019/artifacts/tokens-raw/atlassian-legacy-light.js +1397 -4283
  69. package/dist/es2019/artifacts/tokens-raw/atlassian-light.js +1360 -4246
  70. package/dist/es2019/artifacts/tokens-raw/atlassian-spacing.js +1 -1581
  71. package/dist/es2019/babel-plugin/plugin.js +17 -37
  72. package/dist/es2019/get-global-theme.js +20 -0
  73. package/dist/es2019/get-token-value.js +1 -6
  74. package/dist/es2019/get-token.js +3 -8
  75. package/dist/es2019/index.js +5 -2
  76. package/dist/es2019/palettes/legacy-palette.js +1 -0
  77. package/dist/es2019/palettes/spacing-scale.js +1 -0
  78. package/dist/es2019/palettes/typography-palette.js +2 -1
  79. package/dist/es2019/set-global-theme.js +162 -32
  80. package/dist/es2019/theme-config.js +5 -21
  81. package/dist/es2019/{theme-change-observer.js → theme-mutation-observer.js} +4 -37
  82. package/dist/es2019/tokens/atlassian-dark/utility/utility.js +1 -4
  83. package/dist/es2019/tokens/atlassian-legacy-dark/utility/utility.js +1 -4
  84. package/dist/es2019/tokens/atlassian-legacy-light/utility/utility.js +1 -4
  85. package/dist/es2019/tokens/atlassian-light/utility/utility.js +1 -4
  86. package/dist/es2019/tokens/atlassian-spacing/spacing.js +0 -227
  87. package/dist/es2019/tokens/default/spacing/spacing.js +0 -620
  88. package/dist/es2019/tokens/default/utility/utility.js +1 -9
  89. package/dist/es2019/use-theme-observer.js +26 -0
  90. package/dist/es2019/utils/color-detection.js +3 -5
  91. package/dist/es2019/utils/theme-loading.js +18 -0
  92. package/dist/es2019/utils/theme-state-transformer.js +47 -0
  93. package/dist/es2019/utils/token-ids.js +5 -4
  94. package/dist/es2019/version.json +1 -1
  95. package/dist/esm/artifacts/replacement-mapping.js +3 -610
  96. package/dist/esm/artifacts/theme-import-map.js +39 -0
  97. package/dist/esm/artifacts/themes/atlassian-dark.js +6 -0
  98. package/dist/esm/artifacts/themes/atlassian-legacy-dark.js +6 -0
  99. package/dist/esm/artifacts/themes/atlassian-legacy-light.js +6 -0
  100. package/dist/esm/artifacts/themes/atlassian-light.js +6 -0
  101. package/dist/esm/artifacts/themes/atlassian-spacing.js +6 -0
  102. package/dist/esm/artifacts/themes/atlassian-typography.js +6 -0
  103. package/dist/esm/artifacts/token-default-values.js +2 -169
  104. package/dist/esm/artifacts/token-names.js +2 -169
  105. package/dist/esm/artifacts/tokens-raw/atlassian-dark.js +1354 -4260
  106. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-dark.js +1349 -4255
  107. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-light.js +1397 -4283
  108. package/dist/esm/artifacts/tokens-raw/atlassian-light.js +1360 -4246
  109. package/dist/esm/artifacts/tokens-raw/atlassian-spacing.js +1 -1581
  110. package/dist/esm/babel-plugin/plugin.js +17 -35
  111. package/dist/esm/get-global-theme.js +22 -0
  112. package/dist/esm/get-token-value.js +1 -6
  113. package/dist/esm/get-token.js +3 -8
  114. package/dist/esm/index.js +5 -2
  115. package/dist/esm/palettes/legacy-palette.js +1 -0
  116. package/dist/esm/palettes/spacing-scale.js +1 -0
  117. package/dist/esm/palettes/typography-palette.js +0 -3
  118. package/dist/esm/set-global-theme.js +263 -37
  119. package/dist/esm/theme-config.js +5 -21
  120. package/dist/esm/{theme-change-observer.js → theme-mutation-observer.js} +4 -49
  121. package/dist/esm/tokens/atlassian-dark/utility/utility.js +1 -4
  122. package/dist/esm/tokens/atlassian-legacy-dark/utility/utility.js +1 -4
  123. package/dist/esm/tokens/atlassian-legacy-light/utility/utility.js +1 -4
  124. package/dist/esm/tokens/atlassian-light/utility/utility.js +1 -4
  125. package/dist/esm/tokens/atlassian-spacing/spacing.js +0 -227
  126. package/dist/esm/tokens/default/spacing/spacing.js +0 -620
  127. package/dist/esm/tokens/default/utility/utility.js +1 -9
  128. package/dist/esm/use-theme-observer.js +34 -0
  129. package/dist/esm/utils/color-detection.js +23 -30
  130. package/dist/esm/utils/theme-loading.js +60 -0
  131. package/dist/esm/utils/theme-state-transformer.js +64 -0
  132. package/dist/esm/utils/token-ids.js +5 -4
  133. package/dist/esm/version.json +1 -1
  134. package/dist/types/artifacts/replacement-mapping.d.ts +1 -1
  135. package/dist/types/artifacts/theme-import-map.d.ts +16 -0
  136. package/dist/types/artifacts/themes/atlassian-dark.d.ts +7 -0
  137. package/dist/types/artifacts/themes/atlassian-legacy-dark.d.ts +7 -0
  138. package/dist/types/artifacts/themes/atlassian-legacy-light.d.ts +7 -0
  139. package/dist/types/artifacts/themes/atlassian-light.d.ts +7 -0
  140. package/dist/types/artifacts/themes/atlassian-spacing.d.ts +7 -0
  141. package/dist/types/artifacts/themes/atlassian-typography.d.ts +7 -0
  142. package/dist/types/artifacts/token-default-values.d.ts +2 -169
  143. package/dist/types/artifacts/token-names.d.ts +3 -337
  144. package/dist/types/artifacts/tokens-raw/atlassian-dark.d.ts +1 -115
  145. package/dist/types/artifacts/tokens-raw/atlassian-legacy-dark.d.ts +1 -115
  146. package/dist/types/artifacts/tokens-raw/atlassian-legacy-light.d.ts +1 -91
  147. package/dist/types/artifacts/tokens-raw/atlassian-light.d.ts +1 -91
  148. package/dist/types/artifacts/tokens-raw/atlassian-spacing.d.ts +1 -89
  149. package/dist/types/artifacts/types-internal.d.ts +2 -2
  150. package/dist/types/artifacts/types.d.ts +2 -2
  151. package/dist/types/get-global-theme.d.ts +2 -0
  152. package/dist/types/index.d.ts +7 -3
  153. package/dist/types/set-global-theme.d.ts +63 -7
  154. package/dist/types/theme-config.d.ts +10 -7
  155. package/dist/types/{theme-change-observer.d.ts → theme-mutation-observer.d.ts} +2 -16
  156. package/dist/types/types.d.ts +1 -286
  157. package/dist/types/use-theme-observer.d.ts +15 -0
  158. package/dist/types/utils/theme-loading.d.ts +3 -0
  159. package/dist/types/utils/theme-state-transformer.d.ts +26 -0
  160. package/figma/atlassian-dark.json +1 -102
  161. package/figma/atlassian-legacy-dark.json +1 -102
  162. package/figma/atlassian-legacy-light.json +1 -102
  163. package/figma/atlassian-light.json +1 -102
  164. package/figma/atlassian-spacing.json +1 -761
  165. package/package.json +5 -8
  166. package/report.api.md +85 -351
  167. package/tmp/api-report-tmp.d.ts +58 -342
  168. package/css/atlassian-dark.css +0 -786
  169. package/css/atlassian-legacy-dark.css +0 -786
  170. package/css/atlassian-legacy-light.css +0 -786
  171. package/css/atlassian-light.css +0 -786
  172. package/css/atlassian-spacing.css +0 -87
  173. package/dist/cjs/artifacts/typescript/atlassian-light-token-default-values.js +0 -407
  174. package/dist/cjs/tokens/atlassian-dark/deprecated/deprecated.js +0 -435
  175. package/dist/cjs/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -532
  176. package/dist/cjs/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -523
  177. package/dist/cjs/tokens/atlassian-light/deprecated/deprecated.js +0 -421
  178. package/dist/cjs/tokens/default/deprecated/deprecated.js +0 -1186
  179. package/dist/es2019/artifacts/typescript/atlassian-light-token-default-values.js +0 -399
  180. package/dist/es2019/tokens/atlassian-dark/deprecated/deprecated.js +0 -428
  181. package/dist/es2019/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -525
  182. package/dist/es2019/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -516
  183. package/dist/es2019/tokens/atlassian-light/deprecated/deprecated.js +0 -414
  184. package/dist/es2019/tokens/default/deprecated/deprecated.js +0 -1217
  185. package/dist/esm/artifacts/typescript/atlassian-light-token-default-values.js +0 -399
  186. package/dist/esm/tokens/atlassian-dark/deprecated/deprecated.js +0 -428
  187. package/dist/esm/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -525
  188. package/dist/esm/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -516
  189. package/dist/esm/tokens/atlassian-light/deprecated/deprecated.js +0 -414
  190. package/dist/esm/tokens/default/deprecated/deprecated.js +0 -1179
  191. package/dist/types/artifacts/typescript/atlassian-light-token-default-values.d.ts +0 -399
  192. package/dist/types/tokens/atlassian-dark/deprecated/deprecated.d.ts +0 -4
  193. package/dist/types/tokens/atlassian-legacy-dark/deprecated/deprecated.d.ts +0 -4
  194. package/dist/types/tokens/atlassian-legacy-light/deprecated/deprecated.d.ts +0 -4
  195. package/dist/types/tokens/atlassian-light/deprecated/deprecated.d.ts +0 -4
  196. package/dist/types/tokens/default/deprecated/deprecated.d.ts +0 -4
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
10
9
  * @codegen <<SignedSource::7bcab6ad73069f6baf12316783222835>>
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
10
9
  * @codegen <<SignedSource::67b1320ced47c8c76310c2cf5f057502>>
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
10
9
  * @codegen <<SignedSource::67b1320ced47c8c76310c2cf5f057502>>
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _plugin.default;
12
11
  }
13
12
  });
14
-
15
13
  var _plugin = _interopRequireDefault(require("./plugin"));
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = plugin;
11
-
12
9
  var t = _interopRequireWildcard(require("@babel/types"));
13
-
14
10
  var _tokenDefaultValues = _interopRequireDefault(require("../artifacts/token-default-values"));
15
-
16
11
  var _tokenNames = _interopRequireDefault(require("../artifacts/token-names"));
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  function plugin() {
23
15
  return {
24
16
  visitor: {
@@ -29,49 +21,44 @@ function plugin() {
29
21
  function CallExpression(_x) {
30
22
  return _CallExpression.apply(this, arguments);
31
23
  }
32
-
33
24
  CallExpression.toString = function () {
34
25
  return _CallExpression.toString();
35
26
  };
36
-
37
27
  return CallExpression;
38
28
  }(function (path) {
39
29
  var tokenImportScope = getTokenImportScope(path);
40
-
41
30
  if (!tokenImportScope) {
42
31
  return;
43
- } // Check arguments have correct format
44
-
32
+ }
45
33
 
34
+ // Check arguments have correct format
46
35
  if (!path.node.arguments[0]) {
47
36
  throw new Error("token() requires at least one argument");
48
37
  } else if (!t.isStringLiteral(path.node.arguments[0])) {
49
38
  throw new Error("token() must have a string as the first argument");
50
39
  } else if (path.node.arguments.length > 2) {
51
40
  throw new Error("token() does not accept ".concat(path.node.arguments.length, " arguments"));
52
- } // Check the token exists
53
-
41
+ }
54
42
 
43
+ // Check the token exists
55
44
  var tokenName = path.node.arguments[0].value;
56
45
  var cssTokenValue = _tokenNames.default[tokenName];
57
-
58
46
  if (!cssTokenValue) {
59
47
  throw new Error("token '".concat(tokenName, "' does not exist"));
60
48
  }
49
+ var replacementNode;
61
50
 
62
- var replacementNode; // if no fallback is set, optionally find one from the default theme
63
-
51
+ // if no fallback is set, optionally find one from the default theme
64
52
  if (path.node.arguments.length < 2) {
65
53
  if (state.opts.shouldUseAutoFallback) {
66
54
  replacementNode = t.stringLiteral("var(".concat(cssTokenValue, ", ").concat(getDefaultFallback(tokenName), ")"));
67
55
  } else {
68
56
  replacementNode = t.stringLiteral("var(".concat(cssTokenValue, ")"));
69
57
  }
70
- } // Handle fallbacks
71
-
58
+ }
72
59
 
60
+ // Handle fallbacks
73
61
  var fallback = path.node.arguments[1];
74
-
75
62
  if (t.isStringLiteral(fallback)) {
76
63
  // String literals can be concatenated into css variable call
77
64
  // Empty string fallbacks are ignored. For now, as the user did specify a fallback, no default is inserted
@@ -86,11 +73,11 @@ function plugin() {
86
73
  raw: ')',
87
74
  cooked: ')'
88
75
  }, true)], [fallback]);
89
- } // Replace path and call scope.crawl() to refresh the scope bindings + references
90
-
91
-
92
- replacementNode && path.replaceWith(replacementNode); // @ts-ignore crawl is a valid property
76
+ }
93
77
 
78
+ // Replace path and call scope.crawl() to refresh the scope bindings + references
79
+ replacementNode && path.replaceWith(replacementNode);
80
+ // @ts-ignore crawl is a valid property
94
81
  tokenImportScope.crawl();
95
82
  })
96
83
  });
@@ -102,23 +89,22 @@ function plugin() {
102
89
  if (path.node.source.value !== '@atlaskit/tokens') {
103
90
  return;
104
91
  }
105
-
106
92
  path.get('specifiers').forEach(function (specifier) {
107
93
  if (!specifier.isImportSpecifier()) {
108
94
  return;
109
95
  }
110
-
111
96
  if (getNonAliasedImportName(specifier.node) !== 'token') {
112
97
  return;
113
98
  }
99
+ var binding = path.scope.bindings[getAliasedImportName(specifier.node)];
114
100
 
115
- var binding = path.scope.bindings[getAliasedImportName(specifier.node)]; // if no longer used, remove
116
-
101
+ // if no longer used, remove
117
102
  if (!binding.referenced) {
118
103
  specifier.remove();
119
104
  }
120
- }); // remove '@atlaskit/tokens' import if it is no longer needed
105
+ });
121
106
 
107
+ // remove '@atlaskit/tokens' import if it is no longer needed
122
108
  if (path.get('specifiers').length === 0) {
123
109
  path.remove();
124
110
  }
@@ -129,55 +115,43 @@ function plugin() {
129
115
  }
130
116
  };
131
117
  }
132
-
133
118
  function getDefaultFallback(tokenName) {
134
119
  return _tokenDefaultValues.default[tokenName];
135
120
  }
136
-
137
121
  function getNonAliasedImportName(node) {
138
122
  if (t.isIdentifier(node.imported)) {
139
123
  return node.imported.name;
140
124
  }
141
-
142
125
  return node.imported.value;
143
126
  }
144
-
145
127
  function getAliasedImportName(node) {
146
128
  return node.local.name;
147
129
  }
130
+
148
131
  /**
149
132
  * Determine if the current call is to a token function, and
150
133
  * return the relevant scope
151
134
  */
152
-
153
-
154
135
  function getTokenImportScope(path) {
155
136
  var callee = path.node.callee;
156
-
157
137
  if (!t.isIdentifier(callee)) {
158
138
  return undefined;
159
139
  }
160
-
161
140
  var binding = getTokenBinding(path.scope, callee.name);
162
-
163
141
  if (!binding || !t.isImportSpecifier(binding.path.node)) {
164
142
  return undefined;
165
143
  }
166
-
167
144
  if (binding.path.parent && t.isImportDeclaration(binding.path.parent)) {
168
145
  if (binding.path.parent.source.value !== '@atlaskit/tokens') {
169
146
  return undefined;
170
147
  }
171
148
  }
172
-
173
149
  return getNonAliasedImportName(binding.path.node) === 'token' ? binding.scope : undefined;
174
150
  }
175
-
176
151
  function getTokenBinding(scope, name) {
177
152
  if (!scope) {
178
153
  return undefined;
179
154
  }
180
-
181
155
  if (scope.bindings[name]) {
182
156
  return scope.bindings[name];
183
157
  } else {
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _plugin.default;
12
11
  }
13
12
  });
14
-
15
13
  var _plugin = _interopRequireDefault(require("../babel-plugin/plugin"));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _palette.default;
12
11
  }
13
12
  });
14
-
15
13
  var _palette = _interopRequireDefault(require("../artifacts/palettes-raw/palette"));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _replacementMapping.default;
12
11
  }
13
12
  });
14
-
15
13
  var _replacementMapping = _interopRequireDefault(require("../artifacts/replacement-mapping"));
@@ -21,5 +21,4 @@ Object.defineProperty(exports, "getTokenId", {
21
21
  return _tokenIds.getTokenId;
22
22
  }
23
23
  });
24
-
25
24
  var _tokenIds = require("../utils/token-ids");
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _tokenNames.default;
12
11
  }
13
12
  });
14
-
15
13
  var _tokenNames = _interopRequireDefault(require("../artifacts/token-names"));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -29,11 +28,7 @@ Object.defineProperty(exports, "typography", {
29
28
  return _atlassianTypography.default;
30
29
  }
31
30
  });
32
-
33
31
  var _atlassianLight = _interopRequireDefault(require("../artifacts/tokens-raw/atlassian-light"));
34
-
35
32
  var _atlassianDark = _interopRequireDefault(require("../artifacts/tokens-raw/atlassian-dark"));
36
-
37
33
  var _atlassianSpacing = _interopRequireDefault(require("../artifacts/tokens-raw/atlassian-spacing"));
38
-
39
34
  var _atlassianTypography = _interopRequireDefault(require("../artifacts/tokens-raw/atlassian-typography"));
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getGlobalTheme = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _constants = require("./constants");
10
+ var _themeConfig = require("./theme-config");
11
+ var _themeStateTransformer = require("./utils/theme-state-transformer");
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ var isThemeColorMode = function isThemeColorMode(colorMode) {
15
+ return _themeConfig.themeColorModes.find(function (mode) {
16
+ return mode === colorMode;
17
+ }) !== undefined;
18
+ };
19
+ var getGlobalTheme = function getGlobalTheme() {
20
+ if (typeof document === 'undefined') {
21
+ return {};
22
+ }
23
+ var element = document.documentElement;
24
+ var colorMode = element.getAttribute(_constants.COLOR_MODE_ATTRIBUTE) || '';
25
+ var theme = element.getAttribute(_constants.THEME_DATA_ATTRIBUTE) || '';
26
+ return _objectSpread(_objectSpread({}, (0, _themeStateTransformer.themeStringToObject)(theme)), isThemeColorMode(colorMode) && {
27
+ colorMode: colorMode
28
+ });
29
+ };
30
+ exports.getGlobalTheme = getGlobalTheme;
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _warnOnce = _interopRequireDefault(require("@atlaskit/ds-lib/warn-once"));
11
-
12
9
  var _tokenNames = _interopRequireDefault(require("./artifacts/token-names"));
13
-
14
10
  var name = "@atlaskit/tokens";
15
- var version = "0.13.5";
16
-
11
+ var version = "1.1.0";
17
12
  /**
18
13
  * Takes a dot-separated token name and and an optional fallback, and returns the current computed CSS value for the
19
14
  * resulting CSS Custom Property.
@@ -39,19 +34,15 @@ function getTokenValue(tokenId) {
39
34
  var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
40
35
  var token = _tokenNames.default[tokenId];
41
36
  var tokenValue = fallback;
42
-
43
37
  if (process.env.NODE_ENV !== 'production' && !token) {
44
38
  (0, _warnOnce.default)("Unknown token id at path: ".concat(tokenId, " for ").concat(name, "@").concat(version));
45
39
  }
46
-
47
40
  if (typeof window === 'undefined') {
48
41
  return tokenValue;
49
42
  }
50
-
51
43
  tokenValue = window.getComputedStyle(document.documentElement).getPropertyValue(token);
52
44
  tokenValue = tokenValue || fallback;
53
45
  return tokenValue;
54
46
  }
55
-
56
47
  var _default = getTokenValue;
57
48
  exports.default = _default;
@@ -1,21 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _warnOnce = _interopRequireDefault(require("@atlaskit/ds-lib/warn-once"));
11
-
12
9
  var _tokenNames = _interopRequireDefault(require("./artifacts/token-names"));
13
-
14
10
  var _constants = require("./constants");
15
-
16
11
  var name = "@atlaskit/tokens";
17
- var version = "0.13.5";
18
-
12
+ var version = "1.1.0";
19
13
  /**
20
14
  * Takes a dot-separated token name and an optional fallback, and returns the CSS custom property for the corresponding token.
21
15
  * This should be used to implement design decisions throughout your application.
@@ -40,20 +34,16 @@ var version = "0.13.5";
40
34
  */
41
35
  function token(path, fallback) {
42
36
  var token = _tokenNames.default[path];
43
-
44
37
  if (process.env.NODE_ENV !== 'production' && !token) {
45
- token = _tokenNames.default['utility.UNSAFE_util.MISSING_TOKEN'];
46
38
  (0, _warnOnce.default)("Unknown token id at path: ".concat(path, " for ").concat(name, "@").concat(version));
47
- } // if the token is not found - replacing it with variable name without any value, to avoid it being undefined which would result in invalid css
48
-
39
+ }
49
40
 
41
+ // if the token is not found - replacing it with variable name without any value, to avoid it being undefined which would result in invalid css
50
42
  if (!token) {
51
43
  token = _constants.TOKEN_NOT_FOUND_CSS_VAR;
52
44
  }
53
-
54
45
  var tokenCall = fallback ? "var(".concat(token, ", ").concat(fallback, ")") : "var(".concat(token, ")");
55
46
  return tokenCall;
56
47
  }
57
-
58
48
  var _default = token;
59
49
  exports.default = _default;
package/dist/cjs/index.js CHANGED
@@ -1,14 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  Object.defineProperty(exports, "ThemeMutationObserver", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _themeChangeObserver.ThemeMutationObserver;
11
+ return _themeMutationObserver.ThemeMutationObserver;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "getGlobalTheme", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _getGlobalTheme.getGlobalTheme;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "getSSRAutoScript", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _setGlobalTheme.getSSRAutoScript;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "getThemeHtmlAttrs", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _setGlobalTheme.getThemeHtmlAttrs;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "getThemeStyles", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _setGlobalTheme.getThemeStyles;
12
36
  }
13
37
  });
14
38
  Object.defineProperty(exports, "getTokenValue", {
@@ -29,6 +53,18 @@ Object.defineProperty(exports, "themeConfig", {
29
53
  return _themeConfig.default;
30
54
  }
31
55
  });
56
+ Object.defineProperty(exports, "themeObjectToString", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _themeStateTransformer.themeObjectToString;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "themeStringToObject", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _themeStateTransformer.themeStringToObject;
66
+ }
67
+ });
32
68
  Object.defineProperty(exports, "token", {
33
69
  enumerable: true,
34
70
  get: function get() {
@@ -38,16 +74,16 @@ Object.defineProperty(exports, "token", {
38
74
  Object.defineProperty(exports, "useThemeObserver", {
39
75
  enumerable: true,
40
76
  get: function get() {
41
- return _themeChangeObserver.useThemeObserver;
77
+ return _useThemeObserver.useThemeObserver;
42
78
  }
43
79
  });
44
-
45
80
  var _getToken = _interopRequireDefault(require("./get-token"));
46
-
47
81
  var _getTokenValue = _interopRequireDefault(require("./get-token-value"));
48
-
49
- var _setGlobalTheme = _interopRequireDefault(require("./set-global-theme"));
50
-
82
+ var _setGlobalTheme = _interopRequireWildcard(require("./set-global-theme"));
51
83
  var _themeConfig = _interopRequireDefault(require("./theme-config"));
52
-
53
- var _themeChangeObserver = require("./theme-change-observer");
84
+ var _useThemeObserver = require("./use-theme-observer");
85
+ var _themeMutationObserver = require("./theme-mutation-observer");
86
+ var _getGlobalTheme = require("./get-global-theme");
87
+ var _themeStateTransformer = require("./utils/theme-state-transformer");
88
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
89
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * Legacy color palette sourced from: packages/design-system/theme/src/colors.tsx
10
9
  *
11
10
  * This palette should be exclusively used for backwards compatible themes
12
11
  */
12
+
13
13
  var palette = {
14
14
  value: {
15
15
  opacity: {
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * Types are inferred from the base tokens below
10
9
  */
10
+
11
11
  var baseSpacingTokens = {
12
12
  Space0: {
13
13
  value: '0',
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
-
16
11
  var lineHeightScale = {
17
12
  lineHeight: {
18
13
  LineHeight100: {