@pingux/astro 2.110.1-alpha.1 → 2.111.0-alpha.0
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/lib/cjs/components/Skeleton/Skeleton.d.ts +4 -0
- package/lib/cjs/components/Skeleton/Skeleton.js +125 -0
- package/lib/cjs/components/Skeleton/Skeleton.mdx +13 -0
- package/lib/cjs/components/Skeleton/Skeleton.stories.d.ts +7 -0
- package/lib/cjs/components/Skeleton/Skeleton.stories.js +85 -0
- package/lib/cjs/components/Skeleton/Skeleton.styles.d.ts +108 -0
- package/lib/cjs/components/Skeleton/Skeleton.styles.js +70 -0
- package/lib/cjs/components/Skeleton/Skeleton.test.d.ts +1 -0
- package/lib/cjs/components/Skeleton/Skeleton.test.js +130 -0
- package/lib/cjs/components/Skeleton/index.d.ts +1 -0
- package/lib/cjs/components/Skeleton/index.js +14 -0
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.js +39 -20
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.d.ts +15 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +32 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +14 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +1 -1
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +107 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +107 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -1
- package/lib/cjs/styles/variants/variants.js +2 -0
- package/lib/cjs/types/index.d.ts +1 -0
- package/lib/cjs/types/index.js +20 -9
- package/lib/cjs/types/skeleton.d.ts +6 -0
- package/lib/cjs/types/skeleton.js +6 -0
- package/lib/components/Skeleton/Skeleton.js +113 -0
- package/lib/components/Skeleton/Skeleton.mdx +13 -0
- package/lib/components/Skeleton/Skeleton.stories.js +74 -0
- package/lib/components/Skeleton/Skeleton.styles.js +63 -0
- package/lib/components/Skeleton/Skeleton.test.js +127 -0
- package/lib/components/Skeleton/index.js +1 -0
- package/lib/index.js +2 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +24 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
- package/lib/styles/themes/next-gen/convertedComponentList.js +1 -1
- package/lib/styles/themes/next-gen/variants/variants.js +3 -1
- package/lib/styles/variants/variants.js +2 -0
- package/lib/types/index.js +1 -0
- package/lib/types/skeleton.js +1 -0
- package/package.json +1 -1
@@ -0,0 +1,125 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
15
|
+
value: true
|
16
|
+
});
|
17
|
+
exports["default"] = void 0;
|
18
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
19
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
21
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
22
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
23
|
+
var _react = _interopRequireWildcard(require("react"));
|
24
|
+
var _utils = require("@react-aria/utils");
|
25
|
+
var _hooks = require("../../hooks");
|
26
|
+
var _Box = _interopRequireDefault(require("../Box/Box"));
|
27
|
+
var _react2 = require("@emotion/react");
|
28
|
+
var _excluded = ["children", "className", "variant", "fontSize", "sx", "animation"];
|
29
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
31
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
33
|
+
var Skeleton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
34
|
+
var children = props.children,
|
35
|
+
className = props.className,
|
36
|
+
variant = props.variant,
|
37
|
+
fontSize = props.fontSize,
|
38
|
+
sx = props.sx,
|
39
|
+
animation = props.animation,
|
40
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
41
|
+
var skeletonRef = (0, _hooks.useLocalOrForwardRef)(ref);
|
42
|
+
var childrenRef = (0, _react.useRef)(null);
|
43
|
+
var _useState = (0, _react.useState)({
|
44
|
+
width: 0,
|
45
|
+
height: 0
|
46
|
+
}),
|
47
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
48
|
+
dimensions = _useState2[0],
|
49
|
+
setDimensions = _useState2[1];
|
50
|
+
var hasChildren = _react["default"].Children.count(children) > 0;
|
51
|
+
var onResize = (0, _react.useCallback)(function () {
|
52
|
+
if (childrenRef.current) {
|
53
|
+
var _childrenRef$current = childrenRef.current,
|
54
|
+
offsetWidth = _childrenRef$current.offsetWidth,
|
55
|
+
offsetHeight = _childrenRef$current.offsetHeight;
|
56
|
+
if (offsetWidth > 0 && offsetHeight > 0) {
|
57
|
+
setDimensions({
|
58
|
+
width: offsetWidth,
|
59
|
+
height: offsetHeight
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}, []);
|
64
|
+
(0, _utils.useResizeObserver)({
|
65
|
+
ref: childrenRef,
|
66
|
+
onResize: onResize
|
67
|
+
});
|
68
|
+
(0, _react.useLayoutEffect)(onResize, [onResize]);
|
69
|
+
(0, _react.useEffect)(function () {
|
70
|
+
if (childrenRef.current) {
|
71
|
+
var _childrenRef$current2 = childrenRef.current,
|
72
|
+
offsetWidth = _childrenRef$current2.offsetWidth,
|
73
|
+
offsetHeight = _childrenRef$current2.offsetHeight;
|
74
|
+
setDimensions({
|
75
|
+
width: offsetWidth,
|
76
|
+
height: offsetHeight
|
77
|
+
});
|
78
|
+
}
|
79
|
+
}, []);
|
80
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
81
|
+
isPulsate: animation === 'pulsate'
|
82
|
+
}),
|
83
|
+
classNames = _useStatusClasses.classNames;
|
84
|
+
var inferrerDimensions = hasChildren ? {
|
85
|
+
width: dimensions.width > 0 ? "".concat(dimensions.width, "px") : 'auto',
|
86
|
+
height: dimensions.height > 0 ? "".concat(dimensions.height, "px") : 'auto'
|
87
|
+
} : {};
|
88
|
+
var styleObj = _objectSpread(_objectSpread({}, sx), {}, {
|
89
|
+
height: variant === 'text' && fontSize ? fontSize : undefined
|
90
|
+
}, inferrerDimensions);
|
91
|
+
var renderedChildren = function renderedChildren() {
|
92
|
+
if (hasChildren) {
|
93
|
+
var _context;
|
94
|
+
var childProps = {
|
95
|
+
ref: childrenRef,
|
96
|
+
style: {
|
97
|
+
visibility: 'hidden'
|
98
|
+
}
|
99
|
+
};
|
100
|
+
var childWithRefProp = function childWithRefProp(child) {
|
101
|
+
return /*#__PURE__*/_react["default"].cloneElement(child, childProps);
|
102
|
+
};
|
103
|
+
return (0, _map["default"])(_context = _react["default"].Children).call(_context, children, function (child) {
|
104
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(child)) {
|
105
|
+
return childWithRefProp(child);
|
106
|
+
}
|
107
|
+
return child;
|
108
|
+
});
|
109
|
+
}
|
110
|
+
return undefined;
|
111
|
+
};
|
112
|
+
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
113
|
+
ref: skeletonRef,
|
114
|
+
className: classNames,
|
115
|
+
variant: variant && "skeleton.".concat(variant),
|
116
|
+
sx: styleObj
|
117
|
+
}, others), renderedChildren());
|
118
|
+
});
|
119
|
+
Skeleton.defaultProps = {
|
120
|
+
variant: 'text',
|
121
|
+
animation: 'pulsate'
|
122
|
+
};
|
123
|
+
Skeleton.displayName = 'Skeleton';
|
124
|
+
var _default = Skeleton;
|
125
|
+
exports["default"] = _default;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Meta } from "@storybook/addon-docs";
|
2
|
+
|
3
|
+
<Meta title="Components/Skeleton/Skeleton" />
|
4
|
+
|
5
|
+
# Skeleton
|
6
|
+
|
7
|
+
The Skeleton component is a basic skeleton that accepts most of the styling props from [styled-system](https://styled-system.com/table).
|
8
|
+
|
9
|
+
Show a placeholder preview of your content while the data loads to minimize load-time frustration.
|
10
|
+
|
11
|
+
### Required Components
|
12
|
+
|
13
|
+
This component can be used independently and does not require additional components.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { StoryFn } from '@storybook/react';
|
3
|
+
import { SkeletonProps } from '../../types';
|
4
|
+
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
|
5
|
+
export default _default;
|
6
|
+
export declare const Default: StoryFn<SkeletonProps>;
|
7
|
+
export declare const inferringDimensions: () => React.JSX.Element;
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.inferringDimensions = exports["default"] = exports.Default = void 0;
|
9
|
+
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectDestructuringEmpty"));
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
12
|
+
var _storybookAddonDesigns = require("storybook-addon-designs");
|
13
|
+
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
14
|
+
var _index = require("../../index");
|
15
|
+
var _images = require("../../utils/devUtils/constants/images");
|
16
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton.mdx"));
|
17
|
+
var _react2 = require("@emotion/react");
|
18
|
+
var _default = {
|
19
|
+
title: 'Components/Skeleton',
|
20
|
+
component: _index.Skeleton,
|
21
|
+
decorators: [_storybookAddonDesigns.withDesign],
|
22
|
+
parameters: {
|
23
|
+
docs: {
|
24
|
+
page: function page() {
|
25
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_Skeleton["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
|
26
|
+
}
|
27
|
+
}
|
28
|
+
},
|
29
|
+
argTypes: {
|
30
|
+
variant: {
|
31
|
+
control: {
|
32
|
+
type: 'none'
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
};
|
37
|
+
exports["default"] = _default;
|
38
|
+
var Default = function Default(_ref) {
|
39
|
+
var args = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
|
40
|
+
return (0, _react2.jsx)(_index.Box, {
|
41
|
+
width: "200px"
|
42
|
+
}, (0, _react2.jsx)(_index.Skeleton, (0, _extends2["default"])({
|
43
|
+
variant: "text",
|
44
|
+
fontSize: "1rem"
|
45
|
+
}, args)), (0, _react2.jsx)(_index.Skeleton, (0, _extends2["default"])({
|
46
|
+
variant: "circular",
|
47
|
+
width: "40px",
|
48
|
+
height: "40px",
|
49
|
+
mt: "sm"
|
50
|
+
}, args)), (0, _react2.jsx)(_index.Skeleton, (0, _extends2["default"])({
|
51
|
+
variant: "rounded",
|
52
|
+
height: "60px",
|
53
|
+
width: "200px",
|
54
|
+
mt: "sm"
|
55
|
+
}, args)));
|
56
|
+
};
|
57
|
+
exports.Default = Default;
|
58
|
+
var inferringDimensions = function inferringDimensions() {
|
59
|
+
var isLoaded = true;
|
60
|
+
return (0, _react2.jsx)(_index.Box, {
|
61
|
+
width: "200px"
|
62
|
+
}, (0, _react2.jsx)(_index.Box, {
|
63
|
+
mb: "sm",
|
64
|
+
isRow: true,
|
65
|
+
alignItems: "center",
|
66
|
+
gap: "md"
|
67
|
+
}, isLoaded && (0, _react2.jsx)(_index.Skeleton, {
|
68
|
+
variant: "circular"
|
69
|
+
}, (0, _react2.jsx)(_index.Avatar, {
|
70
|
+
src: _images.pingImg
|
71
|
+
})), (0, _react2.jsx)(_index.Box, {
|
72
|
+
flex: "1 1 0"
|
73
|
+
}, (0, _react2.jsx)(_index.Skeleton, {
|
74
|
+
variant: "text"
|
75
|
+
}, isLoaded && (0, _react2.jsx)(_index.Text, {
|
76
|
+
variant: "h1"
|
77
|
+
}, ".")))), (0, _react2.jsx)(_index.Box, {
|
78
|
+
mb: "sm"
|
79
|
+
}, (0, _react2.jsx)(_index.Skeleton, {
|
80
|
+
variant: "rounded"
|
81
|
+
}, isLoaded && (0, _react2.jsx)(_index.Box, {
|
82
|
+
height: 100
|
83
|
+
}))));
|
84
|
+
};
|
85
|
+
exports.inferringDimensions = inferringDimensions;
|
@@ -0,0 +1,108 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
base: {
|
3
|
+
backgroundColor: string;
|
4
|
+
position: string;
|
5
|
+
overflow: string;
|
6
|
+
'&.is-pulsate': {
|
7
|
+
animation: string;
|
8
|
+
};
|
9
|
+
'&.is-wave': {
|
10
|
+
webkitMaskImage: string;
|
11
|
+
'&:after': {
|
12
|
+
content: string;
|
13
|
+
background: string;
|
14
|
+
position: string;
|
15
|
+
webkitTransform: string;
|
16
|
+
mozTransform: string;
|
17
|
+
msTransform: string;
|
18
|
+
transform: string;
|
19
|
+
bottom: string;
|
20
|
+
left: string;
|
21
|
+
right: string;
|
22
|
+
top: string;
|
23
|
+
animation: string;
|
24
|
+
};
|
25
|
+
};
|
26
|
+
};
|
27
|
+
text: {
|
28
|
+
height: string;
|
29
|
+
transform: string;
|
30
|
+
borderRadius: string;
|
31
|
+
backgroundColor: string;
|
32
|
+
position: string;
|
33
|
+
overflow: string;
|
34
|
+
'&.is-pulsate': {
|
35
|
+
animation: string;
|
36
|
+
};
|
37
|
+
'&.is-wave': {
|
38
|
+
webkitMaskImage: string;
|
39
|
+
'&:after': {
|
40
|
+
content: string;
|
41
|
+
background: string;
|
42
|
+
position: string;
|
43
|
+
webkitTransform: string;
|
44
|
+
mozTransform: string;
|
45
|
+
msTransform: string;
|
46
|
+
transform: string;
|
47
|
+
bottom: string;
|
48
|
+
left: string;
|
49
|
+
right: string;
|
50
|
+
top: string;
|
51
|
+
animation: string;
|
52
|
+
};
|
53
|
+
};
|
54
|
+
};
|
55
|
+
circular: {
|
56
|
+
borderRadius: string;
|
57
|
+
backgroundColor: string;
|
58
|
+
position: string;
|
59
|
+
overflow: string;
|
60
|
+
'&.is-pulsate': {
|
61
|
+
animation: string;
|
62
|
+
};
|
63
|
+
'&.is-wave': {
|
64
|
+
webkitMaskImage: string;
|
65
|
+
'&:after': {
|
66
|
+
content: string;
|
67
|
+
background: string;
|
68
|
+
position: string;
|
69
|
+
webkitTransform: string;
|
70
|
+
mozTransform: string;
|
71
|
+
msTransform: string;
|
72
|
+
transform: string;
|
73
|
+
bottom: string;
|
74
|
+
left: string;
|
75
|
+
right: string;
|
76
|
+
top: string;
|
77
|
+
animation: string;
|
78
|
+
};
|
79
|
+
};
|
80
|
+
};
|
81
|
+
rounded: {
|
82
|
+
borderRadius: string;
|
83
|
+
backgroundColor: string;
|
84
|
+
position: string;
|
85
|
+
overflow: string;
|
86
|
+
'&.is-pulsate': {
|
87
|
+
animation: string;
|
88
|
+
};
|
89
|
+
'&.is-wave': {
|
90
|
+
webkitMaskImage: string;
|
91
|
+
'&:after': {
|
92
|
+
content: string;
|
93
|
+
background: string;
|
94
|
+
position: string;
|
95
|
+
webkitTransform: string;
|
96
|
+
mozTransform: string;
|
97
|
+
msTransform: string;
|
98
|
+
transform: string;
|
99
|
+
bottom: string;
|
100
|
+
left: string;
|
101
|
+
right: string;
|
102
|
+
top: string;
|
103
|
+
animation: string;
|
104
|
+
};
|
105
|
+
};
|
106
|
+
};
|
107
|
+
};
|
108
|
+
export default _default;
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
5
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
10
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
11
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
12
|
+
_Object$defineProperty(exports, "__esModule", {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
exports["default"] = void 0;
|
16
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
17
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
18
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
|
19
|
+
var _react = require("@emotion/react");
|
20
|
+
var _colors = _interopRequireDefault(require("../../styles/themes/next-gen/colors/colors"));
|
21
|
+
var _templateObject, _templateObject2, _context, _context2;
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
24
|
+
// Animation keyframes
|
25
|
+
var pulsate = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n"], ["\n \\ 0% {\n opacity: 1;\n }\n \\ 50% {\n opacity: 0.4;\n }\n \\ 100% {\n opacity: 1;\n }\n"])));
|
26
|
+
var wave = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n 0% { \n -webkit-transform: translateX(-100%);\n -moz-transform: translateX(-100%);\n -ms-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n 50% { \n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n 100% {\n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n"], ["\n \\ 0% { \n -webkit-transform: translateX(-100%);\n -moz-transform: translateX(-100%);\n -ms-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n \\ 50% { \n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n \\ 100% {\n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n"])));
|
27
|
+
var animationSettings = '2s linear 0.5s infinite';
|
28
|
+
var base = {
|
29
|
+
backgroundColor: _colors["default"]['gray-200'],
|
30
|
+
position: 'relative',
|
31
|
+
overflow: 'hidden',
|
32
|
+
'&.is-pulsate': {
|
33
|
+
animation: (0, _concat["default"])(_context = "".concat(pulsate, " ")).call(_context, animationSettings)
|
34
|
+
},
|
35
|
+
'&.is-wave': {
|
36
|
+
webkitMaskImage: '-webkit-radial-gradient(white, black)',
|
37
|
+
'&:after': {
|
38
|
+
content: "''",
|
39
|
+
background: 'linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.04), transparent)',
|
40
|
+
position: 'absolute',
|
41
|
+
webkitTransform: 'translateX(-100%)',
|
42
|
+
mozTransform: 'translateX(-100%)',
|
43
|
+
msTransform: 'translateX(-100%)',
|
44
|
+
transform: 'translateX(-100%)',
|
45
|
+
bottom: '0',
|
46
|
+
left: '0',
|
47
|
+
right: '0',
|
48
|
+
top: '0',
|
49
|
+
animation: (0, _concat["default"])(_context2 = "".concat(wave, " ")).call(_context2, animationSettings)
|
50
|
+
}
|
51
|
+
}
|
52
|
+
};
|
53
|
+
var text = _objectSpread(_objectSpread({}, base), {}, {
|
54
|
+
height: '1.2rem',
|
55
|
+
transform: 'scale(1, 0.60)',
|
56
|
+
borderRadius: '4px/6.7px'
|
57
|
+
});
|
58
|
+
var circular = _objectSpread(_objectSpread({}, base), {}, {
|
59
|
+
borderRadius: '50%'
|
60
|
+
});
|
61
|
+
var rounded = _objectSpread(_objectSpread({}, base), {}, {
|
62
|
+
borderRadius: '4px'
|
63
|
+
});
|
64
|
+
var _default = {
|
65
|
+
base: base,
|
66
|
+
text: text,
|
67
|
+
circular: circular,
|
68
|
+
rounded: rounded
|
69
|
+
};
|
70
|
+
exports["default"] = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,130 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
|
5
|
+
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
|
6
|
+
var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
|
7
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
9
|
+
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
10
|
+
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
11
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
12
|
+
var _ = _interopRequireDefault(require("."));
|
13
|
+
var _react2 = require("@emotion/react");
|
14
|
+
var offsetHeight;
|
15
|
+
var offsetWidth;
|
16
|
+
var testId = 'test-skeleton';
|
17
|
+
var defaultProps = {
|
18
|
+
'data-testid': testId
|
19
|
+
};
|
20
|
+
var getComponent = function getComponent() {
|
21
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
22
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
23
|
+
};
|
24
|
+
var getComponentWithChild = function getComponentWithChild() {
|
25
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
26
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react2.jsx)(_Box["default"], {
|
27
|
+
height: 100,
|
28
|
+
width: 200
|
29
|
+
}, ".")));
|
30
|
+
};
|
31
|
+
|
32
|
+
// Needs to be added to each components test file
|
33
|
+
(0, _universalComponentTest.universalComponentTests)({
|
34
|
+
renderComponent: function renderComponent(props) {
|
35
|
+
return (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props));
|
36
|
+
}
|
37
|
+
});
|
38
|
+
describe('Skeleton component', function () {
|
39
|
+
beforeAll(function () {
|
40
|
+
offsetWidth = jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
|
41
|
+
return 1000;
|
42
|
+
});
|
43
|
+
offsetHeight = jest.spyOn(window.HTMLElement.prototype, 'clientHeight', 'get').mockImplementation(function () {
|
44
|
+
return 1000;
|
45
|
+
});
|
46
|
+
jest.useFakeTimers();
|
47
|
+
});
|
48
|
+
afterAll(function () {
|
49
|
+
offsetWidth.mockReset();
|
50
|
+
offsetHeight.mockReset();
|
51
|
+
});
|
52
|
+
test('renders Skeleton component', function () {
|
53
|
+
getComponent({
|
54
|
+
role: 'presentation'
|
55
|
+
});
|
56
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
57
|
+
expect(skeleton).toBeInstanceOf(HTMLDivElement);
|
58
|
+
expect(skeleton).toBeInTheDocument();
|
59
|
+
expect(skeleton).toHaveAttribute('role', 'presentation');
|
60
|
+
});
|
61
|
+
test('applies custom className if provided', function () {
|
62
|
+
getComponent({
|
63
|
+
className: 'custom-class'
|
64
|
+
});
|
65
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
66
|
+
expect(skeleton).toHaveClass('custom-class');
|
67
|
+
});
|
68
|
+
test('applies default animation', function () {
|
69
|
+
getComponent();
|
70
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
71
|
+
expect(skeleton).toHaveClass('is-pulsate');
|
72
|
+
});
|
73
|
+
test('when variant is passed', function () {
|
74
|
+
getComponent({
|
75
|
+
width: '40px',
|
76
|
+
height: '40px',
|
77
|
+
variant: 'circular'
|
78
|
+
});
|
79
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
80
|
+
expect(skeleton).toHaveStyle('border-radius: 50%');
|
81
|
+
});
|
82
|
+
test('when style object is passed', function () {
|
83
|
+
getComponent({
|
84
|
+
width: '40px',
|
85
|
+
height: '40px',
|
86
|
+
variant: 'circular',
|
87
|
+
sx: {
|
88
|
+
bg: 'red'
|
89
|
+
}
|
90
|
+
});
|
91
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
92
|
+
expect(skeleton).toHaveStyle('background: red');
|
93
|
+
});
|
94
|
+
test('when fontSize is passed', function () {
|
95
|
+
getComponent({
|
96
|
+
variant: 'text',
|
97
|
+
fontSize: '16px'
|
98
|
+
});
|
99
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
100
|
+
expect(skeleton).toHaveStyle('height: 16px');
|
101
|
+
});
|
102
|
+
test('check the inferrer dimensions', function () {
|
103
|
+
var originalOffsetHeight = (0, _getOwnPropertyDescriptor["default"])(window.HTMLDivElement.prototype, 'offsetHeight');
|
104
|
+
var originalOffsetWidth = (0, _getOwnPropertyDescriptor["default"])(window.HTMLDivElement.prototype, 'offsetWidth');
|
105
|
+
(0, _defineProperties["default"])(window.HTMLDivElement.prototype, {
|
106
|
+
offsetHeight: {
|
107
|
+
get: function get() {
|
108
|
+
return this.tagName === 'DIV' ? 100 : 500;
|
109
|
+
}
|
110
|
+
},
|
111
|
+
offsetWidth: {
|
112
|
+
get: function get() {
|
113
|
+
return this.tagName === 'DIV' ? 200 : 500;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
});
|
117
|
+
getComponentWithChild({
|
118
|
+
variant: 'rounded'
|
119
|
+
});
|
120
|
+
var skeleton = _testWrapper.screen.getByTestId(testId);
|
121
|
+
expect(skeleton).toHaveStyle('height: 100px');
|
122
|
+
expect(skeleton).toHaveStyle('width: 200px');
|
123
|
+
if (originalOffsetHeight) {
|
124
|
+
(0, _defineProperty["default"])(window.HTMLDivElement.prototype, 'offsetHeight', originalOffsetHeight);
|
125
|
+
}
|
126
|
+
if (originalOffsetWidth) {
|
127
|
+
(0, _defineProperty["default"])(window.HTMLDivElement.prototype, 'offsetWidth', originalOffsetWidth);
|
128
|
+
}
|
129
|
+
});
|
130
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './Skeleton';
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
_Object$defineProperty(exports, "default", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _Skeleton["default"];
|
12
|
+
}
|
13
|
+
});
|
14
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
package/lib/cjs/index.d.ts
CHANGED
@@ -164,6 +164,8 @@ export { default as SelectField } from './components/SelectField';
|
|
164
164
|
export * from './components/SelectField';
|
165
165
|
export { default as Separator } from './components/Separator';
|
166
166
|
export * from './components/Separator';
|
167
|
+
export { default as Skeleton } from './components/Skeleton';
|
168
|
+
export * from './components/Skeleton';
|
167
169
|
export { Step, default as Stepper } from './components/Stepper';
|
168
170
|
export * from './components/Stepper';
|
169
171
|
export { default as Switch } from './components/Switch';
|