@atlaskit/tokens 0.13.5 → 1.0.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 (187) hide show
  1. package/CHANGELOG.md +289 -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 +2 -402
  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 -104
  16. package/dist/cjs/artifacts/token-names.js +2 -104
  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 +0 -1
  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 -1
  48. package/dist/cjs/tokens/default/spacing/spacing.js +0 -1
  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 +2 -401
  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/{css/atlassian-spacing.css → dist/es2019/artifacts/themes/atlassian-spacing.js} +4 -2
  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 -103
  65. package/dist/es2019/artifacts/token-names.js +2 -103
  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/babel-plugin/plugin.js +17 -37
  71. package/dist/es2019/get-global-theme.js +20 -0
  72. package/dist/es2019/get-token-value.js +1 -6
  73. package/dist/es2019/get-token.js +3 -8
  74. package/dist/es2019/index.js +5 -2
  75. package/dist/es2019/palettes/legacy-palette.js +1 -0
  76. package/dist/es2019/palettes/spacing-scale.js +1 -0
  77. package/dist/es2019/palettes/typography-palette.js +2 -1
  78. package/dist/es2019/set-global-theme.js +162 -32
  79. package/dist/es2019/theme-config.js +5 -21
  80. package/dist/es2019/{theme-change-observer.js → theme-mutation-observer.js} +4 -37
  81. package/dist/es2019/tokens/atlassian-dark/utility/utility.js +1 -4
  82. package/dist/es2019/tokens/atlassian-legacy-dark/utility/utility.js +1 -4
  83. package/dist/es2019/tokens/atlassian-legacy-light/utility/utility.js +1 -4
  84. package/dist/es2019/tokens/atlassian-light/utility/utility.js +1 -4
  85. package/dist/es2019/tokens/default/utility/utility.js +1 -9
  86. package/dist/es2019/use-theme-observer.js +26 -0
  87. package/dist/es2019/utils/color-detection.js +3 -5
  88. package/dist/es2019/utils/theme-loading.js +18 -0
  89. package/dist/es2019/utils/theme-state-transformer.js +47 -0
  90. package/dist/es2019/utils/token-ids.js +5 -4
  91. package/dist/es2019/version.json +1 -1
  92. package/dist/esm/artifacts/replacement-mapping.js +2 -401
  93. package/dist/esm/artifacts/theme-import-map.js +39 -0
  94. package/dist/esm/artifacts/themes/atlassian-dark.js +6 -0
  95. package/dist/esm/artifacts/themes/atlassian-legacy-dark.js +6 -0
  96. package/dist/esm/artifacts/themes/atlassian-legacy-light.js +6 -0
  97. package/dist/esm/artifacts/themes/atlassian-light.js +6 -0
  98. package/dist/esm/artifacts/themes/atlassian-spacing.js +6 -0
  99. package/dist/esm/artifacts/themes/atlassian-typography.js +6 -0
  100. package/dist/esm/artifacts/token-default-values.js +2 -103
  101. package/dist/esm/artifacts/token-names.js +2 -103
  102. package/dist/esm/artifacts/tokens-raw/atlassian-dark.js +1354 -4260
  103. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-dark.js +1349 -4255
  104. package/dist/esm/artifacts/tokens-raw/atlassian-legacy-light.js +1397 -4283
  105. package/dist/esm/artifacts/tokens-raw/atlassian-light.js +1360 -4246
  106. package/dist/esm/babel-plugin/plugin.js +17 -35
  107. package/dist/esm/get-global-theme.js +22 -0
  108. package/dist/esm/get-token-value.js +1 -6
  109. package/dist/esm/get-token.js +3 -8
  110. package/dist/esm/index.js +5 -2
  111. package/dist/esm/palettes/legacy-palette.js +1 -0
  112. package/dist/esm/palettes/spacing-scale.js +1 -0
  113. package/dist/esm/palettes/typography-palette.js +0 -3
  114. package/dist/esm/set-global-theme.js +263 -37
  115. package/dist/esm/theme-config.js +5 -21
  116. package/dist/esm/{theme-change-observer.js → theme-mutation-observer.js} +4 -49
  117. package/dist/esm/tokens/atlassian-dark/utility/utility.js +1 -4
  118. package/dist/esm/tokens/atlassian-legacy-dark/utility/utility.js +1 -4
  119. package/dist/esm/tokens/atlassian-legacy-light/utility/utility.js +1 -4
  120. package/dist/esm/tokens/atlassian-light/utility/utility.js +1 -4
  121. package/dist/esm/tokens/default/utility/utility.js +1 -9
  122. package/dist/esm/use-theme-observer.js +34 -0
  123. package/dist/esm/utils/color-detection.js +23 -30
  124. package/dist/esm/utils/theme-loading.js +60 -0
  125. package/dist/esm/utils/theme-state-transformer.js +64 -0
  126. package/dist/esm/utils/token-ids.js +5 -4
  127. package/dist/esm/version.json +1 -1
  128. package/dist/types/artifacts/replacement-mapping.d.ts +1 -1
  129. package/dist/types/artifacts/theme-import-map.d.ts +16 -0
  130. package/dist/types/artifacts/themes/atlassian-dark.d.ts +7 -0
  131. package/dist/types/artifacts/themes/atlassian-legacy-dark.d.ts +7 -0
  132. package/dist/types/artifacts/themes/atlassian-legacy-light.d.ts +7 -0
  133. package/dist/types/artifacts/themes/atlassian-light.d.ts +7 -0
  134. package/dist/types/artifacts/themes/atlassian-spacing.d.ts +7 -0
  135. package/dist/types/artifacts/themes/atlassian-typography.d.ts +7 -0
  136. package/dist/types/artifacts/token-default-values.d.ts +2 -103
  137. package/dist/types/artifacts/token-names.d.ts +3 -205
  138. package/dist/types/artifacts/tokens-raw/atlassian-dark.d.ts +1 -115
  139. package/dist/types/artifacts/tokens-raw/atlassian-legacy-dark.d.ts +1 -115
  140. package/dist/types/artifacts/tokens-raw/atlassian-legacy-light.d.ts +1 -91
  141. package/dist/types/artifacts/tokens-raw/atlassian-light.d.ts +1 -91
  142. package/dist/types/artifacts/types-internal.d.ts +2 -2
  143. package/dist/types/artifacts/types.d.ts +2 -2
  144. package/dist/types/get-global-theme.d.ts +2 -0
  145. package/dist/types/index.d.ts +7 -3
  146. package/dist/types/set-global-theme.d.ts +63 -7
  147. package/dist/types/theme-config.d.ts +10 -7
  148. package/dist/types/{theme-change-observer.d.ts → theme-mutation-observer.d.ts} +2 -16
  149. package/dist/types/types.d.ts +1 -180
  150. package/dist/types/use-theme-observer.d.ts +15 -0
  151. package/dist/types/utils/theme-loading.d.ts +3 -0
  152. package/dist/types/utils/theme-state-transformer.d.ts +26 -0
  153. package/figma/atlassian-dark.json +1 -102
  154. package/figma/atlassian-legacy-dark.json +1 -102
  155. package/figma/atlassian-legacy-light.json +1 -102
  156. package/figma/atlassian-light.json +1 -102
  157. package/package.json +5 -8
  158. package/report.api.md +85 -219
  159. package/tmp/api-report-tmp.d.ts +58 -210
  160. package/css/atlassian-dark.css +0 -786
  161. package/css/atlassian-legacy-dark.css +0 -786
  162. package/css/atlassian-legacy-light.css +0 -786
  163. package/css/atlassian-light.css +0 -786
  164. package/dist/cjs/artifacts/typescript/atlassian-light-token-default-values.js +0 -407
  165. package/dist/cjs/tokens/atlassian-dark/deprecated/deprecated.js +0 -435
  166. package/dist/cjs/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -532
  167. package/dist/cjs/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -523
  168. package/dist/cjs/tokens/atlassian-light/deprecated/deprecated.js +0 -421
  169. package/dist/cjs/tokens/default/deprecated/deprecated.js +0 -1186
  170. package/dist/es2019/artifacts/typescript/atlassian-light-token-default-values.js +0 -399
  171. package/dist/es2019/tokens/atlassian-dark/deprecated/deprecated.js +0 -428
  172. package/dist/es2019/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -525
  173. package/dist/es2019/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -516
  174. package/dist/es2019/tokens/atlassian-light/deprecated/deprecated.js +0 -414
  175. package/dist/es2019/tokens/default/deprecated/deprecated.js +0 -1217
  176. package/dist/esm/artifacts/typescript/atlassian-light-token-default-values.js +0 -399
  177. package/dist/esm/tokens/atlassian-dark/deprecated/deprecated.js +0 -428
  178. package/dist/esm/tokens/atlassian-legacy-dark/deprecated/deprecated.js +0 -525
  179. package/dist/esm/tokens/atlassian-legacy-light/deprecated/deprecated.js +0 -516
  180. package/dist/esm/tokens/atlassian-light/deprecated/deprecated.js +0 -414
  181. package/dist/esm/tokens/default/deprecated/deprecated.js +0 -1179
  182. package/dist/types/artifacts/typescript/atlassian-light-token-default-values.d.ts +0 -399
  183. package/dist/types/tokens/atlassian-dark/deprecated/deprecated.d.ts +0 -4
  184. package/dist/types/tokens/atlassian-legacy-dark/deprecated/deprecated.d.ts +0 -4
  185. package/dist/types/tokens/atlassian-legacy-light/deprecated/deprecated.d.ts +0 -4
  186. package/dist/types/tokens/atlassian-light/deprecated/deprecated.d.ts +0 -4
  187. 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::ebaeba748330e1bc0e04fabb60597525>>
@@ -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.0.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.0.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: {