@times-components/article-lead-asset 1.9.0 → 1.10.2

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 CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.10.2](https://github.com/newsuk/times-components/compare/@times-components/article-lead-asset@1.10.1...@times-components/article-lead-asset@1.10.2) (2022-07-20)
7
+
8
+ **Note:** Version bump only for package @times-components/article-lead-asset
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.10.1](https://github.com/newsuk/times-components/compare/@times-components/article-lead-asset@1.10.0...@times-components/article-lead-asset@1.10.1) (2022-07-20)
15
+
16
+ **Note:** Version bump only for package @times-components/article-lead-asset
17
+
18
+
19
+
20
+
21
+
22
+ # [1.10.0](https://github.com/newsuk/times-components/compare/@times-components/article-lead-asset@1.9.0...@times-components/article-lead-asset@1.10.0) (2022-07-20)
23
+
24
+
25
+ ### Features
26
+
27
+ * **TDP-1712:** change jest config 01 ([#3038](https://github.com/newsuk/times-components/issues/3038)) ([a06acac](https://github.com/newsuk/times-components/commit/a06acac0a2a5812787ddd856a5a78faf000d224a))
28
+
29
+
30
+
31
+
32
+
6
33
  # [1.9.0](https://github.com/newsuk/times-components/compare/@times-components/article-lead-asset@1.8.18...@times-components/article-lead-asset@1.9.0) (2022-07-19)
7
34
 
8
35
 
package/babel.config.js CHANGED
@@ -1,10 +1,7 @@
1
1
  module.exports = api => {
2
2
  api.cache(true);
3
3
  return {
4
- plugins: [
5
- "babel-plugin-styled-components",
6
- "@babel/plugin-transform-react-display-name"
7
- ],
8
- presets: ["module:metro-react-native-babel-preset"]
4
+ plugins: ["babel-plugin-styled-components"],
5
+ presets: ["@babel/preset-env", "@babel/preset-react"]
9
6
  };
10
7
  };
@@ -1 +1,50 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireDefault(require("react"));var _utils=require("@times-components/utils");var _getRatio=_interopRequireDefault(require("./get-ratio"));var _articleLeadAssetPropTypes=require("./article-lead-asset-prop-types");var _index=_interopRequireDefault(require("../styles/index"));var _jsxFileName="/home/circleci/project/packages/article-lead-asset/src/article-lead-asset-image.js";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}var LeadAssetImage=function LeadAssetImage(_ref){var aspectRatio=_ref.aspectRatio,alt=_ref.alt,uri=_ref.uri;var url=(0,_utils.addMissingProtocol)(uri);var ratio=(0,_getRatio.default)(aspectRatio);var sizes=[360,520,680,860,1200,1500];var srcSet=sizes.map(function(size){return(0,_utils.appendToImageURL)(url,"resize",size)+" "+size+"w";});return _react.default.createElement("div",{style:_objectSpread(_objectSpread({},_index.default.wrapper),{},{paddingBottom:100/ratio+"%"}),__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:5}},_react.default.createElement("img",{alt:alt,style:_index.default.img,src:(0,_utils.appendToImageURL)(url,"resize",sizes[0]),srcSet:srcSet.join(","),__source:{fileName:_jsxFileName,lineNumber:18,columnNumber:7}}));};LeadAssetImage.propTypes=_articleLeadAssetPropTypes.imageLeadAssetPropTypes;var _default=LeadAssetImage;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _utils = require("@times-components/utils");
11
+
12
+ var _getRatio = _interopRequireDefault(require("./get-ratio"));
13
+
14
+ var _articleLeadAssetPropTypes = require("./article-lead-asset-prop-types");
15
+
16
+ var _index = _interopRequireDefault(require("../styles/index"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
26
+ var LeadAssetImage = function LeadAssetImage(_ref) {
27
+ var aspectRatio = _ref.aspectRatio,
28
+ alt = _ref.alt,
29
+ uri = _ref.uri;
30
+ var url = (0, _utils.addMissingProtocol)(uri);
31
+ var ratio = (0, _getRatio["default"])(aspectRatio);
32
+ var sizes = [360, 520, 680, 860, 1200, 1500];
33
+ var srcSet = sizes.map(function (size) {
34
+ return "".concat((0, _utils.appendToImageURL)(url, "resize", size), " ").concat(size, "w");
35
+ });
36
+ return /*#__PURE__*/_react["default"].createElement("div", {
37
+ style: _objectSpread(_objectSpread({}, _index["default"].wrapper), {}, {
38
+ paddingBottom: "".concat(100 / ratio, "%")
39
+ })
40
+ }, /*#__PURE__*/_react["default"].createElement("img", {
41
+ alt: alt,
42
+ style: _index["default"].img,
43
+ src: (0, _utils.appendToImageURL)(url, "resize", sizes[0]),
44
+ srcSet: srcSet.join(",")
45
+ }));
46
+ };
47
+
48
+ LeadAssetImage.propTypes = _articleLeadAssetPropTypes.imageLeadAssetPropTypes;
49
+ var _default = LeadAssetImage;
50
+ exports["default"] = _default;
@@ -1 +1,75 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.nativeDefaultProps=exports.nativePropTypes=exports.defaultProps=exports.propTypes=exports.leadAssetImageCropsPropTypes=exports.videoDefaultProps=exports.videoPropTypes=exports.imageLeadAssetPropTypes=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _propTypes=_interopRequireDefault(require("prop-types"));function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}var cropPropTypes=_propTypes.default.shape({ratio:_propTypes.default.string.isRequired,url:_propTypes.default.string.isRequired});var videoLeadAssetPropTypes={brightcoveAccountId:_propTypes.default.string.isRequired,brightcovePolicyKey:_propTypes.default.string.isRequired,brightcoveVideoId:_propTypes.default.string.isRequired,posterImage:_propTypes.default.shape({crop32:cropPropTypes,crop169:cropPropTypes}).isRequired};var imageLeadAssetPropTypes={aspectRatio:_propTypes.default.string.isRequired,alt:_propTypes.default.string.isRequired,uri:_propTypes.default.string.isRequired};exports.imageLeadAssetPropTypes=imageLeadAssetPropTypes;var videoPropTypes={aspectRatio:_propTypes.default.number.isRequired,leadAsset:_propTypes.default.shape(videoLeadAssetPropTypes),onVideoPress:_propTypes.default.func.isRequired,uri:_propTypes.default.string.isRequired};exports.videoPropTypes=videoPropTypes;var videoDefaultProps={leadAsset:{}};exports.videoDefaultProps=videoDefaultProps;var leadAssetImageCropsPropTypes={caption:_propTypes.default.string,credits:_propTypes.default.string,crop:cropPropTypes,crop11:cropPropTypes,crop23:cropPropTypes,crop32:cropPropTypes,crop45:cropPropTypes,crop169:cropPropTypes,crop1251:cropPropTypes};exports.leadAssetImageCropsPropTypes=leadAssetImageCropsPropTypes;var propTypes={aspectRatio:_propTypes.default.string,displayImage:cropPropTypes,isVideo:_propTypes.default.bool,leadAsset:_propTypes.default.oneOfType([_propTypes.default.shape(leadAssetImageCropsPropTypes),_propTypes.default.shape(videoLeadAssetPropTypes)]),renderCaption:_propTypes.default.func,style:_propTypes.default.any,width:_propTypes.default.number};exports.propTypes=propTypes;var defaultProps={aspectRatio:"1:1",displayImage:null,isVideo:false,leadAsset:null,renderCaption:function renderCaption(){return null;},width:null};exports.defaultProps=defaultProps;var nativePropTypes=_objectSpread(_objectSpread({},propTypes),{},{getImageCrop:_propTypes.default.func.isRequired,onVideoPress:_propTypes.default.func});exports.nativePropTypes=nativePropTypes;var nativeDefaultProps=_objectSpread(_objectSpread({},defaultProps),{},{onVideoPress:null});exports.nativeDefaultProps=nativeDefaultProps;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultProps = exports.propTypes = exports.leadAssetImageCropsPropTypes = exports.videoDefaultProps = exports.videoPropTypes = exports.imageLeadAssetPropTypes = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var cropPropTypes = _propTypes["default"].shape({
13
+ ratio: _propTypes["default"].string.isRequired,
14
+ url: _propTypes["default"].string.isRequired
15
+ });
16
+
17
+ var videoLeadAssetPropTypes = {
18
+ brightcoveAccountId: _propTypes["default"].string.isRequired,
19
+ brightcovePolicyKey: _propTypes["default"].string.isRequired,
20
+ brightcoveVideoId: _propTypes["default"].string.isRequired,
21
+ posterImage: _propTypes["default"].shape({
22
+ crop32: cropPropTypes,
23
+ crop169: cropPropTypes
24
+ }).isRequired
25
+ };
26
+ var imageLeadAssetPropTypes = {
27
+ aspectRatio: _propTypes["default"].string.isRequired,
28
+ alt: _propTypes["default"].string.isRequired,
29
+ uri: _propTypes["default"].string.isRequired
30
+ };
31
+ exports.imageLeadAssetPropTypes = imageLeadAssetPropTypes;
32
+ var videoPropTypes = {
33
+ aspectRatio: _propTypes["default"].number.isRequired,
34
+ leadAsset: _propTypes["default"].shape(videoLeadAssetPropTypes),
35
+ onVideoPress: _propTypes["default"].func.isRequired,
36
+ uri: _propTypes["default"].string.isRequired
37
+ };
38
+ exports.videoPropTypes = videoPropTypes;
39
+ var videoDefaultProps = {
40
+ leadAsset: {}
41
+ };
42
+ exports.videoDefaultProps = videoDefaultProps;
43
+ var leadAssetImageCropsPropTypes = {
44
+ caption: _propTypes["default"].string,
45
+ credits: _propTypes["default"].string,
46
+ crop: cropPropTypes,
47
+ crop11: cropPropTypes,
48
+ crop23: cropPropTypes,
49
+ crop32: cropPropTypes,
50
+ crop45: cropPropTypes,
51
+ crop169: cropPropTypes,
52
+ crop1251: cropPropTypes
53
+ };
54
+ exports.leadAssetImageCropsPropTypes = leadAssetImageCropsPropTypes;
55
+ var propTypes = {
56
+ aspectRatio: _propTypes["default"].string,
57
+ displayImage: cropPropTypes,
58
+ isVideo: _propTypes["default"].bool,
59
+ leadAsset: _propTypes["default"].oneOfType([_propTypes["default"].shape(leadAssetImageCropsPropTypes), _propTypes["default"].shape(videoLeadAssetPropTypes)]),
60
+ renderCaption: _propTypes["default"].func,
61
+ style: _propTypes["default"].any,
62
+ width: _propTypes["default"].number
63
+ };
64
+ exports.propTypes = propTypes;
65
+ var defaultProps = {
66
+ aspectRatio: "1:1",
67
+ displayImage: null,
68
+ isVideo: false,
69
+ leadAsset: null,
70
+ renderCaption: function renderCaption() {
71
+ return null;
72
+ },
73
+ width: null
74
+ };
75
+ exports.defaultProps = defaultProps;
@@ -1 +1,50 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _video=_interopRequireDefault(require("@times-components/video"));var _articleLeadAssetPropTypes=require("./article-lead-asset-prop-types");var _jsxFileName="/home/circleci/project/packages/article-lead-asset/src/article-lead-asset-video.js";var ArticleLeadAssetVideo=function ArticleLeadAssetVideo(_ref){var aspectRatio=_ref.aspectRatio,leadAsset=_ref.leadAsset,onVideoPress=_ref.onVideoPress,uri=_ref.uri,width=_ref.width,relativeWidth=_ref.relativeWidth,relativeHeight=_ref.relativeHeight,relativeHorizontalOffset=_ref.relativeHorizontalOffset,relativeVerticalOffset=_ref.relativeVerticalOffset;var brightcoveVideoId=leadAsset.brightcoveVideoId,brightcovePolicyKey=leadAsset.brightcovePolicyKey,brightcoveAccountId=leadAsset.brightcoveAccountId;var height=width/aspectRatio;return _react.default.createElement(_video.default,{accountId:brightcoveAccountId,height:height,onVideoPress:onVideoPress,policyKey:brightcovePolicyKey,poster:{uri:uri},videoId:brightcoveVideoId,width:width,relativeWidth:relativeWidth,relativeHeight:relativeHeight,relativeHorizontalOffset:relativeHorizontalOffset,relativeVerticalOffset:relativeVerticalOffset,__source:{fileName:_jsxFileName,lineNumber:28,columnNumber:5}});};ArticleLeadAssetVideo.propTypes=_articleLeadAssetPropTypes.videoPropTypes;ArticleLeadAssetVideo.defaultProps=_articleLeadAssetPropTypes.videoDefaultProps;var _default=ArticleLeadAssetVideo;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _video = _interopRequireDefault(require("@times-components/video"));
11
+
12
+ var _articleLeadAssetPropTypes = require("./article-lead-asset-prop-types");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var ArticleLeadAssetVideo = function ArticleLeadAssetVideo(_ref) {
17
+ var aspectRatio = _ref.aspectRatio,
18
+ leadAsset = _ref.leadAsset,
19
+ onVideoPress = _ref.onVideoPress,
20
+ uri = _ref.uri,
21
+ width = _ref.width,
22
+ relativeWidth = _ref.relativeWidth,
23
+ relativeHeight = _ref.relativeHeight,
24
+ relativeHorizontalOffset = _ref.relativeHorizontalOffset,
25
+ relativeVerticalOffset = _ref.relativeVerticalOffset;
26
+ var brightcoveVideoId = leadAsset.brightcoveVideoId,
27
+ brightcovePolicyKey = leadAsset.brightcovePolicyKey,
28
+ brightcoveAccountId = leadAsset.brightcoveAccountId;
29
+ var height = width / aspectRatio;
30
+ return /*#__PURE__*/_react["default"].createElement(_video["default"], {
31
+ accountId: brightcoveAccountId,
32
+ height: height,
33
+ onVideoPress: onVideoPress,
34
+ policyKey: brightcovePolicyKey,
35
+ poster: {
36
+ uri: uri
37
+ },
38
+ videoId: brightcoveVideoId,
39
+ width: width,
40
+ relativeWidth: relativeWidth,
41
+ relativeHeight: relativeHeight,
42
+ relativeHorizontalOffset: relativeHorizontalOffset,
43
+ relativeVerticalOffset: relativeVerticalOffset
44
+ });
45
+ };
46
+
47
+ ArticleLeadAssetVideo.propTypes = _articleLeadAssetPropTypes.videoPropTypes;
48
+ ArticleLeadAssetVideo.defaultProps = _articleLeadAssetPropTypes.videoDefaultProps;
49
+ var _default = ArticleLeadAssetVideo;
50
+ exports["default"] = _default;
@@ -1 +1,73 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _utils=require("@times-components/utils");var _video=_interopRequireDefault(require("@times-components/video"));var _articleLeadAssetImage=_interopRequireDefault(require("./article-lead-asset-image"));var _articleLeadAssetPropTypes=require("./article-lead-asset-prop-types");var _jsxFileName="/home/circleci/project/packages/article-lead-asset/src/article-lead-asset.js";var ArticleLeadAsset=function ArticleLeadAsset(_ref){var aspectRatio=_ref.aspectRatio,className=_ref.className,renderCaption=_ref.renderCaption,displayImage=_ref.displayImage,isVideo=_ref.isVideo,leadAsset=_ref.leadAsset,style=_ref.style;if(!leadAsset||!displayImage){return null;}var captionContainer=isVideo?leadAsset.posterImage:leadAsset;var caption={credits:captionContainer.credits,text:captionContainer.caption};var leadAssetView=isVideo?_react.default.createElement(_video.default,{accountId:leadAsset.brightcoveAccountId,height:"100%",id:leadAsset.id,is360:leadAsset.is360,playerId:leadAsset.brightcovePlayerId,policyKey:leadAsset.brightcovePolicyKey,position:"absolute",poster:{uri:displayImage.url},videoId:leadAsset.brightcoveVideoId,width:"100%",__source:{fileName:_jsxFileName,lineNumber:27,columnNumber:5}}):_react.default.createElement(_articleLeadAssetImage.default,{aspectRatio:aspectRatio,alt:caption.text,uri:displayImage.url,__source:{fileName:_jsxFileName,lineNumber:40,columnNumber:5}});return _react.default.createElement(_utils.TcView,{className:className,style:style,__source:{fileName:_jsxFileName,lineNumber:48,columnNumber:5}},_react.default.createElement("figure",{style:{margin:0},__source:{fileName:_jsxFileName,lineNumber:49,columnNumber:7}},_react.default.createElement(_utils.AspectRatioContainer,{aspectRatio:aspectRatio,__source:{fileName:_jsxFileName,lineNumber:50,columnNumber:9}},leadAssetView),renderCaption&&_react.default.createElement("figcaption",{__source:{fileName:_jsxFileName,lineNumber:53,columnNumber:27}},renderCaption({caption:caption}))));};ArticleLeadAsset.propTypes=_articleLeadAssetPropTypes.propTypes;ArticleLeadAsset.defaultProps=_articleLeadAssetPropTypes.defaultProps;var _default=ArticleLeadAsset;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _utils = require("@times-components/utils");
11
+
12
+ var _video = _interopRequireDefault(require("@times-components/video"));
13
+
14
+ var _articleLeadAssetImage = _interopRequireDefault(require("./article-lead-asset-image"));
15
+
16
+ var _articleLeadAssetPropTypes = require("./article-lead-asset-prop-types");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var ArticleLeadAsset = function ArticleLeadAsset(_ref) {
21
+ var aspectRatio = _ref.aspectRatio,
22
+ className = _ref.className,
23
+ renderCaption = _ref.renderCaption,
24
+ displayImage = _ref.displayImage,
25
+ isVideo = _ref.isVideo,
26
+ leadAsset = _ref.leadAsset,
27
+ style = _ref.style;
28
+
29
+ if (!leadAsset || !displayImage) {
30
+ return null;
31
+ }
32
+
33
+ var captionContainer = isVideo ? leadAsset.posterImage : leadAsset;
34
+ var caption = {
35
+ credits: captionContainer.credits,
36
+ text: captionContainer.caption
37
+ };
38
+ var leadAssetView = isVideo ? /*#__PURE__*/_react["default"].createElement(_video["default"], {
39
+ accountId: leadAsset.brightcoveAccountId,
40
+ height: "100%",
41
+ id: leadAsset.id,
42
+ is360: leadAsset.is360,
43
+ playerId: leadAsset.brightcovePlayerId,
44
+ policyKey: leadAsset.brightcovePolicyKey,
45
+ position: "absolute",
46
+ poster: {
47
+ uri: displayImage.url
48
+ },
49
+ videoId: leadAsset.brightcoveVideoId,
50
+ width: "100%"
51
+ }) : /*#__PURE__*/_react["default"].createElement(_articleLeadAssetImage["default"], {
52
+ aspectRatio: aspectRatio,
53
+ alt: caption.text,
54
+ uri: displayImage.url
55
+ });
56
+ return /*#__PURE__*/_react["default"].createElement(_utils.TcView, {
57
+ className: className,
58
+ style: style
59
+ }, /*#__PURE__*/_react["default"].createElement("figure", {
60
+ style: {
61
+ margin: 0
62
+ }
63
+ }, /*#__PURE__*/_react["default"].createElement(_utils.AspectRatioContainer, {
64
+ aspectRatio: aspectRatio
65
+ }, leadAssetView), renderCaption && /*#__PURE__*/_react["default"].createElement("figcaption", null, renderCaption({
66
+ caption: caption
67
+ }))));
68
+ };
69
+
70
+ ArticleLeadAsset.propTypes = _articleLeadAssetPropTypes.propTypes;
71
+ ArticleLeadAsset.defaultProps = _articleLeadAssetPropTypes.defaultProps;
72
+ var _default = ArticleLeadAsset;
73
+ exports["default"] = _default;
package/dist/get-ratio.js CHANGED
@@ -1 +1,30 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var getRatio=function getRatio(ratioString){var _ratioString$split=ratioString.split(":"),_ratioString$split2=(0,_slicedToArray2.default)(_ratioString$split,2),ratioWidth=_ratioString$split2[0],ratioHeight=_ratioString$split2[1];return Number(ratioWidth)/Number(ratioHeight);};var _default=getRatio;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
16
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17
+
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+
20
+ var getRatio = function getRatio(ratioString) {
21
+ var _ratioString$split = ratioString.split(":"),
22
+ _ratioString$split2 = _slicedToArray(_ratioString$split, 2),
23
+ ratioWidth = _ratioString$split2[0],
24
+ ratioHeight = _ratioString$split2[1];
25
+
26
+ return Number(ratioWidth) / Number(ratioHeight);
27
+ };
28
+
29
+ var _default = getRatio;
30
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/article-lead-asset",
3
- "version": "1.9.0",
3
+ "version": "1.10.2",
4
4
  "description": "Generalised Lead Asset component for templates to consume & style",
5
5
  "main": "dist/article-lead-asset",
6
6
  "dev": "src/article-lead-asset",
@@ -32,8 +32,10 @@
32
32
  "homepage": "https://github.com/newsuk/times-components#readme",
33
33
  "devDependencies": {
34
34
  "@babel/core": "7.4.4",
35
+ "@babel/preset-env": "7.4.4",
36
+ "@babel/preset-react": "7.9.1",
35
37
  "@times-components/eslint-config-thetimes": "0.8.18",
36
- "@times-components/jest-configurator": "2.8.0",
38
+ "@times-components/jest-configurator-web": "0.3.1",
37
39
  "@times-components/storybook": "4.4.0",
38
40
  "@times-components/webpack-configurator": "2.0.29",
39
41
  "babel-jest": "24.8.0",
@@ -64,5 +66,5 @@
64
66
  "publishConfig": {
65
67
  "access": "public"
66
68
  },
67
- "gitHead": "cc1799d9a07849c20c08555eea6a2ac9d26c0c86"
69
+ "gitHead": "d7c5430cf7bc31accd38b20909bd9314183147f6"
68
70
  }
package/rnw.js CHANGED
@@ -1 +1 @@
1
- module.exports=function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t,r){var i=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.nativeDefaultProps=t.nativePropTypes=t.defaultProps=t.propTypes=t.leadAssetImageCropsPropTypes=t.videoDefaultProps=t.videoPropTypes=t.imageLeadAssetPropTypes=void 0;var o=i(r(3)),a=i(r(10));function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){(0,o.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=a.default.shape({ratio:a.default.string.isRequired,url:a.default.string.isRequired}),s={brightcoveAccountId:a.default.string.isRequired,brightcovePolicyKey:a.default.string.isRequired,brightcoveVideoId:a.default.string.isRequired,posterImage:a.default.shape({crop32:l,crop169:l}).isRequired},d={aspectRatio:a.default.string.isRequired,alt:a.default.string.isRequired,uri:a.default.string.isRequired};t.imageLeadAssetPropTypes=d;var p={aspectRatio:a.default.number.isRequired,leadAsset:a.default.shape(s),onVideoPress:a.default.func.isRequired,uri:a.default.string.isRequired};t.videoPropTypes=p;t.videoDefaultProps={leadAsset:{}};var c={caption:a.default.string,credits:a.default.string,crop:l,crop11:l,crop23:l,crop32:l,crop45:l,crop169:l,crop1251:l};t.leadAssetImageCropsPropTypes=c;var f={aspectRatio:a.default.string,displayImage:l,isVideo:a.default.bool,leadAsset:a.default.oneOfType([a.default.shape(c),a.default.shape(s)]),renderCaption:a.default.func,style:a.default.any,width:a.default.number};t.propTypes=f;var y={aspectRatio:"1:1",displayImage:null,isVideo:!1,leadAsset:null,renderCaption:function(){return null},width:null};t.defaultProps=y;var b=u(u({},f),{},{getImageCrop:a.default.func.isRequired,onVideoPress:a.default.func});t.nativePropTypes=b;var v=u(u({},y),{},{onVideoPress:null});t.nativeDefaultProps=v},function(e,t,r){var i=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(r(1)),a=r(2),n=i(r(6)),u=i(r(7)),l=r(4),s=function(e){var t=e.aspectRatio,r=e.className,i=e.renderCaption,l=e.displayImage,s=e.isVideo,d=e.leadAsset,p=e.style;if(!d||!l)return null;var c=s?d.posterImage:d,f={credits:c.credits,text:c.caption},y=s?o.default.createElement(n.default,{accountId:d.brightcoveAccountId,height:"100%",id:d.id,is360:d.is360,playerId:d.brightcovePlayerId,policyKey:d.brightcovePolicyKey,position:"absolute",poster:{uri:l.url},videoId:d.brightcoveVideoId,width:"100%"}):o.default.createElement(u.default,{aspectRatio:t,alt:f.text,uri:l.url});return o.default.createElement(a.TcView,{className:r,style:p},o.default.createElement("figure",{style:{margin:0}},o.default.createElement(a.AspectRatioContainer,{aspectRatio:t},y),i&&o.default.createElement("figcaption",null,i({caption:f}))))};s.defaultProps=l.defaultProps;var d=s;t.default=d},function(e,t){e.exports=require("@times-components/video/rnw")},function(e,t,r){var i=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(r(3)),a=i(r(1)),n=r(2),u=i(r(8)),l=(r(4),i(r(11)));function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){(0,o.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p=function(e){var t=e.aspectRatio,r=e.alt,i=e.uri,o=(0,n.addMissingProtocol)(i),s=(0,u.default)(t),p=[360,520,680,860,1200,1500],c=p.map((function(e){return(0,n.appendToImageURL)(o,"resize",e)+" "+e+"w"}));return a.default.createElement("div",{style:d(d({},l.default.wrapper),{},{paddingBottom:100/s+"%"})},a.default.createElement("img",{alt:r,style:l.default.img,src:(0,n.appendToImageURL)(o,"resize",p[0]),srcSet:c.join(",")}))};t.default=p},function(e,t,r){var i=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(r(9)),a=function(e){var t=e.split(":"),r=(0,o.default)(t,2),i=r[0],a=r[1];return Number(i)/Number(a)};t.default=a},function(e,t){e.exports=require("@babel/runtime/helpers/slicedToArray")},function(e,t){e.exports=require("prop-types")},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={wrapper:{display:"table",height:0,overflow:"hidden",position:"relative",width:"100%"},img:{opacity:1,zIndex:2,width:"100%",position:"absolute",display:"block"}};t.default=r}]);
1
+ module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}([function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t){e.exports=require("@times-components/video/rnw")},function(e,t,r){"use strict";r.r(t);var n=r(1),i=r.n(n),o=r(2),a=r(3),c=r.n(a);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==r)return;var n,i,o=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(c)throw i}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var l=function(e){var t=u(e.split(":"),2),r=t[0],n=t[1];return Number(r)/Number(n)},p=r(0),d=r.n(p),f=d.a.shape({ratio:d.a.string.isRequired,url:d.a.string.isRequired}),y={brightcoveAccountId:d.a.string.isRequired,brightcovePolicyKey:d.a.string.isRequired,brightcoveVideoId:d.a.string.isRequired,posterImage:d.a.shape({crop32:f,crop169:f}).isRequired},b=(d.a.string.isRequired,d.a.string.isRequired,d.a.string.isRequired,d.a.number.isRequired,d.a.shape(y),d.a.func.isRequired,d.a.string.isRequired,{caption:d.a.string,credits:d.a.string,crop:f,crop11:f,crop23:f,crop32:f,crop45:f,crop169:f,crop1251:f}),g=(d.a.string,d.a.bool,d.a.oneOfType([d.a.shape(b),d.a.shape(y)]),d.a.func,d.a.any,d.a.number,{wrapper:{display:"table",height:0,overflow:"hidden",position:"relative",width:"100%"},img:{opacity:1,zIndex:2,width:"100%",position:"absolute",display:"block"}});function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var O=function(e){var t=e.aspectRatio,r=e.alt,n=e.uri,a=Object(o.addMissingProtocol)(n),c=l(t),u=[360,520,680,860,1200,1500],s=u.map((function(e){return"".concat(Object(o.appendToImageURL)(a,"resize",e)," ").concat(e,"w")}));return i.a.createElement("div",{style:v(v({},g.wrapper),{},{paddingBottom:"".concat(100/c,"%")})},i.a.createElement("img",{alt:r,style:g.img,src:Object(o.appendToImageURL)(a,"resize",u[0]),srcSet:s.join(",")}))},j=function(e){var t=e.aspectRatio,r=e.className,n=e.renderCaption,a=e.displayImage,u=e.isVideo,s=e.leadAsset,l=e.style;if(!s||!a)return null;var p=u?s.posterImage:s,d={credits:p.credits,text:p.caption},f=u?i.a.createElement(c.a,{accountId:s.brightcoveAccountId,height:"100%",id:s.id,is360:s.is360,playerId:s.brightcovePlayerId,policyKey:s.brightcovePolicyKey,position:"absolute",poster:{uri:a.url},videoId:s.brightcoveVideoId,width:"100%"}):i.a.createElement(O,{aspectRatio:t,alt:d.text,uri:a.url});return i.a.createElement(o.TcView,{className:r,style:l},i.a.createElement("figure",{style:{margin:0}},i.a.createElement(o.AspectRatioContainer,{aspectRatio:t},f),n&&i.a.createElement("figcaption",null,n({caption:d}))))};j.defaultProps={aspectRatio:"1:1",displayImage:null,isVideo:!1,leadAsset:null,renderCaption:function(){return null},width:null};t.default=j}]);