@times-components/article-comments 0.28.1 → 0.29.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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
+ # [0.29.0](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.28.1...@times-components/article-comments@0.29.0) (2022-08-18)
7
+
8
+
9
+ ### Features
10
+
11
+ * **TDP-1712:** remove react-native foreverrrrr ([#3064](https://github.com/newsuk/times-components/issues/3064)) ([2a20cb5](https://github.com/newsuk/times-components/commit/2a20cb5abc10a4e7ca2d62487967f8fcf4eccb62)), closes [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3050](https://github.com/newsuk/times-components/issues/3050) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3057](https://github.com/newsuk/times-components/issues/3057) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3065](https://github.com/newsuk/times-components/issues/3065) [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3069](https://github.com/newsuk/times-components/issues/3069) [#3068](https://github.com/newsuk/times-components/issues/3068) [#3070](https://github.com/newsuk/times-components/issues/3070) [#3072](https://github.com/newsuk/times-components/issues/3072) [#3073](https://github.com/newsuk/times-components/issues/3073) [#3071](https://github.com/newsuk/times-components/issues/3071) [#3074](https://github.com/newsuk/times-components/issues/3074) [#3076](https://github.com/newsuk/times-components/issues/3076) [#3079](https://github.com/newsuk/times-components/issues/3079) [#3078](https://github.com/newsuk/times-components/issues/3078) [#3083](https://github.com/newsuk/times-components/issues/3083) [#3087](https://github.com/newsuk/times-components/issues/3087) [#3091](https://github.com/newsuk/times-components/issues/3091) [#3096](https://github.com/newsuk/times-components/issues/3096) [#3102](https://github.com/newsuk/times-components/issues/3102) [#3105](https://github.com/newsuk/times-components/issues/3105) [#3108](https://github.com/newsuk/times-components/issues/3108) [#3111](https://github.com/newsuk/times-components/issues/3111) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3113](https://github.com/newsuk/times-components/issues/3113) [#3114](https://github.com/newsuk/times-components/issues/3114) [#3120](https://github.com/newsuk/times-components/issues/3120) [#3119](https://github.com/newsuk/times-components/issues/3119) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3127](https://github.com/newsuk/times-components/issues/3127) [#3116](https://github.com/newsuk/times-components/issues/3116) [#3128](https://github.com/newsuk/times-components/issues/3128) [#3132](https://github.com/newsuk/times-components/issues/3132) [#3133](https://github.com/newsuk/times-components/issues/3133)
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.28.1](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.28.0...@times-components/article-comments@0.28.1) (2022-08-15)
7
18
 
8
19
  **Note:** Version bump only for package @times-components/article-comments
package/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Article Comments
2
2
 
3
- This package provides a comment component for all platforms. The Android & iOS
4
- variants have their own provider within the package so they can retrieve comment
5
- counts independently from the parent article.
3
+ This package provides a comment component for all platforms.
6
4
 
7
5
  ## Contributing
8
6
 
package/babel.config.js CHANGED
@@ -3,8 +3,19 @@ module.exports = api => {
3
3
  return {
4
4
  plugins: [
5
5
  "babel-plugin-styled-components",
6
- "@babel/plugin-transform-react-display-name"
6
+ "@babel/plugin-proposal-export-default-from"
7
7
  ],
8
- presets: ["module:metro-react-native-babel-preset"]
8
+ presets: [
9
+ [
10
+ "@babel/preset-env",
11
+ {
12
+ targets: {
13
+ esmodules: true
14
+ }
15
+ }
16
+ ],
17
+ "@babel/preset-react",
18
+ "@babel/preset-typescript"
19
+ ]
9
20
  };
10
21
  };
@@ -1 +1,63 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _userState=_interopRequireDefault(require("@times-components/user-state"));var _tsComponents=require("@times-components/ts-components");var _comments=_interopRequireDefault(require("./comments"));var _disabledComments=_interopRequireDefault(require("./disabled-comments"));var _responsive=require("./styles/responsive");var _joinTheConversationDialog=_interopRequireDefault(require("./join-the-conversation-dialog"));var _jsxFileName="/home/circleci/project/packages/article-comments/src/article-comments.js";var ArticleComments=function ArticleComments(_ref){var articleId=_ref.articleId,publishedTime=_ref.publishedTime,isEnabled=_ref.isEnabled,isReadOnly=_ref.isReadOnly,commentingConfig=_ref.commentingConfig;return isEnabled?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_userState.default,{state:_userState.default.metered,__source:{fileName:_jsxFileName,lineNumber:21,columnNumber:7}},_react.default.createElement(_joinTheConversationDialog.default,{__source:{fileName:_jsxFileName,lineNumber:22,columnNumber:9}})),_react.default.createElement(_userState.default,{state:_userState.default.subscriber,__source:{fileName:_jsxFileName,lineNumber:24,columnNumber:7}},_react.default.createElement(_responsive.CommentContainer,{__source:{fileName:_jsxFileName,lineNumber:25,columnNumber:9}},_react.default.createElement(_tsComponents.HiddenDiv,{className:"comment-banner",__source:{fileName:_jsxFileName,lineNumber:26,columnNumber:11}})),_react.default.createElement(_comments.default,{articleId:articleId,publishedTime:publishedTime,isReadOnly:isReadOnly,commentingConfig:commentingConfig,__source:{fileName:_jsxFileName,lineNumber:36,columnNumber:9}}))):_react.default.createElement(_disabledComments.default,{__source:{fileName:_jsxFileName,lineNumber:45,columnNumber:5}});};ArticleComments.propTypes={articleId:_propTypes.default.string.isRequired,publishedTime:_propTypes.default.string.isRequired,isEnabled:_propTypes.default.bool.isRequired,isReadOnly:_propTypes.default.bool,commentingConfig:_propTypes.default.shape({accounts:_propTypes.default.shape({current:_propTypes.default.string.isRequired,readOnly:_propTypes.default.string.isRequired}),switchOver:_propTypes.default.string.isRequired}).isRequired};ArticleComments.defaultProps={isReadOnly:false};var _default=ArticleComments;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 _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _userState = _interopRequireDefault(require("@times-components/user-state"));
13
+
14
+ var _tsComponents = require("@times-components/ts-components");
15
+
16
+ var _comments = _interopRequireDefault(require("./comments"));
17
+
18
+ var _disabledComments = _interopRequireDefault(require("./disabled-comments"));
19
+
20
+ var _responsive = require("./styles/responsive");
21
+
22
+ var _joinTheConversationDialog = _interopRequireDefault(require("./join-the-conversation-dialog"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ const ArticleComments = _ref => {
27
+ let articleId = _ref.articleId,
28
+ publishedTime = _ref.publishedTime,
29
+ isEnabled = _ref.isEnabled,
30
+ isReadOnly = _ref.isReadOnly,
31
+ commentingConfig = _ref.commentingConfig;
32
+ return isEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_userState.default, {
33
+ state: _userState.default.metered
34
+ }, /*#__PURE__*/_react.default.createElement(_joinTheConversationDialog.default, null)), /*#__PURE__*/_react.default.createElement(_userState.default, {
35
+ state: _userState.default.subscriber
36
+ }, /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, null, /*#__PURE__*/_react.default.createElement(_tsComponents.HiddenDiv, {
37
+ className: "comment-banner"
38
+ })), /*#__PURE__*/_react.default.createElement(_comments.default, {
39
+ articleId: articleId,
40
+ publishedTime: publishedTime,
41
+ isReadOnly: isReadOnly,
42
+ commentingConfig: commentingConfig
43
+ }))) : /*#__PURE__*/_react.default.createElement(_disabledComments.default, null);
44
+ };
45
+
46
+ ArticleComments.propTypes = {
47
+ articleId: _propTypes.default.string.isRequired,
48
+ publishedTime: _propTypes.default.string.isRequired,
49
+ isEnabled: _propTypes.default.bool.isRequired,
50
+ isReadOnly: _propTypes.default.bool,
51
+ commentingConfig: _propTypes.default.shape({
52
+ accounts: _propTypes.default.shape({
53
+ current: _propTypes.default.string.isRequired,
54
+ readOnly: _propTypes.default.string.isRequired
55
+ }),
56
+ switchOver: _propTypes.default.string.isRequired
57
+ }).isRequired
58
+ };
59
+ ArticleComments.defaultProps = {
60
+ isReadOnly: false
61
+ };
62
+ var _default = ArticleComments;
63
+ exports.default = _default;
@@ -1 +1,37 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.ssoCallback=void 0;var loginRequest=function loginRequest(url,completeSSOCallback){var xhr=new XMLHttpRequest();xhr.addEventListener("load",function(){var success=xhr.status===200;var _ref=success?JSON.parse(xhr.response):{},spotimCodeB=_ref.spotimCodeB;if(spotimCodeB){completeSSOCallback(spotimCodeB);}});xhr.open("GET",url);xhr.send();};var ssoCallback=function ssoCallback(codeA,completeSSOCallback){return loginRequest("/api/comments/loginv2?codeA="+encodeURIComponent(codeA),completeSSOCallback);};exports.ssoCallback=ssoCallback;var executeSSOtransaction=function executeSSOtransaction(callback){if(window.SPOTIM&&window.SPOTIM.startSSO){window.SPOTIM.startSSO(ssoCallback);callback();}};var _default=executeSSOtransaction;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ssoCallback = void 0;
7
+
8
+ /* eslint-env browser */
9
+ const loginRequest = (url, completeSSOCallback) => {
10
+ const xhr = new XMLHttpRequest();
11
+ xhr.addEventListener("load", () => {
12
+ const success = xhr.status === 200;
13
+
14
+ const _ref = success ? JSON.parse(xhr.response) : {},
15
+ spotimCodeB = _ref.spotimCodeB;
16
+
17
+ if (spotimCodeB) {
18
+ completeSSOCallback(spotimCodeB);
19
+ }
20
+ });
21
+ xhr.open("GET", url);
22
+ xhr.send();
23
+ };
24
+
25
+ const ssoCallback = (codeA, completeSSOCallback) => loginRequest("/api/comments/loginv2?codeA=".concat(encodeURIComponent(codeA)), completeSSOCallback);
26
+
27
+ exports.ssoCallback = ssoCallback;
28
+
29
+ const executeSSOtransaction = callback => {
30
+ if (window.SPOTIM && window.SPOTIM.startSSO) {
31
+ window.SPOTIM.startSSO(ssoCallback);
32
+ callback();
33
+ }
34
+ };
35
+
36
+ var _default = executeSSOtransaction;
37
+ exports.default = _default;
package/dist/comments.js CHANGED
@@ -1 +1,265 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _react=_interopRequireWildcard(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _responsive=require("./styles/responsive");var _commentLogin=_interopRequireDefault(require("./comment-login"));var _withTrackEvents=_interopRequireDefault(require("./tracking/with-track-events"));var _utils=require("./utils");var _jsxFileName="/home/circleci/project/packages/article-comments/src/comments.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 _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2.default)(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2.default)(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2.default)(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var Comments=function(_Component){(0,_inherits2.default)(Comments,_Component);var _super=_createSuper(Comments);function Comments(){var _this;(0,_classCallCheck2.default)(this,Comments);_this=_super.call(this);_this.container=null;return _this;}(0,_createClass2.default)(Comments,[{key:"componentDidMount",value:function componentDidMount(){this.initialiseComments();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.disposeComments();}},{key:"initialiseComments",value:function initialiseComments(){var _this$props=this.props,articleId=_this$props.articleId,isReadOnly=_this$props.isReadOnly,publishedTime=_this$props.publishedTime,commentingConfig=_this$props.commentingConfig,onCommentStart=_this$props.onCommentStart,onCommentPost=_this$props.onCommentPost,onCommentNotification=_this$props.onCommentNotification,onCommentFilterNewest=_this$props.onCommentFilterNewest,onCommentFilterMostRecommended=_this$props.onCommentFilterMostRecommended,onCommentFilterOldest=_this$props.onCommentFilterOldest,onCommentReplyClick=_this$props.onCommentReplyClick,onCommentShareLink=_this$props.onCommentShareLink,onCommentShareTwitter=_this$props.onCommentShareTwitter,onCommentShareEmail=_this$props.onCommentShareEmail,onCommentShareFacebook=_this$props.onCommentShareFacebook,onCommentRecommend=_this$props.onCommentRecommend,onCommentNotificationClicked=_this$props.onCommentNotificationClicked,onCommentUsernameClicked=_this$props.onCommentUsernameClicked,onCommentSettingsClicked=_this$props.onCommentSettingsClicked;if(!this.container||!articleId||!commentingConfig){return;}var getFilterEvent=function getFilterEvent(event){switch(event.detail.sortedBy){case"best":return onCommentFilterMostRecommended(event);case"oldest":return onCommentFilterOldest(event);case"newest":return onCommentFilterNewest(event);default:return null;}};var getShareEvent=function getShareEvent(event){switch(event.detail.type){case"link":return onCommentShareLink(event);case"email":return onCommentShareEmail(event);case"twitter":return onCommentShareTwitter(event);case"facebook":return onCommentShareFacebook(event);default:return null;}};var spotAccountId=commentingConfig.account.readOnly;if(commentingConfig&&commentingConfig.switchOver){var switchOverDate=commentingConfig.switchOver;if(publishedTime>switchOverDate){spotAccountId=commentingConfig.account.current;}}var isFeatureFlagEnabled=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",function _callee(event){var displayName,shouldShowBanner;return _regenerator.default.async(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:onCommentStart(event);if(!isFeatureFlagEnabled){_context.next=9;break;}displayName=(0,_utils.getDisplayNameFromLocalStorage)();if(displayName){_context.next=5;break;}return _context.abrupt("return");case 5:_context.next=7;return _regenerator.default.awrap((0,_utils.userShouldUpdateName)(displayName));case 7:shouldShowBanner=_context.sent;if(shouldShowBanner){window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}));}case 9:case"end":return _context.stop();}}},null,null,null,Promise);},{once:true});document.addEventListener("spot-im-current-user-sent-message",onCommentPost);document.addEventListener("spot-im-notification-drop-down-link",onCommentNotification);document.addEventListener("spot-im-user-up-vote-click",onCommentRecommend);document.addEventListener("spot-im-sort-by-select",function(event){return getFilterEvent(event);});document.addEventListener("spot-im-user-clicked-reply",onCommentReplyClick);document.addEventListener("spot-im-clicked-settings",onCommentSettingsClicked);document.addEventListener("spot-im-user-notifications-click",onCommentNotificationClicked);document.addEventListener("spot-im-open-user-profile",onCommentUsernameClicked);document.addEventListener("spot-im-share-type",function(event){return getShareEvent(event);});if(!isReadOnly){if(window.SPOTIM&&window.SPOTIM.startSSO){(0,_commentLogin.default)(function(){});}else{document.addEventListener("spot-im-api-ready",function(){(0,_commentLogin.default)(function(){});});}}var launcherScript=document.createElement("script");launcherScript.setAttribute("async","async");launcherScript.setAttribute("src","https://launcher.spot.im/spot/"+spotAccountId);launcherScript.setAttribute("data-spotim-module","spotim-launcher");launcherScript.setAttribute("data-post-id",articleId);launcherScript.setAttribute("data-post-url","https://www.thetimes.co.uk/article/"+articleId);launcherScript.setAttribute("data-seo-enabled",true);launcherScript.setAttribute("data-livefyre-url",articleId);this.container.appendChild(launcherScript);}},{key:"disposeComments",value:function disposeComments(){if(this.container){this.container.innerHTML="";}}},{key:"render",value:function render(){var _this2=this;var _this$props2=this.props,onCommentStart=_this$props2.onCommentStart,onCommentPost=_this$props2.onCommentPost,onCommentNotification=_this$props2.onCommentNotification,onCommentFilterNewest=_this$props2.onCommentFilterNewest,onCommentFilterMostRecommended=_this$props2.onCommentFilterMostRecommended,onCommentFilterOldest=_this$props2.onCommentFilterOldest,onCommentReplyClick=_this$props2.onCommentReplyClick,onCommentShareLink=_this$props2.onCommentShareLink,onCommentShareTwitter=_this$props2.onCommentShareTwitter,onCommentShareEmail=_this$props2.onCommentShareEmail,onCommentShareFacebook=_this$props2.onCommentShareFacebook,onCommentRecommend=_this$props2.onCommentRecommend,onCommentNotificationClicked=_this$props2.onCommentNotificationClicked,onCommentUsernameClicked=_this$props2.onCommentUsernameClicked,onCommentSettingsClicked=_this$props2.onCommentSettingsClicked;return _react.default.createElement(_responsive.CommentContainer,{id:"comments-container",onCommentStart:onCommentStart,onCommentPost:onCommentPost,onCommentNotification:onCommentNotification,onCommentReplyClick:onCommentReplyClick,onCommentFilterNewest:onCommentFilterNewest,onCommentFilterMostRecommended:onCommentFilterMostRecommended,onCommentFilterOldest:onCommentFilterOldest,onCommentShareLink:onCommentShareLink,onCommentShareTwitter:onCommentShareTwitter,onCommentShareEmail:onCommentShareEmail,onCommentShareFacebook:onCommentShareFacebook,onCommentRecommend:onCommentRecommend,onCommentNotificationClicked:onCommentNotificationClicked,onCommentUsernameClicked:onCommentUsernameClicked,onCommentSettingsClicked:onCommentSettingsClicked,__source:{fileName:_jsxFileName,lineNumber:199,columnNumber:7}},_react.default.createElement("div",{ref:function ref(el){_this2.container=el;},__source:{fileName:_jsxFileName,lineNumber:217,columnNumber:9}}));}}]);return Comments;}(_react.Component);Comments.propTypes={articleId:_propTypes.default.string.isRequired,isReadOnly:_propTypes.default.bool.isRequired,commentingConfig:_propTypes.default.shape({accounts:_propTypes.default.shape({current:_propTypes.default.string.isRequired,readOnly:_propTypes.default.string.isRequired}),switchOver:_propTypes.default.string.isRequired}).isRequired,publishedTime:_propTypes.default.string.isRequired,onCommentStart:_propTypes.default.func,onCommentPost:_propTypes.default.func,onCommentNotification:_propTypes.default.func,onCommentFilterNewest:_propTypes.default.func,onCommentFilterMostRecommended:_propTypes.default.func,onCommentFilterOldest:_propTypes.default.func,onCommentReplyClick:_propTypes.default.func,onCommentShareLink:_propTypes.default.func,onCommentShareTwitter:_propTypes.default.func,onCommentShareEmail:_propTypes.default.func,onCommentShareFacebook:_propTypes.default.func,onCommentRecommend:_propTypes.default.func,onCommentNotificationClicked:_propTypes.default.func,onCommentUsernameClicked:_propTypes.default.func,onCommentSettingsClicked:_propTypes.default.func};Comments.defaultProps={onCommentStart:function onCommentStart(){},onCommentPost:function onCommentPost(){},onCommentNotification:function onCommentNotification(){},onCommentReplyClick:function onCommentReplyClick(){},onCommentFilterNewest:function onCommentFilterNewest(){},onCommentFilterMostRecommended:function onCommentFilterMostRecommended(){},onCommentFilterOldest:function onCommentFilterOldest(){},onCommentShareLink:function onCommentShareLink(){},onCommentShareTwitter:function onCommentShareTwitter(){},onCommentShareEmail:function onCommentShareEmail(){},onCommentShareFacebook:function onCommentShareFacebook(){},onCommentRecommend:function onCommentRecommend(){},onCommentNotificationClicked:function onCommentNotificationClicked(){},onCommentUsernameClicked:function onCommentUsernameClicked(){},onCommentSettingsClicked:function onCommentSettingsClicked(){}};var _default=(0,_withTrackEvents.default)(Comments);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 = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _responsive = require("./styles/responsive");
13
+
14
+ var _commentLogin = _interopRequireDefault(require("./comment-login"));
15
+
16
+ var _withTrackEvents = _interopRequireDefault(require("./tracking/with-track-events"));
17
+
18
+ var _utils = require("./utils");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
27
+
28
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29
+
30
+ class Comments extends _react.Component {
31
+ constructor() {
32
+ super();
33
+ this.container = null;
34
+ }
35
+
36
+ componentDidMount() {
37
+ this.initialiseComments();
38
+ }
39
+
40
+ componentWillUnmount() {
41
+ this.disposeComments();
42
+ }
43
+
44
+ initialiseComments() {
45
+ const _this$props = this.props,
46
+ articleId = _this$props.articleId,
47
+ isReadOnly = _this$props.isReadOnly,
48
+ publishedTime = _this$props.publishedTime,
49
+ commentingConfig = _this$props.commentingConfig,
50
+ onCommentStart = _this$props.onCommentStart,
51
+ onCommentPost = _this$props.onCommentPost,
52
+ onCommentNotification = _this$props.onCommentNotification,
53
+ onCommentFilterNewest = _this$props.onCommentFilterNewest,
54
+ onCommentFilterMostRecommended = _this$props.onCommentFilterMostRecommended,
55
+ onCommentFilterOldest = _this$props.onCommentFilterOldest,
56
+ onCommentReplyClick = _this$props.onCommentReplyClick,
57
+ onCommentShareLink = _this$props.onCommentShareLink,
58
+ onCommentShareTwitter = _this$props.onCommentShareTwitter,
59
+ onCommentShareEmail = _this$props.onCommentShareEmail,
60
+ onCommentShareFacebook = _this$props.onCommentShareFacebook,
61
+ onCommentRecommend = _this$props.onCommentRecommend,
62
+ onCommentNotificationClicked = _this$props.onCommentNotificationClicked,
63
+ onCommentUsernameClicked = _this$props.onCommentUsernameClicked,
64
+ onCommentSettingsClicked = _this$props.onCommentSettingsClicked;
65
+
66
+ if (!this.container || !articleId || !commentingConfig) {
67
+ return;
68
+ }
69
+
70
+ const getFilterEvent = event => {
71
+ switch (event.detail.sortedBy) {
72
+ case "best":
73
+ return onCommentFilterMostRecommended(event);
74
+
75
+ case "oldest":
76
+ return onCommentFilterOldest(event);
77
+
78
+ case "newest":
79
+ return onCommentFilterNewest(event);
80
+
81
+ default:
82
+ return null;
83
+ }
84
+ };
85
+
86
+ const getShareEvent = event => {
87
+ switch (event.detail.type) {
88
+ case "link":
89
+ return onCommentShareLink(event);
90
+
91
+ case "email":
92
+ return onCommentShareEmail(event);
93
+
94
+ case "twitter":
95
+ return onCommentShareTwitter(event);
96
+
97
+ case "facebook":
98
+ return onCommentShareFacebook(event);
99
+
100
+ default:
101
+ return null;
102
+ }
103
+ };
104
+
105
+ let spotAccountId = commentingConfig.account.readOnly;
106
+
107
+ if (commentingConfig && commentingConfig.switchOver) {
108
+ const switchOverDate = commentingConfig.switchOver;
109
+
110
+ if (publishedTime > switchOverDate) {
111
+ spotAccountId = commentingConfig.account.current;
112
+ }
113
+ }
114
+
115
+ const isFeatureFlagEnabled = window.location.search.includes("enableRealNameCommenting");
116
+ document.addEventListener("spot-im-current-user-typing-start", /*#__PURE__*/function () {
117
+ var _ref = _asyncToGenerator(function* (event) {
118
+ onCommentStart(event);
119
+
120
+ if (isFeatureFlagEnabled) {
121
+ const displayName = (0, _utils.getDisplayNameFromLocalStorage)();
122
+ if (!displayName) return;
123
+ const shouldShowBanner = yield (0, _utils.userShouldUpdateName)(displayName);
124
+
125
+ if (shouldShowBanner) {
126
+ window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER", {}));
127
+ }
128
+ }
129
+ });
130
+
131
+ return function (_x) {
132
+ return _ref.apply(this, arguments);
133
+ };
134
+ }(), {
135
+ once: true
136
+ });
137
+ document.addEventListener("spot-im-current-user-sent-message", onCommentPost);
138
+ document.addEventListener("spot-im-notification-drop-down-link", onCommentNotification);
139
+ document.addEventListener("spot-im-user-up-vote-click", onCommentRecommend);
140
+ document.addEventListener("spot-im-sort-by-select", event => getFilterEvent(event));
141
+ document.addEventListener("spot-im-user-clicked-reply", onCommentReplyClick);
142
+ document.addEventListener("spot-im-clicked-settings", onCommentSettingsClicked);
143
+ document.addEventListener("spot-im-user-notifications-click", onCommentNotificationClicked);
144
+ document.addEventListener("spot-im-open-user-profile", onCommentUsernameClicked);
145
+ document.addEventListener("spot-im-share-type", event => getShareEvent(event));
146
+
147
+ if (!isReadOnly) {
148
+ if (window.SPOTIM && window.SPOTIM.startSSO) {
149
+ (0, _commentLogin.default)(() => {});
150
+ } else {
151
+ document.addEventListener("spot-im-api-ready", () => {
152
+ (0, _commentLogin.default)(() => {});
153
+ });
154
+ }
155
+ }
156
+
157
+ const launcherScript = document.createElement("script");
158
+ launcherScript.setAttribute("async", "async");
159
+ launcherScript.setAttribute("src", "https://launcher.spot.im/spot/".concat(spotAccountId));
160
+ launcherScript.setAttribute("data-spotim-module", "spotim-launcher");
161
+ launcherScript.setAttribute("data-post-id", articleId);
162
+ launcherScript.setAttribute("data-post-url", "https://www.thetimes.co.uk/article/".concat(articleId));
163
+ launcherScript.setAttribute("data-seo-enabled", true);
164
+ launcherScript.setAttribute("data-livefyre-url", articleId);
165
+ this.container.appendChild(launcherScript);
166
+ }
167
+
168
+ disposeComments() {
169
+ if (this.container) {
170
+ this.container.innerHTML = "";
171
+ }
172
+ }
173
+
174
+ render() {
175
+ const _this$props2 = this.props,
176
+ onCommentStart = _this$props2.onCommentStart,
177
+ onCommentPost = _this$props2.onCommentPost,
178
+ onCommentNotification = _this$props2.onCommentNotification,
179
+ onCommentFilterNewest = _this$props2.onCommentFilterNewest,
180
+ onCommentFilterMostRecommended = _this$props2.onCommentFilterMostRecommended,
181
+ onCommentFilterOldest = _this$props2.onCommentFilterOldest,
182
+ onCommentReplyClick = _this$props2.onCommentReplyClick,
183
+ onCommentShareLink = _this$props2.onCommentShareLink,
184
+ onCommentShareTwitter = _this$props2.onCommentShareTwitter,
185
+ onCommentShareEmail = _this$props2.onCommentShareEmail,
186
+ onCommentShareFacebook = _this$props2.onCommentShareFacebook,
187
+ onCommentRecommend = _this$props2.onCommentRecommend,
188
+ onCommentNotificationClicked = _this$props2.onCommentNotificationClicked,
189
+ onCommentUsernameClicked = _this$props2.onCommentUsernameClicked,
190
+ onCommentSettingsClicked = _this$props2.onCommentSettingsClicked;
191
+ return /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, {
192
+ id: "comments-container",
193
+ onCommentStart: onCommentStart,
194
+ onCommentPost: onCommentPost,
195
+ onCommentNotification: onCommentNotification,
196
+ onCommentReplyClick: onCommentReplyClick,
197
+ onCommentFilterNewest: onCommentFilterNewest,
198
+ onCommentFilterMostRecommended: onCommentFilterMostRecommended,
199
+ onCommentFilterOldest: onCommentFilterOldest,
200
+ onCommentShareLink: onCommentShareLink,
201
+ onCommentShareTwitter: onCommentShareTwitter,
202
+ onCommentShareEmail: onCommentShareEmail,
203
+ onCommentShareFacebook: onCommentShareFacebook,
204
+ onCommentRecommend: onCommentRecommend,
205
+ onCommentNotificationClicked: onCommentNotificationClicked,
206
+ onCommentUsernameClicked: onCommentUsernameClicked,
207
+ onCommentSettingsClicked: onCommentSettingsClicked
208
+ }, /*#__PURE__*/_react.default.createElement("div", {
209
+ ref: el => {
210
+ this.container = el;
211
+ }
212
+ }));
213
+ }
214
+
215
+ }
216
+
217
+ Comments.propTypes = {
218
+ articleId: _propTypes.default.string.isRequired,
219
+ isReadOnly: _propTypes.default.bool.isRequired,
220
+ commentingConfig: _propTypes.default.shape({
221
+ accounts: _propTypes.default.shape({
222
+ current: _propTypes.default.string.isRequired,
223
+ readOnly: _propTypes.default.string.isRequired
224
+ }),
225
+ switchOver: _propTypes.default.string.isRequired
226
+ }).isRequired,
227
+ publishedTime: _propTypes.default.string.isRequired,
228
+ onCommentStart: _propTypes.default.func,
229
+ onCommentPost: _propTypes.default.func,
230
+ onCommentNotification: _propTypes.default.func,
231
+ onCommentFilterNewest: _propTypes.default.func,
232
+ onCommentFilterMostRecommended: _propTypes.default.func,
233
+ onCommentFilterOldest: _propTypes.default.func,
234
+ onCommentReplyClick: _propTypes.default.func,
235
+ onCommentShareLink: _propTypes.default.func,
236
+ onCommentShareTwitter: _propTypes.default.func,
237
+ onCommentShareEmail: _propTypes.default.func,
238
+ onCommentShareFacebook: _propTypes.default.func,
239
+ onCommentRecommend: _propTypes.default.func,
240
+ onCommentNotificationClicked: _propTypes.default.func,
241
+ onCommentUsernameClicked: _propTypes.default.func,
242
+ onCommentSettingsClicked: _propTypes.default.func
243
+ }; // onCommentStart and onCommentPost are added as props in order to allow this events to be tracked by analytics.
244
+
245
+ Comments.defaultProps = {
246
+ onCommentStart: () => {},
247
+ onCommentPost: () => {},
248
+ onCommentNotification: () => {},
249
+ onCommentReplyClick: () => {},
250
+ onCommentFilterNewest: () => {},
251
+ onCommentFilterMostRecommended: () => {},
252
+ onCommentFilterOldest: () => {},
253
+ onCommentShareLink: () => {},
254
+ onCommentShareTwitter: () => {},
255
+ onCommentShareEmail: () => {},
256
+ onCommentShareFacebook: () => {},
257
+ onCommentRecommend: () => {},
258
+ onCommentNotificationClicked: () => {},
259
+ onCommentUsernameClicked: () => {},
260
+ onCommentSettingsClicked: () => {}
261
+ };
262
+
263
+ var _default = (0, _withTrackEvents.default)(Comments);
264
+
265
+ exports.default = _default;
@@ -1 +1,24 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _link=require("@times-components/link");var _responsive=require("./styles/responsive");var _styles=_interopRequireDefault(require("./styles"));var _jsxFileName="/home/circleci/project/packages/article-comments/src/disabled-comments.js";var DisabledComments=function DisabledComments(){return _react.default.createElement(_responsive.CommentContainer,{__source:{fileName:_jsxFileName,lineNumber:11,columnNumber:3}},_react.default.createElement(_responsive.CommentDisabledHeadline,{__source:{fileName:_jsxFileName,lineNumber:12,columnNumber:5}},"Comments for this article have been turned off"),_react.default.createElement(_responsive.CommentDisabledGuidelines,{__source:{fileName:_jsxFileName,lineNumber:15,columnNumber:5}},"Comments are subject to our community guidelines, which can be viewed"," ",_react.default.createElement(_link.TextLink,{style:_styles.default.link,url:"https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32",__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:7}},"here"),"."));};var _default=DisabledComments;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 = require("@times-components/link");
11
+
12
+ var _responsive = require("./styles/responsive");
13
+
14
+ var _styles = _interopRequireDefault(require("./styles"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const DisabledComments = () => /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, null, /*#__PURE__*/_react.default.createElement(_responsive.CommentDisabledHeadline, null, "Comments for this article have been turned off"), /*#__PURE__*/_react.default.createElement(_responsive.CommentDisabledGuidelines, null, "Comments are subject to our community guidelines, which can be viewed", " ", /*#__PURE__*/_react.default.createElement(_link.TextLink, {
19
+ style: _styles.default.link,
20
+ url: "https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"
21
+ }, "here"), "."));
22
+
23
+ var _default = DisabledComments;
24
+ exports.default = _default;
@@ -1 +1,30 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=JoinTheConversationDialog;var _react=_interopRequireDefault(require("react"));var _tsComponents=require("@times-components/ts-components");var _utils=_interopRequireDefault(require("./utils"));var _jsxFileName="/home/circleci/project/packages/article-comments/src/join-the-conversation-dialog.js";function JoinTheConversationDialog(){var _window$nuk,_window$nuk$user;var isLightPackUser=(_window$nuk=window.nuk)==null?void 0:(_window$nuk$user=_window$nuk.user)==null?void 0:_window$nuk$user.isLightPackUser;var href=isLightPackUser?null:(0,_utils.default)();var onClick=isLightPackUser?function(){return document&&document.dispatchEvent(new Event("show::upgrade::modal"));}:null;return _react.default.createElement(_tsComponents.InlineDialog,{title:"Join the conversation",buttonText:"View offers",href:href,onClick:onClick,__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:5}},"Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.");}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = JoinTheConversationDialog;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _tsComponents = require("@times-components/ts-components");
11
+
12
+ var _utils = _interopRequireDefault(require("./utils"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /* eslint-env browser */
17
+ function JoinTheConversationDialog() {
18
+ const isLightPackUser = window.nuk && window.nuk.user && window.nuk.user.isLightPackUser;
19
+ const href = isLightPackUser ? null : (0, _utils.default)(); // temp solution until the modal is moved out to a proper UI repo
20
+ // this event triggers cps-content-render/packages/components-global/src/FreeArticlePromotion/FreeArticleBottomBanner/FreeArticleBottomBanner.tsx
21
+ // todo: remove this event dispatching and implement the modal from the shared UI component repo
22
+
23
+ const onClick = isLightPackUser ? () => document && document.dispatchEvent(new Event("show::upgrade::modal")) : null;
24
+ return /*#__PURE__*/_react.default.createElement(_tsComponents.InlineDialog, {
25
+ title: "Join the conversation",
26
+ buttonText: "View offers",
27
+ href: href,
28
+ onClick: onClick
29
+ }, "Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.");
30
+ }
@@ -1 +1,28 @@
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 _tsStyleguide=require("@times-components/ts-styleguide");var _shared=_interopRequireDefault(require("./shared"));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 styles=_objectSpread(_objectSpread({},_shared.default),{},{link:_objectSpread(_objectSpread({},_shared.default.link),{},{fontFamily:_tsStyleguide.fonts.supporting,fontSize:_tsStyleguide.fontSizes.commentsGuidelines})});var _default=styles;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _tsStyleguide = require("@times-components/ts-styleguide");
9
+
10
+ var _shared = _interopRequireDefault(require("./shared"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ 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; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ const styles = _objectSpread(_objectSpread({}, _shared.default), {}, {
21
+ link: _objectSpread(_objectSpread({}, _shared.default.link), {}, {
22
+ fontFamily: _tsStyleguide.fonts.supporting,
23
+ fontSize: _tsStyleguide.fontSizes.commentsGuidelines
24
+ })
25
+ });
26
+
27
+ var _default = styles;
28
+ exports.default = _default;
@@ -1 +1,40 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.CommentDisabledHeadline=exports.CommentDisabledGuidelines=exports.CommentEnabledGuidelines=exports.CommentContainer=void 0;var _styledComponents=_interopRequireDefault(require("styled-components"));var _tsStyleguide=require("@times-components/ts-styleguide");var CommentContainer=_styledComponents.default.div.withConfig({displayName:"responsive__CommentContainer",componentId:"sc-2j1dkf-0"})(["margin-left:auto;margin-right:auto;@media (min-width:","px){width:80.8%;}@media (min-width:","px){width:56.2%;}"],_tsStyleguide.breakpoints.medium,_tsStyleguide.breakpoints.wide);exports.CommentContainer=CommentContainer;var CommentEnabledGuidelines=_styledComponents.default.p.withConfig({displayName:"responsive__CommentEnabledGuidelines",componentId:"sc-2j1dkf-1"})(["color:",";font-family:\"","\";font-size:","px;margin:0 0 "," 0;padding-left:7px;padding-top:",";"],_tsStyleguide.colours.functional.secondary,_tsStyleguide.fonts.supporting,_tsStyleguide.fontSizes.commentsGuidelines,(0,_tsStyleguide.spacing)(-2),(0,_tsStyleguide.spacing)(6));exports.CommentEnabledGuidelines=CommentEnabledGuidelines;var CommentDisabledGuidelines=_styledComponents.default.p.withConfig({displayName:"responsive__CommentDisabledGuidelines",componentId:"sc-2j1dkf-2"})(["color:",";font-family:\"","\";font-size:","px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],_tsStyleguide.colours.functional.secondary,_tsStyleguide.fonts.supporting,_tsStyleguide.fontSizes.commentsGuidelines,(0,_tsStyleguide.spacing)(6),(0,_tsStyleguide.spacing)(1));exports.CommentDisabledGuidelines=CommentDisabledGuidelines;var CommentDisabledHeadline=_styledComponents.default.p.withConfig({displayName:"responsive__CommentDisabledHeadline",componentId:"sc-2j1dkf-3"})(["color:",";font-family:\"","\";font-size:","px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],_tsStyleguide.colours.functional.primary,_tsStyleguide.fonts.headline,_tsStyleguide.fontSizes.commentsHeadline,(0,_tsStyleguide.spacing)(1),(0,_tsStyleguide.spacing)(6));exports.CommentDisabledHeadline=CommentDisabledHeadline;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CommentDisabledHeadline = exports.CommentDisabledGuidelines = exports.CommentEnabledGuidelines = exports.CommentContainer = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _tsStyleguide = require("@times-components/ts-styleguide");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const CommentContainer = _styledComponents.default.div.withConfig({
15
+ displayName: "responsive__CommentContainer",
16
+ componentId: "sc-2j1dkf-0"
17
+ })(["margin-left:auto;margin-right:auto;@media (min-width:", "px){width:80.8%;}@media (min-width:", "px){width:56.2%;}"], _tsStyleguide.breakpoints.medium, _tsStyleguide.breakpoints.wide);
18
+
19
+ exports.CommentContainer = CommentContainer;
20
+
21
+ const CommentEnabledGuidelines = _styledComponents.default.p.withConfig({
22
+ displayName: "responsive__CommentEnabledGuidelines",
23
+ componentId: "sc-2j1dkf-1"
24
+ })(["color:", ";font-family:\"", "\";font-size:", "px;margin:0 0 ", " 0;padding-left:7px;padding-top:", ";"], _tsStyleguide.colours.functional.secondary, _tsStyleguide.fonts.supporting, _tsStyleguide.fontSizes.commentsGuidelines, (0, _tsStyleguide.spacing)(-2), (0, _tsStyleguide.spacing)(6));
25
+
26
+ exports.CommentEnabledGuidelines = CommentEnabledGuidelines;
27
+
28
+ const CommentDisabledGuidelines = _styledComponents.default.p.withConfig({
29
+ displayName: "responsive__CommentDisabledGuidelines",
30
+ componentId: "sc-2j1dkf-2"
31
+ })(["color:", ";font-family:\"", "\";font-size:", "px;margin:0;padding-bottom:", ";padding-top:", ";text-align:center;"], _tsStyleguide.colours.functional.secondary, _tsStyleguide.fonts.supporting, _tsStyleguide.fontSizes.commentsGuidelines, (0, _tsStyleguide.spacing)(6), (0, _tsStyleguide.spacing)(1));
32
+
33
+ exports.CommentDisabledGuidelines = CommentDisabledGuidelines;
34
+
35
+ const CommentDisabledHeadline = _styledComponents.default.p.withConfig({
36
+ displayName: "responsive__CommentDisabledHeadline",
37
+ componentId: "sc-2j1dkf-3"
38
+ })(["color:", ";font-family:\"", "\";font-size:", "px;margin:0;padding-bottom:", ";padding-top:", ";text-align:center;"], _tsStyleguide.colours.functional.primary, _tsStyleguide.fonts.headline, _tsStyleguide.fontSizes.commentsHeadline, (0, _tsStyleguide.spacing)(1), (0, _tsStyleguide.spacing)(6));
39
+
40
+ exports.CommentDisabledHeadline = CommentDisabledHeadline;
@@ -1 +1,54 @@
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 _tsStyleguide=require("@times-components/ts-styleguide");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 styles={button:{marginBottom:(0,_tsStyleguide.spacing)(0),marginTop:(0,_tsStyleguide.spacing)(5),maxWidth:215},container:{alignItems:"center",borderStyle:"solid",borderTopColor:_tsStyleguide.colours.functional.keyline,borderTopWidth:1,marginBottom:(0,_tsStyleguide.spacing)(10),width:"100%"},headline:_objectSpread(_objectSpread({color:_tsStyleguide.colours.functional.primary},(0,_tsStyleguide.fontFactory)({font:"headline",fontSize:"commentsHeadline"})),{},{maxWidth:315,paddingBottom:(0,_tsStyleguide.spacing)(2),paddingTop:(0,_tsStyleguide.spacing)(6),textAlign:"center"}),link:{color:_tsStyleguide.colours.functional.action},supporting:_objectSpread(_objectSpread({},(0,_tsStyleguide.fontFactory)({font:"supporting",fontSize:"tertiary"})),{},{color:_tsStyleguide.colours.functional.secondary,maxWidth:280,textAlign:"center"})};var _default=styles;exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _tsStyleguide = require("@times-components/ts-styleguide");
9
+
10
+ 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; }
11
+
12
+ 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; }
13
+
14
+ 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; }
15
+
16
+ const styles = {
17
+ button: {
18
+ marginBottom: (0, _tsStyleguide.spacing)(0),
19
+ marginTop: (0, _tsStyleguide.spacing)(5),
20
+ maxWidth: 215
21
+ },
22
+ container: {
23
+ alignItems: "center",
24
+ borderStyle: "solid",
25
+ borderTopColor: _tsStyleguide.colours.functional.keyline,
26
+ borderTopWidth: 1,
27
+ marginBottom: (0, _tsStyleguide.spacing)(10),
28
+ width: "100%"
29
+ },
30
+ headline: _objectSpread(_objectSpread({
31
+ color: _tsStyleguide.colours.functional.primary
32
+ }, (0, _tsStyleguide.fontFactory)({
33
+ font: "headline",
34
+ fontSize: "commentsHeadline"
35
+ })), {}, {
36
+ maxWidth: 315,
37
+ paddingBottom: (0, _tsStyleguide.spacing)(2),
38
+ paddingTop: (0, _tsStyleguide.spacing)(6),
39
+ textAlign: "center"
40
+ }),
41
+ link: {
42
+ color: _tsStyleguide.colours.functional.action
43
+ },
44
+ supporting: _objectSpread(_objectSpread({}, (0, _tsStyleguide.fontFactory)({
45
+ font: "supporting",
46
+ fontSize: "tertiary"
47
+ })), {}, {
48
+ color: _tsStyleguide.colours.functional.secondary,
49
+ maxWidth: 280,
50
+ textAlign: "center"
51
+ })
52
+ };
53
+ var _default = styles;
54
+ exports.default = _default;
@@ -1 +1,74 @@
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:"navigation",eventName:"onCommentStart",trackingName:"spot im : comment : start"},{actionName:"navigation",eventName:"onCommentPost",trackingName:"spot im : comment : complete"},{actionName:"navigation",eventName:"onCommentNotification",trackingName:"spot im : notification"},{actionName:"navigation",eventName:"onCommentFilterNewest",trackingName:"spot im : sort : newest"},{actionName:"navigation",eventName:"onCommentFilterMostRecommended",trackingName:"spot im : sort : best"},{actionName:"navigation",eventName:"onCommentFilterOldest",trackingName:"spot im : sort : oldest"},{actionName:"navigation",eventName:"onCommentReplyClick",trackingName:"spot im : reply"},{actionName:"navigation",eventName:"onCommentSettingsClicked",trackingName:"spot im : settings button clicked"},{actionName:"navigation",eventName:"onCommentShareLink",trackingName:"spot im : comment : share : copy link"},{actionName:"navigation",eventName:"onCommentShareEmail",trackingName:"spot im : comment : share : email"},{actionName:"navigation",eventName:"onCommentShareTwitter",trackingName:"spot im : comment : share : twitter"},{actionName:"navigation",eventName:"onCommentShareFacebook",trackingName:"spot im : comment : share : facebook"},{actionName:"navigation",eventName:"onCommentRecommend",trackingName:"spot im : vote up"},{actionName:"navigation",eventName:"onCommentUsernameClicked",trackingName:"spot im : username clicked"},{actionName:"navigation",eventName:"onCommentNotificationClicked",trackingName:"spot im : notification clicked"}]});};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: "navigation",
13
+ eventName: "onCommentStart",
14
+ trackingName: "spot im : comment : start"
15
+ }, {
16
+ actionName: "navigation",
17
+ eventName: "onCommentPost",
18
+ trackingName: "spot im : comment : complete"
19
+ }, {
20
+ actionName: "navigation",
21
+ eventName: "onCommentNotification",
22
+ trackingName: "spot im : notification"
23
+ }, {
24
+ actionName: "navigation",
25
+ eventName: "onCommentFilterNewest",
26
+ trackingName: "spot im : sort : newest"
27
+ }, {
28
+ actionName: "navigation",
29
+ eventName: "onCommentFilterMostRecommended",
30
+ trackingName: "spot im : sort : best"
31
+ }, {
32
+ actionName: "navigation",
33
+ eventName: "onCommentFilterOldest",
34
+ trackingName: "spot im : sort : oldest"
35
+ }, {
36
+ actionName: "navigation",
37
+ eventName: "onCommentReplyClick",
38
+ trackingName: "spot im : reply"
39
+ }, {
40
+ actionName: "navigation",
41
+ eventName: "onCommentSettingsClicked",
42
+ trackingName: "spot im : settings button clicked"
43
+ }, {
44
+ actionName: "navigation",
45
+ eventName: "onCommentShareLink",
46
+ trackingName: "spot im : comment : share : copy link"
47
+ }, {
48
+ actionName: "navigation",
49
+ eventName: "onCommentShareEmail",
50
+ trackingName: "spot im : comment : share : email"
51
+ }, {
52
+ actionName: "navigation",
53
+ eventName: "onCommentShareTwitter",
54
+ trackingName: "spot im : comment : share : twitter"
55
+ }, {
56
+ actionName: "navigation",
57
+ eventName: "onCommentShareFacebook",
58
+ trackingName: "spot im : comment : share : facebook"
59
+ }, {
60
+ actionName: "navigation",
61
+ eventName: "onCommentRecommend",
62
+ trackingName: "spot im : vote up"
63
+ }, {
64
+ actionName: "navigation",
65
+ eventName: "onCommentUsernameClicked",
66
+ trackingName: "spot im : username clicked"
67
+ }, {
68
+ actionName: "navigation",
69
+ eventName: "onCommentNotificationClicked",
70
+ trackingName: "spot im : notification clicked"
71
+ }]
72
+ });
73
+
74
+ exports.default = _default;
package/dist/utils.js CHANGED
@@ -1 +1,61 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.getDisplayNameFromLocalStorage=exports.userShouldUpdateName=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var storeURL={gb:"https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",ie:"https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",global:"https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"};var userShouldUpdateName=function userShouldUpdateName(username){var url,checkUsername,_await$checkUsername,isPseudonym;return _regenerator.default.async(function userShouldUpdateName$(_context){while(1){switch(_context.prev=_context.next){case 0:if(username){_context.next=2;break;}return _context.abrupt("return",false);case 2:url="/api/comments/display-names-pseudonyms?username="+username;checkUsername=fetch(url).then(function(response){return response.json();}).then(function(data){return data;});_context.next=6;return _regenerator.default.awrap(checkUsername);case 6:_await$checkUsername=_context.sent;isPseudonym=_await$checkUsername.isPseudonym;if(isPseudonym){_context.next=10;break;}return _context.abrupt("return",false);case 10:return _context.abrupt("return",isPseudonym);case 11:case"end":return _context.stop();}}},null,null,null,Promise);};exports.userShouldUpdateName=userShouldUpdateName;var getDisplayNameFromLocalStorage=function getDisplayNameFromLocalStorage(){var spotimUserDetails=window.localStorage.getItem("SPOTIM_CURRENT_USER");if(!spotimUserDetails)return false;var spotimUserDetailsJSON=spotimUserDetails&&JSON.parse(spotimUserDetails);var displayName=spotimUserDetailsJSON.data.displayName;return displayName||false;};exports.getDisplayNameFromLocalStorage=getDisplayNameFromLocalStorage;var _default=function _default(){var region=typeof window!=="undefined"&&window.nuk&&window.nuk.region;return storeURL[region]||storeURL.gb;};exports.default=_default;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.getDisplayNameFromLocalStorage = exports.userShouldUpdateName = void 0;
7
+
8
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
+
10
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
+
12
+ /* global fetch window */
13
+ const storeURL = {
14
+ gb: "https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",
15
+ ie: "https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",
16
+ global: "https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"
17
+ };
18
+
19
+ const userShouldUpdateName = /*#__PURE__*/function () {
20
+ var _ref = _asyncToGenerator(function* (username) {
21
+ if (!username) {
22
+ return false;
23
+ }
24
+
25
+ const url = "/api/comments/display-names-pseudonyms?username=".concat(username);
26
+ const checkUsername = fetch(url).then(response => response.json()).then(data => data);
27
+
28
+ const _yield$checkUsername = yield checkUsername,
29
+ isPseudonym = _yield$checkUsername.isPseudonym;
30
+
31
+ if (!isPseudonym) {
32
+ return false;
33
+ }
34
+
35
+ return isPseudonym;
36
+ });
37
+
38
+ return function userShouldUpdateName(_x) {
39
+ return _ref.apply(this, arguments);
40
+ };
41
+ }();
42
+
43
+ exports.userShouldUpdateName = userShouldUpdateName;
44
+
45
+ const getDisplayNameFromLocalStorage = () => {
46
+ const spotimUserDetails = window.localStorage.getItem("SPOTIM_CURRENT_USER");
47
+ if (!spotimUserDetails) return false;
48
+ const spotimUserDetailsJSON = spotimUserDetails && JSON.parse(spotimUserDetails);
49
+ const displayName = spotimUserDetailsJSON.data.displayName;
50
+ return displayName || false;
51
+ };
52
+
53
+ exports.getDisplayNameFromLocalStorage = getDisplayNameFromLocalStorage;
54
+
55
+ var _default = () => {
56
+ const region = // eslint-disable-next-line no-undef
57
+ typeof window !== "undefined" && window.nuk && window.nuk.region;
58
+ return storeURL[region] || storeURL.gb;
59
+ };
60
+
61
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/article-comments",
3
- "version": "0.28.1",
3
+ "version": "0.29.0",
4
4
  "description": "Article Comments",
5
5
  "main": "dist/article-comments",
6
6
  "dev": "src/article-comments",
@@ -9,7 +9,7 @@
9
9
  "fmt": "eslint . --fix && prettier --write '**/*.*'",
10
10
  "prettier:diff": "prettier --list-different '**/*.*'",
11
11
  "lint": "eslint . && yarn prettier:diff && yarn depcheck",
12
- "test:web": "jest --config='./__tests__/web/jest.config.js'",
12
+ "test:web": "jest --config='./__tests__/jest.config.js'",
13
13
  "prepublishOnly": "yarn transpile && yarn bundle",
14
14
  "watch": "watch 'yarn bundle' ./src --ignoreDotFiles --ignoreUnreadable",
15
15
  "cleanup-dist": "rm -rf dist",
@@ -31,11 +31,11 @@
31
31
  },
32
32
  "homepage": "https://github.com/newsuk/times-components#readme",
33
33
  "dependencies": {
34
- "@times-components/link": "3.10.12",
35
- "@times-components/tracking": "2.11.1",
36
- "@times-components/ts-components": "1.51.1",
37
- "@times-components/ts-styleguide": "1.36.9",
38
- "@times-components/user-state": "0.3.31",
34
+ "@times-components/link": "3.11.0",
35
+ "@times-components/tracking": "2.12.0",
36
+ "@times-components/ts-components": "1.52.0",
37
+ "@times-components/ts-styleguide": "1.37.0",
38
+ "@times-components/user-state": "0.4.0",
39
39
  "prop-types": "15.7.2",
40
40
  "styled-components": "4.3.2"
41
41
  },
@@ -44,11 +44,10 @@
44
44
  "@testing-library/jest-dom": "^5.12.0",
45
45
  "@testing-library/react": "^12.1.2",
46
46
  "@times-components/eslint-config-thetimes": "0.8.18",
47
- "@times-components/jest-configurator": "2.8.1",
48
- "@times-components/storybook": "4.4.1",
49
- "@times-components/webpack-configurator": "2.0.30",
47
+ "@times-components/jest-configurator-web": "0.8.0",
48
+ "@times-components/storybook": "4.5.0",
49
+ "@times-components/webpack-configurator": "2.1.0",
50
50
  "babel-jest": "24.8.0",
51
- "babel-plugin-styled-components": "1.10.6",
52
51
  "eslint": "5.9.0",
53
52
  "jest": "24.8.0",
54
53
  "jest-styled-components": "6.3.1",
@@ -56,8 +55,7 @@
56
55
  "react": "16.9.0",
57
56
  "react-dom": "16.9.0",
58
57
  "react-test-renderer": "16.9.0",
59
- "webpack": "4.30.0",
60
- "webpack-cli": "3.3.1"
58
+ "webpack": "4.30.0"
61
59
  },
62
60
  "resolutions": {
63
61
  "react": "16.9.0",
@@ -70,5 +68,5 @@
70
68
  "publishConfig": {
71
69
  "access": "public"
72
70
  },
73
- "gitHead": "df5ed2ea69c1f572c9054e51a8fdd00f700dc758"
71
+ "gitHead": "fe2f12b7448a88662c53f840772282cd97756c5c"
74
72
  }
package/rnw.js CHANGED
@@ -1 +1 @@
1
- module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("react")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.CommentDisabledHeadline=t.CommentDisabledGuidelines=t.CommentEnabledGuidelines=t.CommentContainer=void 0;var i=o(n(17)),r=n(3),a=i.default.div.withConfig({displayName:"responsive__CommentContainer",componentId:"sc-2j1dkf-0"})(["margin-left:auto;margin-right:auto;@media (min-width:","px){width:80.8%;}@media (min-width:","px){width:56.2%;}"],r.breakpoints.medium,r.breakpoints.wide);t.CommentContainer=a;var m=i.default.p.withConfig({displayName:"responsive__CommentEnabledGuidelines",componentId:"sc-2j1dkf-1"})(["color:",';font-family:"','";font-size:',"px;margin:0 0 "," 0;padding-left:7px;padding-top:",";"],r.colours.functional.secondary,r.fonts.supporting,r.fontSizes.commentsGuidelines,(0,r.spacing)(-2),(0,r.spacing)(6));t.CommentEnabledGuidelines=m;var c=i.default.p.withConfig({displayName:"responsive__CommentDisabledGuidelines",componentId:"sc-2j1dkf-2"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],r.colours.functional.secondary,r.fonts.supporting,r.fontSizes.commentsGuidelines,(0,r.spacing)(6),(0,r.spacing)(1));t.CommentDisabledGuidelines=c;var u=i.default.p.withConfig({displayName:"responsive__CommentDisabledHeadline",componentId:"sc-2j1dkf-3"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],r.colours.functional.primary,r.fonts.headline,r.fontSizes.commentsHeadline,(0,r.spacing)(1),(0,r.spacing)(6));t.CommentDisabledHeadline=u},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("@babel/runtime/regenerator")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.getDisplayNameFromLocalStorage=t.userShouldUpdateName=void 0;var i=o(n(6)),r={gb:"https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",ie:"https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",global:"https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"};t.userShouldUpdateName=function(e){var t,n,o;return i.default.async((function(r){for(;;)switch(r.prev=r.next){case 0:if(e){r.next=2;break}return r.abrupt("return",!1);case 2:return t=fetch("/api/comments/display-names-pseudonyms?username="+e).then((function(e){return e.json()})).then((function(e){return e})),r.next=6,i.default.awrap(t);case 6:if(n=r.sent,o=n.isPseudonym){r.next=10;break}return r.abrupt("return",!1);case 10:return r.abrupt("return",o);case 11:case"end":return r.stop()}}),null,null,null,Promise)};t.getDisplayNameFromLocalStorage=function(){var e=window.localStorage.getItem("SPOTIM_CURRENT_USER");return e&&(e&&JSON.parse(e)).data.displayName||!1};t.default=function(){var e="undefined"!=typeof window&&window.nuk&&window.nuk.region;return r[e]||r.gb}},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(1)),r=(o(n(4)),o(n(10))),a=n(5),m=o(n(11)),c=o(n(21)),u=n(2),s=o(n(25)),l=function(e){var t=e.articleId,n=e.publishedTime,o=e.isEnabled,l=e.isReadOnly,d=e.commentingConfig;return o?i.default.createElement(i.default.Fragment,null,i.default.createElement(r.default,{state:r.default.metered},i.default.createElement(s.default,null)),i.default.createElement(r.default,{state:r.default.subscriber},i.default.createElement(u.CommentContainer,null,i.default.createElement(a.HiddenDiv,{className:"comment-banner"})),i.default.createElement(m.default,{articleId:t,publishedTime:n,isReadOnly:l,commentingConfig:d}))):i.default.createElement(c.default,null)};l.defaultProps={isReadOnly:!1};var d=l;t.default=d},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(6)),r=o(n(12)),a=o(n(13)),m=o(n(14)),c=o(n(15)),u=o(n(16)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=v(t);if(n&&n.has(e))return n.get(e);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var a=i?Object.getOwnPropertyDescriptor(e,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(1)),l=(o(n(4)),n(2)),d=o(n(18)),f=o(n(19)),p=n(7);function v(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(v=function(e){return e?n:t})(e)}function C(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=(0,u.default)(e);if(t){var i=(0,u.default)(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return(0,c.default)(this,n)}}var b=function(e){(0,m.default)(n,e);var t=C(n);function n(){var e;return(0,r.default)(this,n),(e=t.call(this)).container=null,e}return(0,a.default)(n,[{key:"componentDidMount",value:function(){this.initialiseComments()}},{key:"componentWillUnmount",value:function(){this.disposeComments()}},{key:"initialiseComments",value:function(){var e=this.props,t=e.articleId,n=e.isReadOnly,o=e.publishedTime,r=e.commentingConfig,a=e.onCommentStart,m=e.onCommentPost,c=e.onCommentNotification,u=e.onCommentFilterNewest,s=e.onCommentFilterMostRecommended,l=e.onCommentFilterOldest,f=e.onCommentReplyClick,v=e.onCommentShareLink,C=e.onCommentShareTwitter,b=e.onCommentShareEmail,g=e.onCommentShareFacebook,y=e.onCommentRecommend,h=e.onCommentNotificationClicked,k=e.onCommentUsernameClicked,w=e.onCommentSettingsClicked;if(this.container&&t&&r){var O=r.account.readOnly;if(r&&r.switchOver)o>r.switchOver&&(O=r.account.current);var N=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",(function(e){var t;return i.default.async((function(n){for(;;)switch(n.prev=n.next){case 0:if(a(e),!N){n.next=9;break}if(t=(0,p.getDisplayNameFromLocalStorage)()){n.next=5;break}return n.abrupt("return");case 5:return n.next=7,i.default.awrap((0,p.userShouldUpdateName)(t));case 7:n.sent&&window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}));case 9:case"end":return n.stop()}}),null,null,null,Promise)}),{once:!0}),document.addEventListener("spot-im-current-user-sent-message",m),document.addEventListener("spot-im-notification-drop-down-link",c),document.addEventListener("spot-im-user-up-vote-click",y),document.addEventListener("spot-im-sort-by-select",(function(e){return function(e){switch(e.detail.sortedBy){case"best":return s(e);case"oldest":return l(e);case"newest":return u(e);default:return null}}(e)})),document.addEventListener("spot-im-user-clicked-reply",f),document.addEventListener("spot-im-clicked-settings",w),document.addEventListener("spot-im-user-notifications-click",h),document.addEventListener("spot-im-open-user-profile",k),document.addEventListener("spot-im-share-type",(function(e){return function(e){switch(e.detail.type){case"link":return v(e);case"email":return b(e);case"twitter":return C(e);case"facebook":return g(e);default:return null}}(e)})),n||(window.SPOTIM&&window.SPOTIM.startSSO?(0,d.default)((function(){})):document.addEventListener("spot-im-api-ready",(function(){(0,d.default)((function(){}))})));var S=document.createElement("script");S.setAttribute("async","async"),S.setAttribute("src","https://launcher.spot.im/spot/"+O),S.setAttribute("data-spotim-module","spotim-launcher"),S.setAttribute("data-post-id",t),S.setAttribute("data-post-url","https://www.thetimes.co.uk/article/"+t),S.setAttribute("data-seo-enabled",!0),S.setAttribute("data-livefyre-url",t),this.container.appendChild(S)}}},{key:"disposeComments",value:function(){this.container&&(this.container.innerHTML="")}},{key:"render",value:function(){var e=this,t=this.props,n=t.onCommentStart,o=t.onCommentPost,i=t.onCommentNotification,r=t.onCommentFilterNewest,a=t.onCommentFilterMostRecommended,m=t.onCommentFilterOldest,c=t.onCommentReplyClick,u=t.onCommentShareLink,d=t.onCommentShareTwitter,f=t.onCommentShareEmail,p=t.onCommentShareFacebook,v=t.onCommentRecommend,C=t.onCommentNotificationClicked,b=t.onCommentUsernameClicked,g=t.onCommentSettingsClicked;return s.default.createElement(l.CommentContainer,{id:"comments-container",onCommentStart:n,onCommentPost:o,onCommentNotification:i,onCommentReplyClick:c,onCommentFilterNewest:r,onCommentFilterMostRecommended:a,onCommentFilterOldest:m,onCommentShareLink:u,onCommentShareTwitter:d,onCommentShareEmail:f,onCommentShareFacebook:p,onCommentRecommend:v,onCommentNotificationClicked:C,onCommentUsernameClicked:b,onCommentSettingsClicked:g},s.default.createElement("div",{ref:function(t){e.container=t}}))}}]),n}(s.Component);b.defaultProps={onCommentStart:function(){},onCommentPost:function(){},onCommentNotification:function(){},onCommentReplyClick:function(){},onCommentFilterNewest:function(){},onCommentFilterMostRecommended:function(){},onCommentFilterOldest:function(){},onCommentShareLink:function(){},onCommentShareTwitter:function(){},onCommentShareEmail:function(){},onCommentShareFacebook:function(){},onCommentRecommend:function(){},onCommentNotificationClicked:function(){},onCommentUsernameClicked:function(){},onCommentSettingsClicked:function(){}};var g=(0,f.default)(b);t.default=g},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/helpers/getPrototypeOf")},function(e,t){e.exports=require("styled-components")},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ssoCallback=void 0;var n=function(e,t){return function(e,t){var n=new XMLHttpRequest;n.addEventListener("load",(function(){var e=(200===n.status?JSON.parse(n.response):{}).spotimCodeB;e&&t(e)})),n.open("GET",e),n.send()}("/api/comments/loginv2?codeA="+encodeURIComponent(e),t)};t.ssoCallback=n;var o=function(e){window.SPOTIM&&window.SPOTIM.startSSO&&(window.SPOTIM.startSSO(n),e())};t.default=o},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(20);t.default=function(e){return(0,o.withTrackEvents)(e,{analyticsEvents:[{actionName:"navigation",eventName:"onCommentStart",trackingName:"spot im : comment : start"},{actionName:"navigation",eventName:"onCommentPost",trackingName:"spot im : comment : complete"},{actionName:"navigation",eventName:"onCommentNotification",trackingName:"spot im : notification"},{actionName:"navigation",eventName:"onCommentFilterNewest",trackingName:"spot im : sort : newest"},{actionName:"navigation",eventName:"onCommentFilterMostRecommended",trackingName:"spot im : sort : best"},{actionName:"navigation",eventName:"onCommentFilterOldest",trackingName:"spot im : sort : oldest"},{actionName:"navigation",eventName:"onCommentReplyClick",trackingName:"spot im : reply"},{actionName:"navigation",eventName:"onCommentSettingsClicked",trackingName:"spot im : settings button clicked"},{actionName:"navigation",eventName:"onCommentShareLink",trackingName:"spot im : comment : share : copy link"},{actionName:"navigation",eventName:"onCommentShareEmail",trackingName:"spot im : comment : share : email"},{actionName:"navigation",eventName:"onCommentShareTwitter",trackingName:"spot im : comment : share : twitter"},{actionName:"navigation",eventName:"onCommentShareFacebook",trackingName:"spot im : comment : share : facebook"},{actionName:"navigation",eventName:"onCommentRecommend",trackingName:"spot im : vote up"},{actionName:"navigation",eventName:"onCommentUsernameClicked",trackingName:"spot im : username clicked"},{actionName:"navigation",eventName:"onCommentNotificationClicked",trackingName:"spot im : notification clicked"}]})}},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(1)),r=n(22),a=n(2),m=o(n(23)),c=function(){return i.default.createElement(a.CommentContainer,null,i.default.createElement(a.CommentDisabledHeadline,null,"Comments for this article have been turned off"),i.default.createElement(a.CommentDisabledGuidelines,null,"Comments are subject to our community guidelines, which can be viewed"," ",i.default.createElement(r.TextLink,{style:m.default.link,url:"https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"},"here"),"."))};t.default=c},function(e,t){e.exports=require("@times-components/link/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(8)),r=n(3),a=o(n(24));function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var u=c(c({},a.default),{},{link:c(c({},a.default.link),{},{fontFamily:r.fonts.supporting,fontSize:r.fontSizes.commentsGuidelines})});t.default=u},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(8)),r=n(3);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var c={button:{marginBottom:(0,r.spacing)(0),marginTop:(0,r.spacing)(5),maxWidth:215},container:{alignItems:"center",borderStyle:"solid",borderTopColor:r.colours.functional.keyline,borderTopWidth:1,marginBottom:(0,r.spacing)(10),width:"100%"},headline:m(m({color:r.colours.functional.primary},(0,r.fontFactory)({font:"headline",fontSize:"commentsHeadline"})),{},{maxWidth:315,paddingBottom:(0,r.spacing)(2),paddingTop:(0,r.spacing)(6),textAlign:"center"}),link:{color:r.colours.functional.action},supporting:m(m({},(0,r.fontFactory)({font:"supporting",fontSize:"tertiary"})),{},{color:r.colours.functional.secondary,maxWidth:280,textAlign:"center"})};t.default=c},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e,t,n=null==(e=window.nuk)||null==(t=e.user)?void 0:t.isLightPackUser,o=n?null:(0,a.default)(),m=n?function(){return document&&document.dispatchEvent(new Event("show::upgrade::modal"))}:null;return i.default.createElement(r.InlineDialog,{title:"Join the conversation",buttonText:"View offers",href:o,onClick:m},"Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.")};var i=o(n(1)),r=n(5),a=o(n(7))}]);
1
+ module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=8)}([function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t){e.exports=require("styled-components")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t){e.exports=require("@times-components/link/rnw")},function(e,t,n){"use strict";n.r(t);var o=n(1),i=n.n(o),r=(n(5),n(2)),a=n.n(r),m=n(4),c=n(3),s=n.n(c),l=n(0);const u=s.a.div.withConfig({displayName:"responsive__CommentContainer",componentId:"sc-2j1dkf-0"})(["margin-left:auto;margin-right:auto;@media (min-width:","px){width:80.8%;}@media (min-width:","px){width:56.2%;}"],l.breakpoints.medium,l.breakpoints.wide),d=(s.a.p.withConfig({displayName:"responsive__CommentEnabledGuidelines",componentId:"sc-2j1dkf-1"})(["color:",';font-family:"','";font-size:',"px;margin:0 0 "," 0;padding-left:7px;padding-top:",";"],l.colours.functional.secondary,l.fonts.supporting,l.fontSizes.commentsGuidelines,Object(l.spacing)(-2),Object(l.spacing)(6)),s.a.p.withConfig({displayName:"responsive__CommentDisabledGuidelines",componentId:"sc-2j1dkf-2"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],l.colours.functional.secondary,l.fonts.supporting,l.fontSizes.commentsGuidelines,Object(l.spacing)(6),Object(l.spacing)(1))),p=s.a.p.withConfig({displayName:"responsive__CommentDisabledHeadline",componentId:"sc-2j1dkf-3"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],l.colours.functional.primary,l.fonts.headline,l.fontSizes.commentsHeadline,Object(l.spacing)(1),Object(l.spacing)(6)),f=(e,t)=>((e,t)=>{const n=new XMLHttpRequest;n.addEventListener("load",()=>{const e=(200===n.status?JSON.parse(n.response):{}).spotimCodeB;e&&t(e)}),n.open("GET",e),n.send()})("/api/comments/loginv2?codeA=".concat(encodeURIComponent(e)),t);var g=e=>{window.SPOTIM&&window.SPOTIM.startSSO&&(window.SPOTIM.startSSO(f),e())},C=n(6);function b(e,t,n,o,i,r,a){try{var m=e[r](a),c=m.value}catch(e){return void n(e)}m.done?t(c):Promise.resolve(c).then(o,i)}const h={gb:"https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",ie:"https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",global:"https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"},v=function(){var e,t=(e=function*(e){if(!e)return!1;const t="/api/comments/display-names-pseudonyms?username=".concat(e),n=fetch(t).then(e=>e.json()).then(e=>e),o=(yield n).isPseudonym;return o||!1},function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){b(r,o,i,a,m,"next",e)}function m(e){b(r,o,i,a,m,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function y(e,t,n,o,i,r,a){try{var m=e[r](a),c=m.value}catch(e){return void n(e)}m.done?t(c):Promise.resolve(c).then(o,i)}class w extends o.Component{constructor(){super(),this.container=null}componentDidMount(){this.initialiseComments()}componentWillUnmount(){this.disposeComments()}initialiseComments(){const e=this.props,t=e.articleId,n=e.isReadOnly,o=e.publishedTime,i=e.commentingConfig,r=e.onCommentStart,a=e.onCommentPost,m=e.onCommentNotification,c=e.onCommentFilterNewest,s=e.onCommentFilterMostRecommended,l=e.onCommentFilterOldest,u=e.onCommentReplyClick,d=e.onCommentShareLink,p=e.onCommentShareTwitter,f=e.onCommentShareEmail,C=e.onCommentShareFacebook,b=e.onCommentRecommend,h=e.onCommentNotificationClicked,w=e.onCommentUsernameClicked,k=e.onCommentSettingsClicked;if(!this.container||!t||!i)return;let O=i.account.readOnly;if(i&&i.switchOver){o>i.switchOver&&(O=i.account.current)}const N=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",function(){var e,t=(e=function*(e){if(r(e),N){const e=(()=>{const e=window.localStorage.getItem("SPOTIM_CURRENT_USER");return e&&(e&&JSON.parse(e)).data.displayName||!1})();if(!e)return;(yield v(e))&&window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}))}},function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){y(r,o,i,a,m,"next",e)}function m(e){y(r,o,i,a,m,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),{once:!0}),document.addEventListener("spot-im-current-user-sent-message",a),document.addEventListener("spot-im-notification-drop-down-link",m),document.addEventListener("spot-im-user-up-vote-click",b),document.addEventListener("spot-im-sort-by-select",e=>(e=>{switch(e.detail.sortedBy){case"best":return s(e);case"oldest":return l(e);case"newest":return c(e);default:return null}})(e)),document.addEventListener("spot-im-user-clicked-reply",u),document.addEventListener("spot-im-clicked-settings",k),document.addEventListener("spot-im-user-notifications-click",h),document.addEventListener("spot-im-open-user-profile",w),document.addEventListener("spot-im-share-type",e=>(e=>{switch(e.detail.type){case"link":return d(e);case"email":return f(e);case"twitter":return p(e);case"facebook":return C(e);default:return null}})(e)),n||(window.SPOTIM&&window.SPOTIM.startSSO?g(()=>{}):document.addEventListener("spot-im-api-ready",()=>{g(()=>{})}));const S=document.createElement("script");S.setAttribute("async","async"),S.setAttribute("src","https://launcher.spot.im/spot/".concat(O)),S.setAttribute("data-spotim-module","spotim-launcher"),S.setAttribute("data-post-id",t),S.setAttribute("data-post-url","https://www.thetimes.co.uk/article/".concat(t)),S.setAttribute("data-seo-enabled",!0),S.setAttribute("data-livefyre-url",t),this.container.appendChild(S)}disposeComments(){this.container&&(this.container.innerHTML="")}render(){const e=this.props,t=e.onCommentStart,n=e.onCommentPost,o=e.onCommentNotification,r=e.onCommentFilterNewest,a=e.onCommentFilterMostRecommended,m=e.onCommentFilterOldest,c=e.onCommentReplyClick,s=e.onCommentShareLink,l=e.onCommentShareTwitter,d=e.onCommentShareEmail,p=e.onCommentShareFacebook,f=e.onCommentRecommend,g=e.onCommentNotificationClicked,C=e.onCommentUsernameClicked,b=e.onCommentSettingsClicked;return i.a.createElement(u,{id:"comments-container",onCommentStart:t,onCommentPost:n,onCommentNotification:o,onCommentReplyClick:c,onCommentFilterNewest:r,onCommentFilterMostRecommended:a,onCommentFilterOldest:m,onCommentShareLink:s,onCommentShareTwitter:l,onCommentShareEmail:d,onCommentShareFacebook:p,onCommentRecommend:f,onCommentNotificationClicked:g,onCommentUsernameClicked:C,onCommentSettingsClicked:b},i.a.createElement("div",{ref:e=>{this.container=e}}))}}w.defaultProps={onCommentStart:()=>{},onCommentPost:()=>{},onCommentNotification:()=>{},onCommentReplyClick:()=>{},onCommentFilterNewest:()=>{},onCommentFilterMostRecommended:()=>{},onCommentFilterOldest:()=>{},onCommentShareLink:()=>{},onCommentShareTwitter:()=>{},onCommentShareEmail:()=>{},onCommentShareFacebook:()=>{},onCommentRecommend:()=>{},onCommentNotificationClicked:()=>{},onCommentUsernameClicked:()=>{},onCommentSettingsClicked:()=>{}};var k,O=(k=w,Object(C.withTrackEvents)(k,{analyticsEvents:[{actionName:"navigation",eventName:"onCommentStart",trackingName:"spot im : comment : start"},{actionName:"navigation",eventName:"onCommentPost",trackingName:"spot im : comment : complete"},{actionName:"navigation",eventName:"onCommentNotification",trackingName:"spot im : notification"},{actionName:"navigation",eventName:"onCommentFilterNewest",trackingName:"spot im : sort : newest"},{actionName:"navigation",eventName:"onCommentFilterMostRecommended",trackingName:"spot im : sort : best"},{actionName:"navigation",eventName:"onCommentFilterOldest",trackingName:"spot im : sort : oldest"},{actionName:"navigation",eventName:"onCommentReplyClick",trackingName:"spot im : reply"},{actionName:"navigation",eventName:"onCommentSettingsClicked",trackingName:"spot im : settings button clicked"},{actionName:"navigation",eventName:"onCommentShareLink",trackingName:"spot im : comment : share : copy link"},{actionName:"navigation",eventName:"onCommentShareEmail",trackingName:"spot im : comment : share : email"},{actionName:"navigation",eventName:"onCommentShareTwitter",trackingName:"spot im : comment : share : twitter"},{actionName:"navigation",eventName:"onCommentShareFacebook",trackingName:"spot im : comment : share : facebook"},{actionName:"navigation",eventName:"onCommentRecommend",trackingName:"spot im : vote up"},{actionName:"navigation",eventName:"onCommentUsernameClicked",trackingName:"spot im : username clicked"},{actionName:"navigation",eventName:"onCommentNotificationClicked",trackingName:"spot im : notification clicked"}]})),N=n(7);function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var P={button:{marginBottom:Object(l.spacing)(0),marginTop:Object(l.spacing)(5),maxWidth:215},container:{alignItems:"center",borderStyle:"solid",borderTopColor:l.colours.functional.keyline,borderTopWidth:1,marginBottom:Object(l.spacing)(10),width:"100%"},headline:E(E({color:l.colours.functional.primary},Object(l.fontFactory)({font:"headline",fontSize:"commentsHeadline"})),{},{maxWidth:315,paddingBottom:Object(l.spacing)(2),paddingTop:Object(l.spacing)(6),textAlign:"center"}),link:{color:l.colours.functional.action},supporting:E(E({},Object(l.fontFactory)({font:"supporting",fontSize:"tertiary"})),{},{color:l.colours.functional.secondary,maxWidth:280,textAlign:"center"})};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _=x(x({},P),{},{link:x(x({},P.link),{},{fontFamily:l.fonts.supporting,fontSize:l.fontSizes.commentsGuidelines})});var R=()=>i.a.createElement(u,null,i.a.createElement(p,null,"Comments for this article have been turned off"),i.a.createElement(d,null,"Comments are subject to our community guidelines, which can be viewed"," ",i.a.createElement(N.TextLink,{style:_.link,url:"https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"},"here"),"."));function F(){const e=window.nuk&&window.nuk.user&&window.nuk.user.isLightPackUser,t=e?null:(()=>{const e="undefined"!=typeof window&&window.nuk&&window.nuk.region;return h[e]||h.gb})(),n=e?()=>document&&document.dispatchEvent(new Event("show::upgrade::modal")):null;return i.a.createElement(m.InlineDialog,{title:"Join the conversation",buttonText:"View offers",href:t,onClick:n},"Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.")}const I=e=>{let t=e.articleId,n=e.publishedTime,o=e.isEnabled,r=e.isReadOnly,c=e.commentingConfig;return o?i.a.createElement(i.a.Fragment,null,i.a.createElement(a.a,{state:a.a.metered},i.a.createElement(F,null)),i.a.createElement(a.a,{state:a.a.subscriber},i.a.createElement(u,null,i.a.createElement(m.HiddenDiv,{className:"comment-banner"})),i.a.createElement(O,{articleId:t,publishedTime:n,isReadOnly:r,commentingConfig:c}))):i.a.createElement(R,null)};I.defaultProps={isReadOnly:!1};t.default=I}]);
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es6",
4
+ "rootDir": "src",
5
+ "jsx": "preserve",
6
+ "moduleResolution": "node",
7
+ "module": "commonjs",
8
+ "esModuleInterop": true
9
+ }
10
+ }