@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.
Files changed (41) hide show
  1. package/lib/cjs/components/Skeleton/Skeleton.d.ts +4 -0
  2. package/lib/cjs/components/Skeleton/Skeleton.js +125 -0
  3. package/lib/cjs/components/Skeleton/Skeleton.mdx +13 -0
  4. package/lib/cjs/components/Skeleton/Skeleton.stories.d.ts +7 -0
  5. package/lib/cjs/components/Skeleton/Skeleton.stories.js +85 -0
  6. package/lib/cjs/components/Skeleton/Skeleton.styles.d.ts +108 -0
  7. package/lib/cjs/components/Skeleton/Skeleton.styles.js +70 -0
  8. package/lib/cjs/components/Skeleton/Skeleton.test.d.ts +1 -0
  9. package/lib/cjs/components/Skeleton/Skeleton.test.js +130 -0
  10. package/lib/cjs/components/Skeleton/index.d.ts +1 -0
  11. package/lib/cjs/components/Skeleton/index.js +14 -0
  12. package/lib/cjs/index.d.ts +2 -0
  13. package/lib/cjs/index.js +39 -20
  14. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.d.ts +15 -0
  15. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +32 -0
  16. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +14 -0
  17. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
  18. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +1 -1
  19. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +107 -0
  20. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +107 -0
  21. package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -1
  22. package/lib/cjs/styles/variants/variants.js +2 -0
  23. package/lib/cjs/types/index.d.ts +1 -0
  24. package/lib/cjs/types/index.js +20 -9
  25. package/lib/cjs/types/skeleton.d.ts +6 -0
  26. package/lib/cjs/types/skeleton.js +6 -0
  27. package/lib/components/Skeleton/Skeleton.js +113 -0
  28. package/lib/components/Skeleton/Skeleton.mdx +13 -0
  29. package/lib/components/Skeleton/Skeleton.stories.js +74 -0
  30. package/lib/components/Skeleton/Skeleton.styles.js +63 -0
  31. package/lib/components/Skeleton/Skeleton.test.js +127 -0
  32. package/lib/components/Skeleton/index.js +1 -0
  33. package/lib/index.js +2 -0
  34. package/lib/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +24 -0
  35. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
  36. package/lib/styles/themes/next-gen/convertedComponentList.js +1 -1
  37. package/lib/styles/themes/next-gen/variants/variants.js +3 -1
  38. package/lib/styles/variants/variants.js +2 -0
  39. package/lib/types/index.js +1 -0
  40. package/lib/types/skeleton.js +1 -0
  41. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SkeletonProps } from '../../types';
3
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
4
+ export default Skeleton;
@@ -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"));
@@ -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';