@fluentui-react-native/use-tokens 0.6.12 → 0.7.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 (73) hide show
  1. package/CHANGELOG.json +1 -1
  2. package/CHANGELOG.md +38 -2
  3. package/README.md +1 -1
  4. package/lib/applyPropsToTokens.d.ts +7 -2
  5. package/lib/applyPropsToTokens.js +7 -7
  6. package/lib/applyPropsToTokens.js.map +1 -1
  7. package/lib/applyPropsToTokens.test.d.ts +1 -1
  8. package/lib/applyPropsToTokens.test.js +19 -19
  9. package/lib/applyPropsToTokens.test.js.map +1 -1
  10. package/lib/applyTokenLayers.d.ts +7 -2
  11. package/lib/applyTokenLayers.js +16 -13
  12. package/lib/applyTokenLayers.js.map +1 -1
  13. package/lib/applyTokenLayers.test.d.ts +1 -1
  14. package/lib/applyTokenLayers.test.js +42 -42
  15. package/lib/applyTokenLayers.test.js.map +1 -1
  16. package/lib/buildUseTokens.d.ts +6 -3
  17. package/lib/buildUseTokens.js +22 -22
  18. package/lib/buildUseTokens.js.map +1 -1
  19. package/lib/buildUseTokens.test.d.ts +1 -1
  20. package/lib/buildUseTokens.test.js +68 -68
  21. package/lib/buildUseTokens.test.js.map +1 -1
  22. package/lib/customizable.d.ts +9 -5
  23. package/lib/customizable.d.ts.map +1 -1
  24. package/lib/customizable.js +8 -8
  25. package/lib/customizable.js.map +1 -1
  26. package/lib/index.d.ts +1 -1
  27. package/lib/index.js +1 -1
  28. package/lib/patchTokens.d.ts +6 -2
  29. package/lib/patchTokens.js +12 -12
  30. package/lib/patchTokens.js.map +1 -1
  31. package/lib/patchTokens.test.d.ts +1 -1
  32. package/lib/patchTokens.test.js +32 -32
  33. package/lib/patchTokens.test.js.map +1 -1
  34. package/lib/useTokens.samples.test.d.ts +1 -1
  35. package/lib/useTokens.samples.test.js +134 -111
  36. package/lib/useTokens.samples.test.js.map +1 -1
  37. package/lib-commonjs/applyPropsToTokens.d.ts +7 -2
  38. package/lib-commonjs/applyPropsToTokens.js +10 -11
  39. package/lib-commonjs/applyPropsToTokens.js.map +1 -1
  40. package/lib-commonjs/applyPropsToTokens.test.d.ts +1 -1
  41. package/lib-commonjs/applyPropsToTokens.test.js +23 -23
  42. package/lib-commonjs/applyPropsToTokens.test.js.map +1 -1
  43. package/lib-commonjs/applyTokenLayers.d.ts +7 -2
  44. package/lib-commonjs/applyTokenLayers.js +20 -18
  45. package/lib-commonjs/applyTokenLayers.js.map +1 -1
  46. package/lib-commonjs/applyTokenLayers.test.d.ts +1 -1
  47. package/lib-commonjs/applyTokenLayers.test.js +46 -46
  48. package/lib-commonjs/applyTokenLayers.test.js.map +1 -1
  49. package/lib-commonjs/buildUseTokens.d.ts +6 -3
  50. package/lib-commonjs/buildUseTokens.js +30 -28
  51. package/lib-commonjs/buildUseTokens.js.map +1 -1
  52. package/lib-commonjs/buildUseTokens.test.d.ts +1 -1
  53. package/lib-commonjs/buildUseTokens.test.js +71 -71
  54. package/lib-commonjs/buildUseTokens.test.js.map +1 -1
  55. package/lib-commonjs/customizable.d.ts +9 -5
  56. package/lib-commonjs/customizable.d.ts.map +1 -1
  57. package/lib-commonjs/customizable.js +11 -12
  58. package/lib-commonjs/customizable.js.map +1 -1
  59. package/lib-commonjs/index.d.ts +1 -1
  60. package/lib-commonjs/index.js +38 -13
  61. package/lib-commonjs/index.js.map +1 -1
  62. package/lib-commonjs/patchTokens.d.ts +6 -2
  63. package/lib-commonjs/patchTokens.js +15 -16
  64. package/lib-commonjs/patchTokens.js.map +1 -1
  65. package/lib-commonjs/patchTokens.test.d.ts +1 -1
  66. package/lib-commonjs/patchTokens.test.js +36 -36
  67. package/lib-commonjs/patchTokens.test.js.map +1 -1
  68. package/lib-commonjs/useTokens.samples.test.d.ts +1 -1
  69. package/lib-commonjs/useTokens.samples.test.js +195 -141
  70. package/lib-commonjs/useTokens.samples.test.js.map +1 -1
  71. package/package.json +45 -45
  72. package/src/customizable.ts +3 -2
  73. package/src/useTokens.samples.test.tsx +24 -15
package/CHANGELOG.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fluentui-react-native/use-tokens",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 05 Aug 2025 18:46:03 GMT",
5
+ "date": "Tue, 05 Aug 2025 18:50:39 GMT",
6
6
  "version": "0.6.12",
7
7
  "tag": "@fluentui-react-native/use-tokens_v0.6.12",
8
8
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,48 @@
1
1
  # Change Log - @fluentui-react-native/use-tokens
2
2
 
3
- <!-- This log was last generated on Tue, 05 Aug 2025 18:46:03 GMT and should not be manually modified. -->
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d7adbdd: # Migration from Beachball to Changesets
8
+
9
+ This changeset represents the migration from Beachball to Changesets for version management and consolidates all changes from 440+ beachball change files that were in the `change/` directory.
10
+
11
+ All 75 affected packages receive a minor version bump to acknowledge the accumulated changes from the beachball era.
12
+
13
+ ## What Changed
14
+
15
+ Going forward, all version management uses Changesets via `yarn changeset`. The following beachball infrastructure has been removed:
16
+
17
+ - ❌ 440+ beachball change files from `change/` directory
18
+ - ❌ `beachball` package dependency
19
+ - ❌ Beachball scripts from `package.json`
20
+ - ❌ `beachball.config.js` configuration file
21
+ - ❌ Beachball publish steps from Azure Pipelines
22
+
23
+ ## New Workflow
24
+
25
+ ✅ **Create changes**: Run `yarn changeset` to document changes
26
+ ✅ **Version bump PRs**: Automatically created by GitHub Actions
27
+ ✅ **Publishing**: Handled by Azure Pipelines using `changeset publish`
28
+ ✅ **Validation**: CI validates changesets and blocks major version bumps
29
+
30
+ For details, see `CHANGESETS_SETUP.md` and `CONTRIBUTING.md`.
31
+
32
+ ### Patch Changes
33
+
34
+ - d1d8c26: We were pinning @types/react and react-native-macos via resolutions. This fixes that which uncovered a bunch of type inconsistencies that needed to be addressed.
35
+ - Updated dependencies [d7adbdd]
36
+ - Updated dependencies [d1d8c26]
37
+ - @fluentui-react-native/framework-base@0.3.0
38
+
39
+ <!-- This log was last generated on Tue, 05 Aug 2025 18:50:39 GMT and should not be manually modified. -->
4
40
 
5
41
  <!-- Start content -->
6
42
 
7
43
  ## 0.6.12
8
44
 
9
- Tue, 05 Aug 2025 18:46:03 GMT
45
+ Tue, 05 Aug 2025 18:50:39 GMT
10
46
 
11
47
  ### Patches
12
48
 
package/README.md CHANGED
@@ -56,7 +56,7 @@ const StyledText: React.FunctionComponent<TextProps> = (props) => {
56
56
  const [tokenStyle] = cache(() => ({ ...tokens }), []);
57
57
 
58
58
  // now merge any styles coming from the props in on top as they should override
59
- const mergedStyles = mergeStyles(tokenStyle, style);
59
+ const mergedStyles = mergeStyles<TextStyle>(tokenStyle, style);
60
60
 
61
61
  // now just render the text element
62
62
  return (
@@ -1,3 +1,8 @@
1
1
  import type { GetTypedMemoValue } from '@fluentui-react-native/framework-base';
2
- export declare function applyPropsToTokens<TProps, TTokens>(props: TProps, tokens: TTokens, cache: GetTypedMemoValue<TTokens>, keys: (keyof TTokens)[]): [TTokens, GetTypedMemoValue<TTokens>];
3
- //# sourceMappingURL=applyPropsToTokens.d.ts.map
2
+ export declare function applyPropsToTokens<TProps, TTokens>(
3
+ props: TProps,
4
+ tokens: TTokens,
5
+ cache: GetTypedMemoValue<TTokens>,
6
+ keys: (keyof TTokens)[],
7
+ ): [TTokens, GetTypedMemoValue<TTokens>];
8
+ //# sourceMappingURL=applyPropsToTokens.d.ts.map
@@ -1,9 +1,9 @@
1
1
  export function applyPropsToTokens(props, tokens, cache, keys) {
2
- for (const key of keys) {
3
- const sourceValue = props[key];
4
- const setValue = sourceValue === tokens[key] ? undefined : sourceValue;
5
- [tokens, cache] = cache(() => (setValue === undefined ? tokens : { ...tokens, [key]: setValue }), [setValue]);
6
- }
7
- return [tokens, cache];
2
+ for (const key of keys) {
3
+ const sourceValue = props[key];
4
+ const setValue = sourceValue === tokens[key] ? undefined : sourceValue;
5
+ [tokens, cache] = cache(() => (setValue === undefined ? tokens : { ...tokens, [key]: setValue }), [setValue]);
6
+ }
7
+ return [tokens, cache];
8
8
  }
9
- //# sourceMappingURL=applyPropsToTokens.js.map
9
+ //# sourceMappingURL=applyPropsToTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyPropsToTokens.js","sourceRoot":"","sources":["../src/applyPropsToTokens.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,MAAe,EACf,KAAiC,EACjC,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAa,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/G;IACD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"applyPropsToTokens.js","sourceRoot":"","sources":["../src/applyPropsToTokens.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,MAAe,EACf,KAAiC,EACjC,IAAuB,EACgB;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAa,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAAA,CACxB"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=applyPropsToTokens.test.d.ts.map
2
+ //# sourceMappingURL=applyPropsToTokens.test.d.ts.map
@@ -2,28 +2,28 @@ import { getTypedMemoCache } from '@fluentui-react-native/framework-base';
2
2
  import { applyPropsToTokens } from './applyPropsToTokens';
3
3
  const tokenProps = ['dos', 'quatro', 'cinco'];
4
4
  const themeTokens = {
5
- uno: 'uno',
6
- dos: 'dos',
7
- tres: 3,
8
- quatro: 4,
9
- cinco: true,
5
+ uno: 'uno',
6
+ dos: 'dos',
7
+ tres: 3,
8
+ quatro: 4,
9
+ cinco: true,
10
10
  };
11
11
  const props1 = { dos: 'two', quatro: 'four', cinco: false, foo: 'foo', bar: 'bar' };
12
12
  // const props2: Props = { dos: 'two' };
13
13
  // const props3: Props = { foo: 'foo', bar: 'bar' };
14
14
  describe('applyPropsToTokens tests', () => {
15
- test('props get copied', () => {
16
- const cache = getTypedMemoCache();
17
- const [tokens] = applyPropsToTokens(props1, themeTokens, cache, tokenProps);
18
- expect(tokens).not.toBe(themeTokens);
19
- for (const key of tokenProps) {
20
- expect(tokens[key]).toEqual(props1[key]);
21
- }
22
- });
23
- test('no copied props does not change tokens', () => {
24
- const cache = getTypedMemoCache();
25
- const [tokens] = applyPropsToTokens({}, themeTokens, cache, tokenProps);
26
- expect(tokens).toBe(themeTokens);
27
- });
15
+ test('props get copied', () => {
16
+ const cache = getTypedMemoCache();
17
+ const [tokens] = applyPropsToTokens(props1, themeTokens, cache, tokenProps);
18
+ expect(tokens).not.toBe(themeTokens);
19
+ for (const key of tokenProps) {
20
+ expect(tokens[key]).toEqual(props1[key]);
21
+ }
22
+ });
23
+ test('no copied props does not change tokens', () => {
24
+ const cache = getTypedMemoCache();
25
+ const [tokens] = applyPropsToTokens({}, themeTokens, cache, tokenProps);
26
+ expect(tokens).toBe(themeTokens);
27
+ });
28
28
  });
29
- //# sourceMappingURL=applyPropsToTokens.test.js.map
29
+ //# sourceMappingURL=applyPropsToTokens.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyPropsToTokens.test.js","sourceRoot":"","sources":["../src/applyPropsToTokens.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAW1D,MAAM,UAAU,GAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAOpE,MAAM,WAAW,GAAW;IAC1B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,MAAM,GAAU,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC3F,wCAAwC;AACxC,oDAAoD;AAEpD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,iBAAiB,EAAU,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAG,iBAAiB,EAAU,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"applyPropsToTokens.test.js","sourceRoot":"","sources":["../src/applyPropsToTokens.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAW1D,MAAM,UAAU,GAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAOpE,MAAM,WAAW,GAAW;IAC1B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,MAAM,GAAU,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC3F,wCAAwC;AACxC,oDAAoD;AAEpD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC;IACzC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,iBAAiB,EAAU,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;IAAA,CACF,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,iBAAiB,EAAU,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAAA,CAClC,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
@@ -12,5 +12,10 @@ export type HasLayer = (name: string) => boolean;
12
12
  * @param subCache - cache scoped to the root object with no layers applied
13
13
  * @param hasLayer - a function which returns whether a given layer should be applied
14
14
  */
15
- export declare function applyTokenLayers<TTokens>(tokens: TTokens, states: string[], subCache: GetTypedMemoValue<TTokens>, hasLayer: HasLayer): [TTokens, GetTypedMemoValue<TTokens>];
16
- //# sourceMappingURL=applyTokenLayers.d.ts.map
15
+ export declare function applyTokenLayers<TTokens>(
16
+ tokens: TTokens,
17
+ states: string[],
18
+ subCache: GetTypedMemoValue<TTokens>,
19
+ hasLayer: HasLayer,
20
+ ): [TTokens, GetTypedMemoValue<TTokens>];
21
+ //# sourceMappingURL=applyTokenLayers.d.ts.map
@@ -9,17 +9,20 @@ import { immutableMerge } from '@fluentui-react-native/framework-base';
9
9
  * @param hasLayer - a function which returns whether a given layer should be applied
10
10
  */
11
11
  export function applyTokenLayers(tokens, states, subCache, hasLayer) {
12
- let final = { tokens, subCache };
13
- if (states && states.length > 0) {
14
- // now walk the overrides that are set, merging in props, caching results, and getting a new sub cache
15
- final = states
16
- .filter((val) => hasLayer(val))
17
- .reduce((previous, layerName) => {
18
- const layer = previous.tokens[layerName];
19
- const [tokens, subCache] = previous.subCache(() => (layer && typeof layer === 'object' ? immutableMerge(previous.tokens, layer) : previous.tokens), [layer]);
20
- return { tokens, subCache };
21
- }, final);
22
- }
23
- return [final.tokens, final.subCache];
12
+ let final = { tokens, subCache };
13
+ if (states && states.length > 0) {
14
+ // now walk the overrides that are set, merging in props, caching results, and getting a new sub cache
15
+ final = states
16
+ .filter((val) => hasLayer(val))
17
+ .reduce((previous, layerName) => {
18
+ const layer = previous.tokens[layerName];
19
+ const [tokens, subCache] = previous.subCache(
20
+ () => (layer && typeof layer === 'object' ? immutableMerge(previous.tokens, layer) : previous.tokens),
21
+ [layer],
22
+ );
23
+ return { tokens, subCache };
24
+ }, final);
25
+ }
26
+ return [final.tokens, final.subCache];
24
27
  }
25
- //# sourceMappingURL=applyTokenLayers.js.map
28
+ //# sourceMappingURL=applyTokenLayers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyTokenLayers.js","sourceRoot":"","sources":["../src/applyTokenLayers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAQvE;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,MAAgB,EAChB,QAAoC,EACpC,QAAkB;IAGlB,IAAI,KAAK,GAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACjD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,sGAAsG;QACtG,KAAK,GAAG,MAAM;aACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC9B,MAAM,CAAC,CAAC,QAAwB,EAAE,SAAiB,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAC1C,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EACrG,CAAC,KAAK,CAAC,CACR,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC,EAAE,KAAK,CAAC,CAAC;KACb;IACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"applyTokenLayers.js","sourceRoot":"","sources":["../src/applyTokenLayers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAQvE;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,MAAgB,EAChB,QAAoC,EACpC,QAAkB,EACqB;IAEvC,IAAI,KAAK,GAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACjD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,sGAAsG;QACtG,KAAK,GAAG,MAAM;aACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC9B,MAAM,CAAC,CAAC,QAAwB,EAAE,SAAiB,EAAE,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAC1C,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EACrG,CAAC,KAAK,CAAC,CACR,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAA,CAC7B,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CACvC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=applyTokenLayers.test.d.ts.map
2
+ //# sourceMappingURL=applyTokenLayers.test.d.ts.map
@@ -2,52 +2,52 @@ import { getMemoCache } from '@fluentui-react-native/framework-base';
2
2
  import { applyTokenLayers } from './applyTokenLayers';
3
3
  const stateOrder = ['hover', 'press', 'disabled'];
4
4
  const tokens1 = {
5
- a: 'a',
6
- b: 'b',
7
- c: 'c',
8
- hover: {
9
- a: 'a-hover',
10
- b: 'b-hover',
11
- press: {
12
- a: 'a-hover-press',
13
- },
14
- },
5
+ a: 'a',
6
+ b: 'b',
7
+ c: 'c',
8
+ hover: {
9
+ a: 'a-hover',
10
+ b: 'b-hover',
15
11
  press: {
16
- a: 'a-press',
17
- b: 'b-press',
18
- },
19
- disabled: {
20
- a: 'disabled',
21
- b: 'disabled',
22
- c: 'disabled',
12
+ a: 'a-hover-press',
23
13
  },
14
+ },
15
+ press: {
16
+ a: 'a-press',
17
+ b: 'b-press',
18
+ },
19
+ disabled: {
20
+ a: 'disabled',
21
+ b: 'disabled',
22
+ c: 'disabled',
23
+ },
24
24
  };
25
25
  function stripLayers(tokens) {
26
- const t = { ...tokens };
27
- delete t.hover;
28
- delete t.press;
29
- delete t.disabled;
30
- return t;
26
+ const t = { ...tokens };
27
+ delete t.hover;
28
+ delete t.press;
29
+ delete t.disabled;
30
+ return t;
31
31
  }
32
32
  describe('applyLayers tests', () => {
33
- test('no layers returns tokens', () => {
34
- const cache = getMemoCache();
35
- const tokens = applyTokenLayers(tokens1, stateOrder, cache, () => false)[0];
36
- expect(tokens).toBe(tokens1);
37
- });
38
- test('apply hover works', () => {
39
- const cache = getMemoCache();
40
- const lookup = (layer) => layer === 'hover';
41
- const result1 = applyTokenLayers(tokens1, stateOrder, cache, lookup)[0];
42
- expect(applyTokenLayers(tokens1, stateOrder, cache, lookup)[0]).toBe(result1);
43
- expect(stripLayers(result1)).toEqual({ a: 'a-hover', b: 'b-hover', c: 'c' });
44
- });
45
- test('apply hover and press layer correctly', () => {
46
- const cache = getMemoCache();
47
- const lookup = (layer) => layer === 'hover' || layer === 'press';
48
- const result1 = applyTokenLayers(tokens1, stateOrder, cache, lookup)[0];
49
- expect(applyTokenLayers(tokens1, stateOrder, cache, lookup)[0]).toBe(result1);
50
- expect(stripLayers(result1)).toEqual({ a: 'a-hover-press', b: 'b-press', c: 'c' });
51
- });
33
+ test('no layers returns tokens', () => {
34
+ const cache = getMemoCache();
35
+ const tokens = applyTokenLayers(tokens1, stateOrder, cache, () => false)[0];
36
+ expect(tokens).toBe(tokens1);
37
+ });
38
+ test('apply hover works', () => {
39
+ const cache = getMemoCache();
40
+ const lookup = (layer) => layer === 'hover';
41
+ const result1 = applyTokenLayers(tokens1, stateOrder, cache, lookup)[0];
42
+ expect(applyTokenLayers(tokens1, stateOrder, cache, lookup)[0]).toBe(result1);
43
+ expect(stripLayers(result1)).toEqual({ a: 'a-hover', b: 'b-hover', c: 'c' });
44
+ });
45
+ test('apply hover and press layer correctly', () => {
46
+ const cache = getMemoCache();
47
+ const lookup = (layer) => layer === 'hover' || layer === 'press';
48
+ const result1 = applyTokenLayers(tokens1, stateOrder, cache, lookup)[0];
49
+ expect(applyTokenLayers(tokens1, stateOrder, cache, lookup)[0]).toBe(result1);
50
+ expect(stripLayers(result1)).toEqual({ a: 'a-hover-press', b: 'b-press', c: 'c' });
51
+ });
52
52
  });
53
- //# sourceMappingURL=applyTokenLayers.test.js.map
53
+ //# sourceMappingURL=applyTokenLayers.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyTokenLayers.test.js","sourceRoot":"","sources":["../src/applyTokenLayers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applyTokenLayers.test.js","sourceRoot":"","sources":["../src/applyTokenLayers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWtD,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAElD,MAAM,OAAO,GAAW;IACtB,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,KAAK,EAAE;YACL,CAAC,EAAE,eAAe;SACnB;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;KACb;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,UAAU;QACb,CAAC,EAAE,UAAU;QACb,CAAC,EAAE,UAAU;KACd;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,MAAc,EAAU;IAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,CAAC,KAAK,CAAC;IACf,OAAO,CAAC,CAAC,KAAK,CAAC;IACf,OAAO,CAAC,CAAC,QAAQ,CAAC;IAClB,OAAO,CAAC,CAAC;AAAA,CACV;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC;IAClC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAAA,CAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC;QAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAAA,CAC9E,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAAA,CACpF,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
@@ -19,7 +19,7 @@ export type UseTokensCore<TTokens, TTheme> = (theme: TTheme) => [TTokens, GetTyp
19
19
  * that captures both the previous values, and layers in the new values specified
20
20
  */
21
21
  export type UseTokens<TTokens, TTheme> = UseTokensCore<TTokens, TTheme> & {
22
- customize: (...tokens: TokenSettings<TTokens, TTheme>[]) => UseTokens<TTokens, TTheme>;
22
+ customize: (...tokens: TokenSettings<TTokens, TTheme>[]) => UseTokens<TTokens, TTheme>;
23
23
  };
24
24
  /**
25
25
  * Helper function that knows how to try to look up token information from the theme
@@ -31,5 +31,8 @@ export type GetComponentInfo<TTokens, TTheme> = (theme: TTheme, name: string) =>
31
31
  * @param options - options which drive behavior for the generated styling hook
32
32
  * @param themeHelper - injected theme functionality
33
33
  */
34
- export declare function buildUseTokens<TTokens, TTheme>(getComponentInfo: GetComponentInfo<TTokens, TTheme> | undefined, ...tokens: TokenSettings<TTokens, TTheme>[]): UseTokens<TTokens, TTheme>;
35
- //# sourceMappingURL=buildUseTokens.d.ts.map
34
+ export declare function buildUseTokens<TTokens, TTheme>(
35
+ getComponentInfo: GetComponentInfo<TTokens, TTheme> | undefined,
36
+ ...tokens: TokenSettings<TTokens, TTheme>[]
37
+ ): UseTokens<TTokens, TTheme>;
38
+ //# sourceMappingURL=buildUseTokens.d.ts.map
@@ -14,13 +14,13 @@ import { getMemoCache } from '@fluentui-react-native/framework-base';
14
14
  * @param getComponentInfo - helper to use to lookup the component in the theme
15
15
  */
16
16
  function mapToTokens(tokenEntry, theme, getComponentInfo) {
17
- if (typeof tokenEntry === 'string') {
18
- tokenEntry = (getComponentInfo && getComponentInfo(theme, tokenEntry)) || {};
19
- }
20
- if (typeof tokenEntry === 'function') {
21
- tokenEntry = tokenEntry(theme);
22
- }
23
- return tokenEntry;
17
+ if (typeof tokenEntry === 'string') {
18
+ tokenEntry = (getComponentInfo && getComponentInfo(theme, tokenEntry)) || {};
19
+ }
20
+ if (typeof tokenEntry === 'function') {
21
+ tokenEntry = tokenEntry(theme);
22
+ }
23
+ return tokenEntry;
24
24
  }
25
25
  /**
26
26
  * Construct a useStyling hook which returns styled slot props based on props and tokens defined in options and in the theme
@@ -29,19 +29,19 @@ function mapToTokens(tokenEntry, theme, getComponentInfo) {
29
29
  * @param themeHelper - injected theme functionality
30
30
  */
31
31
  export function buildUseTokens(getComponentInfo, ...tokens) {
32
- // create a cache instance for use in this particular call to buildUseTokens
33
- const cache = getMemoCache();
34
- // the core function simply merges layers together, looking up component definitions in the theme as well as executing any
35
- // theme functions. This turns the tokens into an array of token objects that then get merged together
36
- const useTokensCore = (theme) => {
37
- // get the base styles all merged together, these will only depend on internal tokens and theme
38
- return cache(() => immutableMerge(...tokens.map((value) => mapToTokens(value, theme, getComponentInfo))), [theme]);
39
- };
40
- // attach a customize function to generate a new use
41
- useTokensCore.customize = (...newTokens) => {
42
- const mergedTokens = [...tokens, ...newTokens];
43
- return buildUseTokens(getComponentInfo, ...mergedTokens);
44
- };
45
- return useTokensCore;
32
+ // create a cache instance for use in this particular call to buildUseTokens
33
+ const cache = getMemoCache();
34
+ // the core function simply merges layers together, looking up component definitions in the theme as well as executing any
35
+ // theme functions. This turns the tokens into an array of token objects that then get merged together
36
+ const useTokensCore = (theme) => {
37
+ // get the base styles all merged together, these will only depend on internal tokens and theme
38
+ return cache(() => immutableMerge(...tokens.map((value) => mapToTokens(value, theme, getComponentInfo))), [theme]);
39
+ };
40
+ // attach a customize function to generate a new use
41
+ useTokensCore.customize = (...newTokens) => {
42
+ const mergedTokens = [...tokens, ...newTokens];
43
+ return buildUseTokens(getComponentInfo, ...mergedTokens);
44
+ };
45
+ return useTokensCore;
46
46
  }
47
- //# sourceMappingURL=buildUseTokens.js.map
47
+ //# sourceMappingURL=buildUseTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUseTokens.js","sourceRoot":"","sources":["../src/buildUseTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAiCrE;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAClB,UAA+D,EAC/D,KAAa,EACb,gBAA+D;IAE/D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,UAAU,GAAG,CAAC,gBAAgB,IAAK,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAa,CAAC,IAAK,EAAc,CAAC;KACxG;IACD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QACpC,UAAU,GAAI,UAA+C,CAAC,KAAK,CAAC,CAAC;KACtE;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAA+D,EAC/D,GAAG,MAAwC;IAE3C,4EAA4E;IAC5E,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAE7B,0HAA0H;IAC1H,sGAAsG;IACtG,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;QACtC,+FAA+F;QAC/F,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9H,CAAC,CAAC;IAEF,oDAAoD;IACpD,aAAa,CAAC,SAAS,GAAG,CAAC,GAAG,SAA2C,EAAE,EAAE;QAC3E,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QAC/C,OAAO,cAAc,CAAkB,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"buildUseTokens.js","sourceRoot":"","sources":["../src/buildUseTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAiCrE;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAClB,UAA+D,EAC/D,KAAa,EACb,gBAA+D,EACtD;IACT,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,UAAU,GAAG,CAAC,gBAAgB,IAAK,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAa,CAAC,IAAK,EAAc,CAAC;IACzG,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;QACrC,UAAU,GAAI,UAA+C,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,UAAU,CAAC;AAAA,CACnB;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAA+D,EAC/D,GAAG,MAAwC,EACf;IAC5B,4EAA4E;IAC5E,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAE7B,0HAA0H;IAC1H,sGAAsG;IACtG,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC;QACvC,+FAA+F;QAC/F,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAAA,CAC7H,CAAC;IAEF,oDAAoD;IACpD,aAAa,CAAC,SAAS,GAAG,CAAC,GAAG,SAA2C,EAAE,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QAC/C,OAAO,cAAc,CAAkB,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;IAAA,CAC3E,CAAC;IAEF,OAAO,aAAa,CAAC;AAAA,CACtB"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=buildUseTokens.test.d.ts.map
2
+ //# sourceMappingURL=buildUseTokens.test.d.ts.map
@@ -1,85 +1,85 @@
1
1
  import { buildUseTokens } from './buildUseTokens';
2
2
  const baseTokens = {
3
- a: 'a-base',
4
- b: 'b-base',
5
- c: 'c-base',
6
- hover: {
7
- c: 'c-base-hover',
8
- },
9
- press: {
10
- c: 'c-base-press',
11
- },
3
+ a: 'a-base',
4
+ b: 'b-base',
5
+ c: 'c-base',
6
+ hover: {
7
+ c: 'c-base-hover',
8
+ },
9
+ press: {
10
+ c: 'c-base-press',
11
+ },
12
12
  };
13
13
  const defaultTheme = {
14
- vals: {
15
- foo: 'foo',
16
- bar: 'bar',
14
+ vals: {
15
+ foo: 'foo',
16
+ bar: 'bar',
17
+ },
18
+ components: {
19
+ uno: {
20
+ a: 'uno-a',
21
+ c: 'uno-c',
17
22
  },
18
- components: {
19
- uno: {
20
- a: 'uno-a',
21
- c: 'uno-c',
22
- },
23
- dos: {
24
- b: 'dos-b',
25
- c: 'dos-c',
26
- },
23
+ dos: {
24
+ b: 'dos-b',
25
+ c: 'dos-c',
27
26
  },
27
+ },
28
28
  };
29
29
  const variantTheme = {
30
- vals: {
31
- foo: 'variant',
32
- },
33
- components: {},
30
+ vals: {
31
+ foo: 'variant',
32
+ },
33
+ components: {},
34
34
  };
35
35
  const getComponentInfo = (theme, name) => theme.components[name];
36
36
  const componentTokens = [baseTokens, 'uno', (theme) => ({ b: theme.vals.foo })];
37
37
  const resolvedTokens = {
38
- a: 'uno-a',
39
- b: 'foo',
40
- c: 'uno-c',
41
- hover: {
42
- c: 'c-base-hover',
43
- },
44
- press: {
45
- c: 'c-base-press',
46
- },
38
+ a: 'uno-a',
39
+ b: 'foo',
40
+ c: 'uno-c',
41
+ hover: {
42
+ c: 'c-base-hover',
43
+ },
44
+ press: {
45
+ c: 'c-base-press',
46
+ },
47
47
  };
48
48
  const variantTokens = {
49
- a: 'a-base',
50
- b: 'variant',
51
- c: 'c-base',
52
- hover: {
53
- c: 'c-base-hover',
54
- },
55
- press: {
56
- c: 'c-base-press',
57
- },
49
+ a: 'a-base',
50
+ b: 'variant',
51
+ c: 'c-base',
52
+ hover: {
53
+ c: 'c-base-hover',
54
+ },
55
+ press: {
56
+ c: 'c-base-press',
57
+ },
58
58
  };
59
59
  describe('buildUseTokens test suite', () => {
60
- test('basic built hook', () => {
61
- const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
62
- const [tokens] = useTokens(defaultTheme);
63
- expect(tokens).toEqual(resolvedTokens);
64
- });
65
- test('multiple calls return same object', () => {
66
- const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
67
- const [tokens1] = useTokens(defaultTheme);
68
- const [tokens2] = useTokens(defaultTheme);
69
- expect(tokens1).toBe(tokens2);
70
- });
71
- test('variant theme is separate', () => {
72
- const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
73
- const [tokensDefault] = useTokens(defaultTheme);
74
- const [tokensVariant] = useTokens(variantTheme);
75
- expect(tokensVariant).not.toBe(tokensDefault);
76
- expect(tokensVariant).toEqual(variantTokens);
77
- });
78
- test('simple customization layers on top', () => {
79
- const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
80
- const useTokensCustom = useTokens.customize({ a: 'custom' });
81
- const [tokens] = useTokensCustom(defaultTheme);
82
- expect(tokens).toEqual({ ...resolvedTokens, a: 'custom' });
83
- });
60
+ test('basic built hook', () => {
61
+ const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
62
+ const [tokens] = useTokens(defaultTheme);
63
+ expect(tokens).toEqual(resolvedTokens);
64
+ });
65
+ test('multiple calls return same object', () => {
66
+ const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
67
+ const [tokens1] = useTokens(defaultTheme);
68
+ const [tokens2] = useTokens(defaultTheme);
69
+ expect(tokens1).toBe(tokens2);
70
+ });
71
+ test('variant theme is separate', () => {
72
+ const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
73
+ const [tokensDefault] = useTokens(defaultTheme);
74
+ const [tokensVariant] = useTokens(variantTheme);
75
+ expect(tokensVariant).not.toBe(tokensDefault);
76
+ expect(tokensVariant).toEqual(variantTokens);
77
+ });
78
+ test('simple customization layers on top', () => {
79
+ const useTokens = buildUseTokens(getComponentInfo, ...componentTokens);
80
+ const useTokensCustom = useTokens.customize({ a: 'custom' });
81
+ const [tokens] = useTokensCustom(defaultTheme);
82
+ expect(tokens).toEqual({ ...resolvedTokens, a: 'custom' });
83
+ });
84
84
  });
85
- //# sourceMappingURL=buildUseTokens.test.js.map
85
+ //# sourceMappingURL=buildUseTokens.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUseTokens.test.js","sourceRoot":"","sources":["../src/buildUseTokens.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildUseTokens.test.js","sourceRoot":"","sources":["../src/buildUseTokens.test.ts"],"names":[],"mappings":"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"}