@atlaskit/image 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/ui/image/index.js +13 -38
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/ui/image/index.js +11 -22
- package/dist/es2019/version.json +1 -1
- package/dist/esm/ui/image/index.js +14 -33
- package/dist/esm/version.json +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlaskit/image
|
|
2
2
|
|
|
3
|
+
## 1.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`718d5ad3044`](https://bitbucket.org/atlassian/atlassian-frontend/commits/718d5ad3044) - Updates to support the new `@atlaskit/tokens` theming API.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
|
|
10
|
+
## 1.0.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
3
16
|
## 1.0.2
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
|
|
|
11
10
|
return _image.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _image = _interopRequireDefault(require("./ui/image"));
|
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = Image;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
10
|
var _react = require("react");
|
|
17
|
-
|
|
18
11
|
var _react2 = require("@emotion/react");
|
|
19
|
-
|
|
20
12
|
var _tokens = require("@atlaskit/tokens");
|
|
21
|
-
|
|
22
13
|
var _excluded = ["src", "srcDark", "alt", "testId"];
|
|
23
14
|
var imageStyles = (0, _react2.css)({
|
|
24
15
|
maxWidth: '100%',
|
|
25
16
|
height: 'auto'
|
|
26
17
|
});
|
|
18
|
+
|
|
27
19
|
/**
|
|
28
20
|
* __Image__
|
|
29
21
|
*
|
|
@@ -33,49 +25,32 @@ var imageStyles = (0, _react2.css)({
|
|
|
33
25
|
* - [Code](https://atlassian.design/components/image/code)
|
|
34
26
|
* - [Usage](https://atlassian.design/components/image/usage)
|
|
35
27
|
*/
|
|
36
|
-
|
|
37
28
|
function Image(_ref) {
|
|
38
29
|
var src = _ref.src,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
srcDark = _ref.srcDark,
|
|
31
|
+
alt = _ref.alt,
|
|
32
|
+
testId = _ref.testId,
|
|
33
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
43
34
|
var imgRef = (0, _react.useRef)(null);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
47
|
-
colorMode = _useState2[0],
|
|
48
|
-
setColorMode = _useState2[1];
|
|
49
|
-
|
|
50
|
-
var theme = (0, _tokens.useThemeObserver)();
|
|
35
|
+
var _useThemeObserver = (0, _tokens.useThemeObserver)(),
|
|
36
|
+
colorMode = _useThemeObserver.colorMode;
|
|
51
37
|
(0, _react.useEffect)(function () {
|
|
52
38
|
if (imgRef === null || imgRef.current === null) {
|
|
53
39
|
return;
|
|
54
40
|
}
|
|
55
|
-
|
|
56
|
-
if (srcDark && theme === 'dark') {
|
|
41
|
+
if (srcDark && colorMode === 'dark') {
|
|
57
42
|
imgRef.current.src = srcDark;
|
|
58
43
|
} else if (src) {
|
|
59
44
|
imgRef.current.src = src;
|
|
60
45
|
}
|
|
61
|
-
}, [src, srcDark,
|
|
62
|
-
|
|
63
|
-
* TODO: Remove the following once useThemeObserver reports `color-mode`
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
(0, _react.useEffect)(function () {
|
|
67
|
-
setColorMode(document.documentElement.getAttribute('data-color-mode') || '');
|
|
68
|
-
}, [theme, setColorMode]);
|
|
69
|
-
return (0, _react2.jsx)("picture", null, srcDark && colorMode === 'auto' && (0, _react2.jsx)("source", {
|
|
70
|
-
srcSet: srcDark,
|
|
71
|
-
media: "(prefers-color-scheme: dark)"
|
|
72
|
-
}), (0, _react2.jsx)("img", (0, _extends2.default)({
|
|
46
|
+
}, [src, srcDark, colorMode]);
|
|
47
|
+
return (0, _react2.jsx)("img", (0, _extends2.default)({
|
|
73
48
|
alt: alt,
|
|
74
49
|
css: imageStyles,
|
|
75
50
|
"data-testid": testId,
|
|
76
51
|
src: src,
|
|
77
|
-
ref: imgRef
|
|
52
|
+
ref: imgRef
|
|
53
|
+
// The spread operator is necessary since the component can accept all the props of an `img` element.
|
|
78
54
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
79
|
-
|
|
80
|
-
}, props)));
|
|
55
|
+
}, props));
|
|
81
56
|
}
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
3
2
|
/** @jsx jsx */
|
|
4
|
-
import { useEffect, useRef
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
5
4
|
import { css, jsx } from '@emotion/react';
|
|
6
5
|
import { useThemeObserver } from '@atlaskit/tokens';
|
|
7
6
|
const imageStyles = css({
|
|
8
7
|
maxWidth: '100%',
|
|
9
8
|
height: 'auto'
|
|
10
9
|
});
|
|
10
|
+
|
|
11
11
|
/**
|
|
12
12
|
* __Image__
|
|
13
13
|
*
|
|
@@ -17,7 +17,6 @@ const imageStyles = css({
|
|
|
17
17
|
* - [Code](https://atlassian.design/components/image/code)
|
|
18
18
|
* - [Usage](https://atlassian.design/components/image/usage)
|
|
19
19
|
*/
|
|
20
|
-
|
|
21
20
|
export default function Image({
|
|
22
21
|
src,
|
|
23
22
|
srcDark,
|
|
@@ -26,36 +25,26 @@ export default function Image({
|
|
|
26
25
|
...props
|
|
27
26
|
}) {
|
|
28
27
|
const imgRef = useRef(null);
|
|
29
|
-
const
|
|
30
|
-
|
|
28
|
+
const {
|
|
29
|
+
colorMode
|
|
30
|
+
} = useThemeObserver();
|
|
31
31
|
useEffect(() => {
|
|
32
32
|
if (imgRef === null || imgRef.current === null) {
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
if (srcDark && theme === 'dark') {
|
|
35
|
+
if (srcDark && colorMode === 'dark') {
|
|
37
36
|
imgRef.current.src = srcDark;
|
|
38
37
|
} else if (src) {
|
|
39
38
|
imgRef.current.src = src;
|
|
40
39
|
}
|
|
41
|
-
}, [src, srcDark,
|
|
42
|
-
|
|
43
|
-
* TODO: Remove the following once useThemeObserver reports `color-mode`
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
setColorMode(document.documentElement.getAttribute('data-color-mode') || '');
|
|
48
|
-
}, [theme, setColorMode]);
|
|
49
|
-
return jsx("picture", null, srcDark && colorMode === 'auto' && jsx("source", {
|
|
50
|
-
srcSet: srcDark,
|
|
51
|
-
media: "(prefers-color-scheme: dark)"
|
|
52
|
-
}), jsx("img", _extends({
|
|
40
|
+
}, [src, srcDark, colorMode]);
|
|
41
|
+
return jsx("img", _extends({
|
|
53
42
|
alt: alt,
|
|
54
43
|
css: imageStyles,
|
|
55
44
|
"data-testid": testId,
|
|
56
45
|
src: src,
|
|
57
|
-
ref: imgRef
|
|
46
|
+
ref: imgRef
|
|
47
|
+
// The spread operator is necessary since the component can accept all the props of an `img` element.
|
|
58
48
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
59
|
-
|
|
60
|
-
}, props)));
|
|
49
|
+
}, props));
|
|
61
50
|
}
|
package/dist/es2019/version.json
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
3
|
var _excluded = ["src", "srcDark", "alt", "testId"];
|
|
5
|
-
|
|
6
4
|
/** @jsx jsx */
|
|
7
|
-
import { useEffect, useRef
|
|
5
|
+
import { useEffect, useRef } from 'react';
|
|
8
6
|
import { css, jsx } from '@emotion/react';
|
|
9
7
|
import { useThemeObserver } from '@atlaskit/tokens';
|
|
10
8
|
var imageStyles = css({
|
|
11
9
|
maxWidth: '100%',
|
|
12
10
|
height: 'auto'
|
|
13
11
|
});
|
|
12
|
+
|
|
14
13
|
/**
|
|
15
14
|
* __Image__
|
|
16
15
|
*
|
|
@@ -20,50 +19,32 @@ var imageStyles = css({
|
|
|
20
19
|
* - [Code](https://atlassian.design/components/image/code)
|
|
21
20
|
* - [Usage](https://atlassian.design/components/image/usage)
|
|
22
21
|
*/
|
|
23
|
-
|
|
24
22
|
export default function Image(_ref) {
|
|
25
23
|
var src = _ref.src,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
srcDark = _ref.srcDark,
|
|
25
|
+
alt = _ref.alt,
|
|
26
|
+
testId = _ref.testId,
|
|
27
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
28
|
var imgRef = useRef(null);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
-
colorMode = _useState2[0],
|
|
36
|
-
setColorMode = _useState2[1];
|
|
37
|
-
|
|
38
|
-
var theme = useThemeObserver();
|
|
29
|
+
var _useThemeObserver = useThemeObserver(),
|
|
30
|
+
colorMode = _useThemeObserver.colorMode;
|
|
39
31
|
useEffect(function () {
|
|
40
32
|
if (imgRef === null || imgRef.current === null) {
|
|
41
33
|
return;
|
|
42
34
|
}
|
|
43
|
-
|
|
44
|
-
if (srcDark && theme === 'dark') {
|
|
35
|
+
if (srcDark && colorMode === 'dark') {
|
|
45
36
|
imgRef.current.src = srcDark;
|
|
46
37
|
} else if (src) {
|
|
47
38
|
imgRef.current.src = src;
|
|
48
39
|
}
|
|
49
|
-
}, [src, srcDark,
|
|
50
|
-
|
|
51
|
-
* TODO: Remove the following once useThemeObserver reports `color-mode`
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
useEffect(function () {
|
|
55
|
-
setColorMode(document.documentElement.getAttribute('data-color-mode') || '');
|
|
56
|
-
}, [theme, setColorMode]);
|
|
57
|
-
return jsx("picture", null, srcDark && colorMode === 'auto' && jsx("source", {
|
|
58
|
-
srcSet: srcDark,
|
|
59
|
-
media: "(prefers-color-scheme: dark)"
|
|
60
|
-
}), jsx("img", _extends({
|
|
40
|
+
}, [src, srcDark, colorMode]);
|
|
41
|
+
return jsx("img", _extends({
|
|
61
42
|
alt: alt,
|
|
62
43
|
css: imageStyles,
|
|
63
44
|
"data-testid": testId,
|
|
64
45
|
src: src,
|
|
65
|
-
ref: imgRef
|
|
46
|
+
ref: imgRef
|
|
47
|
+
// The spread operator is necessary since the component can accept all the props of an `img` element.
|
|
66
48
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
67
|
-
|
|
68
|
-
}, props)));
|
|
49
|
+
}, props));
|
|
69
50
|
}
|
package/dist/esm/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/image",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "An image that changes in light or dark themes.",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
".": "./src/index.tsx"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@atlaskit/tokens": "^0.
|
|
34
|
+
"@atlaskit/tokens": "^1.0.0",
|
|
35
35
|
"@babel/runtime": "^7.0.0",
|
|
36
36
|
"@emotion/react": "^11.7.1"
|
|
37
37
|
},
|