@atlaskit/media-card 72.0.0 → 72.1.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 (80) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/errors.js +26 -6
  3. package/dist/cjs/root/card/cardLoader.js +66 -124
  4. package/dist/cjs/root/card/getCardPreview/index.js +90 -10
  5. package/dist/cjs/root/card/index.js +154 -84
  6. package/dist/cjs/root/cardView.js +41 -54
  7. package/dist/cjs/root/inline/mediaInlineCard.js +10 -5
  8. package/dist/cjs/root/ui/common.js +11 -5
  9. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +6 -2
  10. package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +2 -2
  11. package/dist/cjs/root/ui/progressBar/progressBar.js +2 -2
  12. package/dist/cjs/root/ui/progressBar/styled.js +1 -3
  13. package/dist/cjs/root/ui/styled.js +80 -17
  14. package/dist/cjs/root/ui/titleBox/styled.js +1 -3
  15. package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  16. package/dist/cjs/version.json +1 -1
  17. package/dist/es2019/errors.js +9 -1
  18. package/dist/es2019/root/card/cardLoader.js +47 -53
  19. package/dist/es2019/root/card/getCardPreview/index.js +45 -3
  20. package/dist/es2019/root/card/index.js +87 -20
  21. package/dist/es2019/root/cardView.js +26 -40
  22. package/dist/es2019/root/inline/mediaInlineCard.js +10 -5
  23. package/dist/es2019/root/ui/common.js +7 -1
  24. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +6 -2
  25. package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +1 -1
  26. package/dist/es2019/root/ui/progressBar/progressBar.js +1 -1
  27. package/dist/es2019/root/ui/progressBar/styled.js +1 -2
  28. package/dist/es2019/root/ui/styled.js +64 -3
  29. package/dist/es2019/root/ui/titleBox/styled.js +1 -2
  30. package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
  31. package/dist/es2019/version.json +1 -1
  32. package/dist/esm/errors.js +23 -5
  33. package/dist/esm/root/card/cardLoader.js +66 -126
  34. package/dist/esm/root/card/getCardPreview/index.js +72 -10
  35. package/dist/esm/root/card/index.js +156 -85
  36. package/dist/esm/root/cardView.js +40 -52
  37. package/dist/esm/root/inline/mediaInlineCard.js +10 -5
  38. package/dist/esm/root/ui/common.js +7 -1
  39. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +6 -2
  40. package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +1 -1
  41. package/dist/esm/root/ui/progressBar/progressBar.js +1 -1
  42. package/dist/esm/root/ui/progressBar/styled.js +1 -2
  43. package/dist/esm/root/ui/styled.js +61 -13
  44. package/dist/esm/root/ui/titleBox/styled.js +1 -2
  45. package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  46. package/dist/esm/version.json +1 -1
  47. package/dist/types/errors.d.ts +9 -3
  48. package/dist/types/index.d.ts +2 -1
  49. package/dist/types/root/card/cardLoader.d.ts +4 -18
  50. package/dist/types/root/card/getCardPreview/index.d.ts +7 -1
  51. package/dist/types/root/card/index.d.ts +2 -0
  52. package/dist/types/root/cardView.d.ts +3 -1
  53. package/dist/types/root/ui/common.d.ts +4 -1
  54. package/dist/types/root/ui/iconWrapper/styled.d.ts +1 -1
  55. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +3 -2
  56. package/dist/types/root/ui/loadingRateLimited/loadingRateLimited.d.ts +1 -1
  57. package/dist/types/root/ui/loadingRateLimited/styled.d.ts +1 -1
  58. package/dist/types/root/ui/progressBar/progressBar.d.ts +1 -1
  59. package/dist/types/root/ui/progressBar/styled.d.ts +1 -1
  60. package/dist/types/root/ui/styled.d.ts +10 -3
  61. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +1 -1
  62. package/dist/types/root/ui/titleBox/styled.d.ts +1 -1
  63. package/dist/types/root/ui/titleBox/titleBox.d.ts +1 -1
  64. package/dist/types/types.d.ts +1 -1
  65. package/example-helpers/developmentUseMessage.tsx +14 -0
  66. package/example-helpers/index.tsx +34 -4
  67. package/example-helpers/selectableCard.tsx +2 -1
  68. package/package.json +8 -5
  69. package/dist/cjs/root/card/cardSSRView.js +0 -114
  70. package/dist/cjs/root/ui/Breakpoint.js +0 -13
  71. package/dist/cjs/root/ui/styledSSR.js +0 -108
  72. package/dist/es2019/root/card/cardSSRView.js +0 -93
  73. package/dist/es2019/root/ui/Breakpoint.js +0 -6
  74. package/dist/es2019/root/ui/styledSSR.js +0 -93
  75. package/dist/esm/root/card/cardSSRView.js +0 -92
  76. package/dist/esm/root/ui/Breakpoint.js +0 -6
  77. package/dist/esm/root/ui/styledSSR.js +0 -76
  78. package/dist/types/root/card/cardSSRView.d.ts +0 -13
  79. package/dist/types/root/ui/Breakpoint.d.ts +0 -4
  80. package/dist/types/root/ui/styledSSR.d.ts +0 -16
@@ -1,114 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.CardSSRView = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _mediaClient = require("@atlaskit/media-client");
15
-
16
- var _mediaUi = require("@atlaskit/media-ui");
17
-
18
- var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
19
-
20
- var _getDataURIDimension = require("../../utils/getDataURIDimension");
21
-
22
- var _cardDimensions = require("../../utils/cardDimensions");
23
-
24
- var _styled = require("../ui/iconWrapper/styled");
25
-
26
- var _styledSSR = require("../ui/styledSSR");
27
-
28
- var _styled2 = require("../ui/blanket/styled");
29
-
30
- var _cardConstants = require("./cardConstants");
31
-
32
- var _resizeModeToMediaImageProps = require("../../utils/resizeModeToMediaImageProps");
33
-
34
- /*
35
- * This file is designed to be optimised for maximum performance.
36
- * Because of this the imports are optimised to import only what is required
37
- * If you're adding a new dependency please ensure that the
38
- * imported file only contains and depends on only what is required for it to function.
39
- */
40
- var CardSSRView = function CardSSRView(_ref) {
41
- var identifier = _ref.identifier,
42
- dimensions = _ref.dimensions,
43
- mediaClient = _ref.mediaClient,
44
- resizeMode = _ref.resizeMode,
45
- disableOverlay = _ref.disableOverlay,
46
- isLazy = _ref.isLazy;
47
- var dataURI;
48
-
49
- try {
50
- var _getRequestedDimensio = (0, _getDataURIDimension.getRequestedDimensions)({
51
- dimensions: dimensions
52
- }),
53
- width = _getRequestedDimensio.width,
54
- height = _getRequestedDimensio.height;
55
-
56
- var mode = (0, _mediaClient.imageResizeModeToFileImageMode)(resizeMode);
57
- dataURI = mediaClient.getImageUrlSync(identifier.id, {
58
- collection: identifier.collectionName,
59
- mode: mode,
60
- width: width,
61
- height: height,
62
- allowAnimated: true
63
- });
64
- } catch (e) {
65
- // if we are unable to get the image url (eg missing auth) we want to continue rendering with a spinner
66
- dataURI = '';
67
- }
68
-
69
- var shouldDisplayBackground = !dataURI || !disableOverlay;
70
- return /*#__PURE__*/_react.default.createElement(_styledSSR.SSRFileExperienceWrapper, {
71
- className: _cardConstants.newFileExperienceClassName,
72
- dimensions: dimensions,
73
- breakpoint: calculateBreakpoint(dimensions),
74
- shouldUsePointerCursor: Boolean(dataURI),
75
- displayBackground: shouldDisplayBackground,
76
- disableOverlay: !!disableOverlay,
77
- selected: false,
78
- "data-testid": "media-card-view"
79
- }, /*#__PURE__*/_react.default.createElement(_styledSSR.CardImageContainer, {
80
- className: "media-file-card-view",
81
- "data-testid": "media-file-card-view"
82
- }, /*#__PURE__*/_react.default.createElement(_styled.IconWrapper, {
83
- breakpoint: calculateBreakpoint(dimensions),
84
- hasTitleBox: false
85
- }, /*#__PURE__*/_react.default.createElement(_spinner.default, null)), !!dataURI && /*#__PURE__*/_react.default.createElement(_mediaUi.MediaImage, (0, _extends2.default)({
86
- dataURI: dataURI // alt={alt} // having alt text causes the image to fail to render with a broken image.
87
- // onImageLoad={this.onImageLoad} // TODO add these back as part of tracking performance.
88
- // onImageError={this.onImageError}
89
-
90
- }, (0, _resizeModeToMediaImageProps.resizeModeToMediaImageProps)(resizeMode), {
91
- loading: getLazyValue(isLazy)
92
- })), !disableOverlay && /*#__PURE__*/_react.default.createElement(_styled2.Blanket, {
93
- isFixed: false
94
- })));
95
- };
96
-
97
- exports.CardSSRView = CardSSRView;
98
-
99
- function getLazyValue(isLazy) {
100
- switch (isLazy) {
101
- case false:
102
- return 'eager';
103
-
104
- default:
105
- return 'lazy';
106
- }
107
- }
108
-
109
- function calculateBreakpoint(dimensions) {
110
- var _dimensions$width;
111
-
112
- var width = (_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : _cardDimensions.defaultImageCardDimensions.width;
113
- return (0, _styledSSR.calcBreakpointSize)(parseInt("".concat(width), 10));
114
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Breakpoint = void 0;
7
- var Breakpoint;
8
- exports.Breakpoint = Breakpoint;
9
-
10
- (function (Breakpoint) {
11
- Breakpoint["SMALL"] = "small";
12
- Breakpoint["LARGE"] = "large";
13
- })(Breakpoint || (exports.Breakpoint = Breakpoint = {}));
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.calcBreakpointSize = exports.CardImageContainer = exports.getWrapperDimensions = exports.SSRFileExperienceWrapper = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
- var _consts = require("@atlaskit/editor-shared-styles/consts");
17
-
18
- var _colors = require("@atlaskit/theme/colors");
19
-
20
- var _constants = require("@atlaskit/theme/constants");
21
-
22
- var _selection = require("@atlaskit/editor-shared-styles/selection");
23
-
24
- var _mediaUi = require("@atlaskit/media-ui");
25
-
26
- var _styles = require("../../styles");
27
-
28
- var _cardDimensions = require("../../utils/cardDimensions");
29
-
30
- var _getCSSUnitValue = require("../../utils/getCSSUnitValue");
31
-
32
- var _styled = require("./blanket/styled");
33
-
34
- var _common = require("./common");
35
-
36
- var _Breakpoint = require("./Breakpoint");
37
-
38
- var _templateObject, _templateObject2;
39
-
40
- var SSRFileExperienceWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n &:hover .", " {\n ", "\n }\n"])), function (_ref) {
41
- var breakpoint = _ref.breakpoint,
42
- dimensions = _ref.dimensions,
43
- appearance = _ref.appearance,
44
- shouldUsePointerCursor = _ref.shouldUsePointerCursor,
45
- displayBackground = _ref.displayBackground,
46
- disableOverlay = _ref.disableOverlay,
47
- selected = _ref.selected;
48
- return "\n ".concat((0, _styles.transition)(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat((0, _constants.fontFamily)(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(_colors.N20, ";") : '', "\n ").concat(_mediaUi.borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(_selection.hideNativeBrowserTextSelectionStyles, "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ");
49
- }, _styled.blanketClassName, _styled.fixedBlanketStyles);
50
-
51
- exports.SSRFileExperienceWrapper = SSRFileExperienceWrapper;
52
- SSRFileExperienceWrapper.displayName = 'SSRFileExperienceWrapper';
53
-
54
- var getWrapperDimensions = function getWrapperDimensions(dimensions, appearance) {
55
- var _ref2 = dimensions || {},
56
- width = _ref2.width,
57
- height = _ref2.height;
58
-
59
- var _getDefaultCardDimens = (0, _cardDimensions.getDefaultCardDimensions)(appearance),
60
- defaultWidth = _getDefaultCardDimens.width,
61
- defaultHeight = _getDefaultCardDimens.height;
62
-
63
- return "\n width: ".concat((0, _getCSSUnitValue.getCSSUnitValue)(width || defaultWidth), ";\n max-width: 100%;\n height: ").concat((0, _getCSSUnitValue.getCSSUnitValue)(height || defaultHeight), ";\n max-height: 100%;\n ");
64
- };
65
-
66
- exports.getWrapperDimensions = getWrapperDimensions;
67
-
68
- var generateResponsiveStyles = function generateResponsiveStyles() {
69
- var breakpoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Breakpoint.Breakpoint.SMALL;
70
- var setting = _common.responsiveSettings[breakpoint];
71
- return "\n font-size: ".concat(setting.fontSize, "px;\n line-height: ").concat(setting.lineHeight, "px;\n ");
72
- };
73
-
74
- var getCursorStyle = function getCursorStyle(shouldUsePointerCursor) {
75
- return "cursor: ".concat(shouldUsePointerCursor ? 'pointer' : 'default', ";");
76
- }; // This is a trick to simulate the blue border without affecting the dimensions.
77
- // CSS outline has no 'radius', therefore we can't achieve the same effect with it
78
-
79
-
80
- var getWrapperShadow = function getWrapperShadow(disableOverlay, selected) {
81
- var withOverlayShadow = !disableOverlay ? "0 1px 1px ".concat(_colors.N60A, ", 0 0 1px 0 ").concat(_colors.N60A) : '';
82
- var selectedShadow = selected ? _consts.akEditorSelectedBoxShadow : '';
83
- var shadow = [selectedShadow, withOverlayShadow].filter(Boolean).join(', ');
84
- return shadow ? "box-shadow: ".concat(shadow, ";") : '';
85
- };
86
-
87
- var CardImageContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n position: relative;\n max-width: 100%;\n width: 100%;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n ", "\n"])), _mediaUi.borderRadius);
88
-
89
- exports.CardImageContainer = CardImageContainer;
90
- var breakpointSizes = [[_Breakpoint.Breakpoint.SMALL, 599], [_Breakpoint.Breakpoint.LARGE, Infinity]];
91
-
92
- var calcBreakpointSize = function calcBreakpointSize() {
93
- var wrapperWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
94
-
95
- var _ref3 = breakpointSizes.find(function (_ref5) {
96
- var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
97
- _breakpoint = _ref6[0],
98
- limit = _ref6[1];
99
-
100
- return wrapperWidth <= limit;
101
- }) || [_Breakpoint.Breakpoint.SMALL],
102
- _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
103
- breakpoint = _ref4[0];
104
-
105
- return breakpoint;
106
- };
107
-
108
- exports.calcBreakpointSize = calcBreakpointSize;
@@ -1,93 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
-
3
- /*
4
- * This file is designed to be optimised for maximum performance.
5
- * Because of this the imports are optimised to import only what is required
6
- * If you're adding a new dependency please ensure that the
7
- * imported file only contains and depends on only what is required for it to function.
8
- */
9
- import React from 'react';
10
- import { imageResizeModeToFileImageMode } from '@atlaskit/media-client';
11
- import { MediaImage } from '@atlaskit/media-ui';
12
- import SpinnerIcon from '@atlaskit/spinner';
13
- import { getRequestedDimensions } from '../../utils/getDataURIDimension';
14
- import { defaultImageCardDimensions } from '../../utils/cardDimensions';
15
- import { IconWrapper } from '../ui/iconWrapper/styled';
16
- import { SSRFileExperienceWrapper, CardImageContainer, calcBreakpointSize } from '../ui/styledSSR';
17
- import { Blanket } from '../ui/blanket/styled';
18
- import { newFileExperienceClassName } from './cardConstants';
19
- import { resizeModeToMediaImageProps } from '../../utils/resizeModeToMediaImageProps';
20
- export const CardSSRView = ({
21
- identifier,
22
- dimensions,
23
- mediaClient,
24
- resizeMode,
25
- disableOverlay,
26
- isLazy
27
- }) => {
28
- let dataURI;
29
-
30
- try {
31
- const {
32
- width,
33
- height
34
- } = getRequestedDimensions({
35
- dimensions
36
- });
37
- const mode = imageResizeModeToFileImageMode(resizeMode);
38
- dataURI = mediaClient.getImageUrlSync(identifier.id, {
39
- collection: identifier.collectionName,
40
- mode,
41
- width,
42
- height,
43
- allowAnimated: true
44
- });
45
- } catch (e) {
46
- // if we are unable to get the image url (eg missing auth) we want to continue rendering with a spinner
47
- dataURI = '';
48
- }
49
-
50
- const shouldDisplayBackground = !dataURI || !disableOverlay;
51
- return /*#__PURE__*/React.createElement(SSRFileExperienceWrapper, {
52
- className: newFileExperienceClassName,
53
- dimensions: dimensions,
54
- breakpoint: calculateBreakpoint(dimensions),
55
- shouldUsePointerCursor: Boolean(dataURI),
56
- displayBackground: shouldDisplayBackground,
57
- disableOverlay: !!disableOverlay,
58
- selected: false,
59
- "data-testid": "media-card-view"
60
- }, /*#__PURE__*/React.createElement(CardImageContainer, {
61
- className: "media-file-card-view",
62
- "data-testid": "media-file-card-view"
63
- }, /*#__PURE__*/React.createElement(IconWrapper, {
64
- breakpoint: calculateBreakpoint(dimensions),
65
- hasTitleBox: false
66
- }, /*#__PURE__*/React.createElement(SpinnerIcon, null)), !!dataURI && /*#__PURE__*/React.createElement(MediaImage, _extends({
67
- dataURI: dataURI // alt={alt} // having alt text causes the image to fail to render with a broken image.
68
- // onImageLoad={this.onImageLoad} // TODO add these back as part of tracking performance.
69
- // onImageError={this.onImageError}
70
-
71
- }, resizeModeToMediaImageProps(resizeMode), {
72
- loading: getLazyValue(isLazy)
73
- })), !disableOverlay && /*#__PURE__*/React.createElement(Blanket, {
74
- isFixed: false
75
- })));
76
- };
77
-
78
- function getLazyValue(isLazy) {
79
- switch (isLazy) {
80
- case false:
81
- return 'eager';
82
-
83
- default:
84
- return 'lazy';
85
- }
86
- }
87
-
88
- function calculateBreakpoint(dimensions) {
89
- var _dimensions$width;
90
-
91
- const width = (_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : defaultImageCardDimensions.width;
92
- return calcBreakpointSize(parseInt(`${width}`, 10));
93
- }
@@ -1,6 +0,0 @@
1
- export let Breakpoint;
2
-
3
- (function (Breakpoint) {
4
- Breakpoint["SMALL"] = "small";
5
- Breakpoint["LARGE"] = "large";
6
- })(Breakpoint || (Breakpoint = {}));
@@ -1,93 +0,0 @@
1
- import styled from 'styled-components';
2
- import { akEditorSelectedBoxShadow } from '@atlaskit/editor-shared-styles/consts';
3
- import { N20, N60A } from '@atlaskit/theme/colors';
4
- import { fontFamily } from '@atlaskit/theme/constants';
5
- import { hideNativeBrowserTextSelectionStyles } from '@atlaskit/editor-shared-styles/selection';
6
- import { borderRadius } from '@atlaskit/media-ui';
7
- import { transition } from '../../styles';
8
- import { getDefaultCardDimensions } from '../../utils/cardDimensions';
9
- import { getCSSUnitValue } from '../../utils/getCSSUnitValue';
10
- import { fixedBlanketStyles, blanketClassName } from './blanket/styled';
11
- import { responsiveSettings } from './common';
12
- import { Breakpoint } from './Breakpoint';
13
- export const SSRFileExperienceWrapper = styled.div`
14
- ${({
15
- breakpoint,
16
- dimensions,
17
- appearance,
18
- shouldUsePointerCursor,
19
- displayBackground,
20
- disableOverlay,
21
- selected
22
- }) => `
23
- ${transition()}
24
- box-sizing: border-box;
25
- * {
26
- box-sizing: border-box;
27
- }
28
- position: relative;
29
- font-family: ${fontFamily()};
30
- ${getWrapperDimensions(dimensions, appearance)}
31
- ${displayBackground ? `background-color: ${N20};` : ''}
32
- ${borderRadius}
33
- ${getCursorStyle(shouldUsePointerCursor)}
34
- ${generateResponsiveStyles(breakpoint)}
35
- ${hideNativeBrowserTextSelectionStyles}
36
- ${getWrapperShadow(disableOverlay, selected)}
37
- `}
38
- &:hover .${blanketClassName} {
39
- ${fixedBlanketStyles}
40
- }
41
- `;
42
- SSRFileExperienceWrapper.displayName = 'SSRFileExperienceWrapper';
43
- export const getWrapperDimensions = (dimensions, appearance) => {
44
- const {
45
- width,
46
- height
47
- } = dimensions || {};
48
- const {
49
- width: defaultWidth,
50
- height: defaultHeight
51
- } = getDefaultCardDimensions(appearance);
52
- return `
53
- width: ${getCSSUnitValue(width || defaultWidth)};
54
- max-width: 100%;
55
- height: ${getCSSUnitValue(height || defaultHeight)};
56
- max-height: 100%;
57
- `;
58
- };
59
-
60
- const generateResponsiveStyles = (breakpoint = Breakpoint.SMALL) => {
61
- const setting = responsiveSettings[breakpoint];
62
- return `
63
- font-size: ${setting.fontSize}px;
64
- line-height: ${setting.lineHeight}px;
65
- `;
66
- };
67
-
68
- const getCursorStyle = shouldUsePointerCursor => `cursor: ${shouldUsePointerCursor ? 'pointer' : 'default'};`; // This is a trick to simulate the blue border without affecting the dimensions.
69
- // CSS outline has no 'radius', therefore we can't achieve the same effect with it
70
-
71
-
72
- const getWrapperShadow = (disableOverlay, selected) => {
73
- const withOverlayShadow = !disableOverlay ? `0 1px 1px ${N60A}, 0 0 1px 0 ${N60A}` : '';
74
- const selectedShadow = selected ? akEditorSelectedBoxShadow : '';
75
- const shadow = [selectedShadow, withOverlayShadow].filter(Boolean).join(', ');
76
- return shadow ? `box-shadow: ${shadow};` : '';
77
- };
78
-
79
- export const CardImageContainer = styled.div`
80
- display: flex;
81
- position: relative;
82
- max-width: 100%;
83
- width: 100%;
84
- height: 100%;
85
- max-height: 100%;
86
- overflow: hidden;
87
- ${borderRadius}
88
- `;
89
- const breakpointSizes = [[Breakpoint.SMALL, 599], [Breakpoint.LARGE, Infinity]];
90
- export const calcBreakpointSize = (wrapperWidth = 0) => {
91
- const [breakpoint] = breakpointSizes.find(([_breakpoint, limit]) => wrapperWidth <= limit) || [Breakpoint.SMALL];
92
- return breakpoint;
93
- };
@@ -1,92 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
-
3
- /*
4
- * This file is designed to be optimised for maximum performance.
5
- * Because of this the imports are optimised to import only what is required
6
- * If you're adding a new dependency please ensure that the
7
- * imported file only contains and depends on only what is required for it to function.
8
- */
9
- import React from 'react';
10
- import { imageResizeModeToFileImageMode } from '@atlaskit/media-client';
11
- import { MediaImage } from '@atlaskit/media-ui';
12
- import SpinnerIcon from '@atlaskit/spinner';
13
- import { getRequestedDimensions } from '../../utils/getDataURIDimension';
14
- import { defaultImageCardDimensions } from '../../utils/cardDimensions';
15
- import { IconWrapper } from '../ui/iconWrapper/styled';
16
- import { SSRFileExperienceWrapper, CardImageContainer, calcBreakpointSize } from '../ui/styledSSR';
17
- import { Blanket } from '../ui/blanket/styled';
18
- import { newFileExperienceClassName } from './cardConstants';
19
- import { resizeModeToMediaImageProps } from '../../utils/resizeModeToMediaImageProps';
20
- export var CardSSRView = function CardSSRView(_ref) {
21
- var identifier = _ref.identifier,
22
- dimensions = _ref.dimensions,
23
- mediaClient = _ref.mediaClient,
24
- resizeMode = _ref.resizeMode,
25
- disableOverlay = _ref.disableOverlay,
26
- isLazy = _ref.isLazy;
27
- var dataURI;
28
-
29
- try {
30
- var _getRequestedDimensio = getRequestedDimensions({
31
- dimensions: dimensions
32
- }),
33
- width = _getRequestedDimensio.width,
34
- height = _getRequestedDimensio.height;
35
-
36
- var mode = imageResizeModeToFileImageMode(resizeMode);
37
- dataURI = mediaClient.getImageUrlSync(identifier.id, {
38
- collection: identifier.collectionName,
39
- mode: mode,
40
- width: width,
41
- height: height,
42
- allowAnimated: true
43
- });
44
- } catch (e) {
45
- // if we are unable to get the image url (eg missing auth) we want to continue rendering with a spinner
46
- dataURI = '';
47
- }
48
-
49
- var shouldDisplayBackground = !dataURI || !disableOverlay;
50
- return /*#__PURE__*/React.createElement(SSRFileExperienceWrapper, {
51
- className: newFileExperienceClassName,
52
- dimensions: dimensions,
53
- breakpoint: calculateBreakpoint(dimensions),
54
- shouldUsePointerCursor: Boolean(dataURI),
55
- displayBackground: shouldDisplayBackground,
56
- disableOverlay: !!disableOverlay,
57
- selected: false,
58
- "data-testid": "media-card-view"
59
- }, /*#__PURE__*/React.createElement(CardImageContainer, {
60
- className: "media-file-card-view",
61
- "data-testid": "media-file-card-view"
62
- }, /*#__PURE__*/React.createElement(IconWrapper, {
63
- breakpoint: calculateBreakpoint(dimensions),
64
- hasTitleBox: false
65
- }, /*#__PURE__*/React.createElement(SpinnerIcon, null)), !!dataURI && /*#__PURE__*/React.createElement(MediaImage, _extends({
66
- dataURI: dataURI // alt={alt} // having alt text causes the image to fail to render with a broken image.
67
- // onImageLoad={this.onImageLoad} // TODO add these back as part of tracking performance.
68
- // onImageError={this.onImageError}
69
-
70
- }, resizeModeToMediaImageProps(resizeMode), {
71
- loading: getLazyValue(isLazy)
72
- })), !disableOverlay && /*#__PURE__*/React.createElement(Blanket, {
73
- isFixed: false
74
- })));
75
- };
76
-
77
- function getLazyValue(isLazy) {
78
- switch (isLazy) {
79
- case false:
80
- return 'eager';
81
-
82
- default:
83
- return 'lazy';
84
- }
85
- }
86
-
87
- function calculateBreakpoint(dimensions) {
88
- var _dimensions$width;
89
-
90
- var width = (_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : defaultImageCardDimensions.width;
91
- return calcBreakpointSize(parseInt("".concat(width), 10));
92
- }
@@ -1,6 +0,0 @@
1
- export var Breakpoint;
2
-
3
- (function (Breakpoint) {
4
- Breakpoint["SMALL"] = "small";
5
- Breakpoint["LARGE"] = "large";
6
- })(Breakpoint || (Breakpoint = {}));
@@ -1,76 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
-
4
- var _templateObject, _templateObject2;
5
-
6
- import styled from 'styled-components';
7
- import { akEditorSelectedBoxShadow } from '@atlaskit/editor-shared-styles/consts';
8
- import { N20, N60A } from '@atlaskit/theme/colors';
9
- import { fontFamily } from '@atlaskit/theme/constants';
10
- import { hideNativeBrowserTextSelectionStyles } from '@atlaskit/editor-shared-styles/selection';
11
- import { borderRadius } from '@atlaskit/media-ui';
12
- import { transition } from '../../styles';
13
- import { getDefaultCardDimensions } from '../../utils/cardDimensions';
14
- import { getCSSUnitValue } from '../../utils/getCSSUnitValue';
15
- import { fixedBlanketStyles, blanketClassName } from './blanket/styled';
16
- import { responsiveSettings } from './common';
17
- import { Breakpoint } from './Breakpoint';
18
- export var SSRFileExperienceWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n &:hover .", " {\n ", "\n }\n"])), function (_ref) {
19
- var breakpoint = _ref.breakpoint,
20
- dimensions = _ref.dimensions,
21
- appearance = _ref.appearance,
22
- shouldUsePointerCursor = _ref.shouldUsePointerCursor,
23
- displayBackground = _ref.displayBackground,
24
- disableOverlay = _ref.disableOverlay,
25
- selected = _ref.selected;
26
- return "\n ".concat(transition(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat(fontFamily(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(N20, ";") : '', "\n ").concat(borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(hideNativeBrowserTextSelectionStyles, "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ");
27
- }, blanketClassName, fixedBlanketStyles);
28
- SSRFileExperienceWrapper.displayName = 'SSRFileExperienceWrapper';
29
- export var getWrapperDimensions = function getWrapperDimensions(dimensions, appearance) {
30
- var _ref2 = dimensions || {},
31
- width = _ref2.width,
32
- height = _ref2.height;
33
-
34
- var _getDefaultCardDimens = getDefaultCardDimensions(appearance),
35
- defaultWidth = _getDefaultCardDimens.width,
36
- defaultHeight = _getDefaultCardDimens.height;
37
-
38
- return "\n width: ".concat(getCSSUnitValue(width || defaultWidth), ";\n max-width: 100%;\n height: ").concat(getCSSUnitValue(height || defaultHeight), ";\n max-height: 100%;\n ");
39
- };
40
-
41
- var generateResponsiveStyles = function generateResponsiveStyles() {
42
- var breakpoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Breakpoint.SMALL;
43
- var setting = responsiveSettings[breakpoint];
44
- return "\n font-size: ".concat(setting.fontSize, "px;\n line-height: ").concat(setting.lineHeight, "px;\n ");
45
- };
46
-
47
- var getCursorStyle = function getCursorStyle(shouldUsePointerCursor) {
48
- return "cursor: ".concat(shouldUsePointerCursor ? 'pointer' : 'default', ";");
49
- }; // This is a trick to simulate the blue border without affecting the dimensions.
50
- // CSS outline has no 'radius', therefore we can't achieve the same effect with it
51
-
52
-
53
- var getWrapperShadow = function getWrapperShadow(disableOverlay, selected) {
54
- var withOverlayShadow = !disableOverlay ? "0 1px 1px ".concat(N60A, ", 0 0 1px 0 ").concat(N60A) : '';
55
- var selectedShadow = selected ? akEditorSelectedBoxShadow : '';
56
- var shadow = [selectedShadow, withOverlayShadow].filter(Boolean).join(', ');
57
- return shadow ? "box-shadow: ".concat(shadow, ";") : '';
58
- };
59
-
60
- export var CardImageContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n position: relative;\n max-width: 100%;\n width: 100%;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n ", "\n"])), borderRadius);
61
- var breakpointSizes = [[Breakpoint.SMALL, 599], [Breakpoint.LARGE, Infinity]];
62
- export var calcBreakpointSize = function calcBreakpointSize() {
63
- var wrapperWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
64
-
65
- var _ref3 = breakpointSizes.find(function (_ref5) {
66
- var _ref6 = _slicedToArray(_ref5, 2),
67
- _breakpoint = _ref6[0],
68
- limit = _ref6[1];
69
-
70
- return wrapperWidth <= limit;
71
- }) || [Breakpoint.SMALL],
72
- _ref4 = _slicedToArray(_ref3, 1),
73
- breakpoint = _ref4[0];
74
-
75
- return breakpoint;
76
- };
@@ -1,13 +0,0 @@
1
- import { FC } from 'react';
2
- import { FileIdentifier, ImageResizeMode, MediaClient } from '@atlaskit/media-client';
3
- import { CardDimensions } from '../../utils/cardDimensions';
4
- export interface CardSSRViewProps {
5
- readonly identifier: FileIdentifier;
6
- readonly dimensions?: CardDimensions;
7
- readonly mediaClient: MediaClient;
8
- readonly resizeMode?: ImageResizeMode;
9
- readonly alt?: string;
10
- readonly disableOverlay: boolean;
11
- readonly isLazy?: boolean;
12
- }
13
- export declare const CardSSRView: FC<CardSSRViewProps>;
@@ -1,4 +0,0 @@
1
- export declare enum Breakpoint {
2
- SMALL = "small",
3
- LARGE = "large"
4
- }
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- import { CardDimensions, CardAppearance } from '../..';
3
- import { Breakpoint } from './Breakpoint';
4
- export interface BaseNewFileExperienceWrapperProps {
5
- breakpoint: Breakpoint;
6
- dimensions?: CardDimensions;
7
- appearance?: CardAppearance;
8
- shouldUsePointerCursor: boolean;
9
- displayBackground: boolean;
10
- disableOverlay: boolean;
11
- selected: boolean;
12
- }
13
- export declare const SSRFileExperienceWrapper: import("styled-components").StyledComponentClass<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & BaseNewFileExperienceWrapperProps, any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & BaseNewFileExperienceWrapperProps>;
14
- export declare const getWrapperDimensions: (dimensions?: CardDimensions | undefined, appearance?: "image" | "auto" | "square" | "horizontal" | undefined) => string;
15
- export declare const CardImageContainer: import("styled-components").StyledComponentClass<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
16
- export declare const calcBreakpointSize: (wrapperWidth?: number) => Breakpoint;