@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
@@ -140,626 +140,6 @@ const spacing = {
140
140
  description: 'Use for larger layout-specific spacing.'
141
141
  }
142
142
  }
143
- },
144
- spacing: {
145
- scale: {
146
- '0': {
147
- attributes: {
148
- group: 'spacing',
149
- state: 'active',
150
- introduced: '0.10.16',
151
- description: 'Equates to `0`. Can be used for resetting default spacing styles.'
152
- }
153
- },
154
- '025': {
155
- attributes: {
156
- group: 'spacing',
157
- state: 'active',
158
- suggest: ['1px', '3px'],
159
- introduced: '0.10.16',
160
- description: 'Use for spacing in compact scenarios. The smallest value in our scale.'
161
- }
162
- },
163
- '050': {
164
- attributes: {
165
- group: 'spacing',
166
- state: 'active',
167
- suggest: ['3px', '5px'],
168
- introduced: '0.10.16',
169
- description: 'Helpful guidance goes here'
170
- }
171
- },
172
- '075': {
173
- attributes: {
174
- group: 'spacing',
175
- state: 'active',
176
- suggest: ['5px', '7px'],
177
- introduced: '0.10.16',
178
- description: 'Helpful guidance goes here'
179
- }
180
- },
181
- '100': {
182
- attributes: {
183
- group: 'spacing',
184
- state: 'active',
185
- suggest: ['7px', '9px'],
186
- introduced: '0.10.16',
187
- description: 'Helpful guidance goes here'
188
- }
189
- },
190
- '150': {
191
- attributes: {
192
- group: 'spacing',
193
- state: 'active',
194
- suggest: ['10px', '11px', '13px', '14px'],
195
- introduced: '0.10.16',
196
- description: 'Helpful guidance goes here'
197
- }
198
- },
199
- '200': {
200
- attributes: {
201
- group: 'spacing',
202
- state: 'active',
203
- suggest: ['14px', '15px', '17px', '18px'],
204
- introduced: '0.10.16',
205
- description: 'Helpful guidance goes here'
206
- }
207
- },
208
- '250': {
209
- attributes: {
210
- group: 'spacing',
211
- state: 'active',
212
- suggest: ['19px', '21px', '22px', '23px'],
213
- introduced: '0.10.16',
214
- description: 'Helpful guidance goes here'
215
- }
216
- },
217
- '300': {
218
- attributes: {
219
- group: 'spacing',
220
- state: 'active',
221
- suggest: ['23px', '25px', '26px', '27px', '28px'],
222
- introduced: '0.10.16',
223
- description: 'Helpful guidance goes here'
224
- }
225
- },
226
- '400': {
227
- attributes: {
228
- group: 'spacing',
229
- state: 'active',
230
- suggest: ['28px', '29px', '30px', '31px', '33px', '34px', '35px'],
231
- introduced: '0.10.16',
232
- description: 'Helpful guidance goes here'
233
- }
234
- },
235
- '500': {
236
- attributes: {
237
- group: 'spacing',
238
- state: 'active',
239
- suggest: ['28px', '29px', '30px', '31px', '33px', '34px', '35px'],
240
- introduced: '0.10.16',
241
- description: 'Helpful guidance goes here'
242
- }
243
- },
244
- '600': {
245
- attributes: {
246
- group: 'spacing',
247
- state: 'active',
248
- introduced: '0.10.16',
249
- description: 'Helpful guidance goes here'
250
- }
251
- },
252
- '800': {
253
- attributes: {
254
- group: 'spacing',
255
- state: 'active',
256
- introduced: '0.12.0',
257
- pixelValue: '',
258
- description: 'Helpful guidance goes here'
259
- }
260
- },
261
- '1000': {
262
- attributes: {
263
- group: 'spacing',
264
- state: 'active',
265
- introduced: '0.12.0',
266
- pixelValue: '80px',
267
- description: 'Helpful guidance goes here'
268
- }
269
- }
270
- },
271
- scaleLinear: {
272
- '0': {
273
- attributes: {
274
- group: 'spacing',
275
- state: 'experimental',
276
- replacement: '0',
277
- introduced: '0.10.28',
278
- description: 'Helpful guidance goes here'
279
- }
280
- },
281
- '100': {
282
- attributes: {
283
- group: 'spacing',
284
- state: 'experimental',
285
- replacement: '2px',
286
- introduced: '0.10.28',
287
- description: 'Helpful guidance goes here'
288
- }
289
- },
290
- '200': {
291
- attributes: {
292
- group: 'spacing',
293
- state: 'experimental',
294
- replacement: '4px',
295
- introduced: '0.10.28',
296
- description: 'Helpful guidance goes here'
297
- }
298
- },
299
- '300': {
300
- attributes: {
301
- group: 'spacing',
302
- state: 'experimental',
303
- replacement: '6px',
304
- introduced: '0.10.28',
305
- description: 'Helpful guidance goes here'
306
- }
307
- },
308
- '400': {
309
- attributes: {
310
- group: 'spacing',
311
- state: 'experimental',
312
- replacement: '8px',
313
- introduced: '0.10.28',
314
- description: 'Helpful guidance goes here'
315
- }
316
- },
317
- '500': {
318
- attributes: {
319
- group: 'spacing',
320
- state: 'experimental',
321
- replacement: '12px',
322
- introduced: '0.10.28',
323
- description: 'Helpful guidance goes here'
324
- }
325
- },
326
- '600': {
327
- attributes: {
328
- group: 'spacing',
329
- state: 'experimental',
330
- replacement: '16px',
331
- introduced: '0.10.28',
332
- description: 'Helpful guidance goes here'
333
- }
334
- },
335
- '700': {
336
- attributes: {
337
- group: 'spacing',
338
- state: 'experimental',
339
- replacement: '20px',
340
- introduced: '0.10.28',
341
- description: 'Helpful guidance goes here'
342
- }
343
- },
344
- '800': {
345
- attributes: {
346
- group: 'spacing',
347
- state: 'experimental',
348
- replacement: '24px',
349
- introduced: '0.10.28',
350
- description: 'Helpful guidance goes here'
351
- }
352
- },
353
- '900': {
354
- attributes: {
355
- group: 'spacing',
356
- state: 'experimental',
357
- replacement: '32px',
358
- introduced: '0.10.28',
359
- description: 'Helpful guidance goes here'
360
- }
361
- },
362
- '1000': {
363
- attributes: {
364
- group: 'spacing',
365
- state: 'experimental',
366
- replacement: '40px',
367
- introduced: '0.10.28',
368
- description: 'Helpful guidance goes here'
369
- }
370
- },
371
- '1100': {
372
- attributes: {
373
- group: 'spacing',
374
- state: 'experimental',
375
- replacement: '48px',
376
- introduced: '0.10.28',
377
- description: 'Helpful guidance goes here'
378
- }
379
- }
380
- },
381
- size: {
382
- none: {
383
- attributes: {
384
- group: 'spacing',
385
- state: 'experimental',
386
- replacement: '0',
387
- introduced: '0.10.28',
388
- description: 'Helpful guidance goes here'
389
- }
390
- },
391
- xxxxSmall: {
392
- attributes: {
393
- group: 'spacing',
394
- state: 'experimental',
395
- replacement: '2px',
396
- introduced: '0.10.28',
397
- description: 'Helpful guidance goes here'
398
- }
399
- },
400
- xxxSmall: {
401
- attributes: {
402
- group: 'spacing',
403
- state: 'experimental',
404
- replacement: '4px',
405
- introduced: '0.10.28',
406
- description: 'Helpful guidance goes here'
407
- }
408
- },
409
- xxSmall: {
410
- attributes: {
411
- group: 'spacing',
412
- state: 'experimental',
413
- replacement: '6px',
414
- introduced: '0.10.28',
415
- description: 'Helpful guidance goes here'
416
- }
417
- },
418
- xsmall: {
419
- attributes: {
420
- group: 'spacing',
421
- state: 'experimental',
422
- replacement: '8px',
423
- introduced: '0.10.28',
424
- description: 'Helpful guidance goes here'
425
- }
426
- },
427
- small: {
428
- attributes: {
429
- group: 'spacing',
430
- state: 'experimental',
431
- replacement: '12px',
432
- introduced: '0.10.28',
433
- description: 'Helpful guidance goes here'
434
- }
435
- },
436
- medium: {
437
- attributes: {
438
- group: 'spacing',
439
- state: 'experimental',
440
- replacement: '16px',
441
- introduced: '0.10.28',
442
- description: 'Helpful guidance goes here'
443
- }
444
- },
445
- large: {
446
- attributes: {
447
- group: 'spacing',
448
- state: 'experimental',
449
- replacement: '20px',
450
- introduced: '0.10.28',
451
- description: 'Helpful guidance goes here'
452
- }
453
- },
454
- xlarge: {
455
- attributes: {
456
- group: 'spacing',
457
- state: 'experimental',
458
- replacement: '24px',
459
- introduced: '0.10.28',
460
- description: 'Helpful guidance goes here'
461
- }
462
- },
463
- xxlarge: {
464
- attributes: {
465
- group: 'spacing',
466
- state: 'experimental',
467
- replacement: '32px',
468
- introduced: '0.10.28',
469
- description: 'Helpful guidance goes here'
470
- }
471
- },
472
- xxxlarge: {
473
- attributes: {
474
- group: 'spacing',
475
- state: 'experimental',
476
- replacement: '40px',
477
- introduced: '0.10.28',
478
- description: 'Helpful guidance goes here'
479
- }
480
- },
481
- xxxxlarge: {
482
- attributes: {
483
- group: 'spacing',
484
- state: 'experimental',
485
- replacement: '48px',
486
- introduced: '0.10.28',
487
- description: 'Helpful guidance goes here'
488
- }
489
- }
490
- },
491
- ecl: {
492
- element: {
493
- '2': {
494
- attributes: {
495
- group: 'spacing',
496
- state: 'experimental',
497
- replacement: '2px',
498
- introduced: '0.10.28',
499
- description: 'Helpful guidance goes here'
500
- }
501
- },
502
- '4': {
503
- attributes: {
504
- group: 'spacing',
505
- state: 'experimental',
506
- replacement: '4px',
507
- introduced: '0.10.28',
508
- description: 'Helpful guidance goes here'
509
- }
510
- },
511
- '6': {
512
- attributes: {
513
- group: 'spacing',
514
- state: 'experimental',
515
- replacement: '6px',
516
- introduced: '0.10.28',
517
- description: 'Helpful guidance goes here'
518
- }
519
- },
520
- '8': {
521
- attributes: {
522
- group: 'spacing',
523
- state: 'experimental',
524
- replacement: '8px',
525
- introduced: '0.10.28',
526
- description: 'Helpful guidance goes here'
527
- }
528
- }
529
- },
530
- container: {
531
- '12': {
532
- attributes: {
533
- group: 'spacing',
534
- state: 'experimental',
535
- replacement: '12px',
536
- introduced: '0.10.28',
537
- description: 'Helpful guidance goes here'
538
- }
539
- },
540
- '16': {
541
- attributes: {
542
- group: 'spacing',
543
- state: 'experimental',
544
- replacement: '16px',
545
- introduced: '0.10.28',
546
- description: 'Helpful guidance goes here'
547
- }
548
- },
549
- '20': {
550
- attributes: {
551
- group: 'spacing',
552
- state: 'experimental',
553
- replacement: '20px',
554
- introduced: '0.10.28',
555
- description: 'Helpful guidance goes here'
556
- }
557
- },
558
- '24': {
559
- attributes: {
560
- group: 'spacing',
561
- state: 'experimental',
562
- replacement: '24px',
563
- introduced: '0.10.28',
564
- description: 'Helpful guidance goes here'
565
- }
566
- }
567
- },
568
- layout: {
569
- '32': {
570
- attributes: {
571
- group: 'spacing',
572
- state: 'experimental',
573
- replacement: '32px',
574
- introduced: '0.10.28',
575
- description: 'Helpful guidance goes here'
576
- }
577
- },
578
- '40': {
579
- attributes: {
580
- group: 'spacing',
581
- state: 'experimental',
582
- replacement: '40px',
583
- introduced: '0.10.28',
584
- description: 'Helpful guidance goes here'
585
- }
586
- },
587
- '64': {
588
- attributes: {
589
- group: 'spacing',
590
- state: 'experimental',
591
- replacement: '64px',
592
- introduced: '0.10.28',
593
- description: 'Helpful guidance goes here'
594
- }
595
- }
596
- }
597
- },
598
- ccc: {
599
- component: {
600
- '2': {
601
- attributes: {
602
- group: 'spacing',
603
- state: 'experimental',
604
- replacement: '2px',
605
- introduced: '0.10.28',
606
- description: 'Helpful guidance goes here'
607
- }
608
- },
609
- '4': {
610
- attributes: {
611
- group: 'spacing',
612
- state: 'experimental',
613
- replacement: '4px',
614
- introduced: '0.10.28',
615
- description: 'Helpful guidance goes here'
616
- }
617
- },
618
- '6': {
619
- attributes: {
620
- group: 'spacing',
621
- state: 'experimental',
622
- replacement: '6px',
623
- introduced: '0.10.28',
624
- description: 'Helpful guidance goes here'
625
- }
626
- },
627
- '8': {
628
- attributes: {
629
- group: 'spacing',
630
- state: 'experimental',
631
- replacement: '8px',
632
- introduced: '0.10.28',
633
- description: 'Helpful guidance goes here'
634
- }
635
- }
636
- },
637
- content: {
638
- '12': {
639
- attributes: {
640
- group: 'spacing',
641
- state: 'experimental',
642
- replacement: '12px',
643
- introduced: '0.10.28',
644
- description: 'Helpful guidance goes here'
645
- }
646
- },
647
- '16': {
648
- attributes: {
649
- group: 'spacing',
650
- state: 'experimental',
651
- replacement: '16px',
652
- introduced: '0.10.28',
653
- description: 'Helpful guidance goes here'
654
- }
655
- },
656
- '20': {
657
- attributes: {
658
- group: 'spacing',
659
- state: 'experimental',
660
- replacement: '20px',
661
- introduced: '0.10.28',
662
- description: 'Helpful guidance goes here'
663
- }
664
- },
665
- '24': {
666
- attributes: {
667
- group: 'spacing',
668
- state: 'experimental',
669
- replacement: '24px',
670
- introduced: '0.10.28',
671
- description: 'Helpful guidance goes here'
672
- }
673
- }
674
- },
675
- container: {
676
- '32': {
677
- attributes: {
678
- group: 'spacing',
679
- state: 'experimental',
680
- replacement: '32px',
681
- introduced: '0.10.28',
682
- description: 'Helpful guidance goes here'
683
- }
684
- },
685
- '40': {
686
- attributes: {
687
- group: 'spacing',
688
- state: 'experimental',
689
- replacement: '40px',
690
- introduced: '0.10.28',
691
- description: 'Helpful guidance goes here'
692
- }
693
- },
694
- '48': {
695
- attributes: {
696
- group: 'spacing',
697
- state: 'experimental',
698
- replacement: '48px',
699
- introduced: '0.10.28',
700
- description: 'Helpful guidance goes here'
701
- }
702
- }
703
- }
704
- },
705
- gap: {
706
- '100': {
707
- attributes: {
708
- group: 'spacing',
709
- state: 'experimental',
710
- replacement: '8px',
711
- introduced: '0.10.28',
712
- description: 'Helpful guidance goes here'
713
- }
714
- },
715
- '200': {
716
- attributes: {
717
- group: 'spacing',
718
- state: 'experimental',
719
- replacement: '16px',
720
- introduced: '0.10.28',
721
- description: 'Helpful guidance goes here'
722
- }
723
- },
724
- '300': {
725
- attributes: {
726
- group: 'spacing',
727
- state: 'experimental',
728
- replacement: '24px',
729
- introduced: '0.10.28',
730
- description: 'Helpful guidance goes here'
731
- }
732
- }
733
- },
734
- inset: {
735
- '100': {
736
- attributes: {
737
- group: 'spacing',
738
- state: 'experimental',
739
- replacement: '8px',
740
- introduced: '0.10.28',
741
- description: 'Helpful guidance goes here'
742
- }
743
- },
744
- '200': {
745
- attributes: {
746
- group: 'spacing',
747
- state: 'experimental',
748
- replacement: '16px',
749
- introduced: '0.10.28',
750
- description: 'Helpful guidance goes here'
751
- }
752
- },
753
- '300': {
754
- attributes: {
755
- group: 'spacing',
756
- state: 'experimental',
757
- replacement: '24px',
758
- introduced: '0.10.28',
759
- description: 'Helpful guidance goes here'
760
- }
761
- }
762
- }
763
143
  }
764
144
  };
765
145
  export default spacing;
@@ -1,5 +1,5 @@
1
1
  const utility = {
2
- UNSAFE_util: {
2
+ UNSAFE: {
3
3
  transparent: {
4
4
  attributes: {
5
5
  group: 'raw',
@@ -7,14 +7,6 @@ const utility = {
7
7
  introduced: '0.1.1',
8
8
  description: 'Transparent token used for backwards compatibility between new and old theming solutions'
9
9
  }
10
- },
11
- MISSING_TOKEN: {
12
- attributes: {
13
- group: 'raw',
14
- state: 'active',
15
- introduced: '0.4.0',
16
- description: 'Used as a placeholder when a suitable token does not exist'
17
- }
18
10
  }
19
11
  }
20
12
  };
@@ -0,0 +1,26 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { getGlobalTheme } from './get-global-theme';
3
+ import { ThemeMutationObserver } from './theme-mutation-observer';
4
+
5
+ /**
6
+ * A React hook which returns the current themes and color-mode set on `<html>`.
7
+ *
8
+ * @example
9
+ * ```
10
+ * const { colorMode, dark, light, spacing, typography } = useThemeObserver();
11
+ *
12
+ * // Performing side effects when it changes
13
+ * useEffect(() => {
14
+ * console.log(`The color mode has changed to ${theme.colorMode}`);
15
+ * }, [theme.colorMode]);
16
+ * ```
17
+ */
18
+ export const useThemeObserver = () => {
19
+ const [theme, setTheme] = useState(getGlobalTheme());
20
+ useEffect(() => {
21
+ const observer = new ThemeMutationObserver(theme => setTheme(theme));
22
+ observer.observe();
23
+ return () => observer.disconnect();
24
+ }, []);
25
+ return theme;
26
+ };