@pingux/astro 1.8.0-alpha.0 → 1.8.0-alpha.3

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.
@@ -20,17 +20,22 @@ var _testWrapper = require("../../utils/testUtils/testWrapper");
20
20
 
21
21
  var _ImageUploadField = _interopRequireDefault(require("./ImageUploadField"));
22
22
 
23
- var _index = require("../../index");
24
-
25
23
  var _react3 = require("@emotion/react");
26
24
 
25
+ var imageUploadNoImagePreview = 'image-upload-no-image-preview';
26
+ jest.mock('../Image', function () {
27
+ return function (props) {
28
+ return (0, _react3.jsx)("img", (0, _extends2["default"])({
29
+ alt: "mock"
30
+ }, props));
31
+ };
32
+ });
27
33
  var testLabel = 'test-label';
28
34
  var testButtonId = 'image-preview-button';
29
35
  var testHelperText = 'test-helper-text';
30
36
  var testImageURL = 'test-image-url';
31
37
  var testImageURL2 = 'test-image-url2';
32
38
  var imageUploadImagePreview = 'image-upload-image-preview';
33
- var imageUploadNoImagePreview = 'image-upload-no-image-preview';
34
39
  var file = new File(['(⌐□_□)'], 'chucknorris.png', {
35
40
  type: 'image/png'
36
41
  });
@@ -224,10 +229,16 @@ test('should change image if the corresponding menu option clicked', /*#__PURE__
224
229
  }
225
230
  });
226
231
 
227
- expect(imagePreview).toBeInTheDocument();
232
+ _context4.t0 = expect;
233
+ _context4.next = 14;
234
+ return _testWrapper.screen.findByTestId(imageUploadImagePreview);
235
+
236
+ case 14:
237
+ _context4.t1 = _context4.sent;
238
+ (0, _context4.t0)(_context4.t1).toBeInTheDocument();
228
239
  expect(imagePreview).toHaveAttribute('src');
229
240
 
230
- case 13:
241
+ case 17:
231
242
  case "end":
232
243
  return _context4.stop();
233
244
  }
@@ -273,14 +284,20 @@ test('should call onRemove cb (when provided) when a file is uploaded', /*#__PUR
273
284
 
274
285
  _userEvent["default"].click(_testWrapper.screen.getByTestId(testButtonId));
275
286
 
276
- expect(imagePreview).toBeInTheDocument();
287
+ _context5.t0 = expect;
288
+ _context5.next = 10;
289
+ return _testWrapper.screen.findByTestId(imageUploadImagePreview);
290
+
291
+ case 10:
292
+ _context5.t1 = _context5.sent;
293
+ (0, _context5.t0)(_context5.t1).toBeInTheDocument();
277
294
 
278
295
  _userEvent["default"].click(_testWrapper.screen.getByText('Remove Image'));
279
296
 
280
297
  expect(imagePreview).not.toBeInTheDocument();
281
298
  expect(testOnRemove).toHaveBeenCalledTimes(1);
282
299
 
283
- case 11:
300
+ case 15:
284
301
  case "end":
285
302
  return _context5.stop();
286
303
  }
@@ -429,7 +446,9 @@ test('should show the menu if label clicked when preview image exists', /*#__PUR
429
446
  })));
430
447
  test('should render node element if passed as default image', function () {
431
448
  getComponent({
432
- defaultPreviewImage: (0, _react3.jsx)(_index.Image, null)
449
+ defaultPreviewImage: (0, _react3.jsx)("img", {
450
+ alt: "mock"
451
+ })
433
452
  });
434
453
 
435
454
  var img = _testWrapper.screen.getByRole('img');
@@ -36,6 +36,13 @@ _Object$defineProperty(exports, "useDeprecationWarning", {
36
36
  }
37
37
  });
38
38
 
39
+ _Object$defineProperty(exports, "useFallbackImage", {
40
+ enumerable: true,
41
+ get: function get() {
42
+ return _useFallbackImage["default"];
43
+ }
44
+ });
45
+
39
46
  _Object$defineProperty(exports, "useField", {
40
47
  enumerable: true,
41
48
  get: function get() {
@@ -123,4 +130,6 @@ var _useSelectField = _interopRequireDefault(require("./useSelectField"));
123
130
 
124
131
  var _useStatusClasses = _interopRequireDefault(require("./useStatusClasses"));
125
132
 
126
- var _useDebounce = _interopRequireDefault(require("./useDebounce"));
133
+ var _useDebounce = _interopRequireDefault(require("./useDebounce"));
134
+
135
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ _Object$defineProperty(exports, "default", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _useFallbackImage["default"];
15
+ }
16
+ });
17
+
18
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
14
+
15
+ var _react = require("react");
16
+
17
+ var useFallbackImage = function useFallbackImage(_ref) {
18
+ var imageSrc = _ref.src,
19
+ onImageLoad = _ref.onImageLoad,
20
+ onImageError = _ref.onImageError,
21
+ fallbackTimeout = _ref.fallbackTimeout,
22
+ onFallbackTimeout = _ref.onFallbackTimeout;
23
+ var displayImage = (0, _react.useMemo)(function () {
24
+ return document.createElement('img');
25
+ }, []);
26
+ (0, _react.useEffect)(function () {
27
+ displayImage.src = imageSrc;
28
+ displayImage.onload = onImageLoad;
29
+ displayImage.onerror = onImageError;
30
+ return function () {
31
+ displayImage.onload = null;
32
+ displayImage.onerror = null;
33
+ };
34
+ }, []);
35
+ (0, _react.useEffect)(function () {
36
+ var timeoutId = 0;
37
+ timeoutId = (0, _setTimeout2["default"])(onFallbackTimeout, fallbackTimeout);
38
+ return function () {
39
+ return clearTimeout(timeoutId);
40
+ };
41
+ }, []);
42
+ return displayImage;
43
+ };
44
+
45
+ var _default = useFallbackImage;
46
+ exports["default"] = _default;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
8
+
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+
11
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
12
+
13
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
14
+
15
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
16
+
17
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
18
+
19
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
20
+
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+
23
+ var _reactHooks = require("@testing-library/react-hooks");
24
+
25
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
26
+
27
+ 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; }
28
+
29
+ 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) { (0, _defineProperty2["default"])(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; }
30
+
31
+ var defaultProps = {
32
+ src: 'test-src',
33
+ fallbackImage: 'test-fallback-src',
34
+ onImageLoad: jest.fn(),
35
+ onImageError: jest.fn(),
36
+ fallbackTimeout: 5,
37
+ onFallbackTimeout: jest.fn()
38
+ };
39
+ test('should return node if all props are correct ', function () {
40
+ var _renderHook = (0, _reactHooks.renderHook)(function () {
41
+ return (0, _useFallbackImage["default"])(defaultProps);
42
+ }),
43
+ current = _renderHook.result.current;
44
+
45
+ expect(current).toBeInstanceOf(HTMLImageElement);
46
+ });
47
+ test('should not trigger onImageLoad if no fallback passed', function () {
48
+ (0, _reactHooks.renderHook)(function () {
49
+ return (0, _useFallbackImage["default"])(_objectSpread(_objectSpread({}, defaultProps), {}, {
50
+ fallbackImage: null
51
+ }));
52
+ });
53
+ expect(defaultProps.onImageLoad).not.toHaveBeenCalled();
54
+ });
55
+ test('should not trigger onImageLoad if component unmounted', function () {
56
+ var _renderHook2 = (0, _reactHooks.renderHook)(function () {
57
+ return (0, _useFallbackImage["default"])(_objectSpread(_objectSpread({}, defaultProps), {}, {
58
+ fallbackImage: null
59
+ }));
60
+ }),
61
+ unmount = _renderHook2.unmount;
62
+
63
+ unmount();
64
+ expect(defaultProps.onImageLoad).not.toHaveBeenCalled();
65
+ });
@@ -223,7 +223,7 @@ var close = _objectSpread(_objectSpread({}, iconButton), {}, {
223
223
 
224
224
  var accordionHeader = _objectSpread(_objectSpread({}, base), {}, {
225
225
  display: 'inline-flex',
226
- bg: 'white',
226
+ bg: 'transparent',
227
227
  color: 'neutral.10',
228
228
  paddingLeft: '5px',
229
229
  paddingRight: '5px',
@@ -11,7 +11,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
11
11
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
12
12
  import _trimInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/trim";
13
13
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
14
- var _excluded = ["children", "className", "hasLineNumbers", "hasNoCopyButton", "language"];
14
+ var _excluded = ["children", "className", "hasLineNumbers", "hasNoCopyButton", "language", "Prism"];
15
15
 
16
16
  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; }
17
17
 
@@ -22,7 +22,7 @@ import PropTypes from 'prop-types';
22
22
  import { useFocusRing } from '@react-aria/focus';
23
23
  import { useHover } from '@react-aria/interactions';
24
24
  import { mergeProps } from '@react-aria/utils';
25
- import Highlight, { defaultProps } from 'prism-react-renderer';
25
+ import Highlight, { defaultProps, Prism } from 'prism-react-renderer';
26
26
  import { useStatusClasses } from '../../hooks';
27
27
  import { Box, CopyText } from '../..';
28
28
  import codeView from '../../styles/variants/codeView';
@@ -38,6 +38,7 @@ var CodeView = /*#__PURE__*/forwardRef(function (props, ref) {
38
38
  hasLineNumbers = props.hasLineNumbers,
39
39
  hasNoCopyButton = props.hasNoCopyButton,
40
40
  language = props.language,
41
+ customPrism = props.Prism,
41
42
  others = _objectWithoutProperties(props, _excluded);
42
43
 
43
44
  var _useFocusRing = useFocusRing(),
@@ -64,7 +65,8 @@ var CodeView = /*#__PURE__*/forwardRef(function (props, ref) {
64
65
  var content = ___EmotionJSX(Highlight, _extends({}, defaultProps, {
65
66
  theme: codeView.theme,
66
67
  code: (children === null || children === void 0 ? void 0 : _trimInstanceProperty(children).call(children)) || '',
67
- language: language
68
+ language: language,
69
+ Prism: customPrism || Prism
68
70
  }), function (_ref) {
69
71
  var className = _ref.className,
70
72
  style = _ref.style,
@@ -128,9 +130,14 @@ CodeView.propTypes = {
128
130
  * Which programming language the CodeView should use for highlighting. A list of default languages is listed [here](https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/vendor/prism/includeLangs.js).
129
131
  *
130
132
  *
131
- * Additional languages may be added, see [this guidance](https://github.com/FormidableLabs/prism-react-renderer#faq) for more information.
133
+ * Additional languages may be added, see
134
+ * [CodeView with additional language](./?path=/docs/codeview--with-additional-language)
135
+ * for more information.
132
136
  */
133
- language: PropTypes.string
137
+ language: PropTypes.string,
138
+
139
+ /* Prism object for using instead of Prism from "react-prism-renderer" */
140
+ Prism: PropTypes.shape({})
134
141
  };
135
142
  CodeView.defaultProps = {
136
143
  language: 'json',
@@ -1,4 +1,7 @@
1
+ import _trimInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/trim";
1
2
  import React from 'react';
3
+ import Prism from 'prismjs';
4
+ import 'prismjs/components/prism-powershell';
2
5
  import CodeView from './CodeView';
3
6
  import { Text } from '../..';
4
7
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -15,6 +18,9 @@ export default {
15
18
  control: {
16
19
  type: 'text'
17
20
  }
21
+ },
22
+ Prism: {
23
+ control: 'none'
18
24
  }
19
25
  },
20
26
  parameters: {
@@ -62,4 +68,24 @@ export var WithCustomSize = function WithCustomSize() {
62
68
  },
63
69
  hasNoCopyButton: true
64
70
  }, "\nexport const ChipWithIcon = () => (\n <>\n <Chip label=\"Chip with Icon Button\" bg=\"navy\">\n <IconButton aria-label=\"Clear Chip with Icon Button\" variant=\"inverted\">\n <Icon icon={Clear} ml=\"xs\" size=\"14px\" />\n </IconButton>\n </Chip>\n\n <div style={{ padding: '5px' }} />\n\n <Chip label=\"Chip with Icon Button\">\n <IconButton aria-label=\"Clear Chip with Icon Button\" variant=\"inverted\">\n <Icon icon={Earth} ml=\"xs\" size=\"14px\" />\n </IconButton>\n </Chip>\n\n <div style={{ padding: '5px' }} />\n\n <Chip label=\"Chip with Icon\" bg=\"green\">\n <Icon icon={ContentCopy} ml=\"xs\" size=\"14px\" color=\"white\" />\n </Chip>\n </>\n);\n "));
71
+ };
72
+ export var WithAdditionalLanguage = function WithAdditionalLanguage() {
73
+ var _context;
74
+
75
+ /**
76
+ * import { CodeView } from "@pingux/astro";
77
+ * import Prism from 'prismjs';
78
+ * import 'prismjs/components/prism-powershell';
79
+ */
80
+ var powershellCode = _trimInstanceProperty(_context = "\n Get-WinEvent -FilterHashtable @{\n LogName='Application'\n ProviderName='*defrag'\n }\n ").call(_context);
81
+
82
+ return ___EmotionJSX(CodeView, {
83
+ language: "powershell",
84
+ Prism: Prism
85
+ }, powershellCode);
86
+ };
87
+ WithAdditionalLanguage.parameters = {
88
+ docs: {
89
+ storyDescription: 'All available languages are listed [here](https://github.com/PrismJS/prism/tree/master/components).'
90
+ }
65
91
  };
@@ -1,11 +1,33 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
1
9
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _taggedTemplateLiteral from "@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral";
11
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
12
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
13
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["className", "isDisabled"];
4
- import React, { forwardRef, useRef, useImperativeHandle } from 'react';
14
+
15
+ var _templateObject;
16
+
17
+ var _excluded = ["className", "fallbackImage", "fallbackTimeout", "isDisabled", "src", "sx"];
18
+
19
+ 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; }
20
+
21
+ 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; }
22
+
23
+ import React, { forwardRef, useRef, useImperativeHandle, useState } from 'react';
5
24
  import PropTypes from 'prop-types';
6
25
  import { Image as ThemeUIImage } from 'theme-ui';
7
26
  import { useHover } from '@react-aria/interactions';
8
- import { usePropWarning, useStatusClasses } from '../../hooks';
27
+ import { keyframes } from '@emotion/react';
28
+ import { usePropWarning, useStatusClasses, useFallbackImage } from '../../hooks';
29
+ import { Box } from '../../index';
30
+ import { neutral } from '../../styles/colors';
9
31
  /**
10
32
  * Basic image component.
11
33
  * Built on top of [Image from Theme-UI](https://theme-ui.com/components/image/).
@@ -15,9 +37,37 @@ import { usePropWarning, useStatusClasses } from '../../hooks';
15
37
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
38
  var Image = /*#__PURE__*/forwardRef(function (props, ref) {
17
39
  var className = props.className,
40
+ fallbackImage = props.fallbackImage,
41
+ fallbackTimeout = props.fallbackTimeout,
18
42
  isDisabled = props.isDisabled,
43
+ src = props.src,
44
+ sx = props.sx,
19
45
  others = _objectWithoutProperties(props, _excluded);
20
46
 
47
+ var _useState = useState(true),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ isLoading = _useState2[0],
50
+ setIsLoading = _useState2[1];
51
+
52
+ var _useState3 = useState(false),
53
+ _useState4 = _slicedToArray(_useState3, 2),
54
+ loadedSuccessfully = _useState4[0],
55
+ setLoadedSuccessfully = _useState4[1]; // we need to use useRef here with useState so it will be updated in setTimeout and onload
56
+ // https://github.com/facebook/react/issues/14010#issuecomment-433788147
57
+
58
+
59
+ var isLoadingRef = useRef(isLoading);
60
+
61
+ var setIsLoadingWithRef = function setIsLoadingWithRef(newState) {
62
+ setIsLoading(newState);
63
+ isLoadingRef.current = newState;
64
+ };
65
+
66
+ var _useState5 = useState(fallbackImage || src),
67
+ _useState6 = _slicedToArray(_useState5, 2),
68
+ imgSrc = _useState6[0],
69
+ setImgSrc = _useState6[1];
70
+
21
71
  var imgRef = useRef();
22
72
  /* istanbul ignore next */
23
73
 
@@ -32,16 +82,68 @@ var Image = /*#__PURE__*/forwardRef(function (props, ref) {
32
82
 
33
83
  var _useStatusClasses = useStatusClasses(className, {
34
84
  isDisabled: isDisabled,
35
- isHovered: isHovered
85
+ isHovered: isHovered,
86
+ isLoading: isLoading
36
87
  }),
37
88
  classNames = _useStatusClasses.classNames;
38
89
 
39
- return ___EmotionJSX(ThemeUIImage, _extends({
90
+ var onImageLoad = function onImageLoad() {
91
+ if (isLoadingRef !== null && isLoadingRef !== void 0 && isLoadingRef.current) {
92
+ setIsLoadingWithRef(false);
93
+ setImgSrc(src);
94
+ setLoadedSuccessfully(true);
95
+ }
96
+ };
97
+
98
+ var onImageError = function onImageError() {
99
+ setIsLoadingWithRef(false);
100
+ setImgSrc(fallbackImage || null);
101
+ };
102
+
103
+ var onFallbackTimeout = function onFallbackTimeout() {
104
+ if (isLoadingRef !== null && isLoadingRef !== void 0 && isLoadingRef.current) {
105
+ setIsLoadingWithRef(false);
106
+ setImgSrc(fallbackImage || null);
107
+ }
108
+ };
109
+
110
+ useFallbackImage(_objectSpread({
111
+ onImageLoad: onImageLoad,
112
+ onImageError: onImageError,
113
+ onFallbackTimeout: onFallbackTimeout
114
+ }, props));
115
+ var skeletonFrames = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-color: ", ";\n }\n 100% {\n background-color: ", ";\n }\n"])), neutral[90], neutral[70]);
116
+ var skeletonSx = {
117
+ backgroundColor: neutral[90],
118
+ // eslint-disable-next-line react/prop-types
119
+ width: (sx === null || sx === void 0 ? void 0 : sx.width) || '100%',
120
+ // eslint-disable-next-line react/prop-types
121
+ height: (sx === null || sx === void 0 ? void 0 : sx.height) || '100%',
122
+ animation: isLoading && "".concat(skeletonFrames, " 1.5s ease-in-out 0.5s infinite alternate")
123
+ };
124
+
125
+ var Skeleton = function Skeleton(_ref) {
126
+ var children = _ref.children;
127
+ return ___EmotionJSX(Box, {
128
+ sx: skeletonSx,
129
+ "data-testid": "skeleton-image"
130
+ }, children);
131
+ };
132
+
133
+ var themeUiImage = ___EmotionJSX(ThemeUIImage, _extends({
40
134
  className: classNames,
41
135
  ref: imgRef,
42
136
  alt: "Image",
43
- role: "img"
137
+ role: "img",
138
+ src: imgSrc,
139
+ sx: sx
44
140
  }, others, hoverProps));
141
+
142
+ if (isLoading || !loadedSuccessfully && !fallbackImage) {
143
+ return ___EmotionJSX(Skeleton, null);
144
+ }
145
+
146
+ return themeUiImage;
45
147
  });
46
148
  Image.propTypes = {
47
149
  /** The styling variation of the image. */
@@ -53,12 +155,24 @@ Image.propTypes = {
53
155
  /** The HTML element used to render the image. */
54
156
  as: PropTypes.string,
55
157
 
56
- /** Source of image. */
57
- src: PropTypes.oneOfType([PropTypes.string, PropTypes.object])
158
+ /** Source of image(Image path). */
159
+ src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
160
+
161
+ /** Load failure fault-tolerant src
162
+ * We do recommend using JS File or Blob object as an src for the "fallbackImage".
163
+ * Here is some documentation on how to create a blob image [https://developer.mozilla.org/en-US/docs/Web/API/Blob].
164
+ * Also please note that URLs are accepted, but if the URL cannot be loaded,
165
+ * the fallback image will not be rendered so it's not recommended.
166
+ * */
167
+ fallbackImage: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
168
+
169
+ /** Time in milliseconds that component should wait for a response from src address. */
170
+ fallbackTimeout: PropTypes.number
58
171
  };
59
172
  Image.defaultProps = {
60
173
  isDisabled: false,
61
- as: 'img'
174
+ as: 'img',
175
+ fallbackTimeout: 5000
62
176
  };
63
177
  Image.displayName = 'Image';
64
178
  export default Image;
@@ -1,6 +1,8 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React from 'react';
3
+ import isChromatic from 'chromatic/isChromatic';
3
4
  import Image from '.';
5
+ import { chiefIdentityChampions, pingImg } from './imageConstants';
4
6
  import { htmlElements } from '../../utils/devUtils/constants/htmlElements';
5
7
  import { jsx as ___EmotionJSX } from "@emotion/react";
6
8
  export default {
@@ -24,7 +26,7 @@ export default {
24
26
  control: {
25
27
  type: 'none'
26
28
  },
27
- defaultValue: 'data:image/png;base64,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'
29
+ defaultValue: pingImg
28
30
  }
29
31
  }
30
32
  };
@@ -35,13 +37,13 @@ export var Default = function Default(_ref) {
35
37
  };
36
38
  export var Avatar = function Avatar() {
37
39
  return ___EmotionJSX(Image, {
38
- src: "data:image/png;base64,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",
40
+ src: pingImg,
39
41
  variant: "images.avatar"
40
42
  });
41
43
  };
42
44
  export var CustomSizeAndRadius = function CustomSizeAndRadius() {
43
45
  return ___EmotionJSX(Image, {
44
- src: "https://images.pingidentity.com/image/upload/f_auto,q_auto,w_auto,c_scale/ping_dam/content/dam/ping-6-2-assets/images/company/our-company/chief-identity-champions.png",
46
+ src: chiefIdentityChampions,
45
47
  sx: {
46
48
  width: '70px',
47
49
  height: '70px',
@@ -52,7 +54,40 @@ export var CustomSizeAndRadius = function CustomSizeAndRadius() {
52
54
  };
53
55
  export var Disabled = function Disabled() {
54
56
  return ___EmotionJSX(Image, {
55
- src: "data:image/png;base64,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",
57
+ src: pingImg,
56
58
  isDisabled: true
57
59
  });
60
+ };
61
+ export var FallbackImage = function FallbackImage() {
62
+ return ___EmotionJSX(Image, {
63
+ fallbackImage: pingImg,
64
+ src: "https://deelay.me/7000/https://picsum.photos/150/150",
65
+ sx: {
66
+ width: '150px',
67
+ height: '150px'
68
+ }
69
+ });
70
+ };
71
+ export var WithSkeletonLoadSuccess = function WithSkeletonLoadSuccess(_ref2) {
72
+ var useLocalSrc = _ref2.useLocalSrc;
73
+ var imageSrc = useLocalSrc ? pingImg : 'https://deelay.me/3000/https://picsum.photos/150/150';
74
+ return ___EmotionJSX(Image, {
75
+ src: imageSrc,
76
+ sx: {
77
+ width: '150px',
78
+ height: '150px'
79
+ }
80
+ });
81
+ };
82
+ WithSkeletonLoadSuccess.args = {
83
+ useLocalSrc: isChromatic()
84
+ };
85
+ export var WithSkeletonLoadTimeout = function WithSkeletonLoadTimeout() {
86
+ return ___EmotionJSX(Image, {
87
+ src: "https://deelay.me/7000/https://picsum.photos/150/150",
88
+ sx: {
89
+ width: '150px',
90
+ height: '150px'
91
+ }
92
+ });
58
93
  };