@pingux/astro 2.110.1-alpha.0 → 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 (49) hide show
  1. package/lib/cjs/components/CodeView/CodeView.js +11 -1
  2. package/lib/cjs/components/CodeView/CodeView.stories.d.ts +1 -1
  3. package/lib/cjs/components/CodeView/CodeView.stories.js +25 -3
  4. package/lib/cjs/components/CodeView/CodeView.test.js +60 -2
  5. package/lib/cjs/components/Skeleton/Skeleton.d.ts +4 -0
  6. package/lib/cjs/components/Skeleton/Skeleton.js +125 -0
  7. package/lib/cjs/components/Skeleton/Skeleton.mdx +13 -0
  8. package/lib/cjs/components/Skeleton/Skeleton.stories.d.ts +7 -0
  9. package/lib/cjs/components/Skeleton/Skeleton.stories.js +85 -0
  10. package/lib/cjs/components/Skeleton/Skeleton.styles.d.ts +108 -0
  11. package/lib/cjs/components/Skeleton/Skeleton.styles.js +70 -0
  12. package/lib/cjs/components/Skeleton/Skeleton.test.d.ts +1 -0
  13. package/lib/cjs/components/Skeleton/Skeleton.test.js +130 -0
  14. package/lib/cjs/components/Skeleton/index.d.ts +1 -0
  15. package/lib/cjs/components/Skeleton/index.js +14 -0
  16. package/lib/cjs/index.d.ts +2 -0
  17. package/lib/cjs/index.js +39 -20
  18. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.d.ts +15 -0
  19. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +32 -0
  20. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +14 -0
  21. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
  22. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +1 -1
  23. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +107 -0
  24. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +107 -0
  25. package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -1
  26. package/lib/cjs/styles/variants/variants.js +2 -0
  27. package/lib/cjs/types/codeView.d.ts +7 -2
  28. package/lib/cjs/types/index.d.ts +1 -0
  29. package/lib/cjs/types/index.js +20 -9
  30. package/lib/cjs/types/skeleton.d.ts +6 -0
  31. package/lib/cjs/types/skeleton.js +6 -0
  32. package/lib/components/CodeView/CodeView.js +13 -2
  33. package/lib/components/CodeView/CodeView.stories.js +23 -2
  34. package/lib/components/CodeView/CodeView.test.js +61 -3
  35. package/lib/components/Skeleton/Skeleton.js +113 -0
  36. package/lib/components/Skeleton/Skeleton.mdx +13 -0
  37. package/lib/components/Skeleton/Skeleton.stories.js +74 -0
  38. package/lib/components/Skeleton/Skeleton.styles.js +63 -0
  39. package/lib/components/Skeleton/Skeleton.test.js +127 -0
  40. package/lib/components/Skeleton/index.js +1 -0
  41. package/lib/index.js +2 -0
  42. package/lib/styles/themeOverrides/nextGenDarkMode/variants/skeleton.js +24 -0
  43. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +3 -1
  44. package/lib/styles/themes/next-gen/convertedComponentList.js +1 -1
  45. package/lib/styles/themes/next-gen/variants/variants.js +3 -1
  46. package/lib/styles/variants/variants.js +2 -0
  47. package/lib/types/index.js +1 -0
  48. package/lib/types/skeleton.js +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,113 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
12
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
13
+ var _excluded = ["children", "className", "variant", "fontSize", "sx", "animation"];
14
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
15
+ 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; }
16
+ 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) { _defineProperty(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; }
17
+ import React, { forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
18
+ import { useResizeObserver } from '@react-aria/utils';
19
+ import { useLocalOrForwardRef, useStatusClasses } from '../../hooks';
20
+ import Box from '../Box/Box';
21
+ import { jsx as ___EmotionJSX } from "@emotion/react";
22
+ var Skeleton = /*#__PURE__*/forwardRef(function (props, ref) {
23
+ var children = props.children,
24
+ className = props.className,
25
+ variant = props.variant,
26
+ fontSize = props.fontSize,
27
+ sx = props.sx,
28
+ animation = props.animation,
29
+ others = _objectWithoutProperties(props, _excluded);
30
+ var skeletonRef = useLocalOrForwardRef(ref);
31
+ var childrenRef = useRef(null);
32
+ var _useState = useState({
33
+ width: 0,
34
+ height: 0
35
+ }),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ dimensions = _useState2[0],
38
+ setDimensions = _useState2[1];
39
+ var hasChildren = React.Children.count(children) > 0;
40
+ var onResize = useCallback(function () {
41
+ if (childrenRef.current) {
42
+ var _childrenRef$current = childrenRef.current,
43
+ offsetWidth = _childrenRef$current.offsetWidth,
44
+ offsetHeight = _childrenRef$current.offsetHeight;
45
+ if (offsetWidth > 0 && offsetHeight > 0) {
46
+ setDimensions({
47
+ width: offsetWidth,
48
+ height: offsetHeight
49
+ });
50
+ }
51
+ }
52
+ }, []);
53
+ useResizeObserver({
54
+ ref: childrenRef,
55
+ onResize: onResize
56
+ });
57
+ useLayoutEffect(onResize, [onResize]);
58
+ useEffect(function () {
59
+ if (childrenRef.current) {
60
+ var _childrenRef$current2 = childrenRef.current,
61
+ offsetWidth = _childrenRef$current2.offsetWidth,
62
+ offsetHeight = _childrenRef$current2.offsetHeight;
63
+ setDimensions({
64
+ width: offsetWidth,
65
+ height: offsetHeight
66
+ });
67
+ }
68
+ }, []);
69
+ var _useStatusClasses = useStatusClasses(className, {
70
+ isPulsate: animation === 'pulsate'
71
+ }),
72
+ classNames = _useStatusClasses.classNames;
73
+ var inferrerDimensions = hasChildren ? {
74
+ width: dimensions.width > 0 ? "".concat(dimensions.width, "px") : 'auto',
75
+ height: dimensions.height > 0 ? "".concat(dimensions.height, "px") : 'auto'
76
+ } : {};
77
+ var styleObj = _objectSpread(_objectSpread({}, sx), {}, {
78
+ height: variant === 'text' && fontSize ? fontSize : undefined
79
+ }, inferrerDimensions);
80
+ var renderedChildren = function renderedChildren() {
81
+ if (hasChildren) {
82
+ var _context;
83
+ var childProps = {
84
+ ref: childrenRef,
85
+ style: {
86
+ visibility: 'hidden'
87
+ }
88
+ };
89
+ var childWithRefProp = function childWithRefProp(child) {
90
+ return /*#__PURE__*/React.cloneElement(child, childProps);
91
+ };
92
+ return _mapInstanceProperty(_context = React.Children).call(_context, children, function (child) {
93
+ if ( /*#__PURE__*/React.isValidElement(child)) {
94
+ return childWithRefProp(child);
95
+ }
96
+ return child;
97
+ });
98
+ }
99
+ return undefined;
100
+ };
101
+ return ___EmotionJSX(Box, _extends({
102
+ ref: skeletonRef,
103
+ className: classNames,
104
+ variant: variant && "skeleton.".concat(variant),
105
+ sx: styleObj
106
+ }, others), renderedChildren());
107
+ });
108
+ Skeleton.defaultProps = {
109
+ variant: 'text',
110
+ animation: 'pulsate'
111
+ };
112
+ Skeleton.displayName = 'Skeleton';
113
+ export default Skeleton;
@@ -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,74 @@
1
+ import _objectDestructuringEmpty from "@babel/runtime-corejs3/helpers/esm/objectDestructuringEmpty";
2
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
+ import React from 'react';
4
+ import { withDesign } from 'storybook-addon-designs';
5
+ import DocsLayout from '../../../.storybook/storybookDocsLayout';
6
+ import { Avatar, Box, Skeleton, Text } from '../../index';
7
+ import { pingImg } from '../../utils/devUtils/constants/images';
8
+ import SkeletonReadme from './Skeleton.mdx';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ export default {
11
+ title: 'Components/Skeleton',
12
+ component: Skeleton,
13
+ decorators: [withDesign],
14
+ parameters: {
15
+ docs: {
16
+ page: function page() {
17
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(SkeletonReadme, null), ___EmotionJSX(DocsLayout, null));
18
+ }
19
+ }
20
+ },
21
+ argTypes: {
22
+ variant: {
23
+ control: {
24
+ type: 'none'
25
+ }
26
+ }
27
+ }
28
+ };
29
+ export var Default = function Default(_ref) {
30
+ var args = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
31
+ return ___EmotionJSX(Box, {
32
+ width: "200px"
33
+ }, ___EmotionJSX(Skeleton, _extends({
34
+ variant: "text",
35
+ fontSize: "1rem"
36
+ }, args)), ___EmotionJSX(Skeleton, _extends({
37
+ variant: "circular",
38
+ width: "40px",
39
+ height: "40px",
40
+ mt: "sm"
41
+ }, args)), ___EmotionJSX(Skeleton, _extends({
42
+ variant: "rounded",
43
+ height: "60px",
44
+ width: "200px",
45
+ mt: "sm"
46
+ }, args)));
47
+ };
48
+ export var inferringDimensions = function inferringDimensions() {
49
+ var isLoaded = true;
50
+ return ___EmotionJSX(Box, {
51
+ width: "200px"
52
+ }, ___EmotionJSX(Box, {
53
+ mb: "sm",
54
+ isRow: true,
55
+ alignItems: "center",
56
+ gap: "md"
57
+ }, isLoaded && ___EmotionJSX(Skeleton, {
58
+ variant: "circular"
59
+ }, ___EmotionJSX(Avatar, {
60
+ src: pingImg
61
+ })), ___EmotionJSX(Box, {
62
+ flex: "1 1 0"
63
+ }, ___EmotionJSX(Skeleton, {
64
+ variant: "text"
65
+ }, isLoaded && ___EmotionJSX(Text, {
66
+ variant: "h1"
67
+ }, ".")))), ___EmotionJSX(Box, {
68
+ mb: "sm"
69
+ }, ___EmotionJSX(Skeleton, {
70
+ variant: "rounded"
71
+ }, isLoaded && ___EmotionJSX(Box, {
72
+ height: 100
73
+ }))));
74
+ };
@@ -0,0 +1,63 @@
1
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+ import _taggedTemplateLiteral from "@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral";
3
+ var _templateObject, _templateObject2, _context, _context2;
4
+ 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; }
5
+ 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) { _defineProperty(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; }
6
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
7
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
8
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
9
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
10
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
11
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
12
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
13
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
14
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
15
+ import { keyframes } from '@emotion/react';
16
+ import colors from '../../styles/themes/next-gen/colors/colors';
17
+
18
+ // Animation keyframes
19
+ var pulsate = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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"])));
20
+ var wave = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\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"])));
21
+ var animationSettings = '2s linear 0.5s infinite';
22
+ var base = {
23
+ backgroundColor: colors['gray-200'],
24
+ position: 'relative',
25
+ overflow: 'hidden',
26
+ '&.is-pulsate': {
27
+ animation: _concatInstanceProperty(_context = "".concat(pulsate, " ")).call(_context, animationSettings)
28
+ },
29
+ '&.is-wave': {
30
+ webkitMaskImage: '-webkit-radial-gradient(white, black)',
31
+ '&:after': {
32
+ content: "''",
33
+ background: 'linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.04), transparent)',
34
+ position: 'absolute',
35
+ webkitTransform: 'translateX(-100%)',
36
+ mozTransform: 'translateX(-100%)',
37
+ msTransform: 'translateX(-100%)',
38
+ transform: 'translateX(-100%)',
39
+ bottom: '0',
40
+ left: '0',
41
+ right: '0',
42
+ top: '0',
43
+ animation: _concatInstanceProperty(_context2 = "".concat(wave, " ")).call(_context2, animationSettings)
44
+ }
45
+ }
46
+ };
47
+ var text = _objectSpread(_objectSpread({}, base), {}, {
48
+ height: '1.2rem',
49
+ transform: 'scale(1, 0.60)',
50
+ borderRadius: '4px/6.7px'
51
+ });
52
+ var circular = _objectSpread(_objectSpread({}, base), {}, {
53
+ borderRadius: '50%'
54
+ });
55
+ var rounded = _objectSpread(_objectSpread({}, base), {}, {
56
+ borderRadius: '4px'
57
+ });
58
+ export default {
59
+ base: base,
60
+ text: text,
61
+ circular: circular,
62
+ rounded: rounded
63
+ };
@@ -0,0 +1,127 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
3
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
4
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
5
+ import React from 'react';
6
+ import { render, screen } from '../../utils/testUtils/testWrapper';
7
+ import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
8
+ import Box from '../Box';
9
+ import Skeleton from '.';
10
+ import { jsx as ___EmotionJSX } from "@emotion/react";
11
+ var offsetHeight;
12
+ var offsetWidth;
13
+ var testId = 'test-skeleton';
14
+ var defaultProps = {
15
+ 'data-testid': testId
16
+ };
17
+ var getComponent = function getComponent() {
18
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ return render(___EmotionJSX(Skeleton, _extends({}, defaultProps, props)));
20
+ };
21
+ var getComponentWithChild = function getComponentWithChild() {
22
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
+ return render(___EmotionJSX(Skeleton, _extends({}, defaultProps, props), ___EmotionJSX(Box, {
24
+ height: 100,
25
+ width: 200
26
+ }, ".")));
27
+ };
28
+
29
+ // Needs to be added to each components test file
30
+ universalComponentTests({
31
+ renderComponent: function renderComponent(props) {
32
+ return ___EmotionJSX(Skeleton, _extends({}, defaultProps, props));
33
+ }
34
+ });
35
+ describe('Skeleton component', function () {
36
+ beforeAll(function () {
37
+ offsetWidth = jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
38
+ return 1000;
39
+ });
40
+ offsetHeight = jest.spyOn(window.HTMLElement.prototype, 'clientHeight', 'get').mockImplementation(function () {
41
+ return 1000;
42
+ });
43
+ jest.useFakeTimers();
44
+ });
45
+ afterAll(function () {
46
+ offsetWidth.mockReset();
47
+ offsetHeight.mockReset();
48
+ });
49
+ test('renders Skeleton component', function () {
50
+ getComponent({
51
+ role: 'presentation'
52
+ });
53
+ var skeleton = screen.getByTestId(testId);
54
+ expect(skeleton).toBeInstanceOf(HTMLDivElement);
55
+ expect(skeleton).toBeInTheDocument();
56
+ expect(skeleton).toHaveAttribute('role', 'presentation');
57
+ });
58
+ test('applies custom className if provided', function () {
59
+ getComponent({
60
+ className: 'custom-class'
61
+ });
62
+ var skeleton = screen.getByTestId(testId);
63
+ expect(skeleton).toHaveClass('custom-class');
64
+ });
65
+ test('applies default animation', function () {
66
+ getComponent();
67
+ var skeleton = screen.getByTestId(testId);
68
+ expect(skeleton).toHaveClass('is-pulsate');
69
+ });
70
+ test('when variant is passed', function () {
71
+ getComponent({
72
+ width: '40px',
73
+ height: '40px',
74
+ variant: 'circular'
75
+ });
76
+ var skeleton = screen.getByTestId(testId);
77
+ expect(skeleton).toHaveStyle('border-radius: 50%');
78
+ });
79
+ test('when style object is passed', function () {
80
+ getComponent({
81
+ width: '40px',
82
+ height: '40px',
83
+ variant: 'circular',
84
+ sx: {
85
+ bg: 'red'
86
+ }
87
+ });
88
+ var skeleton = screen.getByTestId(testId);
89
+ expect(skeleton).toHaveStyle('background: red');
90
+ });
91
+ test('when fontSize is passed', function () {
92
+ getComponent({
93
+ variant: 'text',
94
+ fontSize: '16px'
95
+ });
96
+ var skeleton = screen.getByTestId(testId);
97
+ expect(skeleton).toHaveStyle('height: 16px');
98
+ });
99
+ test('check the inferrer dimensions', function () {
100
+ var originalOffsetHeight = _Object$getOwnPropertyDescriptor(window.HTMLDivElement.prototype, 'offsetHeight');
101
+ var originalOffsetWidth = _Object$getOwnPropertyDescriptor(window.HTMLDivElement.prototype, 'offsetWidth');
102
+ _Object$defineProperties(window.HTMLDivElement.prototype, {
103
+ offsetHeight: {
104
+ get: function get() {
105
+ return this.tagName === 'DIV' ? 100 : 500;
106
+ }
107
+ },
108
+ offsetWidth: {
109
+ get: function get() {
110
+ return this.tagName === 'DIV' ? 200 : 500;
111
+ }
112
+ }
113
+ });
114
+ getComponentWithChild({
115
+ variant: 'rounded'
116
+ });
117
+ var skeleton = screen.getByTestId(testId);
118
+ expect(skeleton).toHaveStyle('height: 100px');
119
+ expect(skeleton).toHaveStyle('width: 200px');
120
+ if (originalOffsetHeight) {
121
+ _Object$defineProperty(window.HTMLDivElement.prototype, 'offsetHeight', originalOffsetHeight);
122
+ }
123
+ if (originalOffsetWidth) {
124
+ _Object$defineProperty(window.HTMLDivElement.prototype, 'offsetWidth', originalOffsetWidth);
125
+ }
126
+ });
127
+ });
@@ -0,0 +1 @@
1
+ export { default } from './Skeleton';
package/lib/index.js CHANGED
@@ -168,6 +168,8 @@ export { default as SelectField } from './components/SelectField';
168
168
  export * from './components/SelectField';
169
169
  export { default as Separator } from './components/Separator';
170
170
  export * from './components/Separator';
171
+ export { default as Skeleton } from './components/Skeleton';
172
+ export * from './components/Skeleton';
171
173
  export { Step, default as Stepper } from './components/Stepper';
172
174
  export * from './components/Stepper';
173
175
  export { default as Switch } from './components/Switch';
@@ -0,0 +1,24 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
+ 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; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ var base = {
13
+ backgroundColor: '#ffffff22'
14
+ };
15
+ var text = _objectSpread({}, base);
16
+ var circular = _objectSpread({}, base);
17
+ var rounded = _objectSpread({}, base);
18
+ var skeleton = {
19
+ base: base,
20
+ text: text,
21
+ circular: circular,
22
+ rounded: rounded
23
+ };
24
+ export default skeleton;
@@ -4,6 +4,7 @@ import { listView, listViewItem } from './lsitview';
4
4
  import { menu, menuItem } from './menu';
5
5
  import { message } from './message';
6
6
  import { navBar } from './navbar';
7
+ import skeleton from './skeleton';
7
8
  var listBox = {
8
9
  container: {
9
10
  backgroundColor: 'background.base',
@@ -58,5 +59,6 @@ export default {
58
59
  listBox: listBox,
59
60
  modal: modal,
60
61
  tab: tab,
61
- iconBadge: iconBadge
62
+ iconBadge: iconBadge,
63
+ skeleton: skeleton
62
64
  };
@@ -1,4 +1,4 @@
1
- var nextGenConvertedComponents = ['DataTable', 'Message', 'Button', 'Badge', 'IconButton', 'CheckboxField', 'Messages', 'PopoverMenu', 'TextField', 'PasswordField', 'SearchField', 'SelectField', 'Modal', 'RadioField', 'MultiValuesField', 'TextAreaField', 'RadioGroupField', 'Tabs', 'ProgressBar', 'NavBar', 'OverlayPanel', 'AstroProvider', 'ListView', 'NavigationHeader', 'Avatar', 'MultivaluesField', 'Text', 'Link', 'Card', 'IconWrapper', 'ComboBoxField', 'CodeView', 'Sticker Sheet', 'NextGen ListViewItem'];
1
+ var nextGenConvertedComponents = ['DataTable', 'Message', 'Button', 'Badge', 'IconButton', 'CheckboxField', 'Messages', 'PopoverMenu', 'TextField', 'PasswordField', 'SearchField', 'SelectField', 'Modal', 'RadioField', 'MultiValuesField', 'TextAreaField', 'RadioGroupField', 'Tabs', 'ProgressBar', 'NavBar', 'OverlayPanel', 'AstroProvider', 'ListView', 'NavigationHeader', 'Avatar', 'MultivaluesField', 'Text', 'Link', 'Card', 'IconWrapper', 'ComboBoxField', 'CodeView', 'Sticker Sheet', 'NextGen ListViewItem', 'Skeleton'];
2
2
  export var componentSpecificNextGenBlacklist = {
3
3
  AstroProvider: ['Default', 'With Custom Theme Override'],
4
4
  Badge: ['Status Badge Variants', 'Badge With Left Slot And Icon', 'Callout Badges', 'Removable'],
@@ -10,6 +10,7 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
10
  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; }
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
  import attachment from '../../../../components/AIComponents/Attachment/Attachment.styles';
13
+ import skeleton from '../../../../components/Skeleton/Skeleton.styles';
13
14
  import codeView from '../codeView/codeView';
14
15
  import { avatar } from './avatar';
15
16
  import button from './button';
@@ -325,5 +326,6 @@ export default {
325
326
  overlayPanel: overlayPanel,
326
327
  suggestions: suggestions,
327
328
  suggestion: suggestion,
328
- response: response
329
+ response: response,
330
+ skeleton: skeleton
329
331
  };
@@ -45,6 +45,7 @@ import rangeCalendar from '../../components/RangeCalendar/RangeCalendar.styles';
45
45
  import rockerButton from '../../components/RockerButton/RockerButton.styles';
46
46
  import scrollBox from '../../components/ScrollBox/ScrollBox.styles';
47
47
  import separator from '../../components/Separator/Separator.styles';
48
+ import skeleton from '../../components/Skeleton/Skeleton.styles';
48
49
  import stepper from '../../components/Stepper/Stepper.styles';
49
50
  import table from '../../components/Table/Table.styles';
50
51
  import * as tab from '../../components/Tabs/Tabs.style';
@@ -90,6 +91,7 @@ export default _objectSpread({
90
91
  scrollBox: scrollBox,
91
92
  separator: separator,
92
93
  stepper: stepper,
94
+ skeleton: skeleton,
93
95
  table: table,
94
96
  timefield: timefield,
95
97
  timeZone: timeZone,
@@ -47,6 +47,7 @@ export * from './scrollBox';
47
47
  export * from './searchField';
48
48
  export * from './separator';
49
49
  export * from './shared';
50
+ export * from './skeleton';
50
51
  export * from './switchField';
51
52
  export * from './tab';
52
53
  export * from './table';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.110.1-alpha.0",
3
+ "version": "2.111.0-alpha.0",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",