@fluentui-react-native/experimental-shadow 0.2.4 → 0.2.7

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.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,70 @@
2
2
  "name": "@fluentui-react-native/experimental-shadow",
3
3
  "entries": [
4
4
  {
5
- "date": "Thu, 14 Jul 2022 16:12:53 GMT",
5
+ "date": "Fri, 15 Jul 2022 01:22:26 GMT",
6
+ "tag": "@fluentui-react-native/experimental-shadow_v0.2.7",
7
+ "version": "0.2.7",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "78454019+lyzhan7@users.noreply.github.com",
12
+ "package": "@fluentui-react-native/experimental-shadow",
13
+ "commit": "b3e63050f4b326ea7326a7d8e5c956537e9f5141",
14
+ "comment": "Replace shadowDepth with shadowToken"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui-react-native/experimental-shadow",
19
+ "comment": "Bump @fluentui-react-native/theme-types to v0.18.0",
20
+ "commit": "b3e63050f4b326ea7326a7d8e5c956537e9f5141"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Fri, 15 Jul 2022 00:29:27 GMT",
27
+ "tag": "@fluentui-react-native/experimental-shadow_v0.2.6",
28
+ "version": "0.2.6",
29
+ "comments": {
30
+ "patch": [
31
+ {
32
+ "author": "ruaraki@microsoft.com",
33
+ "package": "@fluentui-react-native/experimental-shadow",
34
+ "commit": "32c99c628be487a61c9ad2f792accc4360e1cfe7",
35
+ "comment": "Fix some versions"
36
+ },
37
+ {
38
+ "author": "78454019+lyzhan7@users.noreply.github.com",
39
+ "package": "@fluentui-react-native/experimental-shadow",
40
+ "commit": "368fee7d4df7596cab2638938835f7ded84bc6c9",
41
+ "comment": "Add shadow to iOS FAB"
42
+ }
43
+ ]
44
+ }
45
+ },
46
+ {
47
+ "date": "Thu, 14 Jul 2022 18:09:51 GMT",
48
+ "tag": "@fluentui-react-native/experimental-shadow_v0.2.5",
49
+ "version": "0.2.5",
50
+ "comments": {
51
+ "patch": [
52
+ {
53
+ "author": "duomaster01@gmail.com",
54
+ "package": "@fluentui-react-native/experimental-shadow",
55
+ "commit": "155145b496a51b06bba73f8f9c6b89dc7b348c4b",
56
+ "comment": "updated to rn 0.66"
57
+ },
58
+ {
59
+ "author": "beachball",
60
+ "package": "@fluentui-react-native/experimental-shadow",
61
+ "comment": "Bump @fluentui-react-native/framework to v0.8.0",
62
+ "commit": "155145b496a51b06bba73f8f9c6b89dc7b348c4b"
63
+ }
64
+ ]
65
+ }
66
+ },
67
+ {
68
+ "date": "Thu, 14 Jul 2022 16:13:45 GMT",
6
69
  "tag": "@fluentui-react-native/experimental-shadow_v0.2.4",
7
70
  "version": "0.2.4",
8
71
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,39 @@
1
1
  # Change Log - @fluentui-react-native/experimental-shadow
2
2
 
3
- This log was last generated on Thu, 14 Jul 2022 16:12:53 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 15 Jul 2022 01:22:26 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.2.7
8
+
9
+ Fri, 15 Jul 2022 01:22:26 GMT
10
+
11
+ ### Patches
12
+
13
+ - Replace shadowDepth with shadowToken (78454019+lyzhan7@users.noreply.github.com)
14
+ - Bump @fluentui-react-native/theme-types to v0.18.0
15
+
16
+ ## 0.2.6
17
+
18
+ Fri, 15 Jul 2022 00:29:27 GMT
19
+
20
+ ### Patches
21
+
22
+ - Fix some versions (ruaraki@microsoft.com)
23
+ - Add shadow to iOS FAB (78454019+lyzhan7@users.noreply.github.com)
24
+
25
+ ## 0.2.5
26
+
27
+ Thu, 14 Jul 2022 18:09:51 GMT
28
+
29
+ ### Patches
30
+
31
+ - updated to rn 0.66 (duomaster01@gmail.com)
32
+ - Bump @fluentui-react-native/framework to v0.8.0
33
+
7
34
  ## 0.2.4
8
35
 
9
- Thu, 14 Jul 2022 16:12:53 GMT
36
+ Thu, 14 Jul 2022 16:13:45 GMT
10
37
 
11
38
  ### Patches
12
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.d.ts","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,MAAM,4EAajB,CAAC;AAIH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Shadow.d.ts","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,MAAM,4EAWjB,CAAC;AAIH,eAAe,MAAM,CAAC"}
package/lib/Shadow.js CHANGED
@@ -12,16 +12,11 @@ var __assign = (this && this.__assign) || function () {
12
12
  import * as React from 'react';
13
13
  import { View } from 'react-native';
14
14
  import { shadowName } from './Shadow.types';
15
- import { useFluentTheme, mergeProps, stagedComponent } from '@fluentui-react-native/framework';
15
+ import { mergeProps, stagedComponent } from '@fluentui-react-native/framework';
16
16
  import { getShadowTokenStyleSet } from './shadowStyle';
17
17
  export var Shadow = stagedComponent(function (props) {
18
- var theme = useFluentTheme();
19
- return function (final) {
20
- var children = [];
21
- for (var _i = 1; _i < arguments.length; _i++) {
22
- children[_i - 1] = arguments[_i];
23
- }
24
- var shadowTokenStyleSet = getShadowTokenStyleSet(theme, props.depth);
18
+ return function (final, children) {
19
+ var shadowTokenStyleSet = getShadowTokenStyleSet(props.shadowToken);
25
20
  var mergedProps = mergeProps(final, { style: shadowTokenStyleSet.key });
26
21
  return (React.createElement(View, { style: shadowTokenStyleSet.ambient },
27
22
  React.createElement(View, __assign({}, mergedProps), children)));
package/lib/Shadow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,CAAC,IAAM,MAAM,GAAG,eAAe,CAAC,UAAC,KAAkB;IACvD,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,UAAC,KAAkB;QAAE,kBAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,iCAA8B;;QACxD,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YACtC,oBAAC,IAAI,eAAK,WAAW,GAAG,QAAQ,CAAQ,CACnC,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;AAEhC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,CAAC,IAAM,MAAM,GAAG,eAAe,CAAC,UAAC,KAAkB;IACvD,OAAO,UAAC,KAAkB,EAAE,QAAyB;QACnD,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YACtC,oBAAC,IAAI,eAAK,WAAW,GAAG,QAAQ,CAAQ,CACnC,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;AAEhC,eAAe,MAAM,CAAC"}
@@ -1,7 +1,7 @@
1
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
1
2
  import { ViewProps } from 'react-native';
2
3
  export declare const shadowName = "Shadow";
3
- export declare type ShadowDepth = 'shadow2' | 'shadow4' | 'shadow8' | 'shadow16' | 'shadow28' | 'shadow64' | 'shadow2brand' | 'shadow4brand' | 'shadow8brand' | 'shadow16brand' | 'shadow28brand' | 'shadow64brand';
4
4
  export interface ShadowProps extends ViewProps {
5
- depth?: ShadowDepth;
5
+ shadowToken?: ShadowToken;
6
6
  }
7
7
  //# sourceMappingURL=Shadow.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.types.d.ts","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,oBAAY,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,cAAc,GACd,cAAc,GACd,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"Shadow.types.d.ts","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.types.js","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,UAAU,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"Shadow.types.js","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,UAAU,GAAG,QAAQ,CAAC"}
@@ -1,104 +1,68 @@
1
1
  import * as React from 'react';
2
2
  import { Text } from 'react-native';
3
3
  import { Shadow } from '../Shadow';
4
+ import { useFluentTheme } from '@fluentui-react-native/framework';
4
5
  import * as renderer from 'react-test-renderer';
5
6
  import { checkRenderConsistency, checkReRender } from '@fluentui-react-native/test-tools';
7
+ var TestShadow = function (props) {
8
+ var theme = useFluentTheme();
9
+ return (React.createElement(Shadow, { shadowToken: theme.shadows[props.depth] },
10
+ React.createElement(Text, null, props.displayText)));
11
+ };
6
12
  describe('Shadow component tests', function () {
7
13
  it('Shadow (depth=2)', function () {
8
- var tree = renderer
9
- .create(React.createElement(Shadow, { depth: "shadow2" },
10
- React.createElement(Text, null, "Shadow (depth=2) ")))
11
- .toJSON();
14
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=2)", depth: "shadow2" })).toJSON();
12
15
  expect(tree).toMatchSnapshot();
13
16
  });
14
17
  it('Shadow (depth=4)', function () {
15
- var tree = renderer
16
- .create(React.createElement(Shadow, { depth: "shadow4" },
17
- React.createElement(Text, null, "Shadow (depth=4)")))
18
- .toJSON();
18
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=4)", depth: "shadow4" })).toJSON();
19
19
  expect(tree).toMatchSnapshot();
20
20
  });
21
21
  it('Shadow (depth=8)', function () {
22
- var tree = renderer
23
- .create(React.createElement(Shadow, { depth: "shadow8" },
24
- React.createElement(Text, null, "Shadow (depth=8) ")))
25
- .toJSON();
22
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=8)", depth: "shadow8" })).toJSON();
26
23
  expect(tree).toMatchSnapshot();
27
24
  });
28
25
  it('Shadow (depth=16)', function () {
29
- var tree = renderer
30
- .create(React.createElement(Shadow, { depth: "shadow16" },
31
- React.createElement(Text, null, "Shadow (depth=16)")))
32
- .toJSON();
26
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=16)", depth: "shadow16" })).toJSON();
33
27
  expect(tree).toMatchSnapshot();
34
28
  });
35
29
  it('Shadow (depth=28)', function () {
36
- var tree = renderer
37
- .create(React.createElement(Shadow, { depth: "shadow28" },
38
- React.createElement(Text, null, "Shadow (depth=28) ")))
39
- .toJSON();
30
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=28)", depth: "shadow28" })).toJSON();
40
31
  expect(tree).toMatchSnapshot();
41
32
  });
42
33
  it('Shadow (depth=64)', function () {
43
- var tree = renderer
44
- .create(React.createElement(Shadow, { depth: "shadow64" },
45
- React.createElement(Text, null, "Shadow (depth=64)")))
46
- .toJSON();
34
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=64)", depth: "shadow64" })).toJSON();
47
35
  expect(tree).toMatchSnapshot();
48
36
  });
49
37
  it('Brand shadow (depth=2)', function () {
50
- var tree = renderer
51
- .create(React.createElement(Shadow, { depth: "shadow2brand" },
52
- React.createElement(Text, null, "Brand shadow (depth=2)")))
53
- .toJSON();
38
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=2)", depth: "shadow2brand" })).toJSON();
54
39
  expect(tree).toMatchSnapshot();
55
40
  });
56
41
  it('Brand shadow (depth=4)', function () {
57
- var tree = renderer
58
- .create(React.createElement(Shadow, { depth: "shadow4brand" },
59
- React.createElement(Text, null, "Brand shadow (depth=4)")))
60
- .toJSON();
42
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=4)", depth: "shadow4brand" })).toJSON();
61
43
  expect(tree).toMatchSnapshot();
62
44
  });
63
45
  it('Brand shadow (depth=8)', function () {
64
- var tree = renderer
65
- .create(React.createElement(Shadow, { depth: "shadow8brand" },
66
- React.createElement(Text, null, "Brand shadow (depth=8)")))
67
- .toJSON();
46
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=8)", depth: "shadow8brand" })).toJSON();
68
47
  expect(tree).toMatchSnapshot();
69
48
  });
70
49
  it('Brand shadow (depth=16)', function () {
71
- var tree = renderer
72
- .create(React.createElement(Shadow, { depth: "shadow16brand" },
73
- React.createElement(Text, null, "Brand shadow (depth=16)")))
74
- .toJSON();
50
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=16)", depth: "shadow16brand" })).toJSON();
75
51
  expect(tree).toMatchSnapshot();
76
52
  });
77
53
  it('Brand shadow (depth=28)', function () {
78
- var tree = renderer
79
- .create(React.createElement(Shadow, { depth: "shadow28brand" },
80
- React.createElement(Text, null, "Brand shadow (depth=28)")))
81
- .toJSON();
54
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=28)", depth: "shadow28brand" })).toJSON();
82
55
  expect(tree).toMatchSnapshot();
83
56
  });
84
57
  it('Brand shadow (depth=64)', function () {
85
- var tree = renderer
86
- .create(React.createElement(Shadow, { depth: "shadow64brand" },
87
- React.createElement(Text, null, "Brand shadow (depth=64)")))
88
- .toJSON();
58
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=64)", depth: "shadow64brand" })).toJSON();
89
59
  expect(tree).toMatchSnapshot();
90
60
  });
91
61
  it('Shadow simple rendering does not invalidate styling', function () {
92
- checkRenderConsistency(function () { return (React.createElement(Shadow, { depth: "shadow2" },
93
- React.createElement(Text, null, "Shadow render test"))); }, 2);
94
- });
95
- it('Shadow simple rendering does not invalidate styling', function () {
96
- checkRenderConsistency(function () { return (React.createElement(Shadow, { depth: "shadow2" },
97
- React.createElement(Text, null, "Shadow render test"))); }, 2);
62
+ checkRenderConsistency(function () { return React.createElement(TestShadow, { displayText: "Shadow render test", depth: "shadow2" }); }, 2);
98
63
  });
99
64
  it('Shadow re-renders correctly', function () {
100
- checkReRender(function () { return (React.createElement(Shadow, { depth: "shadow2" },
101
- React.createElement(Text, null, "Shadow render twice test"))); }, 2);
65
+ checkReRender(function () { return React.createElement(TestShadow, { displayText: "Shadow render twice test", depth: "shadow2" }); }, 2);
102
66
  });
103
67
  });
104
68
  //# sourceMappingURL=Shadow.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { Shadow } from './Shadow';
2
- export { ShadowDepth, ShadowProps } from './Shadow.types';
2
+ export { ShadowProps } from './Shadow.types';
3
3
  export { getShadowTokenStyleSet } from './shadowStyle';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Theme } from '@fluentui-react-native/framework';
2
- import { ShadowDepth } from './Shadow.types';
1
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
3
2
  export declare const getShadowTokenStyleSet: typeof getShadowTokenStyleSetWorker;
4
- declare function getShadowTokenStyleSetWorker(t: Theme, depth: ShadowDepth): {
3
+ declare function getShadowTokenStyleSetWorker(shadowToken: ShadowToken): {
5
4
  key: {
6
5
  shadowColor: string;
7
6
  shadowOpacity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"shadowStyle.d.ts","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,sBAAsB,qCAAwC,CAAC;AAE5E,iBAAS,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EAwBjE"}
1
+ {"version":3,"file":"shadowStyle.d.ts","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAGjE,eAAO,MAAM,sBAAsB,qCAAwC,CAAC;AAE5E,iBAAS,4BAA4B,CAAC,WAAW,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EA+B7D"}
@@ -1,8 +1,14 @@
1
1
  import { memoize } from '@fluentui-react-native/framework';
2
2
  export var getShadowTokenStyleSet = memoize(getShadowTokenStyleSetWorker);
3
- function getShadowTokenStyleSetWorker(t, depth) {
4
- var keyShadow = t.shadows[depth.toString()].key;
5
- var ambientShadow = t.shadows[depth.toString()].ambient;
3
+ function getShadowTokenStyleSetWorker(shadowToken) {
4
+ if (!shadowToken) {
5
+ return {
6
+ key: emptyShadowStyle,
7
+ ambient: emptyShadowStyle,
8
+ };
9
+ }
10
+ var keyShadow = shadowToken.key;
11
+ var ambientShadow = shadowToken.ambient;
6
12
  return {
7
13
  key: {
8
14
  shadowColor: shadowColorFromRGBAColor(keyShadow.color),
@@ -33,4 +39,13 @@ var shadowOpacityFromRGBAColor = function (rgbaColor) {
33
39
  // Round to two decimal places
34
40
  return Math.round(opacityAsDecimal * 100) / 100;
35
41
  };
42
+ var emptyShadowStyle = {
43
+ shadowColor: '000000',
44
+ shadowOpacity: 0,
45
+ shadowRadius: 0,
46
+ shadowOffset: {
47
+ width: 0,
48
+ height: 0,
49
+ },
50
+ };
36
51
  //# sourceMappingURL=shadowStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadowStyle.js","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAIlE,MAAM,CAAC,IAAM,sBAAsB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE5E,SAAS,4BAA4B,CAAC,CAAQ,EAAE,KAAkB;IAChE,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;IAClD,IAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IAE1D,OAAO;QACL,GAAG,EAAE;YACH,WAAW,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC;YACtD,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1D,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,CAAC,CAAC;aACpB;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1D,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9D,YAAY,EAAE,aAAa,CAAC,IAAI;YAChC,YAAY,EAAE;gBACZ,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtB,MAAM,EAAE,aAAa,CAAC,CAAC;aACxB;SACF;KACF,CAAC;AACJ,CAAC;AAED,IAAM,wBAAwB,GAAG,UAAC,SAAqB;IACrD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG,UAAC,SAAqB;IACvD,IAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAEtD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"shadowStyle.js","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAI3D,MAAM,CAAC,IAAM,sBAAsB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE5E,SAAS,4BAA4B,CAAC,WAAwB;IAC5D,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,OAAO,EAAE,gBAAgB;SAC1B,CAAC;KACH;IAED,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC;IAClC,IAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC;IAE1C,OAAO;QACL,GAAG,EAAE;YACH,WAAW,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC;YACtD,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1D,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,CAAC,CAAC;aACpB;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1D,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9D,YAAY,EAAE,aAAa,CAAC,IAAI;YAChC,YAAY,EAAE;gBACZ,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtB,MAAM,EAAE,aAAa,CAAC,CAAC;aACxB;SACF;KACF,CAAC;AACJ,CAAC;AAED,IAAM,wBAAwB,GAAG,UAAC,SAAqB;IACrD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG,UAAC,SAAqB;IACvD,IAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAEtD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC,CAAC;AAEF,IAAM,gBAAgB,GAAG;IACvB,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.d.ts","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,MAAM,4EAajB,CAAC;AAIH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Shadow.d.ts","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,MAAM,4EAWjB,CAAC;AAIH,eAAe,MAAM,CAAC"}
@@ -37,13 +37,8 @@ var Shadow_types_1 = require("./Shadow.types");
37
37
  var framework_1 = require("@fluentui-react-native/framework");
38
38
  var shadowStyle_1 = require("./shadowStyle");
39
39
  exports.Shadow = (0, framework_1.stagedComponent)(function (props) {
40
- var theme = (0, framework_1.useFluentTheme)();
41
- return function (final) {
42
- var children = [];
43
- for (var _i = 1; _i < arguments.length; _i++) {
44
- children[_i - 1] = arguments[_i];
45
- }
46
- var shadowTokenStyleSet = (0, shadowStyle_1.getShadowTokenStyleSet)(theme, props.depth);
40
+ return function (final, children) {
41
+ var shadowTokenStyleSet = (0, shadowStyle_1.getShadowTokenStyleSet)(props.shadowToken);
47
42
  var mergedProps = (0, framework_1.mergeProps)(final, { style: shadowTokenStyleSet.key });
48
43
  return (React.createElement(react_native_1.View, { style: shadowTokenStyleSet.ambient },
49
44
  React.createElement(react_native_1.View, __assign({}, mergedProps), children)));
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,6CAAoC;AACpC,+CAAyD;AACzD,8DAA+F;AAC/F,6CAAuD;AAE1C,QAAA,MAAM,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAkB;IACvD,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAE/B,OAAO,UAAC,KAAkB;QAAE,kBAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,iCAA8B;;QACxD,IAAM,mBAAmB,GAAG,IAAA,oCAAsB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,OAAO,CACL,oBAAC,mBAAI,IAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YACtC,oBAAC,mBAAI,eAAK,WAAW,GAAG,QAAQ,CAAQ,CACnC,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,cAAM,CAAC,WAAW,GAAG,yBAAU,CAAC;AAEhC,kBAAe,cAAM,CAAC"}
1
+ {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../src/Shadow.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,6CAAoC;AACpC,+CAAyD;AACzD,8DAA+E;AAC/E,6CAAuD;AAE1C,QAAA,MAAM,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAkB;IACvD,OAAO,UAAC,KAAkB,EAAE,QAAyB;QACnD,IAAM,mBAAmB,GAAG,IAAA,oCAAsB,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,OAAO,CACL,oBAAC,mBAAI,IAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YACtC,oBAAC,mBAAI,eAAK,WAAW,GAAG,QAAQ,CAAQ,CACnC,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,cAAM,CAAC,WAAW,GAAG,yBAAU,CAAC;AAEhC,kBAAe,cAAM,CAAC"}
@@ -1,7 +1,7 @@
1
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
1
2
  import { ViewProps } from 'react-native';
2
3
  export declare const shadowName = "Shadow";
3
- export declare type ShadowDepth = 'shadow2' | 'shadow4' | 'shadow8' | 'shadow16' | 'shadow28' | 'shadow64' | 'shadow2brand' | 'shadow4brand' | 'shadow8brand' | 'shadow16brand' | 'shadow28brand' | 'shadow64brand';
4
4
  export interface ShadowProps extends ViewProps {
5
- depth?: ShadowDepth;
5
+ shadowToken?: ShadowToken;
6
6
  }
7
7
  //# sourceMappingURL=Shadow.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.types.d.ts","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,oBAAY,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,cAAc,GACd,cAAc,GACd,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"Shadow.types.d.ts","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.types.js","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"Shadow.types.js","sourceRoot":"","sources":["../src/Shadow.types.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,QAAQ,CAAC"}
@@ -22,104 +22,68 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  var React = __importStar(require("react"));
23
23
  var react_native_1 = require("react-native");
24
24
  var Shadow_1 = require("../Shadow");
25
+ var framework_1 = require("@fluentui-react-native/framework");
25
26
  var renderer = __importStar(require("react-test-renderer"));
26
27
  var test_tools_1 = require("@fluentui-react-native/test-tools");
28
+ var TestShadow = function (props) {
29
+ var theme = (0, framework_1.useFluentTheme)();
30
+ return (React.createElement(Shadow_1.Shadow, { shadowToken: theme.shadows[props.depth] },
31
+ React.createElement(react_native_1.Text, null, props.displayText)));
32
+ };
27
33
  describe('Shadow component tests', function () {
28
34
  it('Shadow (depth=2)', function () {
29
- var tree = renderer
30
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow2" },
31
- React.createElement(react_native_1.Text, null, "Shadow (depth=2) ")))
32
- .toJSON();
35
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=2)", depth: "shadow2" })).toJSON();
33
36
  expect(tree).toMatchSnapshot();
34
37
  });
35
38
  it('Shadow (depth=4)', function () {
36
- var tree = renderer
37
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow4" },
38
- React.createElement(react_native_1.Text, null, "Shadow (depth=4)")))
39
- .toJSON();
39
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=4)", depth: "shadow4" })).toJSON();
40
40
  expect(tree).toMatchSnapshot();
41
41
  });
42
42
  it('Shadow (depth=8)', function () {
43
- var tree = renderer
44
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow8" },
45
- React.createElement(react_native_1.Text, null, "Shadow (depth=8) ")))
46
- .toJSON();
43
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=8)", depth: "shadow8" })).toJSON();
47
44
  expect(tree).toMatchSnapshot();
48
45
  });
49
46
  it('Shadow (depth=16)', function () {
50
- var tree = renderer
51
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow16" },
52
- React.createElement(react_native_1.Text, null, "Shadow (depth=16)")))
53
- .toJSON();
47
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=16)", depth: "shadow16" })).toJSON();
54
48
  expect(tree).toMatchSnapshot();
55
49
  });
56
50
  it('Shadow (depth=28)', function () {
57
- var tree = renderer
58
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow28" },
59
- React.createElement(react_native_1.Text, null, "Shadow (depth=28) ")))
60
- .toJSON();
51
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=28)", depth: "shadow28" })).toJSON();
61
52
  expect(tree).toMatchSnapshot();
62
53
  });
63
54
  it('Shadow (depth=64)', function () {
64
- var tree = renderer
65
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow64" },
66
- React.createElement(react_native_1.Text, null, "Shadow (depth=64)")))
67
- .toJSON();
55
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Shadow (depth=64)", depth: "shadow64" })).toJSON();
68
56
  expect(tree).toMatchSnapshot();
69
57
  });
70
58
  it('Brand shadow (depth=2)', function () {
71
- var tree = renderer
72
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow2brand" },
73
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=2)")))
74
- .toJSON();
59
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=2)", depth: "shadow2brand" })).toJSON();
75
60
  expect(tree).toMatchSnapshot();
76
61
  });
77
62
  it('Brand shadow (depth=4)', function () {
78
- var tree = renderer
79
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow4brand" },
80
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=4)")))
81
- .toJSON();
63
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=4)", depth: "shadow4brand" })).toJSON();
82
64
  expect(tree).toMatchSnapshot();
83
65
  });
84
66
  it('Brand shadow (depth=8)', function () {
85
- var tree = renderer
86
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow8brand" },
87
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=8)")))
88
- .toJSON();
67
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=8)", depth: "shadow8brand" })).toJSON();
89
68
  expect(tree).toMatchSnapshot();
90
69
  });
91
70
  it('Brand shadow (depth=16)', function () {
92
- var tree = renderer
93
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow16brand" },
94
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=16)")))
95
- .toJSON();
71
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=16)", depth: "shadow16brand" })).toJSON();
96
72
  expect(tree).toMatchSnapshot();
97
73
  });
98
74
  it('Brand shadow (depth=28)', function () {
99
- var tree = renderer
100
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow28brand" },
101
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=28)")))
102
- .toJSON();
75
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=28)", depth: "shadow28brand" })).toJSON();
103
76
  expect(tree).toMatchSnapshot();
104
77
  });
105
78
  it('Brand shadow (depth=64)', function () {
106
- var tree = renderer
107
- .create(React.createElement(Shadow_1.Shadow, { depth: "shadow64brand" },
108
- React.createElement(react_native_1.Text, null, "Brand shadow (depth=64)")))
109
- .toJSON();
79
+ var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=64)", depth: "shadow64brand" })).toJSON();
110
80
  expect(tree).toMatchSnapshot();
111
81
  });
112
82
  it('Shadow simple rendering does not invalidate styling', function () {
113
- (0, test_tools_1.checkRenderConsistency)(function () { return (React.createElement(Shadow_1.Shadow, { depth: "shadow2" },
114
- React.createElement(react_native_1.Text, null, "Shadow render test"))); }, 2);
115
- });
116
- it('Shadow simple rendering does not invalidate styling', function () {
117
- (0, test_tools_1.checkRenderConsistency)(function () { return (React.createElement(Shadow_1.Shadow, { depth: "shadow2" },
118
- React.createElement(react_native_1.Text, null, "Shadow render test"))); }, 2);
83
+ (0, test_tools_1.checkRenderConsistency)(function () { return React.createElement(TestShadow, { displayText: "Shadow render test", depth: "shadow2" }); }, 2);
119
84
  });
120
85
  it('Shadow re-renders correctly', function () {
121
- (0, test_tools_1.checkReRender)(function () { return (React.createElement(Shadow_1.Shadow, { depth: "shadow2" },
122
- React.createElement(react_native_1.Text, null, "Shadow render twice test"))); }, 2);
86
+ (0, test_tools_1.checkReRender)(function () { return React.createElement(TestShadow, { displayText: "Shadow render twice test", depth: "shadow2" }); }, 2);
123
87
  });
124
88
  });
125
89
  //# sourceMappingURL=Shadow.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,6CAAoC;AACpC,oCAAmC;AACnC,8DAAkE;AAClE,4DAAgD;AAChD,gEAA0F;AAO1F,IAAM,UAAU,GAA6C,UAAC,KAAsB;IAClF,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,oBAAC,eAAM,IAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7C,oBAAC,mBAAI,QAAE,KAAK,CAAC,WAAW,CAAQ,CACzB,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE;IACjC,EAAE,CAAC,kBAAkB,EAAE;QACrB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,kBAAkB,EAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACrG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE;QACrB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,kBAAkB,EAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACrG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE;QACrB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,kBAAkB,EAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACrG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE;QACtB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,mBAAmB,EAAC,KAAK,EAAC,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE;QACtB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,mBAAmB,EAAC,KAAK,EAAC,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE;QACtB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,mBAAmB,EAAC,KAAK,EAAC,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE;QAC3B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,wBAAwB,EAAC,KAAK,EAAC,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE;QAC3B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,wBAAwB,EAAC,KAAK,EAAC,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE;QAC3B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,wBAAwB,EAAC,KAAK,EAAC,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE;QAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,yBAAyB,EAAC,KAAK,EAAC,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE;QAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,yBAAyB,EAAC,KAAK,EAAC,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE;QAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,UAAU,IAAC,WAAW,EAAC,yBAAyB,EAAC,KAAK,EAAC,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClH,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE;QACxD,IAAA,mCAAsB,EAAC,cAAM,OAAA,oBAAC,UAAU,IAAC,WAAW,EAAC,oBAAoB,EAAC,KAAK,EAAC,SAAS,GAAG,EAA/D,CAA+D,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE;QAChC,IAAA,0BAAa,EAAC,cAAM,OAAA,oBAAC,UAAU,IAAC,WAAW,EAAC,0BAA0B,EAAC,KAAK,EAAC,SAAS,GAAG,EAArE,CAAqE,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { Shadow } from './Shadow';
2
- export { ShadowDepth, ShadowProps } from './Shadow.types';
2
+ export { ShadowProps } from './Shadow.types';
3
3
  export { getShadowTokenStyleSet } from './shadowStyle';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Theme } from '@fluentui-react-native/framework';
2
- import { ShadowDepth } from './Shadow.types';
1
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
3
2
  export declare const getShadowTokenStyleSet: typeof getShadowTokenStyleSetWorker;
4
- declare function getShadowTokenStyleSetWorker(t: Theme, depth: ShadowDepth): {
3
+ declare function getShadowTokenStyleSetWorker(shadowToken: ShadowToken): {
5
4
  key: {
6
5
  shadowColor: string;
7
6
  shadowOpacity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"shadowStyle.d.ts","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,sBAAsB,qCAAwC,CAAC;AAE5E,iBAAS,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EAwBjE"}
1
+ {"version":3,"file":"shadowStyle.d.ts","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAGjE,eAAO,MAAM,sBAAsB,qCAAwC,CAAC;AAE5E,iBAAS,4BAA4B,CAAC,WAAW,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EA+B7D"}
@@ -3,9 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getShadowTokenStyleSet = void 0;
4
4
  var framework_1 = require("@fluentui-react-native/framework");
5
5
  exports.getShadowTokenStyleSet = (0, framework_1.memoize)(getShadowTokenStyleSetWorker);
6
- function getShadowTokenStyleSetWorker(t, depth) {
7
- var keyShadow = t.shadows[depth.toString()].key;
8
- var ambientShadow = t.shadows[depth.toString()].ambient;
6
+ function getShadowTokenStyleSetWorker(shadowToken) {
7
+ if (!shadowToken) {
8
+ return {
9
+ key: emptyShadowStyle,
10
+ ambient: emptyShadowStyle,
11
+ };
12
+ }
13
+ var keyShadow = shadowToken.key;
14
+ var ambientShadow = shadowToken.ambient;
9
15
  return {
10
16
  key: {
11
17
  shadowColor: shadowColorFromRGBAColor(keyShadow.color),
@@ -36,4 +42,13 @@ var shadowOpacityFromRGBAColor = function (rgbaColor) {
36
42
  // Round to two decimal places
37
43
  return Math.round(opacityAsDecimal * 100) / 100;
38
44
  };
45
+ var emptyShadowStyle = {
46
+ shadowColor: '000000',
47
+ shadowOpacity: 0,
48
+ shadowRadius: 0,
49
+ shadowOffset: {
50
+ width: 0,
51
+ height: 0,
52
+ },
53
+ };
39
54
  //# sourceMappingURL=shadowStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadowStyle.js","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":";;;AAAA,8DAAkE;AAIrD,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC,4BAA4B,CAAC,CAAC;AAE5E,SAAS,4BAA4B,CAAC,CAAQ,EAAE,KAAkB;IAChE,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;IAClD,IAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IAE1D,OAAO;QACL,GAAG,EAAE;YACH,WAAW,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC;YACtD,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1D,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,CAAC,CAAC;aACpB;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1D,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9D,YAAY,EAAE,aAAa,CAAC,IAAI;YAChC,YAAY,EAAE;gBACZ,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtB,MAAM,EAAE,aAAa,CAAC,CAAC;aACxB;SACF;KACF,CAAC;AACJ,CAAC;AAED,IAAM,wBAAwB,GAAG,UAAC,SAAqB;IACrD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG,UAAC,SAAqB;IACvD,IAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAEtD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"shadowStyle.js","sourceRoot":"","sources":["../src/shadowStyle.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAI9C,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC,4BAA4B,CAAC,CAAC;AAE5E,SAAS,4BAA4B,CAAC,WAAwB;IAC5D,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,OAAO,EAAE,gBAAgB;SAC1B,CAAC;KACH;IAED,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC;IAClC,IAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC;IAE1C,OAAO;QACL,GAAG,EAAE;YACH,WAAW,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC;YACtD,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1D,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,CAAC,CAAC;aACpB;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1D,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9D,YAAY,EAAE,aAAa,CAAC,IAAI;YAChC,YAAY,EAAE;gBACZ,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtB,MAAM,EAAE,aAAa,CAAC,CAAC;aACxB;SACF;KACF,CAAC;AACJ,CAAC;AAED,IAAM,wBAAwB,GAAG,UAAC,SAAqB;IACrD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG,UAAC,SAAqB;IACvD,IAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAEtD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC,CAAC;AAEF,IAAM,gBAAgB,GAAG;IACvB,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/experimental-shadow",
3
- "version": "0.2.4",
3
+ "version": "0.2.7",
4
4
  "description": "A cross-platform Shadow component using the Fluent Design System",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -22,18 +22,19 @@
22
22
  "directory": "packages/experimental/Shadow"
23
23
  },
24
24
  "dependencies": {
25
- "@fluentui-react-native/framework": "0.7.32"
25
+ "@fluentui-react-native/framework": "0.8.0",
26
+ "@fluentui-react-native/theme-types": ">=0.17.0 <1.0.0"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@fluentui-react-native/eslint-config-rules": "^0.1.1",
29
30
  "@fluentui-react-native/test-tools": ">=0.1.1 <1.0.0",
30
31
  "@fluentui-react-native/scripts": "^0.1.1",
31
- "react": ">=17.0.1",
32
- "react-native": ">=0.64.3"
32
+ "react": ">=17.0.2",
33
+ "react-native": "^0.66.0"
33
34
  },
34
35
  "peerDependencies": {
35
- "react": ">=17.0.1",
36
- "react-native": ">=0.64.3"
36
+ "react": ">=17.0.2",
37
+ "react-native": ">=0.66.0"
37
38
  },
38
39
  "author": "",
39
40
  "license": "MIT"
package/src/Shadow.tsx CHANGED
@@ -1,14 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import { ShadowProps, shadowName } from './Shadow.types';
4
- import { useFluentTheme, mergeProps, stagedComponent } from '@fluentui-react-native/framework';
4
+ import { mergeProps, stagedComponent } from '@fluentui-react-native/framework';
5
5
  import { getShadowTokenStyleSet } from './shadowStyle';
6
6
 
7
7
  export const Shadow = stagedComponent((props: ShadowProps) => {
8
- const theme = useFluentTheme();
9
-
10
- return (final: ShadowProps, ...children: React.ReactNode[]) => {
11
- const shadowTokenStyleSet = getShadowTokenStyleSet(theme, props.depth);
8
+ return (final: ShadowProps, children: React.ReactNode) => {
9
+ const shadowTokenStyleSet = getShadowTokenStyleSet(props.shadowToken);
12
10
  const mergedProps = mergeProps(final, { style: shadowTokenStyleSet.key });
13
11
 
14
12
  return (
@@ -1,21 +1,8 @@
1
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
1
2
  import { ViewProps } from 'react-native';
2
3
 
3
4
  export const shadowName = 'Shadow';
4
5
 
5
- export type ShadowDepth =
6
- | 'shadow2'
7
- | 'shadow4'
8
- | 'shadow8'
9
- | 'shadow16'
10
- | 'shadow28'
11
- | 'shadow64'
12
- | 'shadow2brand'
13
- | 'shadow4brand'
14
- | 'shadow8brand'
15
- | 'shadow16brand'
16
- | 'shadow28brand'
17
- | 'shadow64brand';
18
-
19
6
  export interface ShadowProps extends ViewProps {
20
- depth?: ShadowDepth;
7
+ shadowToken?: ShadowToken;
21
8
  }
@@ -1,172 +1,90 @@
1
1
  import * as React from 'react';
2
2
  import { Text } from 'react-native';
3
3
  import { Shadow } from '../Shadow';
4
+ import { useFluentTheme } from '@fluentui-react-native/framework';
4
5
  import * as renderer from 'react-test-renderer';
5
6
  import { checkRenderConsistency, checkReRender } from '@fluentui-react-native/test-tools';
6
7
 
8
+ interface ShadowTestProps {
9
+ displayText: string;
10
+ depth: string;
11
+ }
12
+
13
+ const TestShadow: React.FunctionComponent<ShadowTestProps> = (props: ShadowTestProps) => {
14
+ const theme = useFluentTheme();
15
+ return (
16
+ <Shadow shadowToken={theme.shadows[props.depth]}>
17
+ <Text>{props.displayText}</Text>
18
+ </Shadow>
19
+ );
20
+ };
21
+
7
22
  describe('Shadow component tests', () => {
8
23
  it('Shadow (depth=2)', () => {
9
- const tree = renderer
10
- .create(
11
- <Shadow depth="shadow2">
12
- <Text>Shadow (depth=2) </Text>
13
- </Shadow>,
14
- )
15
- .toJSON();
24
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=2)" depth="shadow2" />).toJSON();
16
25
  expect(tree).toMatchSnapshot();
17
26
  });
18
27
 
19
28
  it('Shadow (depth=4)', () => {
20
- const tree = renderer
21
- .create(
22
- <Shadow depth="shadow4">
23
- <Text>Shadow (depth=4)</Text>
24
- </Shadow>,
25
- )
26
- .toJSON();
29
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=4)" depth="shadow4" />).toJSON();
27
30
  expect(tree).toMatchSnapshot();
28
31
  });
29
32
 
30
33
  it('Shadow (depth=8)', () => {
31
- const tree = renderer
32
- .create(
33
- <Shadow depth="shadow8">
34
- <Text>Shadow (depth=8) </Text>
35
- </Shadow>,
36
- )
37
- .toJSON();
34
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=8)" depth="shadow8" />).toJSON();
38
35
  expect(tree).toMatchSnapshot();
39
36
  });
40
37
 
41
38
  it('Shadow (depth=16)', () => {
42
- const tree = renderer
43
- .create(
44
- <Shadow depth="shadow16">
45
- <Text>Shadow (depth=16)</Text>
46
- </Shadow>,
47
- )
48
- .toJSON();
39
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=16)" depth="shadow16" />).toJSON();
49
40
  expect(tree).toMatchSnapshot();
50
41
  });
51
42
 
52
43
  it('Shadow (depth=28)', () => {
53
- const tree = renderer
54
- .create(
55
- <Shadow depth="shadow28">
56
- <Text>Shadow (depth=28) </Text>
57
- </Shadow>,
58
- )
59
- .toJSON();
44
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=28)" depth="shadow28" />).toJSON();
60
45
  expect(tree).toMatchSnapshot();
61
46
  });
62
47
 
63
48
  it('Shadow (depth=64)', () => {
64
- const tree = renderer
65
- .create(
66
- <Shadow depth="shadow64">
67
- <Text>Shadow (depth=64)</Text>
68
- </Shadow>,
69
- )
70
- .toJSON();
49
+ const tree = renderer.create(<TestShadow displayText="Shadow (depth=64)" depth="shadow64" />).toJSON();
71
50
  expect(tree).toMatchSnapshot();
72
51
  });
73
52
 
74
53
  it('Brand shadow (depth=2)', () => {
75
- const tree = renderer
76
- .create(
77
- <Shadow depth="shadow2brand">
78
- <Text>Brand shadow (depth=2)</Text>
79
- </Shadow>,
80
- )
81
- .toJSON();
54
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=2)" depth="shadow2brand" />).toJSON();
82
55
  expect(tree).toMatchSnapshot();
83
56
  });
84
57
 
85
58
  it('Brand shadow (depth=4)', () => {
86
- const tree = renderer
87
- .create(
88
- <Shadow depth="shadow4brand">
89
- <Text>Brand shadow (depth=4)</Text>
90
- </Shadow>,
91
- )
92
- .toJSON();
59
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=4)" depth="shadow4brand" />).toJSON();
93
60
  expect(tree).toMatchSnapshot();
94
61
  });
95
62
 
96
63
  it('Brand shadow (depth=8)', () => {
97
- const tree = renderer
98
- .create(
99
- <Shadow depth="shadow8brand">
100
- <Text>Brand shadow (depth=8)</Text>
101
- </Shadow>,
102
- )
103
- .toJSON();
64
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=8)" depth="shadow8brand" />).toJSON();
104
65
  expect(tree).toMatchSnapshot();
105
66
  });
106
67
 
107
68
  it('Brand shadow (depth=16)', () => {
108
- const tree = renderer
109
- .create(
110
- <Shadow depth="shadow16brand">
111
- <Text>Brand shadow (depth=16)</Text>
112
- </Shadow>,
113
- )
114
- .toJSON();
69
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=16)" depth="shadow16brand" />).toJSON();
115
70
  expect(tree).toMatchSnapshot();
116
71
  });
117
72
 
118
73
  it('Brand shadow (depth=28)', () => {
119
- const tree = renderer
120
- .create(
121
- <Shadow depth="shadow28brand">
122
- <Text>Brand shadow (depth=28)</Text>
123
- </Shadow>,
124
- )
125
- .toJSON();
74
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=28)" depth="shadow28brand" />).toJSON();
126
75
  expect(tree).toMatchSnapshot();
127
76
  });
128
77
 
129
78
  it('Brand shadow (depth=64)', () => {
130
- const tree = renderer
131
- .create(
132
- <Shadow depth="shadow64brand">
133
- <Text>Brand shadow (depth=64)</Text>
134
- </Shadow>,
135
- )
136
- .toJSON();
79
+ const tree = renderer.create(<TestShadow displayText="Brand shadow (depth=64)" depth="shadow64brand" />).toJSON();
137
80
  expect(tree).toMatchSnapshot();
138
81
  });
139
82
 
140
83
  it('Shadow simple rendering does not invalidate styling', () => {
141
- checkRenderConsistency(
142
- () => (
143
- <Shadow depth="shadow2">
144
- <Text>Shadow render test</Text>
145
- </Shadow>
146
- ),
147
- 2,
148
- );
149
- });
150
-
151
- it('Shadow simple rendering does not invalidate styling', () => {
152
- checkRenderConsistency(
153
- () => (
154
- <Shadow depth="shadow2">
155
- <Text>Shadow render test</Text>
156
- </Shadow>
157
- ),
158
- 2,
159
- );
84
+ checkRenderConsistency(() => <TestShadow displayText="Shadow render test" depth="shadow2" />, 2);
160
85
  });
161
86
 
162
87
  it('Shadow re-renders correctly', () => {
163
- checkReRender(
164
- () => (
165
- <Shadow depth="shadow2">
166
- <Text>Shadow render twice test</Text>
167
- </Shadow>
168
- ),
169
- 2,
170
- );
88
+ checkReRender(() => <TestShadow displayText="Shadow render twice test" depth="shadow2" />, 2);
171
89
  });
172
90
  });
@@ -232,7 +232,7 @@ exports[`Shadow component tests Shadow (depth=2) 1`] = `
232
232
  }
233
233
  >
234
234
  <Text>
235
- Shadow (depth=2)
235
+ Shadow (depth=2)
236
236
  </Text>
237
237
  </View>
238
238
  </View>
@@ -300,7 +300,7 @@ exports[`Shadow component tests Shadow (depth=8) 1`] = `
300
300
  }
301
301
  >
302
302
  <Text>
303
- Shadow (depth=8)
303
+ Shadow (depth=8)
304
304
  </Text>
305
305
  </View>
306
306
  </View>
@@ -368,7 +368,7 @@ exports[`Shadow component tests Shadow (depth=28) 1`] = `
368
368
  }
369
369
  >
370
370
  <Text>
371
- Shadow (depth=28)
371
+ Shadow (depth=28)
372
372
  </Text>
373
373
  </View>
374
374
  </View>
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { Shadow } from './Shadow';
2
- export { ShadowDepth, ShadowProps } from './Shadow.types';
2
+ export { ShadowProps } from './Shadow.types';
3
3
  export { getShadowTokenStyleSet } from './shadowStyle';
@@ -1,12 +1,19 @@
1
- import { Theme, memoize } from '@fluentui-react-native/framework';
1
+ import { memoize } from '@fluentui-react-native/framework';
2
+ import { ShadowToken } from '@fluentui-react-native/theme-types';
2
3
  import { ColorValue } from 'react-native';
3
- import { ShadowDepth } from './Shadow.types';
4
4
 
5
5
  export const getShadowTokenStyleSet = memoize(getShadowTokenStyleSetWorker);
6
6
 
7
- function getShadowTokenStyleSetWorker(t: Theme, depth: ShadowDepth) {
8
- const keyShadow = t.shadows[depth.toString()].key;
9
- const ambientShadow = t.shadows[depth.toString()].ambient;
7
+ function getShadowTokenStyleSetWorker(shadowToken: ShadowToken) {
8
+ if (!shadowToken) {
9
+ return {
10
+ key: emptyShadowStyle,
11
+ ambient: emptyShadowStyle,
12
+ };
13
+ }
14
+
15
+ const keyShadow = shadowToken.key;
16
+ const ambientShadow = shadowToken.ambient;
10
17
 
11
18
  return {
12
19
  key: {
@@ -41,3 +48,13 @@ const shadowOpacityFromRGBAColor = (rgbaColor: ColorValue) => {
41
48
  // Round to two decimal places
42
49
  return Math.round(opacityAsDecimal * 100) / 100;
43
50
  };
51
+
52
+ const emptyShadowStyle = {
53
+ shadowColor: '000000',
54
+ shadowOpacity: 0,
55
+ shadowRadius: 0,
56
+ shadowOffset: {
57
+ width: 0,
58
+ height: 0,
59
+ },
60
+ };