@times-components/interactive-wrapper 0.8.15 → 0.8.19

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,38 @@
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.8.19](https://github.com/newsuk/times-components/compare/@times-components/interactive-wrapper@0.8.18...@times-components/interactive-wrapper@0.8.19) (2021-12-02)
7
+
8
+ **Note:** Version bump only for package @times-components/interactive-wrapper
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.8.18](https://github.com/newsuk/times-components/compare/@times-components/interactive-wrapper@0.8.17...@times-components/interactive-wrapper@0.8.18) (2021-11-25)
15
+
16
+ **Note:** Version bump only for package @times-components/interactive-wrapper
17
+
18
+
19
+
20
+
21
+
22
+ ## [0.8.17](https://github.com/newsuk/times-components/compare/@times-components/interactive-wrapper@0.8.16...@times-components/interactive-wrapper@0.8.17) (2021-08-31)
23
+
24
+ **Note:** Version bump only for package @times-components/interactive-wrapper
25
+
26
+
27
+
28
+
29
+
30
+ ## [0.8.16](https://github.com/newsuk/times-components/compare/@times-components/interactive-wrapper@0.8.15...@times-components/interactive-wrapper@0.8.16) (2021-08-09)
31
+
32
+ **Note:** Version bump only for package @times-components/interactive-wrapper
33
+
34
+
35
+
36
+
37
+
6
38
  ## [0.8.15](https://github.com/newsuk/times-components/compare/@times-components/interactive-wrapper@0.8.14...@times-components/interactive-wrapper@0.8.15) (2021-07-19)
7
39
 
8
40
  **Note:** Version bump only for package @times-components/interactive-wrapper
package/README.md CHANGED
@@ -32,17 +32,9 @@ yarn lint
32
32
  Testing can be done on each platform individually
33
33
 
34
34
  ```
35
- yarn test:android
36
- yarn test:ios
37
35
  yarn test:web
38
36
  ```
39
37
 
40
- Or the tests for all platforms can be run
41
-
42
- ```
43
- yarn test:all
44
- ```
45
-
46
38
  Visit the official
47
39
  [storybook](http://components.thetimes.co.uk/?knob-Size%20of%20ad%20placeholder%3A=default&knob-Interactive=chapterHeading&knob-Interactive%20Wrapper=chapterHeading&selectedKind=Primitives%2FInteractive%20Wrapper&selectedStory=Interactive%20Wrapper&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybooks%2Fstorybook-addon-knobs)
48
40
  to see our available interactives.
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _assertThisInitialized2=_interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));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 _reactNative=require("react-native");var _reactNativeWebview=require("react-native-webview");var _propTypes=_interopRequireDefault(require("prop-types"));var _webviewEventCallbackSetup=_interopRequireDefault(require("./webview-event-callback-setup"));var _responsiveImage=_interopRequireDefault(require("./responsive-image"));var _jsxFileName="/home/circleci/project/packages/interactive-wrapper/src/interactive-wrapper.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 editorialLambdaProtocol="https://";var editorialLambdaOrigin="jotn9sgpg6.execute-api.eu-west-1.amazonaws.com";var editorialLambdaSlug="prod/component";var InteractiveWrapper=function(_Component){(0,_inherits2.default)(InteractiveWrapper,_Component);var _super=_createSuper(InteractiveWrapper);function InteractiveWrapper(){var _this;(0,_classCallCheck2.default)(this,InteractiveWrapper);_this=_super.call(this);_this.state={height:_reactNative.Platform.OS==="ios"?0:50};_this.onMessage=_this.onMessage.bind((0,_assertThisInitialized2.default)(_this));_this.handleNavigationStateChange=_this.handleNavigationStateChange.bind((0,_assertThisInitialized2.default)(_this));_this.onLoadEnd=_this.onLoadEnd.bind((0,_assertThisInitialized2.default)(_this));return _this;}(0,_createClass2.default)(InteractiveWrapper,[{key:"onMessage",value:function onMessage(e){if(e&&e.nativeEvent&&e.nativeEvent.data||e.nativeEvent.data==="0"){var height=this.state.height;var newHeight=parseInt(e.nativeEvent.data,10);if(newHeight&&newHeight>height){var updateState=newHeight<30?{height:newHeight+30}:{height:newHeight};this.setState(updateState);}}else{console.error("Invalid height received "+e.nativeEvent.data);}}},{key:"onLoadEnd",value:function onLoadEnd(){if(this.webview){this.webview.postMessage("thetimes.co.uk","*");}}},{key:"handleNavigationStateChange",value:function handleNavigationStateChange(data){if(!data.url.includes("data:text/html")&&data.url.includes("http")&&!data.url.includes(editorialLambdaOrigin)){InteractiveWrapper.openURLInBrowser(data.url);this.webview.reload();}}},{key:"render",value:function render(){var _this2=this;var _this$props=this.props,_this$props$config=_this$props.config,dev=_this$props$config.dev,environment=_this$props$config.environment,platform=_this$props$config.platform,version=_this$props$config.version,id=_this$props.id;var height=this.state.height;var uri=""+editorialLambdaProtocol+editorialLambdaOrigin+"/"+editorialLambdaSlug+"/"+id+"?dev="+dev+"&env="+environment+"&platform="+platform+"&version="+version;var scriptToInjectIOS="window.postMessage = function(data) {window.ReactNativeWebView.postMessage(data);};("+_webviewEventCallbackSetup.default+")({window});";var scriptToInjectAndroid="\n setTimeout(function() {\n window.ReactNativeWebView.postMessage(document.documentElement.scrollHeight);\n }, 500);\n true;\n ";var scriptToInject=_reactNative.Platform.OS==="ios"?scriptToInjectIOS:scriptToInjectAndroid;return _react.default.createElement(_reactNativeWebview.WebView,{injectedJavaScript:scriptToInject,onLoadEnd:this.onLoadEnd,onMessage:this.onMessage,onNavigationStateChange:this.handleNavigationStateChange,ref:function ref(_ref){_this2.webview=_ref;},scrollEnabled:false,source:{uri:uri},style:{height:height},__source:{fileName:_jsxFileName,lineNumber:90,columnNumber:7}});}}],[{key:"openURLInBrowser",value:function openURLInBrowser(url){return _reactNative.Linking.canOpenURL(url).then(function(supported){if(!supported){return console.error("Cant open url",url);}return _reactNative.Linking.openURL(url);}).catch(function(err){return console.error("An error occurred",err);});}}]);return InteractiveWrapper;}(_react.Component);InteractiveWrapper.propTypes={config:_propTypes.default.shape({}),id:_propTypes.default.string.isRequired};InteractiveWrapper.defaultProps={config:{}};InteractiveWrapper.ResponsiveImageInteractive=_responsiveImage.default;var _default=InteractiveWrapper;exports.default=_default;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.polyfillWCIfNecessary=polyfillWCIfNecessary;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 _image=require("@times-components/image");var _jsxFileName="/home/circleci/project/packages/interactive-wrapper/src/interactive-wrapper.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;}}function ensureElement(selector,createElement){if(document.body.querySelector(selector)){return Promise.resolve(null);}return new Promise(function(resolve,reject){var element=createElement();element.onload=resolve;element.onerror=reject;document.body.appendChild(element);});}function ensureScript(src){return ensureElement("script[src=\""+src+"\"]",function(){var script=document.createElement("script");script.setAttribute("async","async");script.setAttribute("src",src);return script;});}function ensureImport(src){return ensureElement("link[href=\""+src+"\"]",function(){var link=document.createElement("link");link.setAttribute("href",src);link.setAttribute("rel","import");return link;});}function polyfillWCIfNecessary(){var htmlImportsSupported=("import"in document.createElement("link"));var registerElementSupported=!!document.registerElement;if(!htmlImportsSupported||!registerElementSupported){return Promise.all([ensureScript("https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/0.7.24/webcomponents-lite.min.js"),new Promise(function(resolve){window.addEventListener("WebComponentsReady",resolve);})]);}return Promise.resolve();}var InteractiveWrapper=function(_Component){(0,_inherits2.default)(InteractiveWrapper,_Component);var _super=_createSuper(InteractiveWrapper);function InteractiveWrapper(props){var _this;(0,_classCallCheck2.default)(this,InteractiveWrapper);_this=_super.call(this,props);_this.placeholder=_react.default.createRef(null);_this.component=_react.default.createRef(null);return _this;}(0,_createClass2.default)(InteractiveWrapper,[{key:"componentDidMount",value:function componentDidMount(){var _this2=this;var fetchPolyfill=this.props.fetchPolyfill;fetchPolyfill().then(function(){_this2.insertComponent();});}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.insertComponent();}},{key:"insertComponent",value:function insertComponent(){var _this$props,attributes,element,source,placeholder,component,newElement;return _regenerator.default.async(function insertComponent$(_context){while(1){switch(_context.prev=_context.next){case 0:_this$props=this.props,attributes=_this$props.attributes,element=_this$props.element,source=_this$props.source;placeholder=this.placeholder.current;component=this.component.current;component.innerHTML="";placeholder.style.cssText+="display: block !important";component.innerHTML="";newElement=document.createElement(element);Object.keys(attributes).forEach(function(key){return newElement.setAttribute(key,attributes[key]);});component.appendChild(newElement);newElement.outerHTML+="";placeholder.style.cssText+="display: none !important";_context.next=13;return _regenerator.default.awrap(ensureImport(source));case 13:case"end":return _context.stop();}}},null,this,null,Promise);}},{key:"render",value:function render(){return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{ref:this.placeholder,style:{height:150,position:"relative"},__source:{fileName:_jsxFileName,lineNumber:114,columnNumber:9}},_react.default.createElement(_image.Placeholder,{__source:{fileName:_jsxFileName,lineNumber:118,columnNumber:11}})),_react.default.createElement("div",{ref:this.component,__source:{fileName:_jsxFileName,lineNumber:120,columnNumber:9}}));}}]);return InteractiveWrapper;}(_react.Component);exports.default=InteractiveWrapper;InteractiveWrapper.propTypes={attributes:_propTypes.default.object,element:_propTypes.default.string.isRequired,source:_propTypes.default.string.isRequired,fetchPolyfill:_propTypes.default.func};InteractiveWrapper.defaultProps={attributes:{},fetchPolyfill:polyfillWCIfNecessary};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/interactive-wrapper",
3
- "version": "0.8.15",
3
+ "version": "0.8.19",
4
4
  "description": "Wrapper for legacy Interactive components",
5
5
  "main": "dist/interactive-wrapper",
6
6
  "dev": "src/interactive-wrapper",
@@ -9,10 +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:android": "jest --config='./__tests__/android/jest.config.js'",
13
- "test:ios": "jest --config='./__tests__/ios/jest.config.js'",
14
12
  "test:web": "jest --config='./__tests__/web/jest.config.js'",
15
- "test:all": "yarn test:android --coverage && yarn test:ios --coverage && yarn test:web --coverage",
16
13
  "prepublishOnly": "yarn transpile && yarn bundle",
17
14
  "watch": "watch 'yarn bundle' ./src --ignoreDotFiles --ignoreUnreadable",
18
15
  "cleanup-dist": "rm -rf dist",
@@ -39,30 +36,26 @@
39
36
  "homepage": "https://github.com/newsuk/times-components#readme",
40
37
  "devDependencies": {
41
38
  "@babel/core": "7.4.4",
42
- "@times-components/eslint-config-thetimes": "0.8.16",
43
- "@times-components/jest-configurator": "2.7.1",
44
- "@times-components/jest-serializer": "3.2.25",
45
- "@times-components/storybook": "4.1.65",
46
- "@times-components/test-utils": "2.3.8",
47
- "@times-components/webpack-configurator": "2.0.27",
39
+ "@times-components/eslint-config-thetimes": "0.8.18",
40
+ "@times-components/jest-configurator": "2.7.4",
41
+ "@times-components/jest-serializer": "3.2.28",
42
+ "@times-components/storybook": "4.1.68",
43
+ "@times-components/test-utils": "2.3.10",
44
+ "@times-components/webpack-configurator": "2.0.29",
48
45
  "babel-jest": "24.8.0",
49
46
  "enzyme": "3.9.0",
50
47
  "eslint": "5.9.0",
51
- "fetch-mock": "8.3.1",
52
48
  "jest": "24.8.0",
53
49
  "prettier": "1.14.3",
54
50
  "react": "16.9.0",
55
51
  "react-dom": "16.9.0",
56
52
  "react-native": "0.61.5",
57
- "react-test-renderer": "16.9.0",
58
53
  "webpack": "4.30.0",
59
54
  "webpack-cli": "3.3.1"
60
55
  },
61
56
  "dependencies": {
62
- "@times-components/image": "6.8.4",
63
- "@times-components/utils": "6.5.5",
64
- "prop-types": "15.7.2",
65
- "react-native-webview": "11.0.0"
57
+ "@times-components/image": "6.8.8",
58
+ "prop-types": "15.7.2"
66
59
  },
67
60
  "resolutions": {
68
61
  "react": "16.9.0",
@@ -77,5 +70,5 @@
77
70
  "publishConfig": {
78
71
  "access": "public"
79
72
  },
80
- "gitHead": "9ff24b8c2abe80593c608615b20fe751527a7d88"
73
+ "gitHead": "eec604346ec793e27892f0522ab81cafde40fd9e"
81
74
  }
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _assertThisInitialized2=_interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));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 _reactNative=require("react-native");var _reactNativeWebview=require("react-native-webview");var _propTypes=_interopRequireDefault(require("prop-types"));var _webviewEventCallbackSetup=_interopRequireDefault(require("./webview-event-callback-setup"));var _responsiveImage=_interopRequireDefault(require("./responsive-image"));var _jsxFileName="/home/circleci/project/packages/interactive-wrapper/src/interactive-wrapper.android.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 editorialLambdaProtocol="https://";var editorialLambdaOrigin="jotn9sgpg6.execute-api.eu-west-1.amazonaws.com";var editorialLambdaSlug="prod/component";var InteractiveWrapper=function(_Component){(0,_inherits2.default)(InteractiveWrapper,_Component);var _super=_createSuper(InteractiveWrapper);function InteractiveWrapper(){var _this;(0,_classCallCheck2.default)(this,InteractiveWrapper);_this=_super.call(this);_this.state={height:_reactNative.Platform.OS==="ios"?0:50};_this.onMessage=_this.onMessage.bind((0,_assertThisInitialized2.default)(_this));_this.handleNavigationStateChange=_this.handleNavigationStateChange.bind((0,_assertThisInitialized2.default)(_this));_this.onLoadEnd=_this.onLoadEnd.bind((0,_assertThisInitialized2.default)(_this));return _this;}(0,_createClass2.default)(InteractiveWrapper,[{key:"onMessage",value:function onMessage(e){if(e&&e.nativeEvent&&e.nativeEvent.data||e.nativeEvent.data==="0"){var height=this.state.height;var newHeight=parseInt(e.nativeEvent.data,10);if(newHeight&&newHeight>height){var updateState=newHeight<30?{height:newHeight+30}:{height:newHeight};this.setState(updateState);}}else{console.error("Invalid height received "+e.nativeEvent.data);}}},{key:"onLoadEnd",value:function onLoadEnd(){if(this.webview){this.webview.postMessage("thetimes.co.uk","*");}}},{key:"handleNavigationStateChange",value:function handleNavigationStateChange(data){if(!data.url.includes("data:text/html")&&data.url.includes("http")&&!data.url.includes(editorialLambdaOrigin)){InteractiveWrapper.openURLInBrowser(data.url);return false;}return true;}},{key:"render",value:function render(){var _this2=this;var _this$props=this.props,_this$props$config=_this$props.config,dev=_this$props$config.dev,environment=_this$props$config.environment,platform=_this$props$config.platform,version=_this$props$config.version,id=_this$props.id;var height=this.state.height;var uri=""+editorialLambdaProtocol+editorialLambdaOrigin+"/"+editorialLambdaSlug+"/"+id+"?dev="+dev+"&env="+environment+"&platform="+platform+"&version="+version;var scriptToInjectIOS="window.postMessage = function(data) {window.ReactNativeWebView.postMessage(data);};("+_webviewEventCallbackSetup.default+")({window});";var scriptToInjectAndroid="\n setTimeout(function() {\n window.ReactNativeWebView.postMessage(document.documentElement.scrollHeight);\n }, 500);\n true;\n ";var scriptToInject=_reactNative.Platform.OS==="ios"?scriptToInjectIOS:scriptToInjectAndroid;return _react.default.createElement(_reactNativeWebview.WebView,{injectedJavaScript:scriptToInject,onLoadEnd:this.onLoadEnd,onMessage:this.onMessage,ref:function ref(_ref){_this2.webview=_ref;},scrollEnabled:false,onShouldStartLoadWithRequest:this.handleNavigationStateChange,source:{uri:uri},style:{height:height},__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:7}});}}],[{key:"openURLInBrowser",value:function openURLInBrowser(url){return _reactNative.Linking.canOpenURL(url).then(function(supported){if(!supported){return console.error("Cant open url",url);}return _reactNative.Linking.openURL(url);}).catch(function(err){return console.error("An error occurred",err);});}}]);return InteractiveWrapper;}(_react.Component);InteractiveWrapper.propTypes={config:_propTypes.default.shape({}),id:_propTypes.default.string.isRequired};InteractiveWrapper.defaultProps={config:{}};InteractiveWrapper.ResponsiveImageInteractive=_responsiveImage.default;var _default=InteractiveWrapper;exports.default=_default;
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.polyfillWCIfNecessary=polyfillWCIfNecessary;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 _image=require("@times-components/image");var _jsxFileName="/home/circleci/project/packages/interactive-wrapper/src/interactive-wrapper.web.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;}}function ensureElement(selector,createElement){if(document.body.querySelector(selector)){return Promise.resolve(null);}return new Promise(function(resolve,reject){var element=createElement();element.onload=resolve;element.onerror=reject;document.body.appendChild(element);});}function ensureScript(src){return ensureElement("script[src=\""+src+"\"]",function(){var script=document.createElement("script");script.setAttribute("async","async");script.setAttribute("src",src);return script;});}function ensureImport(src){return ensureElement("link[href=\""+src+"\"]",function(){var link=document.createElement("link");link.setAttribute("href",src);link.setAttribute("rel","import");return link;});}function polyfillWCIfNecessary(){var htmlImportsSupported=("import"in document.createElement("link"));var registerElementSupported=!!document.registerElement;if(!htmlImportsSupported||!registerElementSupported){return Promise.all([ensureScript("https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/0.7.24/webcomponents-lite.min.js"),new Promise(function(resolve){window.addEventListener("WebComponentsReady",resolve);})]);}return Promise.resolve();}var InteractiveWrapper=function(_Component){(0,_inherits2.default)(InteractiveWrapper,_Component);var _super=_createSuper(InteractiveWrapper);function InteractiveWrapper(props){var _this;(0,_classCallCheck2.default)(this,InteractiveWrapper);_this=_super.call(this,props);_this.placeholder=_react.default.createRef(null);_this.component=_react.default.createRef(null);return _this;}(0,_createClass2.default)(InteractiveWrapper,[{key:"componentDidMount",value:function componentDidMount(){var _this2=this;var fetchPolyfill=this.props.fetchPolyfill;fetchPolyfill().then(function(){_this2.insertComponent();});}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.insertComponent();}},{key:"insertComponent",value:function insertComponent(){var _this$props,attributes,element,source,placeholder,component,newElement;return _regenerator.default.async(function insertComponent$(_context){while(1){switch(_context.prev=_context.next){case 0:_this$props=this.props,attributes=_this$props.attributes,element=_this$props.element,source=_this$props.source;placeholder=this.placeholder.current;component=this.component.current;component.innerHTML="";placeholder.style.cssText+="display: block !important";component.innerHTML="";newElement=document.createElement(element);Object.keys(attributes).forEach(function(key){return newElement.setAttribute(key,attributes[key]);});component.appendChild(newElement);newElement.outerHTML+="";placeholder.style.cssText+="display: none !important";_context.next=13;return _regenerator.default.awrap(ensureImport(source));case 13:case"end":return _context.stop();}}},null,this,null,Promise);}},{key:"render",value:function render(){return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{ref:this.placeholder,style:{height:150,position:"relative"},__source:{fileName:_jsxFileName,lineNumber:114,columnNumber:9}},_react.default.createElement(_image.Placeholder,{__source:{fileName:_jsxFileName,lineNumber:118,columnNumber:11}})),_react.default.createElement("div",{ref:this.component,__source:{fileName:_jsxFileName,lineNumber:120,columnNumber:9}}));}}]);return InteractiveWrapper;}(_react.Component);exports.default=InteractiveWrapper;InteractiveWrapper.propTypes={attributes:_propTypes.default.object,element:_propTypes.default.string.isRequired,source:_propTypes.default.string.isRequired,fetchPolyfill:_propTypes.default.func};InteractiveWrapper.defaultProps={attributes:{},fetchPolyfill:polyfillWCIfNecessary};
@@ -1 +0,0 @@
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 _reactNative=require("react-native");var _utils=require("@times-components/utils");var _propTypes=_interopRequireDefault(require("prop-types"));var _jsxFileName="/home/circleci/project/packages/interactive-wrapper/src/responsive-image.ios.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 deckUrl=function deckUrl(id){return"https://gobble.timesdev.tools/deck/api/deck-post-action/"+id;};var ResponsiveImageInteractive=function(_Component){(0,_inherits2.default)(ResponsiveImageInteractive,_Component);var _super=_createSuper(ResponsiveImageInteractive);function ResponsiveImageInteractive(props){var _this;(0,_classCallCheck2.default)(this,ResponsiveImageInteractive);_this=_super.call(this,props);_this.state={image:undefined};return _this;}(0,_createClass2.default)(ResponsiveImageInteractive,[{key:"componentDidMount",value:function componentDidMount(){var deckId=this.props.deckId;if(deckId){this.getDeck(deckId);}}},{key:"getDeck",value:function getDeck(id){var _this2=this;var res,_await$res$json,data,images,image;return _regenerator.default.async(function getDeck$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return _regenerator.default.awrap(fetch(deckUrl(id),{headers:{"Content-Type":"application/json"}}));case 2:res=_context.sent;_context.next=5;return _regenerator.default.awrap(res.json());case 5:_await$res$json=_context.sent;data=_await$res$json.body.data;images=data.filter(function(dat){return dat.type==="image";}).map(function(d){return{uri:d.data.Image,width:parseInt(d.data.Size,10)};}).filter(function(d){return d.width<=(0,_utils.screenWidth)();}).sort(function(a,b){return a.width-b.width;});if(images.length){image=images[images.length-1];_reactNative.Image.getSize(image.uri,function(width,height){image.height=height;image.aspectRatio=width/height;_this2.setState({image:image});});}case 9:case"end":return _context.stop();}}},null,null,null,Promise);}},{key:"render",value:function render(){var image=this.state.image;if(image){return _react.default.createElement(_reactNative.ImageBackground,{source:image,imageStyle:{resizeMode:"contain"},style:{width:"100%",aspectRatio:image.aspectRatio},__source:{fileName:_jsxFileName,lineNumber:56,columnNumber:9}});}return _react.default.createElement(_reactNative.View,{__source:{fileName:_jsxFileName,lineNumber:63,columnNumber:12}});}}]);return ResponsiveImageInteractive;}(_react.Component);ResponsiveImageInteractive.propTypes={deckId:_propTypes.default.number.isRequired};var _default=ResponsiveImageInteractive;exports.default=_default;
File without changes