@twreporter/react-article-components 1.6.0-rc.0 → 1.6.0-rc.1

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,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.6.0-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.6.0-rc.0...@twreporter/react-article-components@1.6.0-rc.1) (2022-07-20)
7
+
8
+ **Note:** Version bump only for package @twreporter/react-article-components
9
+
10
+
11
+
12
+
13
+
6
14
  # [1.6.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.5.0...@twreporter/react-article-components@1.6.0-rc.0) (2022-07-08)
7
15
 
8
16
 
@@ -7,13 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = exports.Caption = exports.Block = void 0;
9
9
 
10
- var _react = _interopRequireWildcard(require("react"));
10
+ var _body = _interopRequireDefault(require("../../constants/prop-types/body"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
+ var _react = _interopRequireDefault(require("react"));
15
+
14
16
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
17
 
16
- var _reactWaypoint = require("react-waypoint");
18
+ var _theme = _interopRequireDefault(require("../../constants/theme"));
19
+
20
+ var _color = _interopRequireDefault(require("../../constants/color"));
17
21
 
18
22
  var _forEach = _interopRequireDefault(require("lodash/forEach"));
19
23
 
@@ -21,20 +25,8 @@ var _get = _interopRequireDefault(require("lodash/get"));
21
25
 
22
26
  var _merge = _interopRequireDefault(require("lodash/merge"));
23
27
 
24
- var _theme = _interopRequireDefault(require("../../constants/theme"));
25
-
26
- var _color = _interopRequireDefault(require("../../constants/color"));
27
-
28
- var _body = _interopRequireDefault(require("../../constants/prop-types/body"));
29
-
30
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
29
 
32
- 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); }
33
-
34
- 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; }
35
-
36
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
-
38
30
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
39
31
 
40
32
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -100,8 +92,6 @@ function dispatchWindowLoadEvent() {
100
92
  window.dispatchEvent(loadEvent);
101
93
  }
102
94
 
103
- var infogramEmbed = 'infogram';
104
-
105
95
  var EmbeddedCode = /*#__PURE__*/function (_React$PureComponent) {
106
96
  _inherits(EmbeddedCode, _React$PureComponent);
107
97
 
@@ -113,19 +103,18 @@ var EmbeddedCode = /*#__PURE__*/function (_React$PureComponent) {
113
103
  _classCallCheck(this, EmbeddedCode);
114
104
 
115
105
  _this = _super.call(this, props);
106
+ _this._embedded = /*#__PURE__*/_react["default"].createRef();
107
+ return _this;
108
+ }
116
109
 
117
- _defineProperty(_assertThisInitialized(_this), "state", {
118
- isLoaded: false
119
- });
120
-
121
- _defineProperty(_assertThisInitialized(_this), "executeScript", function () {
122
- _this.setState({
123
- isLoaded: true
124
- });
110
+ _createClass(EmbeddedCode, [{
111
+ key: "componentDidMount",
112
+ value: function componentDidMount() {
113
+ var _this2 = this;
125
114
 
126
- var node = _this._embedded.current;
115
+ var node = this._embedded.current;
127
116
 
128
- var scripts = _.get(_this.props, ['data', 'content', 0, 'scripts']);
117
+ var scripts = _.get(this.props, ['data', 'content', 0, 'scripts']);
129
118
 
130
119
  if (node && Array.isArray(scripts)) {
131
120
  var scriptsCount = scripts.length;
@@ -140,7 +129,7 @@ var EmbeddedCode = /*#__PURE__*/function (_React$PureComponent) {
140
129
  try {
141
130
  scriptEle.setAttribute(name, value);
142
131
  } catch (err) {
143
- console.error('Failed to set an attribute to the embbeded script.\n', "embedded element id: ".concat(_.get(_this.props, 'data.id', ''), "\n"), "attribute name: ".concat(name, "\n"), "attribute value: ".concat(value, "\n"), 'error:\n', err);
132
+ console.error('Failed to set an attribute to the embbeded script.\n', "embedded element id: ".concat(_.get(_this2.props, 'data.id', ''), "\n"), "attribute name: ".concat(name, "\n"), "attribute value: ".concat(value, "\n"), 'error:\n', err);
144
133
  }
145
134
  });
146
135
 
@@ -166,71 +155,31 @@ var EmbeddedCode = /*#__PURE__*/function (_React$PureComponent) {
166
155
 
167
156
  node.appendChild(scriptsFragment);
168
157
  }
169
- });
170
-
171
- _defineProperty(_assertThisInitialized(_this), "loadEmbed", function () {
172
- if (!_this.state.isLoaded) {
173
- _this.executeScript();
174
- }
175
- });
176
-
177
- _this._embedded = /*#__PURE__*/_react["default"].createRef();
178
-
179
- var _$get = _.get(_this.props, ['data', 'content', 0], {}),
180
- caption = _$get.caption,
181
- embeddedCodeWithoutScript = _$get.embeddedCodeWithoutScript;
182
-
183
- _this._caption = caption;
184
- _this._embeddedCodeWithoutScript = embeddedCodeWithoutScript;
185
- return _this;
186
- }
187
-
188
- _createClass(EmbeddedCode, [{
189
- key: "componentDidMount",
190
- value: function componentDidMount() {
191
- var _this$_embeddedCodeWi;
192
-
193
- // Delay loading infogram in loadEmbed()
194
- if (!((_this$_embeddedCodeWi = this._embeddedCodeWithoutScript) !== null && _this$_embeddedCodeWi !== void 0 && _this$_embeddedCodeWi.includes(infogramEmbed))) {
195
- this.executeScript();
196
- }
197
- }
198
- }, {
199
- key: "componentWillUnmount",
200
- value: function componentWillUnmount() {
201
- this._embedded = null;
202
- this._caption = null;
203
- this._embeddedCodeWithoutScript = null;
204
158
  }
205
159
  }, {
206
160
  key: "render",
207
161
  value: function render() {
208
- var _this$_embeddedCodeWi2;
209
-
210
162
  var className = this.props.className;
211
163
 
212
- var embed = /*#__PURE__*/_react["default"].createElement("div", {
164
+ var _$get = _.get(this.props, ['data', 'content', 0], {}),
165
+ caption = _$get.caption,
166
+ embeddedCodeWithoutScript = _$get.embeddedCodeWithoutScript;
167
+
168
+ return /*#__PURE__*/_react["default"].createElement("div", {
213
169
  className: className
214
170
  }, /*#__PURE__*/_react["default"].createElement(Block, {
215
171
  ref: this._embedded,
216
172
  dangerouslySetInnerHTML: {
217
- __html: this._embeddedCodeWithoutScript
173
+ __html: embeddedCodeWithoutScript
218
174
  }
219
- }), this._caption ? /*#__PURE__*/_react["default"].createElement(Caption, null, this._caption) : null);
220
-
221
- if ((_this$_embeddedCodeWi2 = this._embeddedCodeWithoutScript) !== null && _this$_embeddedCodeWi2 !== void 0 && _this$_embeddedCodeWi2.includes(infogramEmbed)) {
222
- return this.state.isLoaded ? embed : null;
223
- }
224
-
225
- return embed;
175
+ }), caption ? /*#__PURE__*/_react["default"].createElement(Caption, null, caption) : null);
226
176
  }
227
177
  }]);
228
178
 
229
179
  return EmbeddedCode;
230
- }(_react["default"].PureComponent); // Serious layout shifts show up when loading bunch of infograms due to lack of heights,
231
- // so here we apply waypoint wrapper to load infogram dynamically to avoid layout shifts for anchors.
232
- // https://twreporter-org.atlassian.net/browse/TWREPORTER-60
180
+ }(_react["default"].PureComponent);
233
181
 
182
+ exports["default"] = EmbeddedCode;
234
183
 
235
184
  _defineProperty(EmbeddedCode, "propTypes", {
236
185
  className: _propTypes["default"].string,
@@ -239,22 +188,4 @@ _defineProperty(EmbeddedCode, "propTypes", {
239
188
 
240
189
  _defineProperty(EmbeddedCode, "defaultProps", {
241
190
  className: ''
242
- });
243
-
244
- var WayPointWrapper = function WayPointWrapper(props) {
245
- var embedRef = (0, _react.useRef)(null);
246
-
247
- var onEnter = function onEnter() {
248
- embedRef.current.loadEmbed();
249
- };
250
-
251
- return /*#__PURE__*/_react["default"].createElement(_reactWaypoint.Waypoint, {
252
- onEnter: onEnter,
253
- fireOnRapidScroll: false
254
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(EmbeddedCode, _extends({}, props, {
255
- ref: embedRef
256
- }))));
257
- };
258
-
259
- var _default = WayPointWrapper;
260
- exports["default"] = _default;
191
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-article-components",
3
- "version": "1.6.0-rc.0",
3
+ "version": "1.6.0-rc.1",
4
4
  "description": "The Reporter react article components, which are used in article page",
5
5
  "main": "lib/components/article-page.js",
6
6
  "repository": "https://github.com/twreporter/twreporter-npm-packages.git",
@@ -40,5 +40,5 @@
40
40
  "files": [
41
41
  "lib"
42
42
  ],
43
- "gitHead": "5ff16a85b38a7668e29e94a2d2e9d2ee8261bc52"
43
+ "gitHead": "426ad019c8595de3b8e6888b6ebb021829847084"
44
44
  }