@fluentui-react-native/experimental-shimmer 0.8.12 → 0.8.13
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 +36 -1
- package/CHANGELOG.md +12 -2
- package/jest.config.js +2 -0
- package/lib/Shimmer.d.ts.map +1 -1
- package/lib/Shimmer.js +27 -30
- package/lib/Shimmer.js.map +1 -1
- package/lib/Shimmer.styling.d.ts.map +1 -1
- package/lib/Shimmer.styling.js +5 -16
- package/lib/Shimmer.styling.js.map +1 -1
- package/lib/Shimmer.styling.win32.d.ts +1 -2
- package/lib/Shimmer.styling.win32.d.ts.map +1 -1
- package/lib/Shimmer.styling.win32.js +1 -13
- package/lib/Shimmer.styling.win32.js.map +1 -1
- package/lib/Shimmer.test.d.ts +2 -0
- package/lib/Shimmer.test.d.ts.map +1 -0
- package/lib/Shimmer.test.js +48 -0
- package/lib/Shimmer.test.js.map +1 -0
- package/lib/Shimmer.types.d.ts +2 -2
- package/lib/Shimmer.types.d.ts.map +1 -1
- package/lib/Shimmer.types.win32.d.ts +1 -1
- package/lib/Shimmer.types.win32.d.ts.map +1 -1
- package/lib/Shimmer.win32.js +1 -1
- package/lib/Shimmer.win32.js.map +1 -1
- package/lib/ShimmerTokens.android.d.ts +5 -0
- package/lib/ShimmerTokens.android.d.ts.map +1 -0
- package/lib/ShimmerTokens.android.js +12 -0
- package/lib/ShimmerTokens.android.js.map +1 -0
- package/lib/ShimmerTokens.d.ts +5 -0
- package/lib/ShimmerTokens.d.ts.map +1 -0
- package/lib/ShimmerTokens.js +13 -0
- package/lib/ShimmerTokens.js.map +1 -0
- package/lib/ShimmerTokens.win32.d.ts +5 -0
- package/lib/ShimmerTokens.win32.d.ts.map +1 -0
- package/lib/ShimmerTokens.win32.js +14 -0
- package/lib/ShimmerTokens.win32.js.map +1 -0
- package/lib-commonjs/Shimmer.d.ts.map +1 -1
- package/lib-commonjs/Shimmer.js +27 -30
- package/lib-commonjs/Shimmer.js.map +1 -1
- package/lib-commonjs/Shimmer.styling.d.ts.map +1 -1
- package/lib-commonjs/Shimmer.styling.js +5 -16
- package/lib-commonjs/Shimmer.styling.js.map +1 -1
- package/lib-commonjs/Shimmer.styling.win32.d.ts +1 -2
- package/lib-commonjs/Shimmer.styling.win32.d.ts.map +1 -1
- package/lib-commonjs/Shimmer.styling.win32.js +3 -16
- package/lib-commonjs/Shimmer.styling.win32.js.map +1 -1
- package/lib-commonjs/Shimmer.test.d.ts +2 -0
- package/lib-commonjs/Shimmer.test.d.ts.map +1 -0
- package/lib-commonjs/Shimmer.test.js +69 -0
- package/lib-commonjs/Shimmer.test.js.map +1 -0
- package/lib-commonjs/Shimmer.types.d.ts +2 -2
- package/lib-commonjs/Shimmer.types.d.ts.map +1 -1
- package/lib-commonjs/Shimmer.types.win32.d.ts +1 -1
- package/lib-commonjs/Shimmer.types.win32.d.ts.map +1 -1
- package/lib-commonjs/Shimmer.win32.js +1 -1
- package/lib-commonjs/Shimmer.win32.js.map +1 -1
- package/lib-commonjs/ShimmerTokens.android.d.ts +5 -0
- package/lib-commonjs/ShimmerTokens.android.d.ts.map +1 -0
- package/lib-commonjs/ShimmerTokens.android.js +16 -0
- package/lib-commonjs/ShimmerTokens.android.js.map +1 -0
- package/lib-commonjs/ShimmerTokens.d.ts +5 -0
- package/lib-commonjs/ShimmerTokens.d.ts.map +1 -0
- package/lib-commonjs/ShimmerTokens.js +17 -0
- package/lib-commonjs/ShimmerTokens.js.map +1 -0
- package/lib-commonjs/ShimmerTokens.win32.d.ts +5 -0
- package/lib-commonjs/ShimmerTokens.win32.d.ts.map +1 -0
- package/lib-commonjs/ShimmerTokens.win32.js +18 -0
- package/lib-commonjs/ShimmerTokens.win32.js.map +1 -0
- package/package.json +9 -3
- package/src/Shimmer.styling.ts +6 -17
- package/src/Shimmer.styling.win32.ts +2 -14
- package/src/Shimmer.test.tsx +53 -0
- package/src/Shimmer.tsx +12 -17
- package/src/Shimmer.types.ts +2 -2
- package/src/Shimmer.types.win32.ts +1 -1
- package/src/Shimmer.win32.tsx +2 -2
- package/src/ShimmerTokens.android.ts +14 -0
- package/src/ShimmerTokens.ts +15 -0
- package/src/ShimmerTokens.win32.ts +16 -0
- package/src/__snapshots__/Shimmer.test.tsx.snap +249 -0
- package/tsconfig.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.js","sourceRoot":"","sources":["../src/Shimmer.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,+BAAgE;AAChE,qDAA+G;AAC/G,iDAAyE;AACzE,8DAA6G;AAC7G,6CAAqD;AACrD,qDAAoD;AACpD,8DAAuC;AAEvC,IAAM,UAAU,GAAG,IAAA,2BAAe,EAAC,iCAAe,CAAC,CAAC;AACvC,QAAA,OAAO,GAAG,IAAA,mBAAO,sBAC5B,WAAW,EAAE,2BAAW,IACrB,iCAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,sBAAG;KACV,EACD,SAAS,EAAE,UAAC,KAAmB,EAAE,QAA+B;QAC9D,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAM,sBAAsB,GAAG,uBAAQ,CAAC,uBAAuB,CAAC,iCAAc,CAAC,CAAC;QAChF,IAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACtC,IAAM,mBAAmB,GAAG,IAAA,eAAO,EACjC,
|
|
1
|
+
{"version":3,"file":"Shimmer.js","sourceRoot":"","sources":["../src/Shimmer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.styling.d.ts","sourceRoot":"","sources":["../src/Shimmer.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Shimmer.styling.d.ts","sourceRoot":"","sources":["../src/Shimmer.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAe,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG7F,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAkB5F,CAAC"}
|
|
@@ -2,31 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stylingSettings = void 0;
|
|
4
4
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
5
|
-
var theming_utils_1 = require("@fluentui-react-native/theming-utils");
|
|
6
5
|
var Shimmer_types_1 = require("./Shimmer.types");
|
|
6
|
+
var ShimmerTokens_1 = require("./ShimmerTokens");
|
|
7
7
|
exports.stylingSettings = {
|
|
8
|
-
tokens: [
|
|
9
|
-
function () { return ({
|
|
10
|
-
angle: 0,
|
|
11
|
-
delay: 0,
|
|
12
|
-
duration: 7000,
|
|
13
|
-
shimmerColor: '#E1E1E1',
|
|
14
|
-
shimmerColorOpacity: 1,
|
|
15
|
-
shimmerWaveColor: 'white',
|
|
16
|
-
shimmerWaveColorOpacity: 1,
|
|
17
|
-
}); },
|
|
18
|
-
Shimmer_types_1.shimmerName,
|
|
19
|
-
],
|
|
8
|
+
tokens: [ShimmerTokens_1.defaultShimmerTokens, Shimmer_types_1.shimmerName],
|
|
20
9
|
slotProps: {
|
|
21
|
-
root: (0, framework_1.buildProps)(function (tokens
|
|
10
|
+
root: (0, framework_1.buildProps)(function (tokens) { return ({
|
|
22
11
|
accessibilityRole: 'progressbar',
|
|
23
12
|
accessible: true,
|
|
24
13
|
angle: tokens.angle,
|
|
25
14
|
delay: tokens.delay,
|
|
26
15
|
duration: tokens.duration,
|
|
27
|
-
shimmerColor:
|
|
16
|
+
shimmerColor: tokens.shimmerColor,
|
|
28
17
|
shimmerColorOpacity: tokens.shimmerColorOpacity,
|
|
29
|
-
shimmerWaveColor:
|
|
18
|
+
shimmerWaveColor: tokens.shimmerWaveColor,
|
|
30
19
|
shimmerWaveColorOpacity: tokens.shimmerWaveColorOpacity,
|
|
31
20
|
}); }, ['angle', 'delay', 'duration', 'shimmerColor', 'shimmerColorOpacity', 'shimmerWaveColor', 'shimmerWaveColorOpacity']),
|
|
32
21
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.styling.js","sourceRoot":"","sources":["../src/Shimmer.styling.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Shimmer.styling.js","sourceRoot":"","sources":["../src/Shimmer.styling.ts"],"names":[],"mappings":";;;AAAA,8DAAiF;AACjF,iDAA6F;AAC7F,iDAAuD;AAE1C,QAAA,eAAe,GAAqE;IAC/F,MAAM,EAAE,CAAC,oCAAoB,EAAE,2BAAW,CAAC;IAC3C,SAAS,EAAE;QACT,IAAI,EAAE,IAAA,sBAAU,EACd,UAAC,MAAqB,IAAK,OAAA,CAAC;YAC1B,iBAAiB,EAAE,aAAa;YAChC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;SACxD,CAAC,EAVyB,CAUzB,EACF,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CACrH;KACF;CACF,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { UseStylingOptions
|
|
1
|
+
import { UseStylingOptions } from '@fluentui-react-native/framework';
|
|
2
2
|
import { ShimmerProps, ShimmerTokens } from './Shimmer.types';
|
|
3
3
|
import { ShimmerSlotProps } from './Shimmer.types.win32';
|
|
4
|
-
export declare const defaultShimmerTokens: TokenSettings<ShimmerTokens>;
|
|
5
4
|
/**
|
|
6
5
|
* tell the styling hook how to build up the tokens
|
|
7
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.styling.win32.d.ts","sourceRoot":"","sources":["../src/Shimmer.styling.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Shimmer.styling.win32.d.ts","sourceRoot":"","sources":["../src/Shimmer.styling.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAe,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAuC5F,CAAC"}
|
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stylingSettings =
|
|
3
|
+
exports.stylingSettings = void 0;
|
|
4
4
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
5
5
|
var Shimmer_types_1 = require("./Shimmer.types");
|
|
6
|
-
var
|
|
7
|
-
return ({
|
|
8
|
-
angle: 0,
|
|
9
|
-
backgroundColor: theme.colors.background,
|
|
10
|
-
delay: 500,
|
|
11
|
-
duration: 2000,
|
|
12
|
-
shimmerColor: theme.colors.bodyFrameDivider,
|
|
13
|
-
shimmerColorOpacity: 1,
|
|
14
|
-
shimmerWaveColor: '#E1E1E1',
|
|
15
|
-
shimmerWaveColorOpacity: 1,
|
|
16
|
-
shimmerWaveWidth: '100%',
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
exports.defaultShimmerTokens = defaultShimmerTokens;
|
|
6
|
+
var ShimmerTokens_win32_1 = require("./ShimmerTokens.win32");
|
|
20
7
|
/**
|
|
21
8
|
* tell the styling hook how to build up the tokens
|
|
22
9
|
*/
|
|
23
10
|
exports.stylingSettings = {
|
|
24
|
-
tokens: [
|
|
11
|
+
tokens: [ShimmerTokens_win32_1.defaultShimmerTokens, Shimmer_types_1.shimmerName],
|
|
25
12
|
tokensThatAreAlsoProps: 'all',
|
|
26
13
|
slotProps: {
|
|
27
14
|
root: (0, framework_1.buildProps)(function (tokens) { return ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.styling.win32.js","sourceRoot":"","sources":["../src/Shimmer.styling.win32.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Shimmer.styling.win32.js","sourceRoot":"","sources":["../src/Shimmer.styling.win32.ts"],"names":[],"mappings":";;;AAAA,8DAAiF;AACjF,iDAA2E;AAE3E,6DAA6D;AAE7D;;GAEG;AACU,QAAA,eAAe,GAAqE;IAC/F,MAAM,EAAE,CAAC,0CAAoB,EAAE,2BAAW,CAAC;IAC3C,sBAAsB,EAAE,KAAK;IAC7B,SAAS,EAAE;QACT,IAAI,EAAE,IAAA,sBAAU,EACd,UAAC,MAAqB,IAAK,OAAA,CAAC;YAC1B,iBAAiB,EAAE,aAAa;YAChC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE;SACvE,CAAC,EAJyB,CAIzB,EACF,CAAC,iBAAiB,CAAC,CACpB;QAED,oBAAoB,EAAE,IAAA,sBAAU,EAC9B,UAAC,MAAqB,IAAK,OAAA,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,EAJyB,CAIzB,EACF,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CACtC;QAED,WAAW,EAAE,IAAA,sBAAU,EACrB,UAAC,MAAqB,IAAK,OAAA,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC,EALyB,CAKzB,EACF,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAClE;QAED,YAAY,EAAE,IAAA,sBAAU,EACtB,UAAC,MAAqB,IAAK,OAAA,CAAC;YAC1B,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,EAFyB,CAEzB,EACF,CAAC,iBAAiB,CAAC,CACpB;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shimmer.test.d.ts","sourceRoot":"","sources":["../src/Shimmer.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
var React = __importStar(require("react"));
|
|
23
|
+
var renderer = __importStar(require("react-test-renderer"));
|
|
24
|
+
var Shimmer_1 = require("./Shimmer");
|
|
25
|
+
// mocks out setTimeout and other timer functions with mock functions, test will fail without this as we're using Animated API
|
|
26
|
+
jest.useFakeTimers();
|
|
27
|
+
function shimmerRects() {
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
type: 'rect',
|
|
31
|
+
borderRadiusX: 3,
|
|
32
|
+
borderRadiusY: 3,
|
|
33
|
+
width: 100,
|
|
34
|
+
height: 20,
|
|
35
|
+
x: 90,
|
|
36
|
+
y: 70,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: 'rect',
|
|
40
|
+
borderRadiusX: 3,
|
|
41
|
+
borderRadiusY: 3,
|
|
42
|
+
width: 150,
|
|
43
|
+
height: 20,
|
|
44
|
+
x: 90,
|
|
45
|
+
y: 42,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'rect',
|
|
49
|
+
borderRadiusX: 3,
|
|
50
|
+
borderRadiusY: 3,
|
|
51
|
+
width: 200,
|
|
52
|
+
height: 20,
|
|
53
|
+
x: 90,
|
|
54
|
+
y: 15,
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
var style = { width: 300, height: 100 };
|
|
59
|
+
describe('Shimmer component tests', function () {
|
|
60
|
+
it('Shimmer default', function () {
|
|
61
|
+
var tree = renderer.create(React.createElement(Shimmer_1.Shimmer, { elements: shimmerRects() })).toJSON();
|
|
62
|
+
expect(tree).toMatchSnapshot();
|
|
63
|
+
});
|
|
64
|
+
it('Shimmer with style prop', function () {
|
|
65
|
+
var tree = renderer.create(React.createElement(Shimmer_1.Shimmer, { elements: shimmerRects(), style: style })).toJSON();
|
|
66
|
+
expect(tree).toMatchSnapshot();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=Shimmer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shimmer.test.js","sourceRoot":"","sources":["../src/Shimmer.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,4DAAgD;AAChD,qCAAoC;AAGpC,8HAA8H;AAC9H,IAAI,CAAC,aAAa,EAAE,CAAC;AAErB,SAAS,YAAY;IACnB,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,EAAE;YACV,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;SACN;QACD;YACE,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,EAAE;YACV,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;SACN;QACD;YACE,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,EAAE;YACV,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;SACN;KACF,CAAC;AACJ,CAAC;AAED,IAAM,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAE1C,QAAQ,CAAC,yBAAyB,EAAE;IAClC,EAAE,CAAC,iBAAiB,EAAE;QACpB,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAC,iBAAO,IAAC,QAAQ,EAAE,YAAY,EAAE,GAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,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,iBAAO,IAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -116,14 +116,14 @@ export interface ShimmerTokens extends IBackgroundColorTokens {
|
|
|
116
116
|
*/
|
|
117
117
|
shimmerWaveWidth?: number | string;
|
|
118
118
|
}
|
|
119
|
-
export interface ShimmerSlotProps
|
|
119
|
+
export interface ShimmerSlotProps {
|
|
120
120
|
root: SvgProps;
|
|
121
121
|
}
|
|
122
122
|
export interface ShimmerProps extends ViewProps, ShimmerTokens {
|
|
123
123
|
/**
|
|
124
124
|
* Shimmer shapes that define the masking effect of the Shimmer control.
|
|
125
125
|
*/
|
|
126
|
-
elements
|
|
126
|
+
elements: Array<ShimmerElementTypes>;
|
|
127
127
|
}
|
|
128
128
|
export interface ShimmerType {
|
|
129
129
|
props: ShimmerProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.types.d.ts","sourceRoot":"","sources":["../src/Shimmer.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IAEH;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IAEH;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;CACX;AAED,oBAAY,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAE5E,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IAC3D;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Shimmer.types.d.ts","sourceRoot":"","sources":["../src/Shimmer.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IAEH;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IAEH;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;CACX;AAED,oBAAY,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAE5E,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IAC3D;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS,EAAE,aAAa;IAC5D;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;CACvB"}
|
|
@@ -22,7 +22,7 @@ export interface ShimmerWaveProps extends ShimmerTokens {
|
|
|
22
22
|
viewBoxHeight: number;
|
|
23
23
|
viewBoxWidth: number;
|
|
24
24
|
}
|
|
25
|
-
export interface ShimmerSlotProps
|
|
25
|
+
export interface ShimmerSlotProps {
|
|
26
26
|
root: ViewProps;
|
|
27
27
|
clippingMask: ClippingMaskProps;
|
|
28
28
|
shimmerWave: ShimmerWaveProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.types.win32.d.ts","sourceRoot":"","sources":["../src/Shimmer.types.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Shimmer.types.win32.d.ts","sourceRoot":"","sources":["../src/Shimmer.types.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB,EAAE,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;CACvB"}
|
|
@@ -80,9 +80,9 @@ exports.Shimmer = (0, framework_1.compose)(__assign(__assign({ displayName: Shim
|
|
|
80
80
|
shimmerWave: wave,
|
|
81
81
|
shimmerWaveContainer: waveContainer,
|
|
82
82
|
}, useRender: function (props, useSlots) {
|
|
83
|
+
var Slots = useSlots(props);
|
|
83
84
|
return function (rest) {
|
|
84
85
|
var _a = (0, framework_1.mergeProps)(props, rest), elements = _a.elements, mergedProps = __rest(_a, ["elements"]);
|
|
85
|
-
var Slots = useSlots(mergedProps);
|
|
86
86
|
/**
|
|
87
87
|
* Generate a clip path from the provided element shapes, with their path parameter strings generated from their corresponding properties.
|
|
88
88
|
* Ideally this would be better possible with functions from the shape elements themselves and not to rely on our own calculations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shimmer.win32.js","sourceRoot":"","sources":["../src/Shimmer.win32.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Shimmer.win32.js","sourceRoot":"","sources":["../src/Shimmer.win32.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import { ShimmerTokens } from './Shimmer.types';
|
|
3
|
+
import { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
4
|
+
export declare const defaultShimmerTokens: TokenSettings<ShimmerTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=ShimmerTokens.android.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.android.d.ts","sourceRoot":"","sources":["../src/ShimmerTokens.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAShD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultShimmerTokens = void 0;
|
|
4
|
+
var defaultShimmerTokens = function (theme) {
|
|
5
|
+
return ({
|
|
6
|
+
angle: 45,
|
|
7
|
+
delay: 0,
|
|
8
|
+
duration: 1000,
|
|
9
|
+
shimmerColor: theme.colors.neutralStencil1,
|
|
10
|
+
shimmerColorOpacity: 1,
|
|
11
|
+
shimmerWaveColor: theme.colors.neutralStencil2,
|
|
12
|
+
shimmerWaveColorOpacity: 1,
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.defaultShimmerTokens = defaultShimmerTokens;
|
|
16
|
+
//# sourceMappingURL=ShimmerTokens.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.android.js","sourceRoot":"","sources":["../src/ShimmerTokens.android.ts"],"names":[],"mappings":";;;AAIO,IAAM,oBAAoB,GAAwC,UAAC,KAAY;IACpF,OAAA,CAAC;QACC,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe;QAC1C,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe;QAC9C,uBAAuB,EAAE,CAAC;KACT,CAAA;AARnB,CAQmB,CAAC;AATT,QAAA,oBAAoB,wBASX"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import { ShimmerTokens } from './Shimmer.types';
|
|
3
|
+
import { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
4
|
+
export declare const defaultShimmerTokens: TokenSettings<ShimmerTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=ShimmerTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.d.ts","sourceRoot":"","sources":["../src/ShimmerTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAShD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultShimmerTokens = void 0;
|
|
4
|
+
var theming_utils_1 = require("@fluentui-react-native/theming-utils");
|
|
5
|
+
var defaultShimmerTokens = function (theme) {
|
|
6
|
+
return ({
|
|
7
|
+
angle: 0,
|
|
8
|
+
delay: 0,
|
|
9
|
+
duration: 7000,
|
|
10
|
+
shimmerColor: (0, theming_utils_1.getCurrentAppearance)(theme.host.appearance, 'light') === 'light' ? '#E1E1E1' : '#404040',
|
|
11
|
+
shimmerColorOpacity: 1,
|
|
12
|
+
shimmerWaveColor: (0, theming_utils_1.getCurrentAppearance)(theme.host.appearance, 'light') === 'light' ? 'white' : 'black',
|
|
13
|
+
shimmerWaveColorOpacity: 1,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.defaultShimmerTokens = defaultShimmerTokens;
|
|
17
|
+
//# sourceMappingURL=ShimmerTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.js","sourceRoot":"","sources":["../src/ShimmerTokens.ts"],"names":[],"mappings":";;;AAGA,sEAA4E;AAErE,IAAM,oBAAoB,GAAwC,UAAC,KAAY;IACpF,OAAA,CAAC;QACC,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAA,oCAAoB,EAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACtG,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,IAAA,oCAAoB,EAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QACtG,uBAAuB,EAAE,CAAC;KACT,CAAA;AARnB,CAQmB,CAAC;AATT,QAAA,oBAAoB,wBASX"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import { ShimmerTokens } from './Shimmer.types';
|
|
3
|
+
import { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
4
|
+
export declare const defaultShimmerTokens: TokenSettings<ShimmerTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=ShimmerTokens.win32.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.win32.d.ts","sourceRoot":"","sources":["../src/ShimmerTokens.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAWhD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultShimmerTokens = void 0;
|
|
4
|
+
var defaultShimmerTokens = function (theme) {
|
|
5
|
+
return ({
|
|
6
|
+
angle: 0,
|
|
7
|
+
backgroundColor: theme.colors.background,
|
|
8
|
+
delay: 500,
|
|
9
|
+
duration: 2000,
|
|
10
|
+
shimmerColor: theme.colors.bodyFrameDivider,
|
|
11
|
+
shimmerColorOpacity: 1,
|
|
12
|
+
shimmerWaveColor: '#E1E1E1',
|
|
13
|
+
shimmerWaveColorOpacity: 1,
|
|
14
|
+
shimmerWaveWidth: '100%',
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.defaultShimmerTokens = defaultShimmerTokens;
|
|
18
|
+
//# sourceMappingURL=ShimmerTokens.win32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShimmerTokens.win32.js","sourceRoot":"","sources":["../src/ShimmerTokens.win32.ts"],"names":[],"mappings":";;;AAIO,IAAM,oBAAoB,GAAwC,UAAC,KAAY;IACpF,OAAA,CAAC;QACC,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACxC,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;QAC3C,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,SAAS;QAC3B,uBAAuB,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM;KACP,CAAA;AAVnB,CAUmB,CAAC;AAXT,QAAA,oBAAoB,wBAWX"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/experimental-shimmer",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.13",
|
|
4
4
|
"description": "A cross-platform Fluent Shimmer component",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"build": "fluentui-scripts build",
|
|
10
10
|
"just": "fluentui-scripts",
|
|
11
11
|
"clean": "fluentui-scripts clean",
|
|
12
|
+
"depcheck": "fluentui-scripts depcheck",
|
|
13
|
+
"lint": "fluentui-scripts eslint",
|
|
14
|
+
"test": "fluentui-scripts jest",
|
|
12
15
|
"update-snapshots": "fluentui-scripts jest -u",
|
|
13
16
|
"prettier": "fluentui-scripts prettier",
|
|
14
17
|
"prettier-fix": "fluentui-scripts prettier --fix true"
|
|
@@ -19,8 +22,11 @@
|
|
|
19
22
|
"directory": "packages/experimental/Shimmer"
|
|
20
23
|
},
|
|
21
24
|
"dependencies": {
|
|
22
|
-
"@fluentui-react-native/framework": "0.8.
|
|
23
|
-
"@fluentui-react-native/tokens": ">=0.20.
|
|
25
|
+
"@fluentui-react-native/framework": "0.8.36",
|
|
26
|
+
"@fluentui-react-native/tokens": ">=0.20.5 <1.0.0",
|
|
27
|
+
"@fluentui-react-native/theming-utils": ">=0.23.0 <1.0.0",
|
|
28
|
+
"@fluentui-react-native/component-cache": "^1.4.2",
|
|
29
|
+
"@fluentui-react-native/use-styling": "^0.9.1",
|
|
24
30
|
"react-native-svg": "12.5.0"
|
|
25
31
|
},
|
|
26
32
|
"devDependencies": {
|
package/src/Shimmer.styling.ts
CHANGED
|
@@ -1,31 +1,20 @@
|
|
|
1
|
-
import { UseStylingOptions, buildProps
|
|
2
|
-
import { getCurrentAppearance } from '@fluentui-react-native/theming-utils';
|
|
1
|
+
import { UseStylingOptions, buildProps } from '@fluentui-react-native/framework';
|
|
3
2
|
import { shimmerName, ShimmerProps, ShimmerSlotProps, ShimmerTokens } from './Shimmer.types';
|
|
3
|
+
import { defaultShimmerTokens } from './ShimmerTokens';
|
|
4
4
|
|
|
5
5
|
export const stylingSettings: UseStylingOptions<ShimmerProps, ShimmerSlotProps, ShimmerTokens> = {
|
|
6
|
-
tokens: [
|
|
7
|
-
() => ({
|
|
8
|
-
angle: 0,
|
|
9
|
-
delay: 0,
|
|
10
|
-
duration: 7000,
|
|
11
|
-
shimmerColor: '#E1E1E1', // Baseline component is the light mode color
|
|
12
|
-
shimmerColorOpacity: 1,
|
|
13
|
-
shimmerWaveColor: 'white', // Baseline component is the light mode color
|
|
14
|
-
shimmerWaveColorOpacity: 1,
|
|
15
|
-
}),
|
|
16
|
-
shimmerName,
|
|
17
|
-
],
|
|
6
|
+
tokens: [defaultShimmerTokens, shimmerName],
|
|
18
7
|
slotProps: {
|
|
19
8
|
root: buildProps(
|
|
20
|
-
(tokens: ShimmerTokens
|
|
9
|
+
(tokens: ShimmerTokens) => ({
|
|
21
10
|
accessibilityRole: 'progressbar',
|
|
22
11
|
accessible: true,
|
|
23
12
|
angle: tokens.angle,
|
|
24
13
|
delay: tokens.delay,
|
|
25
14
|
duration: tokens.duration,
|
|
26
|
-
shimmerColor:
|
|
15
|
+
shimmerColor: tokens.shimmerColor,
|
|
27
16
|
shimmerColorOpacity: tokens.shimmerColorOpacity,
|
|
28
|
-
shimmerWaveColor:
|
|
17
|
+
shimmerWaveColor: tokens.shimmerWaveColor,
|
|
29
18
|
shimmerWaveColorOpacity: tokens.shimmerWaveColorOpacity,
|
|
30
19
|
}),
|
|
31
20
|
['angle', 'delay', 'duration', 'shimmerColor', 'shimmerColorOpacity', 'shimmerWaveColor', 'shimmerWaveColorOpacity'],
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { UseStylingOptions, buildProps
|
|
1
|
+
import { UseStylingOptions, buildProps } from '@fluentui-react-native/framework';
|
|
2
2
|
import { shimmerName, ShimmerProps, ShimmerTokens } from './Shimmer.types';
|
|
3
3
|
import { ShimmerSlotProps } from './Shimmer.types.win32';
|
|
4
|
-
|
|
5
|
-
export const defaultShimmerTokens: TokenSettings<ShimmerTokens> = (theme: Theme) =>
|
|
6
|
-
({
|
|
7
|
-
angle: 0,
|
|
8
|
-
backgroundColor: theme.colors.background,
|
|
9
|
-
delay: 500,
|
|
10
|
-
duration: 2000,
|
|
11
|
-
shimmerColor: theme.colors.bodyFrameDivider,
|
|
12
|
-
shimmerColorOpacity: 1,
|
|
13
|
-
shimmerWaveColor: '#E1E1E1',
|
|
14
|
-
shimmerWaveColorOpacity: 1,
|
|
15
|
-
shimmerWaveWidth: '100%',
|
|
16
|
-
} as ShimmerTokens);
|
|
4
|
+
import { defaultShimmerTokens } from './ShimmerTokens.win32';
|
|
17
5
|
|
|
18
6
|
/**
|
|
19
7
|
* tell the styling hook how to build up the tokens
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as renderer from 'react-test-renderer';
|
|
3
|
+
import { Shimmer } from './Shimmer';
|
|
4
|
+
import { ShimmerCircleElement, ShimmerRectElement } from './Shimmer.types';
|
|
5
|
+
|
|
6
|
+
// mocks out setTimeout and other timer functions with mock functions, test will fail without this as we're using Animated API
|
|
7
|
+
jest.useFakeTimers();
|
|
8
|
+
|
|
9
|
+
function shimmerRects(): Array<ShimmerRectElement | ShimmerCircleElement> {
|
|
10
|
+
return [
|
|
11
|
+
{
|
|
12
|
+
type: 'rect',
|
|
13
|
+
borderRadiusX: 3,
|
|
14
|
+
borderRadiusY: 3,
|
|
15
|
+
width: 100,
|
|
16
|
+
height: 20,
|
|
17
|
+
x: 90,
|
|
18
|
+
y: 70,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'rect',
|
|
22
|
+
borderRadiusX: 3,
|
|
23
|
+
borderRadiusY: 3,
|
|
24
|
+
width: 150,
|
|
25
|
+
height: 20,
|
|
26
|
+
x: 90,
|
|
27
|
+
y: 42,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: 'rect',
|
|
31
|
+
borderRadiusX: 3,
|
|
32
|
+
borderRadiusY: 3,
|
|
33
|
+
width: 200,
|
|
34
|
+
height: 20,
|
|
35
|
+
x: 90,
|
|
36
|
+
y: 15,
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const style = { width: 300, height: 100 };
|
|
42
|
+
|
|
43
|
+
describe('Shimmer component tests', () => {
|
|
44
|
+
it('Shimmer default', () => {
|
|
45
|
+
const tree = renderer.create(<Shimmer elements={shimmerRects()} />).toJSON();
|
|
46
|
+
expect(tree).toMatchSnapshot();
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('Shimmer with style prop', () => {
|
|
50
|
+
const tree = renderer.create(<Shimmer elements={shimmerRects()} style={style} />).toJSON();
|
|
51
|
+
expect(tree).toMatchSnapshot();
|
|
52
|
+
});
|
|
53
|
+
});
|
package/src/Shimmer.tsx
CHANGED
|
@@ -21,8 +21,8 @@ export const Shimmer = compose<ShimmerType>({
|
|
|
21
21
|
const memoizedShimmerData = useMemo(
|
|
22
22
|
() => ({
|
|
23
23
|
angle: props.angle ? props.angle : tokens['angle'],
|
|
24
|
-
containerWidth: props?.style['width'] ? props?.style['width'] : '100%',
|
|
25
|
-
containerHeight: props?.style['height'] ? props?.style['height'] : '100%',
|
|
24
|
+
containerWidth: props?.style?.['width'] ? props?.style['width'] : '100%',
|
|
25
|
+
containerHeight: props?.style?.['height'] ? props?.style['height'] : '100%',
|
|
26
26
|
delay: props.delay ? props.delay : tokens['delay'],
|
|
27
27
|
duration: props.duration ? props.duration : tokens['duration'],
|
|
28
28
|
shimmerColor: props.shimmerColor ? props.shimmerColor : tokens['shimmerColor'],
|
|
@@ -42,27 +42,22 @@ export const Shimmer = compose<ShimmerType>({
|
|
|
42
42
|
],
|
|
43
43
|
);
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
* For Animated.loop() to work with the native driver, React Native needs this fix.
|
|
50
|
-
* It's only available in React Native 0.66+, and React Native macOS 0.62+
|
|
51
|
-
* To workaround this, let's just rerun the loop everytime the animation finishes
|
|
45
|
+
/* The shimmer animation is implemented using a LinearGradient which travels from left to right.
|
|
46
|
+
* Different angles are handled by rotating this gradient.
|
|
47
|
+
* The startValue is used to control the start position of the gradient animation, it is set as -1 to make sure it is starts off the screen for any angle.
|
|
48
|
+
* Similarly the endValue is set to 2 to make sure the gradient animation exits the entire screen for any angle.
|
|
52
49
|
*/
|
|
50
|
+
const startValue = useRef(new Animated.Value(-1)).current;
|
|
53
51
|
const shimmerAnimation = useCallback(() => {
|
|
54
|
-
Animated.
|
|
52
|
+
Animated.loop(
|
|
55
53
|
Animated.timing(startValue, {
|
|
56
|
-
toValue:
|
|
54
|
+
toValue: 2,
|
|
57
55
|
duration: memoizedShimmerData.duration,
|
|
58
56
|
delay: memoizedShimmerData.delay,
|
|
59
57
|
useNativeDriver: true,
|
|
60
58
|
}),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
shimmerAnimation();
|
|
64
|
-
});
|
|
65
|
-
}, [memoizedShimmerData.duration, memoizedShimmerData.delay]);
|
|
59
|
+
).start();
|
|
60
|
+
}, [memoizedShimmerData.delay, memoizedShimmerData.duration]);
|
|
66
61
|
|
|
67
62
|
useEffect(() => {
|
|
68
63
|
shimmerAnimation();
|
|
@@ -101,7 +96,7 @@ export const Shimmer = compose<ShimmerType>({
|
|
|
101
96
|
return (
|
|
102
97
|
<Slots.root {...mergedProps}>
|
|
103
98
|
<Defs>
|
|
104
|
-
<AnimatedLinearGradient id="gradient" x1={startValue}
|
|
99
|
+
<AnimatedLinearGradient id="gradient" x1={startValue} x2="-1" gradientTransform={`rotate(${memoizedShimmerData.angle})`}>
|
|
105
100
|
<Stop offset="10%" stopColor={memoizedShimmerData.shimmerColor} stopOpacity={memoizedShimmerData.shimmerColorOpacity} />
|
|
106
101
|
<Stop
|
|
107
102
|
offset="20%"
|
package/src/Shimmer.types.ts
CHANGED
|
@@ -140,7 +140,7 @@ export interface ShimmerTokens extends IBackgroundColorTokens {
|
|
|
140
140
|
shimmerWaveWidth?: number | string;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
export interface ShimmerSlotProps
|
|
143
|
+
export interface ShimmerSlotProps {
|
|
144
144
|
root: SvgProps;
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -148,7 +148,7 @@ export interface ShimmerProps extends ViewProps, ShimmerTokens {
|
|
|
148
148
|
/**
|
|
149
149
|
* Shimmer shapes that define the masking effect of the Shimmer control.
|
|
150
150
|
*/
|
|
151
|
-
elements
|
|
151
|
+
elements: Array<ShimmerElementTypes>;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
export interface ShimmerType {
|