@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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57;
3
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57, _context58;
4
4
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
5
5
  var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
6
6
  var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
@@ -546,8 +546,19 @@ _forEachInstanceProperty(_context49 = _Object$keys(_shared)).call(_context49, fu
546
546
  }
547
547
  });
548
548
  });
549
+ var _skeleton = require("./skeleton");
550
+ _forEachInstanceProperty(_context50 = _Object$keys(_skeleton)).call(_context50, function (key) {
551
+ if (key === "default" || key === "__esModule") return;
552
+ if (key in exports && exports[key] === _skeleton[key]) return;
553
+ _Object$defineProperty(exports, key, {
554
+ enumerable: true,
555
+ get: function get() {
556
+ return _skeleton[key];
557
+ }
558
+ });
559
+ });
549
560
  var _switchField = require("./switchField");
550
- _forEachInstanceProperty(_context50 = _Object$keys(_switchField)).call(_context50, function (key) {
561
+ _forEachInstanceProperty(_context51 = _Object$keys(_switchField)).call(_context51, function (key) {
551
562
  if (key === "default" || key === "__esModule") return;
552
563
  if (key in exports && exports[key] === _switchField[key]) return;
553
564
  _Object$defineProperty(exports, key, {
@@ -558,7 +569,7 @@ _forEachInstanceProperty(_context50 = _Object$keys(_switchField)).call(_context5
558
569
  });
559
570
  });
560
571
  var _tab = require("./tab");
561
- _forEachInstanceProperty(_context51 = _Object$keys(_tab)).call(_context51, function (key) {
572
+ _forEachInstanceProperty(_context52 = _Object$keys(_tab)).call(_context52, function (key) {
562
573
  if (key === "default" || key === "__esModule") return;
563
574
  if (key in exports && exports[key] === _tab[key]) return;
564
575
  _Object$defineProperty(exports, key, {
@@ -569,7 +580,7 @@ _forEachInstanceProperty(_context51 = _Object$keys(_tab)).call(_context51, funct
569
580
  });
570
581
  });
571
582
  var _table = require("./table");
572
- _forEachInstanceProperty(_context52 = _Object$keys(_table)).call(_context52, function (key) {
583
+ _forEachInstanceProperty(_context53 = _Object$keys(_table)).call(_context53, function (key) {
573
584
  if (key === "default" || key === "__esModule") return;
574
585
  if (key in exports && exports[key] === _table[key]) return;
575
586
  _Object$defineProperty(exports, key, {
@@ -580,7 +591,7 @@ _forEachInstanceProperty(_context52 = _Object$keys(_table)).call(_context52, fun
580
591
  });
581
592
  });
582
593
  var _tabs = require("./tabs");
583
- _forEachInstanceProperty(_context53 = _Object$keys(_tabs)).call(_context53, function (key) {
594
+ _forEachInstanceProperty(_context54 = _Object$keys(_tabs)).call(_context54, function (key) {
584
595
  if (key === "default" || key === "__esModule") return;
585
596
  if (key in exports && exports[key] === _tabs[key]) return;
586
597
  _Object$defineProperty(exports, key, {
@@ -591,7 +602,7 @@ _forEachInstanceProperty(_context53 = _Object$keys(_tabs)).call(_context53, func
591
602
  });
592
603
  });
593
604
  var _text = require("./text");
594
- _forEachInstanceProperty(_context54 = _Object$keys(_text)).call(_context54, function (key) {
605
+ _forEachInstanceProperty(_context55 = _Object$keys(_text)).call(_context55, function (key) {
595
606
  if (key === "default" || key === "__esModule") return;
596
607
  if (key in exports && exports[key] === _text[key]) return;
597
608
  _Object$defineProperty(exports, key, {
@@ -602,7 +613,7 @@ _forEachInstanceProperty(_context54 = _Object$keys(_text)).call(_context54, func
602
613
  });
603
614
  });
604
615
  var _textField = require("./textField");
605
- _forEachInstanceProperty(_context55 = _Object$keys(_textField)).call(_context55, function (key) {
616
+ _forEachInstanceProperty(_context56 = _Object$keys(_textField)).call(_context56, function (key) {
606
617
  if (key === "default" || key === "__esModule") return;
607
618
  if (key in exports && exports[key] === _textField[key]) return;
608
619
  _Object$defineProperty(exports, key, {
@@ -613,7 +624,7 @@ _forEachInstanceProperty(_context55 = _Object$keys(_textField)).call(_context55,
613
624
  });
614
625
  });
615
626
  var _timefield = require("./timefield");
616
- _forEachInstanceProperty(_context56 = _Object$keys(_timefield)).call(_context56, function (key) {
627
+ _forEachInstanceProperty(_context57 = _Object$keys(_timefield)).call(_context57, function (key) {
617
628
  if (key === "default" || key === "__esModule") return;
618
629
  if (key in exports && exports[key] === _timefield[key]) return;
619
630
  _Object$defineProperty(exports, key, {
@@ -624,7 +635,7 @@ _forEachInstanceProperty(_context56 = _Object$keys(_timefield)).call(_context56,
624
635
  });
625
636
  });
626
637
  var _tooltipTrigger = require("./tooltipTrigger");
627
- _forEachInstanceProperty(_context57 = _Object$keys(_tooltipTrigger)).call(_context57, function (key) {
638
+ _forEachInstanceProperty(_context58 = _Object$keys(_tooltipTrigger)).call(_context58, function (key) {
628
639
  if (key === "default" || key === "__esModule") return;
629
640
  if (key in exports && exports[key] === _tooltipTrigger[key]) return;
630
641
  _Object$defineProperty(exports, key, {
@@ -0,0 +1,6 @@
1
+ import { TestingAttributes } from './shared/test';
2
+ import { BoxProps } from './box';
3
+ export interface SkeletonProps extends BoxProps, TestingAttributes {
4
+ animation?: 'pulsate';
5
+ variant?: 'text' | 'circular' | 'rounded';
6
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -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.1",
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",