@fluentui-react-native/use-tokens 0.6.3 → 0.6.4

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 (45) hide show
  1. package/CHANGELOG.json +36 -1
  2. package/CHANGELOG.md +10 -2
  3. package/eslint.config.js +3 -0
  4. package/lib/applyPropsToTokens.js +4 -13
  5. package/lib/applyPropsToTokens.js.map +1 -1
  6. package/lib/applyPropsToTokens.test.js +11 -12
  7. package/lib/applyPropsToTokens.test.js.map +1 -1
  8. package/lib/applyTokenLayers.js +6 -6
  9. package/lib/applyTokenLayers.js.map +1 -1
  10. package/lib/applyTokenLayers.test.js +15 -16
  11. package/lib/applyTokenLayers.test.js.map +1 -1
  12. package/lib/buildUseTokens.js +7 -16
  13. package/lib/buildUseTokens.js.map +1 -1
  14. package/lib/buildUseTokens.test.js +24 -25
  15. package/lib/buildUseTokens.test.js.map +1 -1
  16. package/lib/customizable.js +3 -7
  17. package/lib/customizable.js.map +1 -1
  18. package/lib/patchTokens.js +4 -13
  19. package/lib/patchTokens.js.map +1 -1
  20. package/lib/patchTokens.test.js +19 -19
  21. package/lib/patchTokens.test.js.map +1 -1
  22. package/lib/useTokens.samples.test.js +33 -34
  23. package/lib/useTokens.samples.test.js.map +1 -1
  24. package/lib-commonjs/applyPropsToTokens.js +4 -13
  25. package/lib-commonjs/applyPropsToTokens.js.map +1 -1
  26. package/lib-commonjs/applyPropsToTokens.test.js +13 -14
  27. package/lib-commonjs/applyPropsToTokens.test.js.map +1 -1
  28. package/lib-commonjs/applyTokenLayers.js +7 -7
  29. package/lib-commonjs/applyTokenLayers.js.map +1 -1
  30. package/lib-commonjs/applyTokenLayers.test.js +17 -18
  31. package/lib-commonjs/applyTokenLayers.test.js.map +1 -1
  32. package/lib-commonjs/buildUseTokens.js +9 -18
  33. package/lib-commonjs/buildUseTokens.js.map +1 -1
  34. package/lib-commonjs/buildUseTokens.test.js +25 -26
  35. package/lib-commonjs/buildUseTokens.test.js.map +1 -1
  36. package/lib-commonjs/customizable.js +3 -7
  37. package/lib-commonjs/customizable.js.map +1 -1
  38. package/lib-commonjs/patchTokens.js +4 -13
  39. package/lib-commonjs/patchTokens.js.map +1 -1
  40. package/lib-commonjs/patchTokens.test.js +21 -21
  41. package/lib-commonjs/patchTokens.test.js.map +1 -1
  42. package/lib-commonjs/useTokens.samples.test.js +40 -40
  43. package/lib-commonjs/useTokens.samples.test.js.map +1 -1
  44. package/package.json +12 -4
  45. package/.eslintrc.js +0 -3
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.patchTokens = void 0;
4
- var tslib_1 = require("tslib");
5
4
  /**
6
5
  * Take a set of tokens (and a memo-cache) and apply changes to those tokens from an additional set of tokens. Only keys which are
7
6
  * not undefined will be applied and if no changes are detected the token object will be unchanged.
@@ -13,21 +12,13 @@ var tslib_1 = require("tslib");
13
12
  */
14
13
  function patchTokens(tokens, cache, patchValues) {
15
14
  // reduce the patch values to the set of keys that are defined, and sort them to ensure consistent ordering
16
- var keys = Object.keys(patchValues)
17
- .filter(function (v) { return patchValues[v] !== undefined; })
15
+ const keys = Object.keys(patchValues)
16
+ .filter((v) => patchValues[v] !== undefined)
18
17
  .sort();
19
- var _loop_1 = function (key) {
20
- var _a;
21
- _a = cache(function () {
22
- var _a;
23
- return (tslib_1.__assign(tslib_1.__assign({}, tokens), (_a = {}, _a[key] = patchValues[key], _a)));
24
- }, [key, patchValues[key]]), tokens = _a[0], cache = _a[1];
25
- };
26
18
  // for each key get an updated tokens collection based on key + value. Value alone isn't sufficient as the values
27
19
  // are not necessarily unique. i.e. { a: 'blue' } and { b: 'blue' } would cache to the same without the key
28
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
29
- var key = keys_1[_i];
30
- _loop_1(key);
20
+ for (const key of keys) {
21
+ [tokens, cache] = cache(() => ({ ...tokens, [key]: patchValues[key] }), [key, patchValues[key]]);
31
22
  }
32
23
  // return the updated tokens and cache (if there were any keys applied)
33
24
  return [tokens, cache];
@@ -1 +1 @@
1
- {"version":3,"file":"patchTokens.js","sourceRoot":"","sources":["../src/patchTokens.ts"],"names":[],"mappings":";;;;AAEA;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,MAAe,EACf,KAA4B,EAC5B,WAAoB;IAEpB,2GAA2G;IAC3G,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAClC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAA5B,CAA4B,CAAC;SAC3C,IAAI,EAAE,CAAC;4BAIC,GAAG;;QACZ,KAAkB,KAAK,CAAC;;YAAM,OAAA,uCAAM,MAAM,gBAAG,GAAG,IAAG,WAAW,CAAC,GAAG,CAAC,OAAG;QAAxC,CAAwC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAA/F,MAAM,QAAA,EAAE,KAAK,QAAA,CAAmF;;IAHnG,iHAAiH;IACjH,2GAA2G;IAC3G,KAAkB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;QAAjB,IAAM,GAAG,aAAA;gBAAH,GAAG;KAEb;IAED,uEAAuE;IACvE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAlBD,kCAkBC"}
1
+ {"version":3,"file":"patchTokens.js","sourceRoot":"","sources":["../src/patchTokens.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,MAAe,EACf,KAA4B,EAC5B,WAAoB;IAEpB,2GAA2G;IAC3G,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SAC3C,IAAI,EAAE,CAAC;IAEV,iHAAiH;IACjH,2GAA2G;IAC3G,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAClG;IAED,uEAAuE;IACvE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAlBD,kCAkBC"}
@@ -1,39 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var memo_cache_1 = require("@fluentui-react-native/memo-cache");
4
- var patchTokens_1 = require("./patchTokens");
5
- var themeTokens = {
3
+ const memo_cache_1 = require("@fluentui-react-native/memo-cache");
4
+ const patchTokens_1 = require("./patchTokens");
5
+ const themeTokens = {
6
6
  uno: 'uno',
7
7
  dos: 'dos',
8
8
  tres: 3,
9
9
  quatro: 4,
10
10
  cinco: true,
11
11
  };
12
- describe('patchTokens tests', function () {
13
- test('props get copied', function () {
14
- var cache = (0, memo_cache_1.getMemoCache)();
15
- var patchValues = { uno: 'one', quatro: 'quatro' };
16
- var tokens = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues)[0];
12
+ describe('patchTokens tests', () => {
13
+ test('props get copied', () => {
14
+ const cache = (0, memo_cache_1.getMemoCache)();
15
+ const patchValues = { uno: 'one', quatro: 'quatro' };
16
+ const [tokens] = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues);
17
17
  expect(tokens).not.toBe(themeTokens);
18
- for (var key in patchValues) {
18
+ for (const key in patchValues) {
19
19
  expect(tokens[key]).toEqual(patchValues[key]);
20
20
  }
21
21
  });
22
- test('no copied props does not change tokens', function () {
23
- var cache = (0, memo_cache_1.getMemoCache)();
24
- var patchValues1 = {};
25
- var tokens = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues1)[0];
22
+ test('no copied props does not change tokens', () => {
23
+ const cache = (0, memo_cache_1.getMemoCache)();
24
+ const patchValues1 = {};
25
+ const [tokens] = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues1);
26
26
  expect(tokens).toBe(themeTokens);
27
- var patchValues2 = { tres: undefined };
28
- var tokens2 = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues2)[0];
27
+ const patchValues2 = { tres: undefined };
28
+ const [tokens2] = (0, patchTokens_1.patchTokens)(themeTokens, cache, patchValues2);
29
29
  expect(tokens2).toBe(themeTokens);
30
30
  });
31
- test('patching tokens cache independent of order', function () {
32
- var cache = (0, memo_cache_1.getMemoCache)();
33
- var patch1 = { uno: 'one', cinco: false };
34
- var patch2 = { cinco: false, uno: 'one' };
35
- var tokens1 = (0, patchTokens_1.patchTokens)(themeTokens, cache, patch1)[0];
36
- var tokens2 = (0, patchTokens_1.patchTokens)(themeTokens, cache, patch2)[0];
31
+ test('patching tokens cache independent of order', () => {
32
+ const cache = (0, memo_cache_1.getMemoCache)();
33
+ const patch1 = { uno: 'one', cinco: false };
34
+ const patch2 = { cinco: false, uno: 'one' };
35
+ const [tokens1] = (0, patchTokens_1.patchTokens)(themeTokens, cache, patch1);
36
+ const [tokens2] = (0, patchTokens_1.patchTokens)(themeTokens, cache, patch2);
37
37
  expect(tokens1).toBe(tokens2);
38
38
  });
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"patchTokens.test.js","sourceRoot":"","sources":["../src/patchTokens.test.ts"],"names":[],"mappings":";;AAAA,gEAAiE;AAEjE,6CAA4C;AAU5C,IAAM,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,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,IAAI,CAAC,kBAAkB,EAAE;QACvB,IAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,IAAM,WAAW,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9C,IAAA,MAAM,GAAI,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,GAAhD,CAAiD;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,KAAK,IAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE;QAC7C,IAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,IAAM,YAAY,GAAG,EAAE,CAAC;QACjB,IAAA,MAAM,GAAI,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,GAAjD,CAAkD;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAM,YAAY,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClC,IAAA,OAAO,GAAI,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,GAAjD,CAAkD;QAChE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE;QACjD,IAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,IAAM,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC5C,IAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACrC,IAAA,OAAO,GAAI,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,GAA3C,CAA4C;QACnD,IAAA,OAAO,GAAI,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,GAA3C,CAA4C;QAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"patchTokens.test.js","sourceRoot":"","sources":["../src/patchTokens.test.ts"],"names":[],"mappings":";;AAAA,kEAAiE;AAEjE,+CAA4C;AAU5C,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,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var React = tslib_1.__importStar(require("react"));
5
- var react_native_1 = require("react-native");
6
- var immutable_merge_1 = require("@fluentui-react-native/immutable-merge");
7
- var merge_props_1 = require("@fluentui-react-native/merge-props");
8
- var renderer = tslib_1.__importStar(require("react-test-renderer"));
9
- var buildUseTokens_1 = require("./buildUseTokens");
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const react_native_1 = require("react-native");
6
+ const immutable_merge_1 = require("@fluentui-react-native/immutable-merge");
7
+ const merge_props_1 = require("@fluentui-react-native/merge-props");
8
+ const renderer = tslib_1.__importStar(require("react-test-renderer"));
9
+ const buildUseTokens_1 = require("./buildUseTokens");
10
10
  /**
11
11
  * The default/base theme just contains base values
12
12
  */
13
- var baseTheme = {
13
+ const baseTheme = {
14
14
  globals: {
15
15
  backgroundColor: 'white',
16
16
  color: 'black',
@@ -20,48 +20,48 @@ var baseTheme = {
20
20
  },
21
21
  components: {},
22
22
  };
23
- var current = { theme: baseTheme };
24
- var useTheme = function () { return current.theme; };
25
- var setActiveTheme = function (theme) {
23
+ const current = { theme: baseTheme };
24
+ const useTheme = () => current.theme;
25
+ const setActiveTheme = (theme) => {
26
26
  current.theme = (theme && (0, immutable_merge_1.immutableMerge)(baseTheme, theme)) || baseTheme;
27
27
  };
28
28
  /**
29
29
  * Helper function used to look up a component in the theme. Having this injected allows this module to not be dependent on the shape of
30
30
  * the theme used.
31
31
  */
32
- var getComponentInfo = function (theme, name) { return theme.components[name]; };
33
- describe('useTokens samples', function () {
32
+ const getComponentInfo = (theme, name) => theme.components[name];
33
+ describe('useTokens samples', () => {
34
34
  /**
35
35
  * Sample #1 - Themeable text element
36
36
  *
37
37
  * This adds some default opinions for how a text element should be styled but only allows for customization
38
38
  * via theming
39
39
  */
40
- var useTokensSample1 = (0, buildUseTokens_1.buildUseTokens)(getComponentInfo,
40
+ const useTokensSample1 = (0, buildUseTokens_1.buildUseTokens)(getComponentInfo,
41
41
  /** first the default values should come from the global theme section */
42
- function (t) { return ({
42
+ (t) => ({
43
43
  color: t.globals.color,
44
44
  fontFamily: t.globals.fontFamily,
45
45
  fontSize: t.globals.fontSize,
46
- }); },
46
+ }),
47
47
  /** next we should look for a component reference to overlay */
48
48
  'SampleText');
49
- var SampleText1 = function (props) {
49
+ const SampleText1 = (props) => {
50
50
  // standard props splitting
51
- var style = props.style, children = props.children, rest = tslib_1.__rest(props, ["style", "children"]);
51
+ const { style, children, ...rest } = props;
52
52
  // typically this would start with a call to retrieve the theme from the context via whatever method is appropriate
53
- var theme = useTheme();
53
+ const theme = useTheme();
54
54
  // next the tokens are resolved from the theme, a cache specific to this theme is returned as well to allow for
55
55
  // style objects to not be rebuilt unnecessarily
56
- var _a = useTokensSample1(theme), tokens = _a[0], cache = _a[1];
56
+ const [tokens, cache] = useTokensSample1(theme);
57
57
  // build up the text style, or the full props as appropriate
58
- var styleFromTokens = cache(
58
+ const styleFromTokens = cache(
59
59
  /**
60
60
  * first build the style object
61
61
  * - this executes once for every unique set of keys.
62
62
  * - The cache is already unique for this theme
63
63
  */
64
- function () { return (tslib_1.__assign({}, tokens)); },
64
+ () => ({ ...tokens }),
65
65
  /**
66
66
  * now specify the keys
67
67
  * - because the only changing variable is the theme
@@ -72,20 +72,20 @@ describe('useTokens samples', function () {
72
72
  []);
73
73
  // merge the props from the tokens with anything passed in via style. This is internally cached via object identity
74
74
  // so the merged style object won't change identity unless one of the two inputs changes identity.
75
- var mergedStyle = (0, merge_props_1.mergeStyles)(styleFromTokens, style);
75
+ const mergedStyle = (0, merge_props_1.mergeStyles)(styleFromTokens, style);
76
76
  // now just render the element, forwarding the props, setting the merged style, then passing the children as appropriate
77
- return (React.createElement(react_native_1.Text, tslib_1.__assign({}, rest, { style: mergedStyle }), children));
77
+ return (React.createElement(react_native_1.Text, { ...rest, style: mergedStyle }, children));
78
78
  };
79
- beforeEach(function () {
79
+ beforeEach(() => {
80
80
  setActiveTheme();
81
81
  });
82
82
  /** first render the component with no updates */
83
- it('Sample1Text rendering with no overrides', function () {
84
- var tree = renderer.create(React.createElement(SampleText1, null, "Sample1a")).toJSON();
83
+ it('Sample1Text rendering with no overrides', () => {
84
+ const tree = renderer.create(React.createElement(SampleText1, null, "Sample1a")).toJSON();
85
85
  expect(tree).toMatchSnapshot();
86
86
  });
87
87
  /** now re-theme the component via the components in the theme */
88
- it('Sample1Text rendering with some custom settings in the theme', function () {
88
+ it('Sample1Text rendering with some custom settings in the theme', () => {
89
89
  setActiveTheme({
90
90
  components: {
91
91
  SampleText: {
@@ -94,28 +94,28 @@ describe('useTokens samples', function () {
94
94
  },
95
95
  },
96
96
  });
97
- var tree = renderer.create(React.createElement(SampleText1, null, "Sample1b")).toJSON();
97
+ const tree = renderer.create(React.createElement(SampleText1, null, "Sample1b")).toJSON();
98
98
  expect(tree).toMatchSnapshot();
99
99
  });
100
100
  // the Sample2Text component is built the same way as sample1, just using the new hook that has been created
101
- var SampleText2 = function (props) {
102
- var color = props.color, style = props.style, children = props.children, rest = tslib_1.__rest(props, ["color", "style", "children"]);
103
- var theme = useTheme();
101
+ const SampleText2 = (props) => {
102
+ const { color, style, children, ...rest } = props;
103
+ const theme = useTheme();
104
104
  // this starts the same as sample1, extract tokens from the theme and get a theme specific cache object
105
- var _a = useTokensSample1(theme), tokens = _a[0], cache = _a[1];
105
+ const [tokens, cache] = useTokensSample1(theme);
106
106
  // now when building up the style this time, the resulting style object is based upon both the theme and the passed
107
107
  // in value of colors. Because the theme is already part of the cache definition, only color needs to be a key
108
- var styleFromTokens = cache(
108
+ const styleFromTokens = cache(
109
109
  /** build the style, only patch the color if it has a value, otherwise the theme value would get stomped if color was undefined */
110
- function () { return (tslib_1.__assign(tslib_1.__assign({}, tokens), (color && { color: color }))); },
110
+ () => ({ ...tokens, ...(color && { color }) }),
111
111
  /** use color as an additional key for the style */
112
112
  [color]);
113
113
  // now just render, this time merging styles inline to make it a bit shorter
114
- return (React.createElement(react_native_1.Text, tslib_1.__assign({}, rest, { style: (0, merge_props_1.mergeStyles)(styleFromTokens, style) }), children));
114
+ return (React.createElement(react_native_1.Text, { ...rest, style: (0, merge_props_1.mergeStyles)(styleFromTokens, style) }, children));
115
115
  };
116
116
  /** rendering the Sample2 component with the base theme */
117
- it('Sample2Text rendering with defaults and a color override', function () {
118
- var tree = renderer
117
+ it('Sample2Text rendering with defaults and a color override', () => {
118
+ const tree = renderer
119
119
  .create(React.createElement(react_native_1.View, null,
120
120
  React.createElement(SampleText2, null, "Sample2 with defaults"),
121
121
  React.createElement(SampleText2, { color: "green" }, "Sample2 with color override via prop")))
@@ -123,7 +123,7 @@ describe('useTokens samples', function () {
123
123
  expect(tree).toMatchSnapshot();
124
124
  });
125
125
  /** now re-theme the component via the components in the theme */
126
- it('Sample2Text rendering with some custom settings in the theme', function () {
126
+ it('Sample2Text rendering with some custom settings in the theme', () => {
127
127
  setActiveTheme({
128
128
  components: {
129
129
  SampleText: {
@@ -132,7 +132,7 @@ describe('useTokens samples', function () {
132
132
  },
133
133
  },
134
134
  });
135
- var tree = renderer
135
+ const tree = renderer
136
136
  .create(React.createElement(react_native_1.View, null,
137
137
  React.createElement(SampleText2, null, "Sample2 with theme overrides set"),
138
138
  React.createElement(SampleText2, { color: "purple" }, "Sample2 with theme and color prop override")))
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.samples.test.js","sourceRoot":"","sources":["../src/useTokens.samples.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokens.samples.test.js","sourceRoot":"","sources":["../src/useTokens.samples.test.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/use-tokens",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Utilities and hook function for getting themed tokens for a component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,6 +9,13 @@
9
9
  },
10
10
  "main": "lib-commonjs/index.js",
11
11
  "module": "lib/index.js",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./lib/index.js",
15
+ "require": "./lib-commonjs/index.js",
16
+ "types": "./lib/index.d.ts"
17
+ }
18
+ },
12
19
  "typings": "lib/index.d.ts",
13
20
  "scripts": {
14
21
  "build": "fluentui-scripts build",
@@ -27,13 +34,13 @@
27
34
  "author": "",
28
35
  "license": "MIT",
29
36
  "dependencies": {
30
- "@fluentui-react-native/immutable-merge": "1.2.2",
31
- "@fluentui-react-native/memo-cache": "1.3.3",
37
+ "@fluentui-react-native/immutable-merge": "1.2.3",
38
+ "@fluentui-react-native/memo-cache": "1.3.4",
32
39
  "tslib": "^2.3.1"
33
40
  },
34
41
  "devDependencies": {
35
42
  "@babel/core": "^7.20.0",
36
- "@fluentui-react-native/merge-props": "0.9.2",
43
+ "@fluentui-react-native/merge-props": "0.9.3",
37
44
  "@fluentui-react-native/scripts": "0.1.1",
38
45
  "@react-native/babel-preset": "^0.74.0",
39
46
  "@react-native/metro-config": "^0.74.0",
@@ -56,6 +63,7 @@
56
63
  ]
57
64
  },
58
65
  "capabilities": [
66
+ "babel-preset-react-native",
59
67
  "core",
60
68
  "core-android",
61
69
  "core-ios",
package/.eslintrc.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ['@fluentui-react-native/eslint-config-rules'],
3
- };