@fluentui-react-native/experimental-shadow 0.2.12 → 0.2.15
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 +46 -1
- package/CHANGELOG.md +26 -2
- package/SPEC.md +1 -1
- package/lib/Shadow.d.ts.map +1 -1
- package/lib/Shadow.js +3 -0
- package/lib/Shadow.js.map +1 -1
- package/lib/__tests__/Shadow.test.js +13 -2
- package/lib/__tests__/Shadow.test.js.map +1 -1
- package/lib/shadowStyle.d.ts.map +1 -1
- package/lib/shadowStyle.js +0 -15
- package/lib/shadowStyle.js.map +1 -1
- package/lib-commonjs/Shadow.d.ts.map +1 -1
- package/lib-commonjs/Shadow.js +3 -0
- package/lib-commonjs/Shadow.js.map +1 -1
- package/lib-commonjs/__tests__/Shadow.test.js +12 -1
- package/lib-commonjs/__tests__/Shadow.test.js.map +1 -1
- package/lib-commonjs/shadowStyle.d.ts.map +1 -1
- package/lib-commonjs/shadowStyle.js +0 -15
- package/lib-commonjs/shadowStyle.js.map +1 -1
- package/package.json +4 -3
- package/src/Shadow.tsx +4 -0
- package/src/__tests__/Shadow.test.tsx +19 -2
- package/src/__tests__/__snapshots__/Shadow.test.tsx.snap +99 -36
- package/src/shadowStyle.ts +0 -17
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,52 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/experimental-shadow",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 09 Sep 2022 23:53:43 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/experimental-shadow_v0.2.15",
|
|
7
|
+
"version": "0.2.15",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "78454019+lyzhan7@users.noreply.github.com",
|
|
12
|
+
"package": "@fluentui-react-native/experimental-shadow",
|
|
13
|
+
"commit": "a664c9d7f82b7249340da1df9a32c4b5a0e606e1",
|
|
14
|
+
"comment": "Shadows should only take a child of type View"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Mon, 29 Aug 2022 23:21:44 GMT",
|
|
21
|
+
"tag": "@fluentui-react-native/experimental-shadow_v0.2.14",
|
|
22
|
+
"version": "0.2.14",
|
|
23
|
+
"comments": {
|
|
24
|
+
"patch": [
|
|
25
|
+
{
|
|
26
|
+
"author": "beachball",
|
|
27
|
+
"package": "@fluentui-react-native/experimental-shadow",
|
|
28
|
+
"comment": "Bump @fluentui-react-native/framework to v0.8.1",
|
|
29
|
+
"commit": "370259af6f245b97a9a9129d8defbdd30a0bbd9d"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Fri, 26 Aug 2022 18:15:16 GMT",
|
|
36
|
+
"tag": "@fluentui-react-native/experimental-shadow_v0.2.13",
|
|
37
|
+
"version": "0.2.13",
|
|
38
|
+
"comments": {
|
|
39
|
+
"patch": [
|
|
40
|
+
{
|
|
41
|
+
"author": "78454019+lyzhan7@users.noreply.github.com",
|
|
42
|
+
"package": "@fluentui-react-native/experimental-shadow",
|
|
43
|
+
"commit": "661eeca6abbf496a2b36f2ecd4ae8dd6a6ae2f58",
|
|
44
|
+
"comment": "Use undefined shadowToken in NotificationTokens"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Mon, 15 Aug 2022 23:29:03 GMT",
|
|
6
51
|
"tag": "@fluentui-react-native/experimental-shadow_v0.2.12",
|
|
7
52
|
"version": "0.2.12",
|
|
8
53
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/experimental-shadow
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 09 Sep 2022 23:53:43 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.2.15
|
|
8
|
+
|
|
9
|
+
Fri, 09 Sep 2022 23:53:43 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Shadows should only take a child of type View (78454019+lyzhan7@users.noreply.github.com)
|
|
14
|
+
|
|
15
|
+
## 0.2.14
|
|
16
|
+
|
|
17
|
+
Mon, 29 Aug 2022 23:21:44 GMT
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- Bump @fluentui-react-native/framework to v0.8.1
|
|
22
|
+
|
|
23
|
+
## 0.2.13
|
|
24
|
+
|
|
25
|
+
Fri, 26 Aug 2022 18:15:16 GMT
|
|
26
|
+
|
|
27
|
+
### Patches
|
|
28
|
+
|
|
29
|
+
- Use undefined shadowToken in NotificationTokens (78454019+lyzhan7@users.noreply.github.com)
|
|
30
|
+
|
|
7
31
|
## 0.2.12
|
|
8
32
|
|
|
9
|
-
Mon, 15 Aug 2022 23:
|
|
33
|
+
Mon, 15 Aug 2022 23:29:03 GMT
|
|
10
34
|
|
|
11
35
|
### Patches
|
|
12
36
|
|
package/SPEC.md
CHANGED
|
@@ -42,7 +42,7 @@ For an example of adding a Shadow as a slot to a Fluent component, please see th
|
|
|
42
42
|
The `Shadow` component takes in one prop called `ShadowToken`. The variants of ShadowToken are all defined in the theme.
|
|
43
43
|
If `undefined` is passed into the `shadowToken` prop, no shadow will be rendered.
|
|
44
44
|
|
|
45
|
-
`Shadow` must take exactly one child, which must
|
|
45
|
+
`Shadow` must take exactly one child, which must be of type View.
|
|
46
46
|
|
|
47
47
|
## Notes
|
|
48
48
|
|
package/lib/Shadow.d.ts.map
CHANGED
|
@@ -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,
|
|
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,4EAsBjB,CAAC;AAIH,eAAe,MAAM,CAAC"}
|
package/lib/Shadow.js
CHANGED
|
@@ -16,6 +16,9 @@ import { mergeProps, stagedComponent } from '@fluentui-react-native/framework';
|
|
|
16
16
|
import { getShadowTokenStyleSet } from './shadowStyle';
|
|
17
17
|
export var Shadow = stagedComponent(function (props) {
|
|
18
18
|
return function (final, children) {
|
|
19
|
+
if (!props.shadowToken) {
|
|
20
|
+
return React.createElement(React.Fragment, null, children);
|
|
21
|
+
}
|
|
19
22
|
var shadowTokenStyleSet = getShadowTokenStyleSet(props.shadowToken);
|
|
20
23
|
var mergedProps = mergeProps(final, { style: shadowTokenStyleSet.ambient });
|
|
21
24
|
var childrenArray = React.Children.toArray(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,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,OAAO,EAAE,CAAC,CAAC;QAE9E,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAC/E,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACjD;SACF;QAED,IAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAElH,OAAO,oBAAC,IAAI,eAAK,WAAW,GAAG,kBAAkB,CAAQ,CAAC;IAC5D,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,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACtB,OAAO,0CAAG,QAAQ,CAAI,CAAC;SACxB;QAED,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9E,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAC/E,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACjD;SACF;QAED,IAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAElH,OAAO,oBAAC,IAAI,eAAK,WAAW,GAAG,kBAAkB,CAAQ,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;AAEhC,eAAe,MAAM,CAAC"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Text } from 'react-native';
|
|
2
|
+
import { Text, View } from 'react-native';
|
|
3
3
|
import { Shadow } from '../Shadow';
|
|
4
4
|
import { useFluentTheme } from '@fluentui-react-native/framework';
|
|
5
5
|
import * as renderer from 'react-test-renderer';
|
|
6
6
|
import { checkRenderConsistency, checkReRender } from '@fluentui-react-native/test-tools';
|
|
7
|
+
import { Pressable } from '@fluentui-react-native/pressable';
|
|
7
8
|
var TestShadow = function (props) {
|
|
8
9
|
var theme = useFluentTheme();
|
|
9
10
|
return (React.createElement(Shadow, { shadowToken: theme.shadows[props.depth] },
|
|
10
|
-
React.createElement(
|
|
11
|
+
React.createElement(View, null,
|
|
12
|
+
React.createElement(Text, null, props.displayText))));
|
|
13
|
+
};
|
|
14
|
+
var TestPressableWithShadow = function () {
|
|
15
|
+
var theme = useFluentTheme();
|
|
16
|
+
return (React.createElement(Shadow, { shadowToken: theme.shadows['shadow16'] },
|
|
17
|
+
React.createElement(Pressable, null)));
|
|
11
18
|
};
|
|
12
19
|
describe('Shadow component tests', function () {
|
|
13
20
|
it('Shadow (depth=2)', function () {
|
|
@@ -58,6 +65,10 @@ describe('Shadow component tests', function () {
|
|
|
58
65
|
var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=64)", depth: "shadow64brand" })).toJSON();
|
|
59
66
|
expect(tree).toMatchSnapshot();
|
|
60
67
|
});
|
|
68
|
+
it('Pressable that has a shadow', function () {
|
|
69
|
+
var tree = renderer.create(React.createElement(TestPressableWithShadow, null)).toJSON();
|
|
70
|
+
expect(tree).toMatchSnapshot();
|
|
71
|
+
});
|
|
61
72
|
it('Shadow simple rendering does not invalidate styling', function () {
|
|
62
73
|
checkRenderConsistency(function () { return React.createElement(TestShadow, { displayText: "Shadow render test", depth: "shadow2" }); }, 2);
|
|
63
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"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"}
|
package/lib/shadowStyle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;
|
|
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;;;;;;;;;;;;;;;;;;;EAwB7D"}
|
package/lib/shadowStyle.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { memoize } from '@fluentui-react-native/framework';
|
|
2
2
|
export var getShadowTokenStyleSet = memoize(getShadowTokenStyleSetWorker);
|
|
3
3
|
function getShadowTokenStyleSetWorker(shadowToken) {
|
|
4
|
-
if (!shadowToken) {
|
|
5
|
-
return {
|
|
6
|
-
key: emptyShadowStyle,
|
|
7
|
-
ambient: emptyShadowStyle,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
4
|
var keyShadow = shadowToken.key;
|
|
11
5
|
var ambientShadow = shadowToken.ambient;
|
|
12
6
|
return {
|
|
@@ -39,13 +33,4 @@ var shadowOpacityFromRGBAColor = function (rgbaColor) {
|
|
|
39
33
|
// Round to two decimal places
|
|
40
34
|
return Math.round(opacityAsDecimal * 100) / 100;
|
|
41
35
|
};
|
|
42
|
-
var emptyShadowStyle = {
|
|
43
|
-
shadowColor: '000000',
|
|
44
|
-
shadowOpacity: 0,
|
|
45
|
-
shadowRadius: 0,
|
|
46
|
-
shadowOffset: {
|
|
47
|
-
width: 0,
|
|
48
|
-
height: 0,
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
36
|
//# sourceMappingURL=shadowStyle.js.map
|
package/lib/shadowStyle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,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"}
|
|
@@ -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,
|
|
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,4EAsBjB,CAAC;AAIH,eAAe,MAAM,CAAC"}
|
package/lib-commonjs/Shadow.js
CHANGED
|
@@ -38,6 +38,9 @@ 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
40
|
return function (final, children) {
|
|
41
|
+
if (!props.shadowToken) {
|
|
42
|
+
return React.createElement(React.Fragment, null, children);
|
|
43
|
+
}
|
|
41
44
|
var shadowTokenStyleSet = (0, shadowStyle_1.getShadowTokenStyleSet)(props.shadowToken);
|
|
42
45
|
var mergedProps = (0, framework_1.mergeProps)(final, { style: shadowTokenStyleSet.ambient });
|
|
43
46
|
var childrenArray = React.Children.toArray(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+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,OAAO,EAAE,CAAC,CAAC;QAE9E,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAC/E,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACjD;SACF;QAED,IAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAElH,OAAO,oBAAC,mBAAI,eAAK,WAAW,GAAG,kBAAkB,CAAQ,CAAC;IAC5D,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,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACtB,OAAO,0CAAG,QAAQ,CAAI,CAAC;SACxB;QAED,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,OAAO,EAAE,CAAC,CAAC;QAE9E,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAC/E,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACjD;SACF;QAED,IAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAElH,OAAO,oBAAC,mBAAI,eAAK,WAAW,GAAG,kBAAkB,CAAQ,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,cAAM,CAAC,WAAW,GAAG,yBAAU,CAAC;AAEhC,kBAAe,cAAM,CAAC"}
|
|
@@ -25,10 +25,17 @@ var Shadow_1 = require("../Shadow");
|
|
|
25
25
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
26
26
|
var renderer = __importStar(require("react-test-renderer"));
|
|
27
27
|
var test_tools_1 = require("@fluentui-react-native/test-tools");
|
|
28
|
+
var pressable_1 = require("@fluentui-react-native/pressable");
|
|
28
29
|
var TestShadow = function (props) {
|
|
29
30
|
var theme = (0, framework_1.useFluentTheme)();
|
|
30
31
|
return (React.createElement(Shadow_1.Shadow, { shadowToken: theme.shadows[props.depth] },
|
|
31
|
-
React.createElement(react_native_1.
|
|
32
|
+
React.createElement(react_native_1.View, null,
|
|
33
|
+
React.createElement(react_native_1.Text, null, props.displayText))));
|
|
34
|
+
};
|
|
35
|
+
var TestPressableWithShadow = function () {
|
|
36
|
+
var theme = (0, framework_1.useFluentTheme)();
|
|
37
|
+
return (React.createElement(Shadow_1.Shadow, { shadowToken: theme.shadows['shadow16'] },
|
|
38
|
+
React.createElement(pressable_1.Pressable, null)));
|
|
32
39
|
};
|
|
33
40
|
describe('Shadow component tests', function () {
|
|
34
41
|
it('Shadow (depth=2)', function () {
|
|
@@ -79,6 +86,10 @@ describe('Shadow component tests', function () {
|
|
|
79
86
|
var tree = renderer.create(React.createElement(TestShadow, { displayText: "Brand shadow (depth=64)", depth: "shadow64brand" })).toJSON();
|
|
80
87
|
expect(tree).toMatchSnapshot();
|
|
81
88
|
});
|
|
89
|
+
it('Pressable that has a shadow', function () {
|
|
90
|
+
var tree = renderer.create(React.createElement(TestPressableWithShadow, null)).toJSON();
|
|
91
|
+
expect(tree).toMatchSnapshot();
|
|
92
|
+
});
|
|
82
93
|
it('Shadow simple rendering does not invalidate styling', function () {
|
|
83
94
|
(0, test_tools_1.checkRenderConsistency)(function () { return React.createElement(TestShadow, { displayText: "Shadow render test", depth: "shadow2" }); }, 2);
|
|
84
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"Shadow.test.js","sourceRoot":"","sources":["../../src/__tests__/Shadow.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;
|
|
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;;;;;;;;;;;;;;;;;;;EAwB7D"}
|
|
@@ -4,12 +4,6 @@ exports.getShadowTokenStyleSet = void 0;
|
|
|
4
4
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
5
5
|
exports.getShadowTokenStyleSet = (0, framework_1.memoize)(getShadowTokenStyleSetWorker);
|
|
6
6
|
function getShadowTokenStyleSetWorker(shadowToken) {
|
|
7
|
-
if (!shadowToken) {
|
|
8
|
-
return {
|
|
9
|
-
key: emptyShadowStyle,
|
|
10
|
-
ambient: emptyShadowStyle,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
7
|
var keyShadow = shadowToken.key;
|
|
14
8
|
var ambientShadow = shadowToken.ambient;
|
|
15
9
|
return {
|
|
@@ -42,13 +36,4 @@ var shadowOpacityFromRGBAColor = function (rgbaColor) {
|
|
|
42
36
|
// Round to two decimal places
|
|
43
37
|
return Math.round(opacityAsDecimal * 100) / 100;
|
|
44
38
|
};
|
|
45
|
-
var emptyShadowStyle = {
|
|
46
|
-
shadowColor: '000000',
|
|
47
|
-
shadowOpacity: 0,
|
|
48
|
-
shadowRadius: 0,
|
|
49
|
-
shadowOffset: {
|
|
50
|
-
width: 0,
|
|
51
|
-
height: 0,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
39
|
//# sourceMappingURL=shadowStyle.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/experimental-shadow",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.15",
|
|
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,8 +22,9 @@
|
|
|
22
22
|
"directory": "packages/experimental/Shadow"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@fluentui-react-native/framework": "0.8.
|
|
26
|
-
"@fluentui-react-native/
|
|
25
|
+
"@fluentui-react-native/framework": "0.8.1",
|
|
26
|
+
"@fluentui-react-native/pressable": "0.9.9",
|
|
27
|
+
"@fluentui-react-native/theme-types": "0.18.0"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@fluentui-react-native/eslint-config-rules": "^0.1.1",
|
package/src/Shadow.tsx
CHANGED
|
@@ -6,6 +6,10 @@ import { getShadowTokenStyleSet } from './shadowStyle';
|
|
|
6
6
|
|
|
7
7
|
export const Shadow = stagedComponent((props: ShadowProps) => {
|
|
8
8
|
return (final: ShadowProps, children: React.ReactNode) => {
|
|
9
|
+
if (!props.shadowToken) {
|
|
10
|
+
return <>{children}</>;
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
const shadowTokenStyleSet = getShadowTokenStyleSet(props.shadowToken);
|
|
10
14
|
const mergedProps = mergeProps(final, { style: shadowTokenStyleSet.ambient });
|
|
11
15
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Text } from 'react-native';
|
|
2
|
+
import { Text, View } from 'react-native';
|
|
3
3
|
import { Shadow } from '../Shadow';
|
|
4
4
|
import { useFluentTheme } from '@fluentui-react-native/framework';
|
|
5
5
|
import * as renderer from 'react-test-renderer';
|
|
6
6
|
import { checkRenderConsistency, checkReRender } from '@fluentui-react-native/test-tools';
|
|
7
|
+
import { Pressable } from '@fluentui-react-native/pressable';
|
|
7
8
|
|
|
8
9
|
interface ShadowTestProps {
|
|
9
10
|
displayText: string;
|
|
@@ -14,7 +15,18 @@ const TestShadow: React.FunctionComponent<ShadowTestProps> = (props: ShadowTestP
|
|
|
14
15
|
const theme = useFluentTheme();
|
|
15
16
|
return (
|
|
16
17
|
<Shadow shadowToken={theme.shadows[props.depth]}>
|
|
17
|
-
<
|
|
18
|
+
<View>
|
|
19
|
+
<Text>{props.displayText}</Text>
|
|
20
|
+
</View>
|
|
21
|
+
</Shadow>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const TestPressableWithShadow: React.FunctionComponent = () => {
|
|
26
|
+
const theme = useFluentTheme();
|
|
27
|
+
return (
|
|
28
|
+
<Shadow shadowToken={theme.shadows['shadow16']}>
|
|
29
|
+
<Pressable />
|
|
18
30
|
</Shadow>
|
|
19
31
|
);
|
|
20
32
|
};
|
|
@@ -80,6 +92,11 @@ describe('Shadow component tests', () => {
|
|
|
80
92
|
expect(tree).toMatchSnapshot();
|
|
81
93
|
});
|
|
82
94
|
|
|
95
|
+
it('Pressable that has a shadow', () => {
|
|
96
|
+
const tree = renderer.create(<TestPressableWithShadow />).toJSON();
|
|
97
|
+
expect(tree).toMatchSnapshot();
|
|
98
|
+
});
|
|
99
|
+
|
|
83
100
|
it('Shadow simple rendering does not invalidate styling', () => {
|
|
84
101
|
checkRenderConsistency(() => <TestShadow displayText="Shadow render test" depth="shadow2" />, 2);
|
|
85
102
|
});
|
|
@@ -14,7 +14,7 @@ exports[`Shadow component tests Brand shadow (depth=2) 1`] = `
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
>
|
|
17
|
-
<
|
|
17
|
+
<View
|
|
18
18
|
style={
|
|
19
19
|
Object {
|
|
20
20
|
"shadowColor": "#000000",
|
|
@@ -27,8 +27,10 @@ exports[`Shadow component tests Brand shadow (depth=2) 1`] = `
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
>
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
<Text>
|
|
31
|
+
Brand shadow (depth=2)
|
|
32
|
+
</Text>
|
|
33
|
+
</View>
|
|
32
34
|
</View>
|
|
33
35
|
`;
|
|
34
36
|
|
|
@@ -46,7 +48,7 @@ exports[`Shadow component tests Brand shadow (depth=4) 1`] = `
|
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
>
|
|
49
|
-
<
|
|
51
|
+
<View
|
|
50
52
|
style={
|
|
51
53
|
Object {
|
|
52
54
|
"shadowColor": "#000000",
|
|
@@ -59,8 +61,10 @@ exports[`Shadow component tests Brand shadow (depth=4) 1`] = `
|
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
<Text>
|
|
65
|
+
Brand shadow (depth=4)
|
|
66
|
+
</Text>
|
|
67
|
+
</View>
|
|
64
68
|
</View>
|
|
65
69
|
`;
|
|
66
70
|
|
|
@@ -78,7 +82,7 @@ exports[`Shadow component tests Brand shadow (depth=8) 1`] = `
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
>
|
|
81
|
-
<
|
|
85
|
+
<View
|
|
82
86
|
style={
|
|
83
87
|
Object {
|
|
84
88
|
"shadowColor": "#000000",
|
|
@@ -91,8 +95,10 @@ exports[`Shadow component tests Brand shadow (depth=8) 1`] = `
|
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
>
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
<Text>
|
|
99
|
+
Brand shadow (depth=8)
|
|
100
|
+
</Text>
|
|
101
|
+
</View>
|
|
96
102
|
</View>
|
|
97
103
|
`;
|
|
98
104
|
|
|
@@ -110,7 +116,7 @@ exports[`Shadow component tests Brand shadow (depth=16) 1`] = `
|
|
|
110
116
|
}
|
|
111
117
|
}
|
|
112
118
|
>
|
|
113
|
-
<
|
|
119
|
+
<View
|
|
114
120
|
style={
|
|
115
121
|
Object {
|
|
116
122
|
"shadowColor": "#000000",
|
|
@@ -123,8 +129,10 @@ exports[`Shadow component tests Brand shadow (depth=16) 1`] = `
|
|
|
123
129
|
}
|
|
124
130
|
}
|
|
125
131
|
>
|
|
126
|
-
|
|
127
|
-
|
|
132
|
+
<Text>
|
|
133
|
+
Brand shadow (depth=16)
|
|
134
|
+
</Text>
|
|
135
|
+
</View>
|
|
128
136
|
</View>
|
|
129
137
|
`;
|
|
130
138
|
|
|
@@ -142,7 +150,7 @@ exports[`Shadow component tests Brand shadow (depth=28) 1`] = `
|
|
|
142
150
|
}
|
|
143
151
|
}
|
|
144
152
|
>
|
|
145
|
-
<
|
|
153
|
+
<View
|
|
146
154
|
style={
|
|
147
155
|
Object {
|
|
148
156
|
"shadowColor": "#000000",
|
|
@@ -155,8 +163,10 @@ exports[`Shadow component tests Brand shadow (depth=28) 1`] = `
|
|
|
155
163
|
}
|
|
156
164
|
}
|
|
157
165
|
>
|
|
158
|
-
|
|
159
|
-
|
|
166
|
+
<Text>
|
|
167
|
+
Brand shadow (depth=28)
|
|
168
|
+
</Text>
|
|
169
|
+
</View>
|
|
160
170
|
</View>
|
|
161
171
|
`;
|
|
162
172
|
|
|
@@ -174,7 +184,7 @@ exports[`Shadow component tests Brand shadow (depth=64) 1`] = `
|
|
|
174
184
|
}
|
|
175
185
|
}
|
|
176
186
|
>
|
|
177
|
-
<
|
|
187
|
+
<View
|
|
178
188
|
style={
|
|
179
189
|
Object {
|
|
180
190
|
"shadowColor": "#000000",
|
|
@@ -187,8 +197,49 @@ exports[`Shadow component tests Brand shadow (depth=64) 1`] = `
|
|
|
187
197
|
}
|
|
188
198
|
}
|
|
189
199
|
>
|
|
190
|
-
|
|
191
|
-
|
|
200
|
+
<Text>
|
|
201
|
+
Brand shadow (depth=64)
|
|
202
|
+
</Text>
|
|
203
|
+
</View>
|
|
204
|
+
</View>
|
|
205
|
+
`;
|
|
206
|
+
|
|
207
|
+
exports[`Shadow component tests Pressable that has a shadow 1`] = `
|
|
208
|
+
<View
|
|
209
|
+
style={
|
|
210
|
+
Object {
|
|
211
|
+
"shadowColor": "#000000",
|
|
212
|
+
"shadowOffset": Object {
|
|
213
|
+
"height": 0,
|
|
214
|
+
"width": 0,
|
|
215
|
+
},
|
|
216
|
+
"shadowOpacity": 0.12,
|
|
217
|
+
"shadowRadius": 2,
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
>
|
|
221
|
+
<View
|
|
222
|
+
onBlur={[Function]}
|
|
223
|
+
onClick={[Function]}
|
|
224
|
+
onFocus={[Function]}
|
|
225
|
+
onResponderGrant={[Function]}
|
|
226
|
+
onResponderMove={[Function]}
|
|
227
|
+
onResponderRelease={[Function]}
|
|
228
|
+
onResponderTerminate={[Function]}
|
|
229
|
+
onResponderTerminationRequest={[Function]}
|
|
230
|
+
onStartShouldSetResponder={[Function]}
|
|
231
|
+
style={
|
|
232
|
+
Object {
|
|
233
|
+
"shadowColor": "#000000",
|
|
234
|
+
"shadowOffset": Object {
|
|
235
|
+
"height": 8,
|
|
236
|
+
"width": 0,
|
|
237
|
+
},
|
|
238
|
+
"shadowOpacity": 0.14,
|
|
239
|
+
"shadowRadius": 16,
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/>
|
|
192
243
|
</View>
|
|
193
244
|
`;
|
|
194
245
|
|
|
@@ -206,7 +257,7 @@ exports[`Shadow component tests Shadow (depth=2) 1`] = `
|
|
|
206
257
|
}
|
|
207
258
|
}
|
|
208
259
|
>
|
|
209
|
-
<
|
|
260
|
+
<View
|
|
210
261
|
style={
|
|
211
262
|
Object {
|
|
212
263
|
"shadowColor": "#000000",
|
|
@@ -219,8 +270,10 @@ exports[`Shadow component tests Shadow (depth=2) 1`] = `
|
|
|
219
270
|
}
|
|
220
271
|
}
|
|
221
272
|
>
|
|
222
|
-
|
|
223
|
-
|
|
273
|
+
<Text>
|
|
274
|
+
Shadow (depth=2)
|
|
275
|
+
</Text>
|
|
276
|
+
</View>
|
|
224
277
|
</View>
|
|
225
278
|
`;
|
|
226
279
|
|
|
@@ -238,7 +291,7 @@ exports[`Shadow component tests Shadow (depth=4) 1`] = `
|
|
|
238
291
|
}
|
|
239
292
|
}
|
|
240
293
|
>
|
|
241
|
-
<
|
|
294
|
+
<View
|
|
242
295
|
style={
|
|
243
296
|
Object {
|
|
244
297
|
"shadowColor": "#000000",
|
|
@@ -251,8 +304,10 @@ exports[`Shadow component tests Shadow (depth=4) 1`] = `
|
|
|
251
304
|
}
|
|
252
305
|
}
|
|
253
306
|
>
|
|
254
|
-
|
|
255
|
-
|
|
307
|
+
<Text>
|
|
308
|
+
Shadow (depth=4)
|
|
309
|
+
</Text>
|
|
310
|
+
</View>
|
|
256
311
|
</View>
|
|
257
312
|
`;
|
|
258
313
|
|
|
@@ -270,7 +325,7 @@ exports[`Shadow component tests Shadow (depth=8) 1`] = `
|
|
|
270
325
|
}
|
|
271
326
|
}
|
|
272
327
|
>
|
|
273
|
-
<
|
|
328
|
+
<View
|
|
274
329
|
style={
|
|
275
330
|
Object {
|
|
276
331
|
"shadowColor": "#000000",
|
|
@@ -283,8 +338,10 @@ exports[`Shadow component tests Shadow (depth=8) 1`] = `
|
|
|
283
338
|
}
|
|
284
339
|
}
|
|
285
340
|
>
|
|
286
|
-
|
|
287
|
-
|
|
341
|
+
<Text>
|
|
342
|
+
Shadow (depth=8)
|
|
343
|
+
</Text>
|
|
344
|
+
</View>
|
|
288
345
|
</View>
|
|
289
346
|
`;
|
|
290
347
|
|
|
@@ -302,7 +359,7 @@ exports[`Shadow component tests Shadow (depth=16) 1`] = `
|
|
|
302
359
|
}
|
|
303
360
|
}
|
|
304
361
|
>
|
|
305
|
-
<
|
|
362
|
+
<View
|
|
306
363
|
style={
|
|
307
364
|
Object {
|
|
308
365
|
"shadowColor": "#000000",
|
|
@@ -315,8 +372,10 @@ exports[`Shadow component tests Shadow (depth=16) 1`] = `
|
|
|
315
372
|
}
|
|
316
373
|
}
|
|
317
374
|
>
|
|
318
|
-
|
|
319
|
-
|
|
375
|
+
<Text>
|
|
376
|
+
Shadow (depth=16)
|
|
377
|
+
</Text>
|
|
378
|
+
</View>
|
|
320
379
|
</View>
|
|
321
380
|
`;
|
|
322
381
|
|
|
@@ -334,7 +393,7 @@ exports[`Shadow component tests Shadow (depth=28) 1`] = `
|
|
|
334
393
|
}
|
|
335
394
|
}
|
|
336
395
|
>
|
|
337
|
-
<
|
|
396
|
+
<View
|
|
338
397
|
style={
|
|
339
398
|
Object {
|
|
340
399
|
"shadowColor": "#000000",
|
|
@@ -347,8 +406,10 @@ exports[`Shadow component tests Shadow (depth=28) 1`] = `
|
|
|
347
406
|
}
|
|
348
407
|
}
|
|
349
408
|
>
|
|
350
|
-
|
|
351
|
-
|
|
409
|
+
<Text>
|
|
410
|
+
Shadow (depth=28)
|
|
411
|
+
</Text>
|
|
412
|
+
</View>
|
|
352
413
|
</View>
|
|
353
414
|
`;
|
|
354
415
|
|
|
@@ -366,7 +427,7 @@ exports[`Shadow component tests Shadow (depth=64) 1`] = `
|
|
|
366
427
|
}
|
|
367
428
|
}
|
|
368
429
|
>
|
|
369
|
-
<
|
|
430
|
+
<View
|
|
370
431
|
style={
|
|
371
432
|
Object {
|
|
372
433
|
"shadowColor": "#000000",
|
|
@@ -379,7 +440,9 @@ exports[`Shadow component tests Shadow (depth=64) 1`] = `
|
|
|
379
440
|
}
|
|
380
441
|
}
|
|
381
442
|
>
|
|
382
|
-
|
|
383
|
-
|
|
443
|
+
<Text>
|
|
444
|
+
Shadow (depth=64)
|
|
445
|
+
</Text>
|
|
446
|
+
</View>
|
|
384
447
|
</View>
|
|
385
448
|
`;
|
package/src/shadowStyle.ts
CHANGED
|
@@ -5,13 +5,6 @@ import { ColorValue } from 'react-native';
|
|
|
5
5
|
export const getShadowTokenStyleSet = memoize(getShadowTokenStyleSetWorker);
|
|
6
6
|
|
|
7
7
|
function getShadowTokenStyleSetWorker(shadowToken: ShadowToken) {
|
|
8
|
-
if (!shadowToken) {
|
|
9
|
-
return {
|
|
10
|
-
key: emptyShadowStyle,
|
|
11
|
-
ambient: emptyShadowStyle,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
8
|
const keyShadow = shadowToken.key;
|
|
16
9
|
const ambientShadow = shadowToken.ambient;
|
|
17
10
|
|
|
@@ -48,13 +41,3 @@ const shadowOpacityFromRGBAColor = (rgbaColor: ColorValue) => {
|
|
|
48
41
|
// Round to two decimal places
|
|
49
42
|
return Math.round(opacityAsDecimal * 100) / 100;
|
|
50
43
|
};
|
|
51
|
-
|
|
52
|
-
const emptyShadowStyle = {
|
|
53
|
-
shadowColor: '000000',
|
|
54
|
-
shadowOpacity: 0,
|
|
55
|
-
shadowRadius: 0,
|
|
56
|
-
shadowOffset: {
|
|
57
|
-
width: 0,
|
|
58
|
-
height: 0,
|
|
59
|
-
},
|
|
60
|
-
};
|