@twreporter/react-article-components 2.4.1-rc.0 → 2.5.0-rc.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.
@@ -4,173 +4,70 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _metadata = _interopRequireDefault(require("./metadata"));
8
7
  var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
10
  var _desktopTools = _interopRequireDefault(require("./desktop-tools"));
11
+ var _metadata = _interopRequireDefault(require("./metadata"));
10
12
  var _aside = _interopRequireDefault(require("../../constants/prop-types/aside"));
11
- var _styledComponents = _interopRequireDefault(require("styled-components"));
12
- var _reactWaypoint = require("react-waypoint");
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
15
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
18
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
- 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, _toPropertyKey(descriptor.key), descriptor); } }
20
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
21
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
22
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
23
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
24
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
25
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
26
- 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; } }
27
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
18
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
31
- var _toolPosition = {
32
- top: 'top',
33
- fixed: 'fixed',
34
- bottom: 'bottom'
35
- };
19
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // components
20
+ // constants
36
21
  var AsideFlexBox = /*#__PURE__*/_styledComponents["default"].aside.withConfig({
37
22
  displayName: "desktop-aside__AsideFlexBox",
38
23
  componentId: "physaw-0"
39
24
  })(["height:100%;display:flex;flex-direction:column;justify-content:space-between;"]);
40
- var ToolsFixedArea = /*#__PURE__*/_styledComponents["default"].div.withConfig({
41
- displayName: "desktop-aside__ToolsFixedArea",
25
+ var ToolsArea = /*#__PURE__*/_styledComponents["default"].div.withConfig({
26
+ displayName: "desktop-aside__ToolsArea",
42
27
  componentId: "physaw-1"
43
28
  })(["position:relative;flex-grow:1;margin-top:90px;margin-bottom:90px;"]);
44
- var ToolsPositioningBlock = /*#__PURE__*/_styledComponents["default"].div.withConfig({
45
- displayName: "desktop-aside__ToolsPositioningBlock",
29
+ var ToolsContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
30
+ displayName: "desktop-aside__ToolsContainer",
46
31
  componentId: "physaw-2"
47
- })(["display:inline-block;position:", ";top:", ";bottom:", ";transform:", ";"], function (props) {
48
- return props.$toolPosition === _toolPosition.fixed ? 'fixed' : 'absolute';
49
- }, function (props) {
50
- switch (props.toolPosition) {
51
- case _toolPosition.fixed:
52
- return '50%';
53
- case _toolPosition.top:
54
- return '0';
55
- case _toolPosition.bottom:
56
- default:
57
- return 'auto';
58
- }
59
- }, function (props) {
60
- switch (props.$toolPosition) {
61
- case _toolPosition.bottom:
62
- return '0';
63
- case _toolPosition.fixed:
64
- case _toolPosition.top:
65
- default:
66
- return 'auto';
67
- }
68
- }, function (props) {
69
- return props.$toolPosition === _toolPosition.fixed ? 'translateY(-50%)' : 'none';
70
- });
71
- var TriggerFixBlock = /*#__PURE__*/_styledComponents["default"].div.withConfig({
72
- displayName: "desktop-aside__TriggerFixBlock",
73
- componentId: "physaw-3"
74
- })(["position:absolute;height:", "px;"], function (props) {
75
- return props.$height;
76
- });
77
- var TriggerFixTopBlock = /*#__PURE__*/(0, _styledComponents["default"])(TriggerFixBlock).withConfig({
78
- displayName: "desktop-aside__TriggerFixTopBlock",
79
- componentId: "physaw-4"
80
- })(["top:0;"]);
81
- var TriggerFixBottomBlock = /*#__PURE__*/(0, _styledComponents["default"])(TriggerFixBlock).withConfig({
82
- displayName: "desktop-aside__TriggerFixBottomBlock",
83
- componentId: "physaw-5"
84
- })(["bottom:0;"]);
85
- var Aside = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
86
- _inherits(Aside, _React$PureComponent);
87
- var _super = _createSuper(Aside);
88
- function Aside(props) {
89
- var _this;
90
- _classCallCheck(this, Aside);
91
- _this = _super.call(this, props);
92
- _this.state = {
93
- toolPosition: _toolPosition.top
94
- };
95
- _this.setToolsTop = _this.setToolsPosition.bind(_assertThisInitialized(_this), _toolPosition.top);
96
- _this.setToolsFixed = _this.setToolsPosition.bind(_assertThisInitialized(_this), _toolPosition.fixed);
97
- _this.setToolsBottom = _this.setToolsPosition.bind(_assertThisInitialized(_this), _toolPosition.bottom);
98
- return _this;
99
- }
100
- _createClass(Aside, [{
101
- key: "setToolsPosition",
102
- value: function setToolsPosition(nextPosition, waypointObj) {
103
- var toolPosition = this.state.toolPosition;
104
- if (
105
- // viewport is below `ToolsFixedArea`
106
- // make toolPosition stay at `bottom`
107
- toolPosition === _toolPosition.bottom && waypointObj.currentPosition === 'above' ||
108
- // viewport is above `ToolsFixedArea`
109
- // make toolPosition stay at top
110
- toolPosition === _toolPosition.top && waypointObj.currentPosition === 'below') {
111
- return;
112
- }
113
- this.setState({
114
- toolPosition: nextPosition
115
- });
116
- }
117
- }, {
118
- key: "render",
119
- value: function render() {
120
- var toolsHeight = 258; // px
32
+ })(["position:sticky;top:40%;"]);
33
+ var Aside = function Aside(_ref) {
34
+ var articleMetaForBookmark = _ref.articleMetaForBookmark,
35
+ backToTopic = _ref.backToTopic,
36
+ categories = _ref.categories,
37
+ categorySet = _ref.categorySet,
38
+ date = _ref.date,
39
+ designers = _ref.designers,
40
+ engineers = _ref.engineers,
41
+ onFontLevelChange = _ref.onFontLevelChange,
42
+ photographers = _ref.photographers,
43
+ rawAutherText = _ref.rawAutherText,
44
+ tags = _ref.tags,
45
+ title = _ref.title,
46
+ writers = _ref.writers,
47
+ bookmarkId = _ref.bookmarkId;
48
+ var toolsHeight = 258; // px
121
49
 
122
- var _this$props = this.props,
123
- articleMetaForBookmark = _this$props.articleMetaForBookmark,
124
- backToTopic = _this$props.backToTopic,
125
- categories = _this$props.categories,
126
- categorySet = _this$props.categorySet,
127
- date = _this$props.date,
128
- designers = _this$props.designers,
129
- engineers = _this$props.engineers,
130
- onFontLevelChange = _this$props.onFontLevelChange,
131
- photographers = _this$props.photographers,
132
- rawAutherText = _this$props.rawAutherText,
133
- tags = _this$props.tags,
134
- title = _this$props.title,
135
- writers = _this$props.writers,
136
- bookmarkId = _this$props.bookmarkId;
137
- var metadataJSX = /*#__PURE__*/_react["default"].createElement(_metadata["default"], {
138
- categories: categories,
139
- categorySet: categorySet,
140
- date: date,
141
- designers: designers,
142
- photographers: photographers,
143
- tags: tags,
144
- writers: writers,
145
- engineers: engineers,
146
- rawAutherText: rawAutherText
147
- });
148
- return /*#__PURE__*/_react["default"].createElement(AsideFlexBox, null, metadataJSX, /*#__PURE__*/_react["default"].createElement(ToolsFixedArea, null, /*#__PURE__*/_react["default"].createElement(_reactWaypoint.Waypoint, {
149
- onEnter: this.setToolsTop,
150
- onLeave: this.setToolsFixed,
151
- topOffset: "50%"
152
- }, /*#__PURE__*/_react["default"].createElement(TriggerFixTopBlock, {
153
- $height: toolsHeight / 2
154
- })), /*#__PURE__*/_react["default"].createElement(ToolsPositioningBlock, {
155
- $toolPosition: this.state.toolPosition
156
- }, /*#__PURE__*/_react["default"].createElement(_desktopTools["default"], {
157
- backToTopic: backToTopic,
158
- height: "".concat(toolsHeight, "px"),
159
- title: title,
160
- onFontLevelChange: onFontLevelChange,
161
- articleMetaForBookmark: articleMetaForBookmark,
162
- bookmarkId: bookmarkId
163
- })), /*#__PURE__*/_react["default"].createElement(_reactWaypoint.Waypoint, {
164
- onEnter: this.setToolsBottom,
165
- onLeave: this.setToolsFixed,
166
- bottomOffset: "50%"
167
- }, /*#__PURE__*/_react["default"].createElement(TriggerFixBottomBlock, {
168
- height: toolsHeight / 2
169
- }))), metadataJSX);
170
- }
171
- }]);
172
- return Aside;
173
- }(_react["default"].PureComponent);
174
- _defineProperty(Aside, "propTypes", _objectSpread(_objectSpread(_objectSpread({}, _aside["default"].metadata), _aside["default"].tools), {}, {
50
+ var metadataJSX = /*#__PURE__*/_react["default"].createElement(_metadata["default"], {
51
+ categories: categories,
52
+ categorySet: categorySet,
53
+ date: date,
54
+ designers: designers,
55
+ photographers: photographers,
56
+ tags: tags,
57
+ writers: writers,
58
+ engineers: engineers,
59
+ rawAutherText: rawAutherText
60
+ });
61
+ return /*#__PURE__*/_react["default"].createElement(AsideFlexBox, null, metadataJSX, /*#__PURE__*/_react["default"].createElement(ToolsArea, null, /*#__PURE__*/_react["default"].createElement(ToolsContainer, null, /*#__PURE__*/_react["default"].createElement(_desktopTools["default"], {
62
+ backToTopic: backToTopic,
63
+ height: "".concat(toolsHeight, "px"),
64
+ title: title,
65
+ onFontLevelChange: onFontLevelChange,
66
+ articleMetaForBookmark: articleMetaForBookmark,
67
+ bookmarkId: bookmarkId
68
+ }))), metadataJSX);
69
+ };
70
+ Aside.propTypes = _objectSpread(_objectSpread(_objectSpread({}, _aside["default"].metadata), _aside["default"].tools), {}, {
175
71
  bookmarkId: _propTypes["default"].number
176
- }));
72
+ });
73
+ var _default = exports["default"] = Aside;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-article-components",
3
- "version": "2.4.1-rc.0",
3
+ "version": "2.5.0-rc.0",
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",
@@ -41,5 +41,5 @@
41
41
  "files": [
42
42
  "lib"
43
43
  ],
44
- "gitHead": "bc6f9a963d5c12bd30c960701c57e2fbd2972204"
44
+ "gitHead": "a5344e691587fa05f750db7aa41c0a807dc9af91"
45
45
  }