@times-components/save-and-share-bar 0.20.3 → 0.20.4-alpha.13

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,22 @@
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.20.5](https://github.com/newsuk/times-components/compare/@times-components/save-and-share-bar@0.20.4...@times-components/save-and-share-bar@0.20.5) (2024-04-29)
7
+
8
+ **Note:** Version bump only for package @times-components/save-and-share-bar
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.20.4](https://github.com/newsuk/times-components/compare/@times-components/save-and-share-bar@0.20.3...@times-components/save-and-share-bar@0.20.4) (2024-04-25)
15
+
16
+ **Note:** Version bump only for package @times-components/save-and-share-bar
17
+
18
+
19
+
20
+
21
+
6
22
  ## [0.20.3](https://github.com/newsuk/times-components/compare/@times-components/save-and-share-bar@0.20.2...@times-components/save-and-share-bar@0.20.3) (2024-04-19)
7
23
 
8
24
  **Note:** Version bump only for package @times-components/save-and-share-bar
@@ -40,8 +40,16 @@ class EmailShare extends _react.Component {
40
40
  shouldTokenise = _this$props.shouldTokenise,
41
41
  articleUrl = _this$props.articleUrl,
42
42
  onShareEmail = _this$props.onShareEmail,
43
- articleHeadline = _this$props.articleHeadline;
44
- e.preventDefault();
43
+ articleHeadline = _this$props.articleHeadline,
44
+ getDomainSpecificUrl = _this$props.getDomainSpecificUrl,
45
+ hostName = _this$props.hostName;
46
+ e.preventDefault(); // eslint-disable-next-line no-console
47
+
48
+ console.log({
49
+ articleId,
50
+ articleUrl,
51
+ articleHeadline
52
+ }, "email-share.js 1");
45
53
  onShareEmail({
46
54
  articleId,
47
55
  articleUrl,
@@ -53,13 +61,19 @@ class EmailShare extends _react.Component {
53
61
  isLoading: true
54
62
  });
55
63
  getTokenisedShareUrl(articleId).then(res => {
56
- const data = res.data;
64
+ const data = res.data; // eslint-disable-next-line no-console
65
+
66
+ console.log(res, "email-share.js 2");
57
67
 
58
68
  if (data && data.article) {
69
+ // eslint-disable-next-line no-console
70
+ console.log(data, "email-share.js 3");
59
71
  this.setState({
60
72
  isLoading: false
61
- });
62
- this.openMailClient(data.article.tokenisedUrl);
73
+ }); // eslint-disable-next-line no-console
74
+
75
+ console.log(hostName, "email-share.js 4");
76
+ this.openMailClient(getDomainSpecificUrl(hostName, data.article.tokenisedUrl));
63
77
  }
64
78
  }).catch(() => {
65
79
  this.setState({
@@ -107,7 +121,9 @@ EmailShare.propTypes = {
107
121
  articleHeadline: _propTypes.default.string.isRequired,
108
122
  articleId: _propTypes.default.string.isRequired,
109
123
  shouldTokenise: _propTypes.default.bool.isRequired,
110
- publicationName: _propTypes.default.string
124
+ publicationName: _propTypes.default.string,
125
+ getDomainSpecificUrl: _propTypes.default.func.isRequired,
126
+ hostName: _propTypes.default.string.isRequired
111
127
  };
112
128
  EmailShare.defaultProps = {
113
129
  publicationName: "TIMES"
@@ -55,8 +55,10 @@ function SaveAndShareBar(props) {
55
55
  e.preventDefault();
56
56
  navigator.clipboard.writeText(articleUrl);
57
57
  onCopyLink();
58
- }
58
+ } // eslint-disable-next-line no-console
59
59
 
60
+
61
+ console.log(props, "save-and-share-bar.js");
60
62
  return /*#__PURE__*/_react.default.createElement(_newskit.Stack, {
61
63
  "data-testid": "save-and-share-bar",
62
64
  flow: "horizontal-center",
@@ -159,7 +161,9 @@ SaveAndShareBar.propTypes = {
159
161
  onShareOnTwitter: _propTypes.default.func,
160
162
  savingEnabled: _propTypes.default.bool.isRequired,
161
163
  sharingEnabled: _propTypes.default.bool.isRequired,
162
- isPreviewMode: _propTypes.default.bool
164
+ isPreviewMode: _propTypes.default.bool,
165
+ hostName: _propTypes.default.string.isRequired,
166
+ getDomainSpecificUrl: _propTypes.default.func.isRequired
163
167
  };
164
168
  /* Serves as an indication when share links are clicked for tracking and analytics */
165
169
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/save-and-share-bar",
3
- "version": "0.20.3",
3
+ "version": "0.20.4-alpha.13+f8cccbd603",
4
4
  "description": "Save and Share bar ",
5
5
  "main": "dist/save-and-share-bar",
6
6
  "dev": "src/save-and-share-bar",
@@ -34,27 +34,27 @@
34
34
  "dependencies": {
35
35
  "@emotion-icons/bootstrap": "3.27.0",
36
36
  "@storybook/addon-knobs": "6.4.0",
37
- "@times-components/context": "1.15.2",
38
- "@times-components/icons": "2.21.20",
39
- "@times-components/message-bar": "0.7.65",
40
- "@times-components/provider-queries": "2.21.1",
41
- "@times-components/tracking": "2.22.14",
42
- "@times-components/ts-components": "1.84.2",
43
- "@times-components/ts-newskit": "1.178.1",
44
- "@times-components/ts-styleguide": "1.50.14",
45
- "@times-components/user-state": "0.5.31",
46
- "@times-components/utils": "6.20.2",
37
+ "@times-components/context": "^1.15.2",
38
+ "@times-components/icons": "^2.21.20",
39
+ "@times-components/message-bar": "^0.7.65",
40
+ "@times-components/provider-queries": "^2.21.1",
41
+ "@times-components/tracking": "^2.22.14",
42
+ "@times-components/ts-components": "^1.84.2",
43
+ "@times-components/ts-newskit": "^1.180.0",
44
+ "@times-components/ts-styleguide": "^1.50.14",
45
+ "@times-components/user-state": "^0.5.31",
46
+ "@times-components/utils": "^6.20.2",
47
47
  "newskit": "7.2.0",
48
48
  "prop-types": "15.7.2"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@babel/core": "7.4.4",
52
- "@times-components/eslint-config-thetimes": "0.8.18",
53
- "@times-components/jest-configurator-web": "0.8.2",
54
- "@times-components/jest-serializer": "3.13.9",
55
- "@times-components/provider-test-tools": "1.29.3",
56
- "@times-components/storybook": "4.12.14",
57
- "@times-components/webpack-configurator": "2.1.1",
52
+ "@times-components/eslint-config-thetimes": "^0.8.18",
53
+ "@times-components/jest-configurator-web": "^0.8.2",
54
+ "@times-components/jest-serializer": "^3.13.9",
55
+ "@times-components/provider-test-tools": "^1.29.3",
56
+ "@times-components/storybook": "^4.12.14",
57
+ "@times-components/webpack-configurator": "^2.1.1",
58
58
  "babel-jest": "24.8.0",
59
59
  "eslint": "5.9.0",
60
60
  "jest": "24.8.0",
@@ -75,5 +75,5 @@
75
75
  "publishConfig": {
76
76
  "access": "public"
77
77
  },
78
- "gitHead": "3d89168877398a7dce9f4072ec2cfa30b86c3bc4"
78
+ "gitHead": "f8cccbd6033ec8c9d8b219e384e2128935bb49af"
79
79
  }
package/rnw.js CHANGED
@@ -1 +1 @@
1
- module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},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 r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},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=14)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("newskit")},function(e,t){e.exports=require("@times-components/icons/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("@times-components/context/rnw")},function(e,t){e.exports=require("@emotion-icons/bootstrap/Share")},function(e,t){e.exports=require("@times-components/provider-queries/rnw")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t){e.exports=require("@emotion-icons/bootstrap/Bookmark")},function(e,t){e.exports=require("@emotion-icons/bootstrap/BookmarkFill")},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),a=n(3),i=n.n(a),l=n(2),c=n(4),s=n.n(c),d=n(7),u=n(1),h=n(6),m=n(8),p=n(9),f=n(10);const b=Object(f.makeClient)();var v=e=>b.query({query:p.getTokenisedArticleUrl,variables:{id:e}}),g=n(11),y="https://www.facebook.com/sharer/sharer.php",k="https://twitter.com/intent/tweet",S=n(5);var w,E,x,O,C,I={svgIcon:{fb:{height:18},star:{height:18},fillColour:S.colours.functional.secondary,height:16,hoverFillColour:S.colours.functional.brandColour,save:{fillColour:S.colours.functional.white,strokeColour:S.colours.functional.secondary}}};function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const j=Object(u.styled)(u.Button)(w||(w=T(["\n position: relative;\n border-radius: 0;\n border-color: #333333;\n color: #333333;\n"]))),P=u.styled.div(E||(E=T(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n div {\n height: 16px;\n width: 16px;\n border-right-color: #333333;\n border-width: 0.15em;\n }\n"]))),A=u.styled.div(x||(x=T(["\n div {\n height: 16px;\n width: 16px;\n border-right-color: #00527a;\n border-width: 0.15em;\n }\n"]))),N=Object(u.styled)(u.Popover)(O||(O=T(["\n "," {\n left: 5%;\n }\n box-shadow: 0px -20px 32px 0px #11111114, 0px 4px 4px 0px #00000040 !important;\n"])),Object(u.getMediaQueryFromTheme)("xs","md")),q=Object(u.styled)(u.Stack)(C||(C=T(["\n gap: 24px;\n"])));var B,M;function F(){return(F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function H(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const z=Object(u.styled)(u.LinkStandalone)(B||(B=L(["\n cursor: pointer;\n &:hover {\n text-decoration: none !important;\n }\n"]))),U=u.styled.div(M||(M=L(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n"]))),_=e=>{let t=e.children,n=e.testId,r=e.tooltipContent,a=e.href,i=e.onClick,l=void 0===i?()=>{}:i,c=H(e,["children","testId","tooltipContent","href","onClick"]);return o.a.createElement(z,F({"data-testid":n,onClick:l,href:a,target:"_blank",title:r,external:!1},c),t)},D=e=>{let t=e.children,n=e.icon;return o.a.createElement(u.Stack,{flow:"horizontal-center",spaceInline:"space020"},o.a.createElement(U,null,n),o.a.createElement(u.TextBlock,{typographyPreset:"utilityLabel020"},t))};_.defaultProps={testId:"share-item",href:"",onClick:()=>{},tooltipContent:""};class Q extends r.Component{constructor(e){super(e),this.state={isLoading:!1},this.onShare=this.onShare.bind(this)}onShare(e){const t=this.props,n=t.articleId,r=t.getTokenisedShareUrl,o=t.shouldTokenise,a=t.articleUrl,i=t.onShareEmail,l=t.articleHeadline;if(e.preventDefault(),i({articleId:n,articleUrl:a,articleHeadline:l}),o)this.setState({isLoading:!0}),r(n).then(e=>{const t=e.data;t&&t.article&&(this.setState({isLoading:!1}),this.openMailClient(t.article.tokenisedUrl))}).catch(()=>{this.setState({isLoading:!1})});else{const e=window.location.search.match(/[?&]shareToken=([^&]+)/);this.openMailClient(e?"".concat(a,"?shareToken=").concat(e[1]):a)}}openMailClient(e){const t=this.props,n=t.articleHeadline,r="TIMES"!==t.publicationName?"The Sunday Times":"The Times",o="mailto:?subject=".concat(n," from ").concat(r,"&body=I thought you would be interested in this story from ").concat(r,"%0A%0A").concat(n,"%0A%0A").concat(e);window.location.assign(o)}render(){const e=this.state.isLoading;return o.a.createElement(_,{tooltipContent:"Share by email",onClick:this.onShare,testId:"email-share"},o.a.createElement(D,{icon:e?o.a.createElement(A,null,o.a.createElement(l.IconActivityIndicator,{size:"small"})):o.a.createElement(l.IconEmail,{fillColour:"currentColor",height:I.svgIcon.height,title:"Share by email"})},"Email"))}}Q.defaultProps={publicationName:"TIMES"};var R=Q,W=n(12),G=n(13);var J=o.a.memo(e=>{if(e.error||!e.loading&&!e.data)return null;const t=(e.data||{isBookmarked:!1}).isBookmarked,n={height:14,width:14,visibility:e.loading?"hidden":"visible"},r=t?"Saved":"Save";return o.a.createElement(o.a.Fragment,null,o.a.createElement(j,{style:{width:84,height:32},size:"small",overrides:{stylePreset:"buttonOutlinedPrimary"},onClick:()=>e.onToggleSave(e.articleId,e.data.isBookmarked)},e.loading&&o.a.createElement(P,null,o.a.createElement(l.IconActivityIndicator,null)),t?o.a.createElement(G.BookmarkFill,{style:n}):o.a.createElement(W.Bookmark,{style:n}),e.loading?"":r))});function K(){return(K=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function V(e){const t=e.articleId,n=e.articleUrl,r=e.savingEnabled,a=e.sharingEnabled,i=e.onShareOnFB,c=e.onShareOnTwitter,p=e.isPreviewMode;return o.a.createElement(u.Stack,{"data-testid":"save-and-share-bar",flow:"horizontal-center",spaceInline:"space050",overrides:{paddingBlock:"14px"}},a&&o.a.createElement(N,{placement:"bottom",header:"Share this article",overrides:{minWidth:{xs:"90%",md:"auto"}},content:o.a.createElement(q,{flow:{xs:"vertical-start",md:"horizontal-center"}},o.a.createElement(d.SectionContext.Consumer,null,t=>{let n=t.publicationName;return o.a.createElement(s.a,{state:s.a.showTokenisedEmailShare,fallback:o.a.createElement(R,K({},e,{shouldTokenise:!1,publicationName:n}))},o.a.createElement(R,K({},e,{shouldTokenise:!0,publicationName:n})))}),o.a.createElement(_,{testId:"share-twitter",tooltipContent:"Share on Twitter",href:"".concat(k,"?text=").concat(n),onClick:c},o.a.createElement(D,{icon:o.a.createElement(l.IconTwitter,{fillColour:"currentColor",height:I.svgIcon.height,title:"Share on Twitter"})},"Twitter")),o.a.createElement(_,{testId:"share-facebook",tooltipContent:"Share on Facebook",href:"".concat(y,"?u=").concat(n),onClick:i},o.a.createElement(D,{icon:o.a.createElement(l.IconFacebook,{fillColour:"currentColor",height:I.svgIcon.fb.height,title:"Share on Facebook"})},"Facebook")),o.a.createElement(_,{testId:"copy-to-clickboard",tooltipContent:"Copy link to clipboard",href:"".concat(y,"?u=").concat(n),onClick:function(t){const r=e.onCopyLink;t.preventDefault(),navigator.clipboard.writeText(n),r()}},o.a.createElement(D,{icon:o.a.createElement(l.IconCopyLink,{fillColour:"currentColor",height:I.svgIcon.height,title:"Copy link to clipboard"})},"Link")))},o.a.createElement(j,{size:"small",overrides:{stylePreset:"buttonOutlinedPrimary"}},o.a.createElement(m.Share,{style:{height:14,width:14}}),"Share")),r?o.a.createElement(o.a.Fragment,null,o.a.createElement(s.a,{state:s.a.showArticleSaveButton,serverRender:!1},o.a.createElement("div",{"data-testid":"save-star"},o.a.createElement(h.SaveStar,{articleId:t},o.a.createElement(J,null)))),p&&o.a.createElement("div",{"data-testid":"save-star-preview"},o.a.createElement(h.SaveStar,{isPreviewMode:!0},o.a.createElement(J,null)))):null)}V.defaultProps={onShareOnFB:()=>{},onShareOnTwitter:()=>{},onShareEmail:()=>{},getTokenisedShareUrl:v,isPreviewMode:i.a.bool=!1};var X;t.default=(X=V,Object(g.withTrackEvents)(X,{analyticsEvents:[{actionName:"Pressed",eventName:"onSaveToMyArticles",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleSaveToMyArticles"},{actionName:"Pressed",eventName:"onShareEmail",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareUrlByEmail"},{actionName:"Pressed",eventName:"onCopyLink",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleCopyLink"},{actionName:"Pressed",eventName:"onShareOnFB",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareOnFacebook"},{actionName:"Pressed",eventName:"onShareOnTwitter",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareOnTwitter"}]}))}]);
1
+ module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},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 r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},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=14)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("newskit")},function(e,t){e.exports=require("@times-components/icons/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("@times-components/context/rnw")},function(e,t){e.exports=require("@emotion-icons/bootstrap/Share")},function(e,t){e.exports=require("@times-components/provider-queries/rnw")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t){e.exports=require("@emotion-icons/bootstrap/Bookmark")},function(e,t){e.exports=require("@emotion-icons/bootstrap/BookmarkFill")},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),a=n(3),i=n.n(a),l=n(2),c=n(4),s=n.n(c),d=n(7),u=n(1),h=n(6),m=n(8),p=n(9),f=n(10);const b=Object(f.makeClient)();var g=e=>b.query({query:p.getTokenisedArticleUrl,variables:{id:e}}),v=n(11),y="https://www.facebook.com/sharer/sharer.php",k="https://twitter.com/intent/tweet",S=n(5);var w,E,x,O,C,I={svgIcon:{fb:{height:18},star:{height:18},fillColour:S.colours.functional.secondary,height:16,hoverFillColour:S.colours.functional.brandColour,save:{fillColour:S.colours.functional.white,strokeColour:S.colours.functional.secondary}}};function j(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const T=Object(u.styled)(u.Button)(w||(w=j(["\n position: relative;\n border-radius: 0;\n border-color: #333333;\n color: #333333;\n"]))),P=u.styled.div(E||(E=j(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n div {\n height: 16px;\n width: 16px;\n border-right-color: #333333;\n border-width: 0.15em;\n }\n"]))),N=u.styled.div(x||(x=j(["\n div {\n height: 16px;\n width: 16px;\n border-right-color: #00527a;\n border-width: 0.15em;\n }\n"]))),A=Object(u.styled)(u.Popover)(O||(O=j(["\n "," {\n left: 5%;\n }\n box-shadow: 0px -20px 32px 0px #11111114, 0px 4px 4px 0px #00000040 !important;\n"])),Object(u.getMediaQueryFromTheme)("xs","md")),q=Object(u.styled)(u.Stack)(C||(C=j(["\n gap: 24px;\n"])));var B,M;function F(){return(F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function H(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const z=Object(u.styled)(u.LinkStandalone)(B||(B=L(["\n cursor: pointer;\n &:hover {\n text-decoration: none !important;\n }\n"]))),U=u.styled.div(M||(M=L(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n"]))),_=e=>{let t=e.children,n=e.testId,r=e.tooltipContent,a=e.href,i=e.onClick,l=void 0===i?()=>{}:i,c=H(e,["children","testId","tooltipContent","href","onClick"]);return o.a.createElement(z,F({"data-testid":n,onClick:l,href:a,target:"_blank",title:r,external:!1},c),t)},D=e=>{let t=e.children,n=e.icon;return o.a.createElement(u.Stack,{flow:"horizontal-center",spaceInline:"space020"},o.a.createElement(U,null,n),o.a.createElement(u.TextBlock,{typographyPreset:"utilityLabel020"},t))};_.defaultProps={testId:"share-item",href:"",onClick:()=>{},tooltipContent:""};class Q extends r.Component{constructor(e){super(e),this.state={isLoading:!1},this.onShare=this.onShare.bind(this)}onShare(e){const t=this.props,n=t.articleId,r=t.getTokenisedShareUrl,o=t.shouldTokenise,a=t.articleUrl,i=t.onShareEmail,l=t.articleHeadline,c=t.getDomainSpecificUrl,s=t.hostName;if(e.preventDefault(),console.log({articleId:n,articleUrl:a,articleHeadline:l},"email-share.js 1"),i({articleId:n,articleUrl:a,articleHeadline:l}),o)this.setState({isLoading:!0}),r(n).then(e=>{const t=e.data;console.log(e,"email-share.js 2"),t&&t.article&&(console.log(t,"email-share.js 3"),this.setState({isLoading:!1}),console.log(s,"email-share.js 4"),this.openMailClient(c(s,t.article.tokenisedUrl)))}).catch(()=>{this.setState({isLoading:!1})});else{const e=window.location.search.match(/[?&]shareToken=([^&]+)/);this.openMailClient(e?"".concat(a,"?shareToken=").concat(e[1]):a)}}openMailClient(e){const t=this.props,n=t.articleHeadline,r="TIMES"!==t.publicationName?"The Sunday Times":"The Times",o="mailto:?subject=".concat(n," from ").concat(r,"&body=I thought you would be interested in this story from ").concat(r,"%0A%0A").concat(n,"%0A%0A").concat(e);window.location.assign(o)}render(){const e=this.state.isLoading;return o.a.createElement(_,{tooltipContent:"Share by email",onClick:this.onShare,testId:"email-share"},o.a.createElement(D,{icon:e?o.a.createElement(N,null,o.a.createElement(l.IconActivityIndicator,{size:"small"})):o.a.createElement(l.IconEmail,{fillColour:"currentColor",height:I.svgIcon.height,title:"Share by email"})},"Email"))}}Q.defaultProps={publicationName:"TIMES"};var R=Q,W=n(12),G=n(13);var J=o.a.memo(e=>{if(e.error||!e.loading&&!e.data)return null;const t=(e.data||{isBookmarked:!1}).isBookmarked,n={height:14,width:14,visibility:e.loading?"hidden":"visible"},r=t?"Saved":"Save";return o.a.createElement(o.a.Fragment,null,o.a.createElement(T,{style:{width:84,height:32},size:"small",overrides:{stylePreset:"buttonOutlinedPrimary"},onClick:()=>e.onToggleSave(e.articleId,e.data.isBookmarked)},e.loading&&o.a.createElement(P,null,o.a.createElement(l.IconActivityIndicator,null)),t?o.a.createElement(G.BookmarkFill,{style:n}):o.a.createElement(W.Bookmark,{style:n}),e.loading?"":r))});function K(){return(K=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function V(e){const t=e.articleId,n=e.articleUrl,r=e.savingEnabled,a=e.sharingEnabled,i=e.onShareOnFB,c=e.onShareOnTwitter,p=e.isPreviewMode;return console.log(e,"save-and-share-bar.js"),o.a.createElement(u.Stack,{"data-testid":"save-and-share-bar",flow:"horizontal-center",spaceInline:"space050",overrides:{paddingBlock:"14px"}},a&&o.a.createElement(A,{placement:"bottom",header:"Share this article",overrides:{minWidth:{xs:"90%",md:"auto"}},content:o.a.createElement(q,{flow:{xs:"vertical-start",md:"horizontal-center"}},o.a.createElement(d.SectionContext.Consumer,null,t=>{let n=t.publicationName;return o.a.createElement(s.a,{state:s.a.showTokenisedEmailShare,fallback:o.a.createElement(R,K({},e,{shouldTokenise:!1,publicationName:n}))},o.a.createElement(R,K({},e,{shouldTokenise:!0,publicationName:n})))}),o.a.createElement(_,{testId:"share-twitter",tooltipContent:"Share on Twitter",href:"".concat(k,"?text=").concat(n),onClick:c},o.a.createElement(D,{icon:o.a.createElement(l.IconTwitter,{fillColour:"currentColor",height:I.svgIcon.height,title:"Share on Twitter"})},"Twitter")),o.a.createElement(_,{testId:"share-facebook",tooltipContent:"Share on Facebook",href:"".concat(y,"?u=").concat(n),onClick:i},o.a.createElement(D,{icon:o.a.createElement(l.IconFacebook,{fillColour:"currentColor",height:I.svgIcon.fb.height,title:"Share on Facebook"})},"Facebook")),o.a.createElement(_,{testId:"copy-to-clickboard",tooltipContent:"Copy link to clipboard",href:"".concat(y,"?u=").concat(n),onClick:function(t){const r=e.onCopyLink;t.preventDefault(),navigator.clipboard.writeText(n),r()}},o.a.createElement(D,{icon:o.a.createElement(l.IconCopyLink,{fillColour:"currentColor",height:I.svgIcon.height,title:"Copy link to clipboard"})},"Link")))},o.a.createElement(T,{size:"small",overrides:{stylePreset:"buttonOutlinedPrimary"}},o.a.createElement(m.Share,{style:{height:14,width:14}}),"Share")),r?o.a.createElement(o.a.Fragment,null,o.a.createElement(s.a,{state:s.a.showArticleSaveButton,serverRender:!1},o.a.createElement("div",{"data-testid":"save-star"},o.a.createElement(h.SaveStar,{articleId:t},o.a.createElement(J,null)))),p&&o.a.createElement("div",{"data-testid":"save-star-preview"},o.a.createElement(h.SaveStar,{isPreviewMode:!0},o.a.createElement(J,null)))):null)}V.defaultProps={onShareOnFB:()=>{},onShareOnTwitter:()=>{},onShareEmail:()=>{},getTokenisedShareUrl:g,isPreviewMode:i.a.bool=!1};var X;t.default=(X=V,Object(v.withTrackEvents)(X,{analyticsEvents:[{actionName:"Pressed",eventName:"onSaveToMyArticles",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleSaveToMyArticles"},{actionName:"Pressed",eventName:"onShareEmail",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareUrlByEmail"},{actionName:"Pressed",eventName:"onCopyLink",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleCopyLink"},{actionName:"Pressed",eventName:"onShareOnFB",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareOnFacebook"},{actionName:"Pressed",eventName:"onShareOnTwitter",getAttrs:e=>({articleId:e.articleId,articleHeadline:e.articleHeadline}),trackingName:"ArticleShareOnTwitter"}]}))}]);