@times-components/article-skeleton 1.85.42 → 1.86.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/babel.config.js +13 -2
  3. package/dist/article-body/article-body-paragraph.js +101 -1
  4. package/dist/article-body/article-body.js +657 -1
  5. package/dist/article-body/article-link-tracking-events.js +28 -1
  6. package/dist/article-body/article-link.js +51 -1
  7. package/dist/article-body/drop-cap.js +70 -1
  8. package/dist/article-body/inline-paragraph.js +142 -1
  9. package/dist/article-body/inset-caption.js +44 -1
  10. package/dist/article-body/simple-paragraph.js +99 -1
  11. package/dist/article-skeleton-prop-types.js +38 -1
  12. package/dist/article-skeleton.js +265 -1
  13. package/dist/article-topics/index.js +43 -1
  14. package/dist/body-utils.js +81 -1
  15. package/dist/contentModifiers/dropcap-util-common.js +117 -1
  16. package/dist/contentModifiers/dropcap-util.js +28 -1
  17. package/dist/contentModifiers/inline-ad.js +46 -1
  18. package/dist/contentModifiers/inline-related-article.js +71 -1
  19. package/dist/contentModifiers/native-ad.js +56 -1
  20. package/dist/contentModifiers/newsletter-puff.js +143 -1
  21. package/dist/data-helper.js +106 -1
  22. package/dist/gutter.js +43 -1
  23. package/dist/head.js +472 -1
  24. package/dist/keylines.js +24 -1
  25. package/dist/paywall-portal.js +47 -1
  26. package/dist/sticky-save-and-share-bar.js +60 -1
  27. package/dist/styles/article-body/article-link.js +18 -1
  28. package/dist/styles/article-body/index.js +41 -1
  29. package/dist/styles/article-body/responsive.js +143 -1
  30. package/dist/styles/article-body/shared.js +124 -1
  31. package/dist/styles/article-topics/index.js +21 -1
  32. package/dist/styles/article-topics/responsive.js +21 -1
  33. package/dist/styles/article-topics/shared.js +24 -1
  34. package/dist/styles/responsive.js +45 -1
  35. package/dist/styles/shared.js +20 -1
  36. package/dist/tracking/article-tracking-context.js +71 -1
  37. package/dist/tracking/article-tracking-last-paragraph.js +33 -1
  38. package/package.json +36 -44
  39. package/rnw.js +1 -1
  40. package/tsconfig.jest.json +11 -0
@@ -1 +1,28 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _tracking=require("@times-components/tracking");var _default=function _default(Component){return(0,_tracking.withTrackEvents)(Component,{analyticsEvents:[{actionName:"Pressed",eventName:"onPress",getAttrs:function getAttrs(_ref){var target=_ref.target,url=_ref.url,children=_ref.children;return{url:url,target:target,linkText:children[0]};},trackingName:"ArticleLink"}]});};exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _tracking = require("@times-components/tracking");
9
+
10
+ var _default = Component => (0, _tracking.withTrackEvents)(Component, {
11
+ analyticsEvents: [{
12
+ actionName: "Pressed",
13
+ eventName: "onPress",
14
+ getAttrs: _ref => {
15
+ let target = _ref.target,
16
+ url = _ref.url,
17
+ children = _ref.children;
18
+ return {
19
+ url,
20
+ target,
21
+ linkText: children[0]
22
+ };
23
+ },
24
+ trackingName: "ArticleLink"
25
+ }]
26
+ });
27
+
28
+ exports.default = _default;
@@ -1 +1,51 @@
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 _link=_interopRequireDefault(require("@times-components/link"));var _propTypes=_interopRequireDefault(require("prop-types"));var _articleLink=require("../styles/article-body/article-link");var _articleLinkTrackingEvents=_interopRequireDefault(require("./article-link-tracking-events"));var _jsxFileName="/home/circleci/project/packages/article-skeleton/src/article-body/article-link.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 ArticleLink=function ArticleLink(_ref){var children=_ref.children,target=_ref.target,url=_ref.url,onPress=_ref.onPress,dropCap=_ref.dropCap;return _react.default.createElement(_link.default,{underlined:!(dropCap&&children[0].length===1),responsiveLinkStyles:dropCap?_articleLink.dropCapLinkStyles:_articleLink.linkStyles,target:target,url:url,onPress:onPress,__source:{fileName:_jsxFileName,lineNumber:11,columnNumber:3}},children);};ArticleLink.defaultProps=_objectSpread(_objectSpread({},_link.default.defaultProps),{},{onPress:function onPress(){},dropCap:false});ArticleLink.propTypes=_objectSpread(_objectSpread({},_link.default.propTypes),{},{dropCap:_propTypes.default.bool});var _default=(0,_articleLinkTrackingEvents.default)(ArticleLink);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 _link = _interopRequireDefault(require("@times-components/link"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _articleLink = require("../styles/article-body/article-link");
15
+
16
+ var _articleLinkTrackingEvents = _interopRequireDefault(require("./article-link-tracking-events"));
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
+ const ArticleLink = _ref => {
27
+ let children = _ref.children,
28
+ target = _ref.target,
29
+ url = _ref.url,
30
+ onPress = _ref.onPress,
31
+ dropCap = _ref.dropCap;
32
+ return /*#__PURE__*/_react.default.createElement(_link.default, {
33
+ underlined: !(dropCap && children[0].length === 1),
34
+ responsiveLinkStyles: dropCap ? _articleLink.dropCapLinkStyles : _articleLink.linkStyles,
35
+ target: target,
36
+ url: url,
37
+ onPress: onPress
38
+ }, children);
39
+ };
40
+
41
+ ArticleLink.defaultProps = _objectSpread(_objectSpread({}, _link.default.defaultProps), {}, {
42
+ onPress: () => {},
43
+ dropCap: false
44
+ });
45
+ ArticleLink.propTypes = _objectSpread(_objectSpread({}, _link.default.propTypes), {}, {
46
+ dropCap: _propTypes.default.bool
47
+ });
48
+
49
+ var _default = (0, _articleLinkTrackingEvents.default)(ArticleLink);
50
+
51
+ exports.default = _default;
@@ -1 +1,70 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _tsStyleguide=require("@times-components/ts-styleguide");var _typeset=require("@times-components/typeset");var _utils=require("@times-components/utils");var _bodyUtils=require("../body-utils");var _shared=_interopRequireDefault(require("../styles/shared"));var _jsxFileName="/home/circleci/project/packages/article-skeleton/src/article-body/drop-cap.js";var _default=function _default(scale,color,dropCapFont,paragraph){var letter=paragraph.slice(0,1);if(['"',"“","‘","'"].includes(letter.string)){letter=paragraph.slice(0,2);}if(!letter.attributes.length){return false;}var baseStyle=letter.attributes[0][0].settings;var fontSize=baseStyle.fontSize*6;var fontSettings={fontFamily:_tsStyleguide.fonts[dropCapFont],fontStyle:"",fontWeight:"",fontSize:fontSize,color:color};var font=_typeset.FontStorage.getFont(fontSettings);var _getStringBounds=(0,_bodyUtils.getStringBounds)(fontSettings,letter.string),height=_getStringBounds.height;var dropCapAdvanceWidth=font.getAdvanceWidth(letter.string,fontSettings.fontSize);var exclusion=new _typeset.BoxExclusion(0,0,dropCapAdvanceWidth+_shared.default.articleMainContentRow.paddingRight,height);var element=_react.default.createElement(_utils.TcText,{allowFontScaling:false,style:[{position:"absolute",left:_shared.default.articleMainContentRow.paddingLeft,fontSize:fontSize,lineHeight:height*1.33,fontFamily:_tsStyleguide.fonts[dropCapFont],color:fontSettings.color}],__source:{fileName:_jsxFileName,lineNumber:39,columnNumber:5}},letter.string);return{exclusion:exclusion,element:element,length:letter.length};};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 _tsStyleguide = require("@times-components/ts-styleguide");
11
+
12
+ var _typeset = require("@times-components/typeset");
13
+
14
+ var _utils = require("@times-components/utils");
15
+
16
+ var _bodyUtils = require("../body-utils");
17
+
18
+ var _shared = _interopRequireDefault(require("../styles/shared"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ var _default = (scale, color, dropCapFont, paragraph) => {
23
+ let letter = paragraph.slice(0, 1);
24
+
25
+ if (['"', "“", "‘", "'"].includes(letter.string)) {
26
+ letter = paragraph.slice(0, 2);
27
+ }
28
+
29
+ if (!letter.attributes.length) {
30
+ return false;
31
+ }
32
+
33
+ const baseStyle = letter.attributes[0][0].settings;
34
+ const fontSize = baseStyle.fontSize * 6;
35
+ const fontSettings = {
36
+ fontFamily: _tsStyleguide.fonts[dropCapFont],
37
+ fontStyle: "",
38
+ fontWeight: "",
39
+ fontSize,
40
+ color
41
+ };
42
+
43
+ const font = _typeset.FontStorage.getFont(fontSettings);
44
+
45
+ const _getStringBounds = (0, _bodyUtils.getStringBounds)(fontSettings, letter.string),
46
+ height = _getStringBounds.height;
47
+
48
+ const dropCapAdvanceWidth = font.getAdvanceWidth(letter.string, fontSettings.fontSize);
49
+ const exclusion = new _typeset.BoxExclusion(0, 0, dropCapAdvanceWidth + _shared.default.articleMainContentRow.paddingRight, height);
50
+
51
+ const element = /*#__PURE__*/_react.default.createElement(_utils.TcText, {
52
+ allowFontScaling: false,
53
+ style: [{
54
+ position: "absolute",
55
+ left: _shared.default.articleMainContentRow.paddingLeft,
56
+ fontSize,
57
+ lineHeight: height * 1.33,
58
+ fontFamily: _tsStyleguide.fonts[dropCapFont],
59
+ color: fontSettings.color
60
+ }]
61
+ }, letter.string);
62
+
63
+ return {
64
+ exclusion,
65
+ element,
66
+ length: letter.length
67
+ };
68
+ };
69
+
70
+ exports.default = _default;
@@ -1 +1,142 @@
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 _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _utils=require("@times-components/utils");var _propTypes=_interopRequireDefault(require("prop-types"));var _tsStyleguide=require("@times-components/ts-styleguide");var _typeset=require("@times-components/typeset");var _articleParagraph=_interopRequireDefault(require("@times-components/article-paragraph"));var _jsxFileName="/home/circleci/project/packages/article-skeleton/src/article-body/inline-paragraph.js";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}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 InlineParagraph=function InlineParagraph(_ref){var onLinkPress=_ref.onLinkPress,isTablet=_ref.isTablet,dropCap=_ref.dropCap,str=_ref.str,scale=_ref.scale,inline=_ref.inline,tree=_ref.tree,key=_ref.key,defaultFont=_ref.defaultFont,LinkComponent=_ref.LinkComponent;var _styleguide=(0,_tsStyleguide.styleguide)({scale:scale}),spacing=_styleguide.spacing;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),inlineExclusion=_useState2[0],setInlineExclusion=_useState2[1];if(!str.length){return null;}var contentWidth=Math.min((0,_utils.screenWidth)(),_tsStyleguide.tabletWidth);var gutters=((0,_utils.screenWidth)()-contentWidth)/2+spacing(2);var container=new _typeset.TextContainer(isTablet?contentWidth:(0,_utils.screenWidth)()-spacing(4),Infinity,0,0,dropCap?[dropCap.exclusion]:[]);var slice=str.charAt(1)===" "?2:dropCap.length;var manager=new _typeset.LayoutManager(dropCap?str.slice(slice):str,[container],inlineExclusion?[inlineExclusion.exclusion]:[]);var positioned=manager.layout();return[dropCap&&_react.default.createElement(_utils.TcView,{style:{left:gutters-spacing(2)},__source:{fileName:_jsxFileName,lineNumber:55,columnNumber:7}},dropCap.element),inline&&_react.default.createElement(_utils.TcView,{style:{position:"absolute",left:gutters,width:contentWidth*0.35},onLayout:function onLayout(e){var height=e.nativeEvent.layout.height;if(!inlineExclusion){setInlineExclusion({exclusion:new _typeset.BoxExclusion(0,0,contentWidth*0.35+spacing(2),height+spacing(2)),height:height});}},__source:{fileName:_jsxFileName,lineNumber:58,columnNumber:7}},inline),_react.default.createElement(_articleParagraph.default,{ast:tree,key:key,uid:key,height:Math.max(dropCap?defaultFont.lineHeight*3:0,!positioned.length?0:positioned[positioned.length-1].position.y+defaultFont.lineHeight,inlineExclusion?inlineExclusion.height:0),__source:{fileName:_jsxFileName,lineNumber:82,columnNumber:5}},positioned.map(function(p,i){var _p$text$collapsedAttr=p.text.collapsedAttributes(0),_p$text$collapsedAttr2=(0,_slicedToArray2.default)(_p$text$collapsedAttr,2),attribute=_p$text$collapsedAttr2[0],href=_p$text$collapsedAttr2[1];var style=attribute?attribute.settings:defaultFont;var type=href?href.type:null;var canonicalId=href?href.canonicalId:null;if(href){var color=style.color,linkStyle=(0,_objectWithoutProperties2.default)(style,["color"]);return _react.default.createElement(LinkComponent,{url:href,onPress:function onPress(e){return onLinkPress(e,{canonicalId:canonicalId,type:type,url:href.href});},style:_objectSpread(_objectSpread({},linkStyle),{},{position:"absolute",left:p.position.x,top:p.position.y}),__source:{fileName:_jsxFileName,lineNumber:103,columnNumber:13}},p.text.string);}return _react.default.createElement(_utils.TcText,{key:i.toString(),allowFontScaling:false,selectable:true,numberOfLines:1,style:[{position:"absolute",left:p.position.x,top:p.position.y},style],__source:{fileName:_jsxFileName,lineNumber:120,columnNumber:11}},p.text.string);}))];};InlineParagraph.propTypes={onLinkPress:_propTypes.default.func.isRequired,isTablet:_propTypes.default.bool.isRequired,dropCap:_propTypes.default.object.isRequired,str:_propTypes.default.object.isRequired,scale:_propTypes.default.string.isRequired,inline:_propTypes.default.object.isRequired,tree:_propTypes.default.object.isRequired,key:_propTypes.default.string.isRequired,defaultFont:_propTypes.default.object.isRequired,LinkComponent:_propTypes.default.func.isRequired};var _default=InlineParagraph;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 _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _tsStyleguide = require("@times-components/ts-styleguide");
15
+
16
+ var _typeset = require("@times-components/typeset");
17
+
18
+ var _articleParagraph = _interopRequireDefault(require("@times-components/article-paragraph"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
+
30
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
+
32
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
+
34
+ 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."); }
35
+
36
+ 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); }
37
+
38
+ 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; }
39
+
40
+ 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; }
41
+
42
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
+
44
+ const InlineParagraph = _ref => {
45
+ let onLinkPress = _ref.onLinkPress,
46
+ isTablet = _ref.isTablet,
47
+ dropCap = _ref.dropCap,
48
+ str = _ref.str,
49
+ scale = _ref.scale,
50
+ inline = _ref.inline,
51
+ tree = _ref.tree,
52
+ key = _ref.key,
53
+ defaultFont = _ref.defaultFont,
54
+ LinkComponent = _ref.LinkComponent;
55
+
56
+ const _styleguide = (0, _tsStyleguide.styleguide)({
57
+ scale
58
+ }),
59
+ spacing = _styleguide.spacing;
60
+
61
+ if (!str.length) {
62
+ return null;
63
+ }
64
+
65
+ const contentWidth = Math.min((0, _utils.screenWidth)(), _tsStyleguide.tabletWidth);
66
+ const gutters = ((0, _utils.screenWidth)() - contentWidth) / 2 + spacing(2);
67
+ const container = new _typeset.TextContainer(isTablet ? contentWidth : (0, _utils.screenWidth)() - spacing(4), Infinity, 0, 0, dropCap ? [dropCap.exclusion] : []);
68
+ const slice = str.charAt(1) === " " ? 2 : dropCap.length;
69
+ const manager = new _typeset.LayoutManager(dropCap ? str.slice(slice) : str, [container]);
70
+ const positioned = manager.layout();
71
+ return [dropCap && /*#__PURE__*/_react.default.createElement(_utils.TcView, {
72
+ style: {
73
+ left: gutters - spacing(2)
74
+ }
75
+ }, dropCap.element), inline && /*#__PURE__*/_react.default.createElement(_utils.TcView, {
76
+ style: {
77
+ position: "absolute",
78
+ left: gutters,
79
+ width: contentWidth * 0.35
80
+ }
81
+ }, inline), /*#__PURE__*/_react.default.createElement(_articleParagraph.default, {
82
+ ast: tree,
83
+ key: key,
84
+ uid: key,
85
+ height: Math.max(dropCap ? defaultFont.lineHeight * 3 : 0, !positioned.length ? 0 : positioned[positioned.length - 1].position.y + defaultFont.lineHeight)
86
+ }, positioned.map((p, i) => {
87
+ const _p$text$collapsedAttr = p.text.collapsedAttributes(0),
88
+ _p$text$collapsedAttr2 = _slicedToArray(_p$text$collapsedAttr, 2),
89
+ attribute = _p$text$collapsedAttr2[0],
90
+ href = _p$text$collapsedAttr2[1];
91
+
92
+ const style = attribute ? attribute.settings : defaultFont;
93
+ const type = href ? href.type : null;
94
+ const canonicalId = href ? href.canonicalId : null;
95
+
96
+ if (href) {
97
+ const color = style.color,
98
+ linkStyle = _objectWithoutProperties(style, ["color"]);
99
+
100
+ return /*#__PURE__*/_react.default.createElement(LinkComponent, {
101
+ url: href,
102
+ onPress: e => onLinkPress(e, {
103
+ canonicalId,
104
+ type,
105
+ url: href.href
106
+ }),
107
+ style: _objectSpread(_objectSpread({}, linkStyle), {}, {
108
+ position: "absolute",
109
+ left: p.position.x,
110
+ top: p.position.y
111
+ })
112
+ }, p.text.string);
113
+ }
114
+
115
+ return /*#__PURE__*/_react.default.createElement(_utils.TcText, {
116
+ key: i.toString(),
117
+ allowFontScaling: false,
118
+ selectable: true,
119
+ numberOfLines: 1,
120
+ style: [{
121
+ position: "absolute",
122
+ left: p.position.x,
123
+ top: p.position.y
124
+ }, style]
125
+ }, p.text.string);
126
+ }))];
127
+ };
128
+
129
+ InlineParagraph.propTypes = {
130
+ onLinkPress: _propTypes.default.func.isRequired,
131
+ isTablet: _propTypes.default.bool.isRequired,
132
+ dropCap: _propTypes.default.object.isRequired,
133
+ str: _propTypes.default.object.isRequired,
134
+ scale: _propTypes.default.string.isRequired,
135
+ inline: _propTypes.default.object.isRequired,
136
+ tree: _propTypes.default.object.isRequired,
137
+ key: _propTypes.default.string.isRequired,
138
+ defaultFont: _propTypes.default.object.isRequired,
139
+ LinkComponent: _propTypes.default.func.isRequired
140
+ };
141
+ var _default = InlineParagraph;
142
+ exports.default = _default;
@@ -1 +1,44 @@
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 _styledComponents=_interopRequireDefault(require("styled-components"));var _tsStyleguide=require("@times-components/ts-styleguide");var _caption=_interopRequireDefault(require("@times-components/caption"));var _jsxFileName="/home/circleci/project/packages/article-skeleton/src/article-body/inset-caption.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 InsetCaptionStyle=(0,_styledComponents.default)(_utils.TcView).withConfig({displayName:"inset-caption__InsetCaptionStyle",componentId:"la2hkf-0"})(["padding-left:",";@media (min-width:","px){padding-left:0px;}"],(0,_tsStyleguide.spacing)(2),_tsStyleguide.breakpoints.medium);var InsetCaptionWeb=function InsetCaptionWeb(_ref){var caption=_ref.caption,credits=_ref.credits;return _react.default.createElement(InsetCaptionStyle,{__source:{fileName:_jsxFileName,lineNumber:18,columnNumber:3}},_react.default.createElement(_caption.default,{credits:credits,text:caption,__source:{fileName:_jsxFileName,lineNumber:19,columnNumber:5}}));};InsetCaptionWeb.propTypes=_objectSpread({},_caption.default.propTypes);InsetCaptionWeb.defaultProps=_objectSpread({},_caption.default.defaultProps);var _default=InsetCaptionWeb;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 _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _tsStyleguide = require("@times-components/ts-styleguide");
15
+
16
+ var _caption = _interopRequireDefault(require("@times-components/caption"));
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
+ // SHOULD BE IN STYLES
27
+ const InsetCaptionStyle = (0, _styledComponents.default)(_utils.TcView).withConfig({
28
+ displayName: "inset-caption__InsetCaptionStyle",
29
+ componentId: "la2hkf-0"
30
+ })(["padding-left:", ";@media (min-width:", "px){padding-left:0px;}"], (0, _tsStyleguide.spacing)(2), _tsStyleguide.breakpoints.medium);
31
+
32
+ const InsetCaptionWeb = _ref => {
33
+ let caption = _ref.caption,
34
+ credits = _ref.credits;
35
+ return /*#__PURE__*/_react.default.createElement(InsetCaptionStyle, null, /*#__PURE__*/_react.default.createElement(_caption.default, {
36
+ credits: credits,
37
+ text: caption
38
+ }));
39
+ };
40
+
41
+ InsetCaptionWeb.propTypes = _objectSpread({}, _caption.default.propTypes);
42
+ InsetCaptionWeb.defaultProps = _objectSpread({}, _caption.default.defaultProps);
43
+ var _default = InsetCaptionWeb;
44
+ exports.default = _default;
@@ -1 +1,99 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireDefault(require("react"));var _utils=require("@times-components/utils");var _propTypes=_interopRequireDefault(require("prop-types"));var _articleParagraph=_interopRequireDefault(require("@times-components/article-paragraph"));var _jsxFileName="/home/circleci/project/packages/article-skeleton/src/article-body/simple-paragraph.js";var SimpleParagraph=function SimpleParagraph(_ref){var onLinkPress=_ref.onLinkPress,tree=_ref.tree,key=_ref.key,children=_ref.children,defaultFont=_ref.defaultFont,LinkComponent=_ref.LinkComponent;if(children.length===0){return null;}var lineHeight=defaultFont.lineHeight;return _react.default.createElement(_articleParagraph.default,{ast:tree,key:key,uid:key,__source:{fileName:_jsxFileName,lineNumber:22,columnNumber:5}},_react.default.createElement(_utils.TcText,{allowFontScaling:false,selectable:true,style:{lineHeight:lineHeight},__source:{fileName:_jsxFileName,lineNumber:23,columnNumber:7}},children.map(function(child){return child.splitByDifferenceInAttributes().map(function(nestedChild){var _nestedChild$collapse=nestedChild.collapsedAttributes(0),_nestedChild$collapse2=(0,_slicedToArray2.default)(_nestedChild$collapse,2),attribute=_nestedChild$collapse2[0],href=_nestedChild$collapse2[1];var style=attribute?attribute.settings:defaultFont;var type=href?href.type:null;var canonicalId=href?href.canonicalId:null;if(href){var color=style.color,linkStyle=(0,_objectWithoutProperties2.default)(style,["color"]);return _react.default.createElement(LinkComponent,{url:href,style:linkStyle,onPress:function onPress(e){return onLinkPress(e,{canonicalId:canonicalId,type:type,url:href.href});},__source:{fileName:_jsxFileName,lineNumber:33,columnNumber:17}},nestedChild.string);}return _react.default.createElement(_utils.TcText,{selectable:true,allowFontScaling:false,style:style,__source:{fileName:_jsxFileName,lineNumber:45,columnNumber:15}},nestedChild.string);});})));};SimpleParagraph.propTypes={onLinkPress:_propTypes.default.func.isRequired,tree:_propTypes.default.object.isRequired,key:_propTypes.default.string.isRequired,children:_propTypes.default.node.isRequired,defaultFont:_propTypes.default.object.isRequired,LinkComponent:_propTypes.default.func.isRequired};var _default=SimpleParagraph;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 _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _articleParagraph = _interopRequireDefault(require("@times-components/article-paragraph"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ 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."); }
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ const SimpleParagraph = _ref => {
35
+ let onLinkPress = _ref.onLinkPress,
36
+ tree = _ref.tree,
37
+ key = _ref.key,
38
+ children = _ref.children,
39
+ defaultFont = _ref.defaultFont,
40
+ LinkComponent = _ref.LinkComponent;
41
+
42
+ if (children.length === 0) {
43
+ return null;
44
+ }
45
+
46
+ const lineHeight = defaultFont.lineHeight;
47
+ return /*#__PURE__*/_react.default.createElement(_articleParagraph.default, {
48
+ ast: tree,
49
+ key: key,
50
+ uid: key
51
+ }, /*#__PURE__*/_react.default.createElement(_utils.TcText, {
52
+ allowFontScaling: false,
53
+ selectable: true,
54
+ style: {
55
+ lineHeight
56
+ }
57
+ }, children.map(child => child.splitByDifferenceInAttributes().map(nestedChild => {
58
+ const _nestedChild$collapse = nestedChild.collapsedAttributes(0),
59
+ _nestedChild$collapse2 = _slicedToArray(_nestedChild$collapse, 2),
60
+ attribute = _nestedChild$collapse2[0],
61
+ href = _nestedChild$collapse2[1];
62
+
63
+ const style = attribute ? attribute.settings : defaultFont;
64
+ const type = href ? href.type : null;
65
+ const canonicalId = href ? href.canonicalId : null;
66
+
67
+ if (href) {
68
+ const color = style.color,
69
+ linkStyle = _objectWithoutProperties(style, ["color"]);
70
+
71
+ return /*#__PURE__*/_react.default.createElement(LinkComponent, {
72
+ url: href,
73
+ style: linkStyle,
74
+ onPress: e => onLinkPress(e, {
75
+ canonicalId,
76
+ type,
77
+ url: href.href
78
+ })
79
+ }, nestedChild.string);
80
+ }
81
+
82
+ return /*#__PURE__*/_react.default.createElement(_utils.TcText, {
83
+ selectable: true,
84
+ allowFontScaling: false,
85
+ style: style
86
+ }, nestedChild.string);
87
+ }))));
88
+ };
89
+
90
+ SimpleParagraph.propTypes = {
91
+ onLinkPress: _propTypes.default.func.isRequired,
92
+ tree: _propTypes.default.object.isRequired,
93
+ key: _propTypes.default.string.isRequired,
94
+ children: _propTypes.default.node.isRequired,
95
+ defaultFont: _propTypes.default.object.isRequired,
96
+ LinkComponent: _propTypes.default.func.isRequired
97
+ };
98
+ var _default = SimpleParagraph;
99
+ exports.default = _default;
@@ -1 +1,38 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.articleSkeletonDefaultProps=exports.articleSkeletonPropTypes=void 0;var _propTypes=_interopRequireDefault(require("prop-types"));var articleSkeletonPropTypes={adConfig:_propTypes.default.shape({}),analyticsStream:_propTypes.default.func.isRequired,data:_propTypes.default.shape({}),Header:_propTypes.default.func.isRequired,navigationMode:_propTypes.default.shape({}),receiveChildList:_propTypes.default.func,commentingConfig:_propTypes.default.shape({accounts:_propTypes.default.shape({current:_propTypes.default.string.isRequired,readOnly:_propTypes.default.string.isRequired}),switchOver:_propTypes.default.string.isRequired}).isRequired,swgProductId:_propTypes.default.string};exports.articleSkeletonPropTypes=articleSkeletonPropTypes;var articleSkeletonDefaultProps={adConfig:{},data:{content:[]},Header:function Header(){return null;},receiveChildList:function receiveChildList(){},swgProductId:null};exports.articleSkeletonDefaultProps=articleSkeletonDefaultProps;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.articleSkeletonDefaultProps = exports.articleSkeletonPropTypes = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const articleSkeletonPropTypes = {
13
+ adConfig: _propTypes.default.shape({}),
14
+ analyticsStream: _propTypes.default.func.isRequired,
15
+ data: _propTypes.default.shape({}),
16
+ Header: _propTypes.default.func.isRequired,
17
+ navigationMode: _propTypes.default.shape({}),
18
+ receiveChildList: _propTypes.default.func,
19
+ commentingConfig: _propTypes.default.shape({
20
+ accounts: _propTypes.default.shape({
21
+ current: _propTypes.default.string.isRequired,
22
+ readOnly: _propTypes.default.string.isRequired
23
+ }),
24
+ switchOver: _propTypes.default.string.isRequired
25
+ }).isRequired,
26
+ swgProductId: _propTypes.default.string
27
+ };
28
+ exports.articleSkeletonPropTypes = articleSkeletonPropTypes;
29
+ const articleSkeletonDefaultProps = {
30
+ adConfig: {},
31
+ data: {
32
+ content: []
33
+ },
34
+ Header: () => null,
35
+ receiveChildList: () => {},
36
+ swgProductId: null
37
+ };
38
+ exports.articleSkeletonDefaultProps = articleSkeletonDefaultProps;