react-native-smart-skeleton 0.0.1
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/README.md +255 -0
- package/lib/commonjs/animations/breathing.js +53 -0
- package/lib/commonjs/animations/breathing.js.map +1 -0
- package/lib/commonjs/animations/pulse.js +50 -0
- package/lib/commonjs/animations/pulse.js.map +1 -0
- package/lib/commonjs/animations/shimmer.js +68 -0
- package/lib/commonjs/animations/shimmer.js.map +1 -0
- package/lib/commonjs/animations/wave.js +54 -0
- package/lib/commonjs/animations/wave.js.map +1 -0
- package/lib/commonjs/clone/SkeletonClone.js +91 -0
- package/lib/commonjs/clone/SkeletonClone.js.map +1 -0
- package/lib/commonjs/components/Circle.js +27 -0
- package/lib/commonjs/components/Circle.js.map +1 -0
- package/lib/commonjs/components/Group.js +57 -0
- package/lib/commonjs/components/Group.js.map +1 -0
- package/lib/commonjs/components/Pill.js +32 -0
- package/lib/commonjs/components/Pill.js.map +1 -0
- package/lib/commonjs/components/Rect.js +21 -0
- package/lib/commonjs/components/Rect.js.map +1 -0
- package/lib/commonjs/components/Skeleton.js +196 -0
- package/lib/commonjs/components/Skeleton.js.map +1 -0
- package/lib/commonjs/components/Square.js +28 -0
- package/lib/commonjs/components/Square.js.map +1 -0
- package/lib/commonjs/demo/demo.gif +0 -0
- package/lib/commonjs/hooks/useReducedMotion.js +42 -0
- package/lib/commonjs/hooks/useReducedMotion.js.map +1 -0
- package/lib/commonjs/hooks/useSkeletonTheme.js +46 -0
- package/lib/commonjs/hooks/useSkeletonTheme.js.map +1 -0
- package/lib/commonjs/index.js +149 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/presets/Card.js +83 -0
- package/lib/commonjs/presets/Card.js.map +1 -0
- package/lib/commonjs/presets/Chat.js +54 -0
- package/lib/commonjs/presets/Chat.js.map +1 -0
- package/lib/commonjs/presets/Product.js +70 -0
- package/lib/commonjs/presets/Product.js.map +1 -0
- package/lib/commonjs/presets/Profile.js +67 -0
- package/lib/commonjs/presets/Profile.js.map +1 -0
- package/lib/commonjs/presets/Video.js +76 -0
- package/lib/commonjs/presets/Video.js.map +1 -0
- package/lib/commonjs/providers/SkeletonProvider.js +70 -0
- package/lib/commonjs/providers/SkeletonProvider.js.map +1 -0
- package/lib/commonjs/types/index.js +6 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/utils/colors.js +144 -0
- package/lib/commonjs/utils/colors.js.map +1 -0
- package/lib/commonjs/utils/responsive.js +84 -0
- package/lib/commonjs/utils/responsive.js.map +1 -0
- package/lib/commonjs/utils/theme.js +39 -0
- package/lib/commonjs/utils/theme.js.map +1 -0
- package/lib/module/animations/breathing.js +47 -0
- package/lib/module/animations/breathing.js.map +1 -0
- package/lib/module/animations/pulse.js +44 -0
- package/lib/module/animations/pulse.js.map +1 -0
- package/lib/module/animations/shimmer.js +61 -0
- package/lib/module/animations/shimmer.js.map +1 -0
- package/lib/module/animations/wave.js +48 -0
- package/lib/module/animations/wave.js.map +1 -0
- package/lib/module/clone/SkeletonClone.js +84 -0
- package/lib/module/clone/SkeletonClone.js.map +1 -0
- package/lib/module/components/Circle.js +20 -0
- package/lib/module/components/Circle.js.map +1 -0
- package/lib/module/components/Group.js +50 -0
- package/lib/module/components/Group.js.map +1 -0
- package/lib/module/components/Pill.js +25 -0
- package/lib/module/components/Pill.js.map +1 -0
- package/lib/module/components/Rect.js +14 -0
- package/lib/module/components/Rect.js.map +1 -0
- package/lib/module/components/Skeleton.js +188 -0
- package/lib/module/components/Skeleton.js.map +1 -0
- package/lib/module/components/Square.js +21 -0
- package/lib/module/components/Square.js.map +1 -0
- package/lib/module/demo/demo.gif +0 -0
- package/lib/module/hooks/useReducedMotion.js +37 -0
- package/lib/module/hooks/useReducedMotion.js.map +1 -0
- package/lib/module/hooks/useSkeletonTheme.js +40 -0
- package/lib/module/hooks/useSkeletonTheme.js.map +1 -0
- package/lib/module/index.js +50 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/presets/Card.js +76 -0
- package/lib/module/presets/Card.js.map +1 -0
- package/lib/module/presets/Chat.js +47 -0
- package/lib/module/presets/Chat.js.map +1 -0
- package/lib/module/presets/Product.js +63 -0
- package/lib/module/presets/Product.js.map +1 -0
- package/lib/module/presets/Profile.js +60 -0
- package/lib/module/presets/Profile.js.map +1 -0
- package/lib/module/presets/Video.js +69 -0
- package/lib/module/presets/Video.js.map +1 -0
- package/lib/module/providers/SkeletonProvider.js +61 -0
- package/lib/module/providers/SkeletonProvider.js.map +1 -0
- package/lib/module/types/index.js +2 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/utils/colors.js +132 -0
- package/lib/module/utils/colors.js.map +1 -0
- package/lib/module/utils/responsive.js +74 -0
- package/lib/module/utils/responsive.js.map +1 -0
- package/lib/module/utils/theme.js +32 -0
- package/lib/module/utils/theme.js.map +1 -0
- package/lib/typescript/animations/breathing.d.ts +26 -0
- package/lib/typescript/animations/breathing.d.ts.map +1 -0
- package/lib/typescript/animations/pulse.d.ts +22 -0
- package/lib/typescript/animations/pulse.d.ts.map +1 -0
- package/lib/typescript/animations/shimmer.d.ts +34 -0
- package/lib/typescript/animations/shimmer.d.ts.map +1 -0
- package/lib/typescript/animations/wave.d.ts +23 -0
- package/lib/typescript/animations/wave.d.ts.map +1 -0
- package/lib/typescript/clone/SkeletonClone.d.ts +30 -0
- package/lib/typescript/clone/SkeletonClone.d.ts.map +1 -0
- package/lib/typescript/components/Circle.d.ts +10 -0
- package/lib/typescript/components/Circle.d.ts.map +1 -0
- package/lib/typescript/components/Group.d.ts +21 -0
- package/lib/typescript/components/Group.d.ts.map +1 -0
- package/lib/typescript/components/Pill.d.ts +12 -0
- package/lib/typescript/components/Pill.d.ts.map +1 -0
- package/lib/typescript/components/Rect.d.ts +12 -0
- package/lib/typescript/components/Rect.d.ts.map +1 -0
- package/lib/typescript/components/Skeleton.d.ts +16 -0
- package/lib/typescript/components/Skeleton.d.ts.map +1 -0
- package/lib/typescript/components/Square.d.ts +10 -0
- package/lib/typescript/components/Square.d.ts.map +1 -0
- package/lib/typescript/hooks/useReducedMotion.d.ts +11 -0
- package/lib/typescript/hooks/useReducedMotion.d.ts.map +1 -0
- package/lib/typescript/hooks/useSkeletonTheme.d.ts +12 -0
- package/lib/typescript/hooks/useSkeletonTheme.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +51 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/presets/Card.d.ts +11 -0
- package/lib/typescript/presets/Card.d.ts.map +1 -0
- package/lib/typescript/presets/Chat.d.ts +12 -0
- package/lib/typescript/presets/Chat.d.ts.map +1 -0
- package/lib/typescript/presets/Product.d.ts +12 -0
- package/lib/typescript/presets/Product.d.ts.map +1 -0
- package/lib/typescript/presets/Profile.d.ts +11 -0
- package/lib/typescript/presets/Profile.d.ts.map +1 -0
- package/lib/typescript/presets/Video.d.ts +12 -0
- package/lib/typescript/presets/Video.d.ts.map +1 -0
- package/lib/typescript/providers/SkeletonProvider.d.ts +18 -0
- package/lib/typescript/providers/SkeletonProvider.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +149 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/utils/colors.d.ts +51 -0
- package/lib/typescript/utils/colors.d.ts.map +1 -0
- package/lib/typescript/utils/responsive.d.ts +27 -0
- package/lib/typescript/utils/responsive.d.ts.map +1 -0
- package/lib/typescript/utils/theme.d.ts +16 -0
- package/lib/typescript/utils/theme.d.ts.map +1 -0
- package/package.json +74 -0
- package/src/animations/breathing.tsx +81 -0
- package/src/animations/pulse.tsx +75 -0
- package/src/animations/shimmer.tsx +88 -0
- package/src/animations/wave.tsx +74 -0
- package/src/clone/SkeletonClone.tsx +82 -0
- package/src/components/Circle.tsx +13 -0
- package/src/components/Group.tsx +55 -0
- package/src/components/Pill.tsx +23 -0
- package/src/components/Rect.tsx +15 -0
- package/src/components/Skeleton.tsx +218 -0
- package/src/components/Square.tsx +13 -0
- package/src/demo/demo.gif +0 -0
- package/src/hooks/useReducedMotion.ts +46 -0
- package/src/hooks/useSkeletonTheme.ts +45 -0
- package/src/index.ts +94 -0
- package/src/presets/Card.tsx +56 -0
- package/src/presets/Chat.tsx +52 -0
- package/src/presets/Product.tsx +45 -0
- package/src/presets/Profile.tsx +54 -0
- package/src/presets/Video.tsx +53 -0
- package/src/providers/SkeletonProvider.tsx +67 -0
- package/src/types/index.ts +246 -0
- package/src/utils/colors.ts +132 -0
- package/src/utils/responsive.ts +73 -0
- package/src/utils/theme.ts +35 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Card;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Skeleton = _interopRequireDefault(require("../components/Skeleton"));
|
|
10
|
+
var _Circle = _interopRequireDefault(require("../components/Circle"));
|
|
11
|
+
var _Group = _interopRequireDefault(require("../components/Group"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
/**
|
|
15
|
+
* A ready-made skeleton block mimicking a typical content card: an image
|
|
16
|
+
* area on top, optionally a small avatar + name row, then body text lines.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Skeleton.Card imageHeight={160} lines={3} />
|
|
20
|
+
*/
|
|
21
|
+
function Card({
|
|
22
|
+
imageHeight = 160,
|
|
23
|
+
lines = 3,
|
|
24
|
+
showAvatar = false,
|
|
25
|
+
count = 1,
|
|
26
|
+
gap = 20,
|
|
27
|
+
animation,
|
|
28
|
+
style,
|
|
29
|
+
testID
|
|
30
|
+
}) {
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
32
|
+
style: style,
|
|
33
|
+
testID: testID
|
|
34
|
+
}, Array.from({
|
|
35
|
+
length: count
|
|
36
|
+
}).map((_, blockIndex) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
37
|
+
key: blockIndex,
|
|
38
|
+
style: {
|
|
39
|
+
marginTop: blockIndex === 0 ? 0 : gap
|
|
40
|
+
}
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
42
|
+
width: "100%",
|
|
43
|
+
height: imageHeight,
|
|
44
|
+
borderRadius: 12,
|
|
45
|
+
animation: animation
|
|
46
|
+
}), showAvatar && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
47
|
+
style: {
|
|
48
|
+
flexDirection: "row",
|
|
49
|
+
alignItems: "center",
|
|
50
|
+
marginTop: 12
|
|
51
|
+
}
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_Circle.default, {
|
|
53
|
+
size: 32,
|
|
54
|
+
animation: animation
|
|
55
|
+
}), /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
56
|
+
width: "40%",
|
|
57
|
+
height: 12,
|
|
58
|
+
style: {
|
|
59
|
+
marginLeft: 8
|
|
60
|
+
},
|
|
61
|
+
animation: animation
|
|
62
|
+
})), /*#__PURE__*/_react.default.createElement(_Group.default, {
|
|
63
|
+
staggerDelay: 60,
|
|
64
|
+
animation: animation,
|
|
65
|
+
style: {
|
|
66
|
+
marginTop: showAvatar ? 12 : 16
|
|
67
|
+
}
|
|
68
|
+
}, Array.from({
|
|
69
|
+
length: lines
|
|
70
|
+
}, (__, lineIndex) => {
|
|
71
|
+
const lineProps = {
|
|
72
|
+
width: lineIndex === lines - 1 ? "50%" : "100%",
|
|
73
|
+
height: 12,
|
|
74
|
+
style: {
|
|
75
|
+
marginTop: lineIndex === 0 ? 0 : 8
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return /*#__PURE__*/_react.default.createElement(_Skeleton.default, _extends({
|
|
79
|
+
key: lineIndex
|
|
80
|
+
}, lineProps));
|
|
81
|
+
})))));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Skeleton","_Circle","_Group","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","Card","imageHeight","lines","showAvatar","count","gap","animation","style","testID","createElement","View","Array","from","map","_","blockIndex","key","marginTop","width","height","borderRadius","flexDirection","alignItems","size","marginLeft","staggerDelay","__","lineIndex","lineProps"],"sourceRoot":"../../../src","sources":["presets/Card.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Chat;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Skeleton = _interopRequireDefault(require("../components/Skeleton"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const BUBBLE_WIDTHS = ["55%", "70%", "45%", "62%"];
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A ready-made skeleton block mimicking a chat conversation: a series of
|
|
15
|
+
* message bubbles, alternating left/right alignment by default to read as
|
|
16
|
+
* a two-party conversation while loading.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Skeleton.Chat messages={5} />
|
|
20
|
+
*/
|
|
21
|
+
function Chat({
|
|
22
|
+
messages = 4,
|
|
23
|
+
alternate = true,
|
|
24
|
+
gap = 12,
|
|
25
|
+
animation,
|
|
26
|
+
style,
|
|
27
|
+
testID
|
|
28
|
+
}) {
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
30
|
+
style: style,
|
|
31
|
+
testID: testID
|
|
32
|
+
}, Array.from({
|
|
33
|
+
length: messages
|
|
34
|
+
}).map((_, index) => {
|
|
35
|
+
const isRight = alternate && index % 2 === 1;
|
|
36
|
+
const width = BUBBLE_WIDTHS[index % BUBBLE_WIDTHS.length];
|
|
37
|
+
const height = 18 + index % 3 * 6;
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
39
|
+
key: index,
|
|
40
|
+
style: {
|
|
41
|
+
flexDirection: "row",
|
|
42
|
+
justifyContent: isRight ? "flex-end" : "flex-start",
|
|
43
|
+
marginTop: index === 0 ? 0 : gap
|
|
44
|
+
}
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
46
|
+
width: width,
|
|
47
|
+
height: height,
|
|
48
|
+
borderRadius: 14,
|
|
49
|
+
animation: animation,
|
|
50
|
+
delay: index * 70
|
|
51
|
+
}));
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=Chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Skeleton","e","__esModule","default","BUBBLE_WIDTHS","Chat","messages","alternate","gap","animation","style","testID","createElement","View","Array","from","length","map","_","index","isRight","width","height","key","flexDirection","justifyContent","marginTop","borderRadius","delay"],"sourceRoot":"../../../src","sources":["presets/Chat.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9C,MAAMG,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,IAAIA,CAAC;EACzBC,QAAQ,GAAG,CAAC;EACZC,SAAS,GAAG,IAAI;EAChBC,GAAG,GAAG,EAAE;EACRC,SAAS;EACTC,KAAK;EACLC;AACqB,CAAC,EAAE;EACxB,oBACIf,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACb,YAAA,CAAAc,IAAI;IAACH,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA;EAAO,GAC9BG,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEV;EAAS,CAAC,CAAC,CAACW,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;IAChD,MAAMC,OAAO,GAAGb,SAAS,IAAIY,KAAK,GAAG,CAAC,KAAK,CAAC;IAC5C,MAAME,KAAK,GAAGjB,aAAa,CAACe,KAAK,GAAGf,aAAa,CAACY,MAAM,CAAC;IACzD,MAAMM,MAAM,GAAG,EAAE,GAAKH,KAAK,GAAG,CAAC,GAAI,CAAE;IAErC,oBACIvB,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACb,YAAA,CAAAc,IAAI;MACDU,GAAG,EAAEJ,KAAM;MACXT,KAAK,EAAE;QACHc,aAAa,EAAE,KAAK;QACpBC,cAAc,EAAEL,OAAO,GAAG,UAAU,GAAG,YAAY;QACnDM,SAAS,EAAEP,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGX;MACjC;IAAE,gBAEFZ,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACZ,SAAA,CAAAG,OAAQ;MACLkB,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MACfK,YAAY,EAAE,EAAG;MACjBlB,SAAS,EAAEA,SAAU;MACrBmB,KAAK,EAAET,KAAK,GAAG;IAAG,CACrB,CACC,CAAC;EAEf,CAAC,CACC,CAAC;AAEf","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Product;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Skeleton = _interopRequireDefault(require("../components/Skeleton"));
|
|
10
|
+
var _responsive = require("../utils/responsive");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
/**
|
|
13
|
+
* A ready-made skeleton grid mimicking a product listing (e.g. e-commerce
|
|
14
|
+
* catalog or search results): square-ish image, title line, and price line,
|
|
15
|
+
* tiled into a responsive grid.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <Skeleton.Product count={6} columns={2} />
|
|
19
|
+
*/
|
|
20
|
+
function Product({
|
|
21
|
+
imageHeight = 140,
|
|
22
|
+
columns,
|
|
23
|
+
count = 4,
|
|
24
|
+
gap = 16,
|
|
25
|
+
animation,
|
|
26
|
+
style,
|
|
27
|
+
testID
|
|
28
|
+
}) {
|
|
29
|
+
const resolvedColumns = columns ?? (0, _responsive.getRecommendedColumns)();
|
|
30
|
+
const itemWidth = `${100 / resolvedColumns}%`;
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
32
|
+
style: [{
|
|
33
|
+
flexDirection: "row",
|
|
34
|
+
flexWrap: "wrap"
|
|
35
|
+
}, style],
|
|
36
|
+
testID: testID
|
|
37
|
+
}, Array.from({
|
|
38
|
+
length: count
|
|
39
|
+
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
40
|
+
key: index,
|
|
41
|
+
style: {
|
|
42
|
+
width: itemWidth,
|
|
43
|
+
paddingHorizontal: gap / 2,
|
|
44
|
+
marginBottom: gap
|
|
45
|
+
}
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
47
|
+
width: "100%",
|
|
48
|
+
height: imageHeight,
|
|
49
|
+
borderRadius: 10,
|
|
50
|
+
animation: animation,
|
|
51
|
+
delay: index * 40
|
|
52
|
+
}), /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
53
|
+
width: "80%",
|
|
54
|
+
height: 12,
|
|
55
|
+
style: {
|
|
56
|
+
marginTop: 8
|
|
57
|
+
},
|
|
58
|
+
animation: animation,
|
|
59
|
+
delay: index * 40
|
|
60
|
+
}), /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
61
|
+
width: "40%",
|
|
62
|
+
height: 12,
|
|
63
|
+
style: {
|
|
64
|
+
marginTop: 6
|
|
65
|
+
},
|
|
66
|
+
animation: animation,
|
|
67
|
+
delay: index * 40
|
|
68
|
+
}))));
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=Product.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Skeleton","_responsive","e","__esModule","default","Product","imageHeight","columns","count","gap","animation","style","testID","resolvedColumns","getRecommendedColumns","itemWidth","createElement","View","flexDirection","flexWrap","Array","from","length","map","_","index","key","width","paddingHorizontal","marginBottom","height","borderRadius","delay","marginTop"],"sourceRoot":"../../../src","sources":["presets/Product.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA4D,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,OAAOA,CAAC;EAC5BC,WAAW,GAAG,GAAG;EACjBC,OAAO;EACPC,KAAK,GAAG,CAAC;EACTC,GAAG,GAAG,EAAE;EACRC,SAAS;EACTC,KAAK;EACLC;AACwB,CAAC,EAAE;EAC3B,MAAMC,eAAe,GAAGN,OAAO,IAAI,IAAAO,iCAAqB,EAAC,CAAC;EAC1D,MAAMC,SAAS,GAAG,GAAG,GAAG,GAAGF,eAAe,GAAG;EAE7C,oBACIjB,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACN,KAAK,EAAE,CAAC;MAAEO,aAAa,EAAE,KAAK;MAAEC,QAAQ,EAAE;IAAO,CAAC,EAAER,KAAK,CAAE;IAACC,MAAM,EAAEA;EAAO,GAC5EQ,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEd;EAAM,CAAC,CAAC,CAACe,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACxC7B,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IACDS,GAAG,EAAED,KAAM;IACXd,KAAK,EAAE;MACHgB,KAAK,EAAEZ,SAAgB;MACvBa,iBAAiB,EAAEnB,GAAG,GAAG,CAAC;MAC1BoB,YAAY,EAAEpB;IAClB;EAAE,gBAEFb,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAAChB,SAAA,CAAAI,OAAQ;IAACuB,KAAK,EAAC,MAAM;IAACG,MAAM,EAAExB,WAAY;IAACyB,YAAY,EAAE,EAAG;IAACrB,SAAS,EAAEA,SAAU;IAACsB,KAAK,EAAEP,KAAK,GAAG;EAAG,CAAE,CAAC,eACzG7B,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAAChB,SAAA,CAAAI,OAAQ;IAACuB,KAAK,EAAC,KAAK;IAACG,MAAM,EAAE,EAAG;IAACnB,KAAK,EAAE;MAAEsB,SAAS,EAAE;IAAE,CAAE;IAACvB,SAAS,EAAEA,SAAU;IAACsB,KAAK,EAAEP,KAAK,GAAG;EAAG,CAAE,CAAC,eACtG7B,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAAChB,SAAA,CAAAI,OAAQ;IAACuB,KAAK,EAAC,KAAK;IAACG,MAAM,EAAE,EAAG;IAACnB,KAAK,EAAE;MAAEsB,SAAS,EAAE;IAAE,CAAE;IAACvB,SAAS,EAAEA,SAAU;IAACsB,KAAK,EAAEP,KAAK,GAAG;EAAG,CAAE,CACnG,CACT,CACC,CAAC;AAEf","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Profile;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Skeleton = _interopRequireDefault(require("../components/Skeleton"));
|
|
10
|
+
var _Circle = _interopRequireDefault(require("../components/Circle"));
|
|
11
|
+
var _Group = _interopRequireDefault(require("../components/Group"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
/**
|
|
15
|
+
* A ready-made skeleton block mimicking a profile header: a circular avatar
|
|
16
|
+
* beside a name line and one or more secondary text lines (e.g. handle/bio).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Skeleton.Profile avatarSize={56} lines={2} />
|
|
20
|
+
*/
|
|
21
|
+
function Profile({
|
|
22
|
+
avatarSize = 56,
|
|
23
|
+
lines = 2,
|
|
24
|
+
count = 1,
|
|
25
|
+
gap = 16,
|
|
26
|
+
animation,
|
|
27
|
+
style,
|
|
28
|
+
testID
|
|
29
|
+
}) {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
31
|
+
style: style,
|
|
32
|
+
testID: testID
|
|
33
|
+
}, Array.from({
|
|
34
|
+
length: count
|
|
35
|
+
}).map((_, blockIndex) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
36
|
+
key: blockIndex,
|
|
37
|
+
style: {
|
|
38
|
+
flexDirection: "row",
|
|
39
|
+
alignItems: "center",
|
|
40
|
+
marginTop: blockIndex === 0 ? 0 : gap
|
|
41
|
+
}
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_Circle.default, {
|
|
43
|
+
size: avatarSize,
|
|
44
|
+
animation: animation
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement(_Group.default, {
|
|
46
|
+
staggerDelay: 60,
|
|
47
|
+
animation: animation,
|
|
48
|
+
style: {
|
|
49
|
+
marginLeft: 12,
|
|
50
|
+
flex: 1
|
|
51
|
+
}
|
|
52
|
+
}, Array.from({
|
|
53
|
+
length: lines
|
|
54
|
+
}, (__, lineIndex) => {
|
|
55
|
+
const lineProps = {
|
|
56
|
+
width: lineIndex === 0 ? "60%" : `${85 - lineIndex * 15}%`,
|
|
57
|
+
height: lineIndex === 0 ? 16 : 12,
|
|
58
|
+
style: {
|
|
59
|
+
marginTop: lineIndex === 0 ? 0 : 8
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return /*#__PURE__*/_react.default.createElement(_Skeleton.default, _extends({
|
|
63
|
+
key: lineIndex
|
|
64
|
+
}, lineProps));
|
|
65
|
+
})))));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=Profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Skeleton","_Circle","_Group","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","Profile","avatarSize","lines","count","gap","animation","style","testID","createElement","View","Array","from","map","_","blockIndex","key","flexDirection","alignItems","marginTop","size","staggerDelay","marginLeft","flex","__","lineIndex","lineProps","width","height"],"sourceRoot":"../../../src","sources":["presets/Profile.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAwC,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASO,OAAOA,CAAC;EAC5BC,UAAU,GAAG,EAAE;EACfC,KAAK,GAAG,CAAC;EACTC,KAAK,GAAG,CAAC;EACTC,GAAG,GAAG,EAAE;EACRC,SAAS;EACTC,KAAK;EACLC;AACwB,CAAC,EAAE;EAC3B,oBACI7B,MAAA,CAAAS,OAAA,CAAAqB,aAAA,CAAC3B,YAAA,CAAA4B,IAAI;IAACH,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA;EAAO,GAC9BG,KAAK,CAACC,IAAI,CAAC;IAAEjB,MAAM,EAAES;EAAM,CAAC,CAAC,CAACS,GAAG,CAAC,CAACC,CAAC,EAAEC,UAAU,kBAC7CpC,MAAA,CAAAS,OAAA,CAAAqB,aAAA,CAAC3B,YAAA,CAAA4B,IAAI;IACDM,GAAG,EAAED,UAAW;IAChBR,KAAK,EAAE;MACHU,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAEJ,UAAU,KAAK,CAAC,GAAG,CAAC,GAAGV;IACtC;EAAE,gBAEF1B,MAAA,CAAAS,OAAA,CAAAqB,aAAA,CAACzB,OAAA,CAAAI,OAAM;IAACgC,IAAI,EAAElB,UAAW;IAACI,SAAS,EAAEA;EAAU,CAAE,CAAC,eAClD3B,MAAA,CAAAS,OAAA,CAAAqB,aAAA,CAACxB,MAAA,CAAAG,OAAK;IACFiC,YAAY,EAAE,EAAG;IACjBf,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAE;MAAEe,UAAU,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAE;EAAE,GAElCZ,KAAK,CAACC,IAAI,CAAC;IAAEjB,MAAM,EAAEQ;EAAM,CAAC,EAAE,CAACqB,EAAE,EAAEC,SAAS,KAAK;IAC9C,MAAMC,SAAwB,GAAG;MAC7BC,KAAK,EAAEF,SAAS,KAAK,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,GAAGA,SAAS,GAAG,EAAE,GAAG;MAC1DG,MAAM,EAAEH,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;MACjClB,KAAK,EAAE;QAAEY,SAAS,EAAEM,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG;MAAE;IAChD,CAAC;IACD,oBAAO9C,MAAA,CAAAS,OAAA,CAAAqB,aAAA,CAAC1B,SAAA,CAAAK,OAAQ,EAAAC,QAAA;MAAC2B,GAAG,EAAES;IAAU,GAAKC,SAAS,CAAG,CAAC;EACtD,CAAC,CACE,CACL,CACT,CACC,CAAC;AAEf","ignoreList":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Video;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Skeleton = _interopRequireDefault(require("../components/Skeleton"));
|
|
10
|
+
var _Circle = _interopRequireDefault(require("../components/Circle"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
/**
|
|
13
|
+
* A ready-made skeleton block mimicking a video list item: a video
|
|
14
|
+
* thumbnail at a given aspect ratio, optionally followed by a channel
|
|
15
|
+
* avatar + title row and a meta line (views / date).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <Skeleton.Video aspectRatio={16 / 9} showTitle showMeta />
|
|
19
|
+
*/
|
|
20
|
+
function Video({
|
|
21
|
+
aspectRatio = 16 / 9,
|
|
22
|
+
showTitle = true,
|
|
23
|
+
showMeta = true,
|
|
24
|
+
count = 1,
|
|
25
|
+
gap = 20,
|
|
26
|
+
animation,
|
|
27
|
+
style,
|
|
28
|
+
testID
|
|
29
|
+
}) {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
31
|
+
style: style,
|
|
32
|
+
testID: testID
|
|
33
|
+
}, Array.from({
|
|
34
|
+
length: count
|
|
35
|
+
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
36
|
+
key: index,
|
|
37
|
+
style: {
|
|
38
|
+
marginTop: index === 0 ? 0 : gap
|
|
39
|
+
}
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
41
|
+
style: {
|
|
42
|
+
width: "100%",
|
|
43
|
+
aspectRatio
|
|
44
|
+
}
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
46
|
+
width: "100%",
|
|
47
|
+
height: "100%",
|
|
48
|
+
borderRadius: 10,
|
|
49
|
+
animation: animation
|
|
50
|
+
})), (showTitle || showMeta) && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
51
|
+
style: {
|
|
52
|
+
flexDirection: "row",
|
|
53
|
+
marginTop: 10
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement(_Circle.default, {
|
|
56
|
+
size: 36,
|
|
57
|
+
animation: animation
|
|
58
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
59
|
+
style: {
|
|
60
|
+
marginLeft: 10,
|
|
61
|
+
flex: 1
|
|
62
|
+
}
|
|
63
|
+
}, showTitle && /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
64
|
+
width: "90%",
|
|
65
|
+
height: 14,
|
|
66
|
+
animation: animation
|
|
67
|
+
}), showMeta && /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
68
|
+
width: "50%",
|
|
69
|
+
height: 11,
|
|
70
|
+
style: {
|
|
71
|
+
marginTop: 6
|
|
72
|
+
},
|
|
73
|
+
animation: animation
|
|
74
|
+
}))))));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Skeleton","_Circle","e","__esModule","default","Video","aspectRatio","showTitle","showMeta","count","gap","animation","style","testID","createElement","View","Array","from","length","map","_","index","key","marginTop","width","height","borderRadius","flexDirection","size","marginLeft","flex"],"sourceRoot":"../../../src","sources":["presets/Video.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA0C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,KAAKA,CAAC;EAC1BC,WAAW,GAAG,EAAE,GAAG,CAAC;EACpBC,SAAS,GAAG,IAAI;EAChBC,QAAQ,GAAG,IAAI;EACfC,KAAK,GAAG,CAAC;EACTC,GAAG,GAAG,EAAE;EACRC,SAAS;EACTC,KAAK;EACLC;AACsB,CAAC,EAAE;EACzB,oBACIjB,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACf,YAAA,CAAAgB,IAAI;IAACH,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA;EAAO,GAC9BG,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAET;EAAM,CAAC,CAAC,CAACU,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACxCzB,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACf,YAAA,CAAAgB,IAAI;IAACO,GAAG,EAAED,KAAM;IAACT,KAAK,EAAE;MAAEW,SAAS,EAAEF,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGX;IAAI;EAAE,gBAC1Dd,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACf,YAAA,CAAAgB,IAAI;IAACH,KAAK,EAAE;MAAEY,KAAK,EAAE,MAAM;MAAElB;IAAY;EAAE,gBACxCV,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACd,SAAA,CAAAI,OAAQ;IAACoB,KAAK,EAAC,MAAM;IAACC,MAAM,EAAC,MAAM;IAACC,YAAY,EAAE,EAAG;IAACf,SAAS,EAAEA;EAAU,CAAE,CAC5E,CAAC,EAEN,CAACJ,SAAS,IAAIC,QAAQ,kBACnBZ,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACf,YAAA,CAAAgB,IAAI;IAACH,KAAK,EAAE;MAAEe,aAAa,EAAE,KAAK;MAAEJ,SAAS,EAAE;IAAG;EAAE,gBACjD3B,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACb,OAAA,CAAAG,OAAM;IAACwB,IAAI,EAAE,EAAG;IAACjB,SAAS,EAAEA;EAAU,CAAE,CAAC,eAC1Cf,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACf,YAAA,CAAAgB,IAAI;IAACH,KAAK,EAAE;MAAEiB,UAAU,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAE;EAAE,GACpCvB,SAAS,iBAAIX,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACd,SAAA,CAAAI,OAAQ;IAACoB,KAAK,EAAC,KAAK;IAACC,MAAM,EAAE,EAAG;IAACd,SAAS,EAAEA;EAAU,CAAE,CAAC,EACvEH,QAAQ,iBACLZ,MAAA,CAAAQ,OAAA,CAAAU,aAAA,CAACd,SAAA,CAAAI,OAAQ;IACLoB,KAAK,EAAC,KAAK;IACXC,MAAM,EAAE,EAAG;IACXb,KAAK,EAAE;MAAEW,SAAS,EAAE;IAAE,CAAE;IACxBZ,SAAS,EAAEA;EAAU,CACxB,CAEH,CACJ,CAER,CACT,CACC,CAAC;AAEf","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SkeletonContext = void 0;
|
|
7
|
+
exports.SkeletonProvider = SkeletonProvider;
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
var _useReducedMotion = require("../hooks/useReducedMotion");
|
|
12
|
+
var _theme = require("../utils/theme");
|
|
13
|
+
var _colors = require("../utils/colors");
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
const SkeletonContext = exports.SkeletonContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Global configuration provider for react-native-smart-skeleton.
|
|
19
|
+
*
|
|
20
|
+
* Wrap your app (or a subtree) once to set defaults for theme, animation,
|
|
21
|
+
* duration, performance mode, RTL, reduced-motion override, and brand colors.
|
|
22
|
+
* Any individual Skeleton component can still override these via its own props.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <SkeletonProvider theme="system" animation="shimmer" duration={1200}>
|
|
26
|
+
* <App />
|
|
27
|
+
* </SkeletonProvider>
|
|
28
|
+
*/
|
|
29
|
+
function SkeletonProvider({
|
|
30
|
+
children,
|
|
31
|
+
theme = "system",
|
|
32
|
+
animation = "shimmer",
|
|
33
|
+
duration = 1200,
|
|
34
|
+
performanceMode = "balanced",
|
|
35
|
+
rtl,
|
|
36
|
+
reducedMotion: reducedMotionOverride,
|
|
37
|
+
colors
|
|
38
|
+
}) {
|
|
39
|
+
const systemScheme = (0, _reactNative.useColorScheme)();
|
|
40
|
+
const osReducedMotion = (0, _useReducedMotion.useReducedMotion)();
|
|
41
|
+
const isDark = (0, _theme.resolveIsDark)(theme, systemScheme);
|
|
42
|
+
const reducedMotion = reducedMotionOverride ?? osReducedMotion;
|
|
43
|
+
const resolvedRtl = rtl ?? _reactNative.I18nManager.isRTL;
|
|
44
|
+
const value = (0, _react.useMemo)(() => {
|
|
45
|
+
const ambient = (0, _theme.getDefaultThemeColors)(isDark);
|
|
46
|
+
const getVariantColors = variant => (0, _colors.resolveThemeColors)({
|
|
47
|
+
colorVariant: variant,
|
|
48
|
+
isDark,
|
|
49
|
+
brandColors: colors,
|
|
50
|
+
ambient
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
theme,
|
|
54
|
+
isDark,
|
|
55
|
+
animation,
|
|
56
|
+
duration,
|
|
57
|
+
performanceMode,
|
|
58
|
+
reducedMotion,
|
|
59
|
+
rtl: resolvedRtl,
|
|
60
|
+
colors,
|
|
61
|
+
resolvedColors: ambient,
|
|
62
|
+
getVariantColors
|
|
63
|
+
};
|
|
64
|
+
}, [theme, isDark, animation, duration, performanceMode, reducedMotion, resolvedRtl, colors]);
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(SkeletonContext.Provider, {
|
|
66
|
+
value: value
|
|
67
|
+
}, children);
|
|
68
|
+
}
|
|
69
|
+
var _default = exports.default = SkeletonProvider;
|
|
70
|
+
//# sourceMappingURL=SkeletonProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useReducedMotion","_theme","_colors","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SkeletonContext","exports","createContext","SkeletonProvider","children","theme","animation","duration","performanceMode","rtl","reducedMotion","reducedMotionOverride","colors","systemScheme","useColorScheme","osReducedMotion","useReducedMotion","isDark","resolveIsDark","resolvedRtl","I18nManager","isRTL","value","useMemo","ambient","getDefaultThemeColors","getVariantColors","variant","resolveThemeColors","colorVariant","brandColors","resolvedColors","createElement","Provider","_default"],"sourceRoot":"../../../src","sources":["providers/SkeletonProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DEFAULT_LIGHT_COLORS = exports.DEFAULT_DARK_COLORS = void 0;
|
|
7
|
+
exports.buildSweepGradient = buildSweepGradient;
|
|
8
|
+
exports.parseHexColor = parseHexColor;
|
|
9
|
+
exports.resolveThemeColors = resolveThemeColors;
|
|
10
|
+
exports.shadeColor = shadeColor;
|
|
11
|
+
exports.toRgbaString = toRgbaString;
|
|
12
|
+
exports.withOpacity = withOpacity;
|
|
13
|
+
/**
|
|
14
|
+
* Default light/dark palettes used when no brand colors or explicit
|
|
15
|
+
* backgroundColor/highlightColor are supplied.
|
|
16
|
+
*/
|
|
17
|
+
const DEFAULT_LIGHT_COLORS = exports.DEFAULT_LIGHT_COLORS = {
|
|
18
|
+
background: "#E5E7EB",
|
|
19
|
+
highlight: "#F3F4F6"
|
|
20
|
+
};
|
|
21
|
+
const DEFAULT_DARK_COLORS = exports.DEFAULT_DARK_COLORS = {
|
|
22
|
+
background: "#2D3748",
|
|
23
|
+
highlight: "#4A5568"
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Clamp a number between 0 and 255.
|
|
28
|
+
*/
|
|
29
|
+
function clampChannel(value) {
|
|
30
|
+
return Math.max(0, Math.min(255, Math.round(value)));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Parse a hex color (#RGB, #RRGGBB, #RRGGBBAA) into r/g/b/a channels.
|
|
35
|
+
* Returns null if the string isn't a parseable hex color.
|
|
36
|
+
*/
|
|
37
|
+
function parseHexColor(hex) {
|
|
38
|
+
const normalized = hex.trim().replace("#", "");
|
|
39
|
+
if (normalized.length === 3) {
|
|
40
|
+
const r = parseInt(normalized[0] + normalized[0], 16);
|
|
41
|
+
const g = parseInt(normalized[1] + normalized[1], 16);
|
|
42
|
+
const b = parseInt(normalized[2] + normalized[2], 16);
|
|
43
|
+
return {
|
|
44
|
+
r,
|
|
45
|
+
g,
|
|
46
|
+
b,
|
|
47
|
+
a: 1
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (normalized.length === 6) {
|
|
51
|
+
const r = parseInt(normalized.slice(0, 2), 16);
|
|
52
|
+
const g = parseInt(normalized.slice(2, 4), 16);
|
|
53
|
+
const b = parseInt(normalized.slice(4, 6), 16);
|
|
54
|
+
return {
|
|
55
|
+
r,
|
|
56
|
+
g,
|
|
57
|
+
b,
|
|
58
|
+
a: 1
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (normalized.length === 8) {
|
|
62
|
+
const r = parseInt(normalized.slice(0, 2), 16);
|
|
63
|
+
const g = parseInt(normalized.slice(2, 4), 16);
|
|
64
|
+
const b = parseInt(normalized.slice(4, 6), 16);
|
|
65
|
+
const a = parseInt(normalized.slice(6, 8), 16) / 255;
|
|
66
|
+
return {
|
|
67
|
+
r,
|
|
68
|
+
g,
|
|
69
|
+
b,
|
|
70
|
+
a
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Convert an rgb/rgba channel set back into a CSS rgba() string.
|
|
78
|
+
*/
|
|
79
|
+
function toRgbaString(r, g, b, a) {
|
|
80
|
+
return `rgba(${clampChannel(r)}, ${clampChannel(g)}, ${clampChannel(b)}, ${Math.max(0, Math.min(1, a))})`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Lighten or darken a hex color by a percentage (-1 to 1).
|
|
85
|
+
* Positive amount lightens, negative darkens. Non-hex input is returned unchanged.
|
|
86
|
+
*/
|
|
87
|
+
function shadeColor(hex, amount) {
|
|
88
|
+
const parsed = parseHexColor(hex);
|
|
89
|
+
if (!parsed) return hex;
|
|
90
|
+
const {
|
|
91
|
+
r,
|
|
92
|
+
g,
|
|
93
|
+
b,
|
|
94
|
+
a
|
|
95
|
+
} = parsed;
|
|
96
|
+
const factor = amount;
|
|
97
|
+
const adjust = channel => factor >= 0 ? channel + (255 - channel) * factor : channel + channel * factor;
|
|
98
|
+
return toRgbaString(adjust(r), adjust(g), adjust(b), a);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Given a hex/rgba color, return a translucent rgba() version at the given opacity.
|
|
103
|
+
* Falls back to the original string if it isn't parseable (e.g. already rgba(), or a named color).
|
|
104
|
+
*/
|
|
105
|
+
function withOpacity(color, opacity) {
|
|
106
|
+
const parsed = parseHexColor(color);
|
|
107
|
+
if (!parsed) return color;
|
|
108
|
+
return toRgbaString(parsed.r, parsed.g, parsed.b, opacity);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Resolve the {background, highlight} pair to use for a skeleton, given (in priority order):
|
|
113
|
+
* 1. explicit backgroundColor/highlightColor props
|
|
114
|
+
* 2. a brand color variant (colorVariant + colors map from the provider)
|
|
115
|
+
* 3. the ambient theme colors resolved from useSkeletonTheme
|
|
116
|
+
*/
|
|
117
|
+
function resolveThemeColors(params) {
|
|
118
|
+
const {
|
|
119
|
+
backgroundColor,
|
|
120
|
+
highlightColor,
|
|
121
|
+
colorVariant,
|
|
122
|
+
isDark,
|
|
123
|
+
brandColors,
|
|
124
|
+
ambient
|
|
125
|
+
} = params;
|
|
126
|
+
let base = ambient;
|
|
127
|
+
if (colorVariant && brandColors && brandColors[colorVariant]) {
|
|
128
|
+
const variant = brandColors[colorVariant];
|
|
129
|
+
base = isDark ? variant.dark : variant.light;
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
background: backgroundColor ?? base.background,
|
|
133
|
+
highlight: highlightColor ?? base.highlight
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Build a 3-stop gradient color array from a background/highlight pair,
|
|
139
|
+
* matching the classic skeleton "sweep" look: base -> highlight -> base.
|
|
140
|
+
*/
|
|
141
|
+
function buildSweepGradient(background, highlight) {
|
|
142
|
+
return [background, highlight, background];
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_LIGHT_COLORS","exports","background","highlight","DEFAULT_DARK_COLORS","clampChannel","value","Math","max","min","round","parseHexColor","hex","normalized","trim","replace","length","r","parseInt","g","b","a","slice","toRgbaString","shadeColor","amount","parsed","factor","adjust","channel","withOpacity","color","opacity","resolveThemeColors","params","backgroundColor","highlightColor","colorVariant","isDark","brandColors","ambient","base","variant","dark","light","buildSweepGradient"],"sourceRoot":"../../../src","sources":["utils/colors.ts"],"mappings":"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","ignoreList":[]}
|