@micromag/screen-article 0.3.410 → 0.3.411
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/es/index.js +41 -37
- package/lib/index.js +42 -37
- package/package.json +3 -2
package/es/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { ScreenElement } from '@micromag/core/components';
|
|
|
10
10
|
import { useScreenSize, useViewerContext, useViewerWebView, usePlaybackContext, usePlaybackMediaRef, useScreenRenderContext } from '@micromag/core/contexts';
|
|
11
11
|
import { useTrackScreenEvent, useDimensionObserver } from '@micromag/core/hooks';
|
|
12
12
|
import { isTextFilled, isHeaderFilled, isFooterFilled, isImageFilled, getFooterProps } from '@micromag/core/utils';
|
|
13
|
+
import Author from '@micromag/element-author';
|
|
13
14
|
import Background from '@micromag/element-background';
|
|
14
15
|
import Container from '@micromag/element-container';
|
|
15
16
|
import Footer from '@micromag/element-footer';
|
|
@@ -31,8 +32,8 @@ var propTypes = {
|
|
|
31
32
|
title: PropTypes$1.title,
|
|
32
33
|
surtitle: PropTypes$1.text,
|
|
33
34
|
date: PropTypes$1.date,
|
|
34
|
-
|
|
35
|
-
author:
|
|
35
|
+
author: PropTypes$1.author,
|
|
36
|
+
// author: MicromagPropTypes.text,
|
|
36
37
|
text: PropTypes$1.text,
|
|
37
38
|
spacing: PropTypes.number,
|
|
38
39
|
background: PropTypes$1.backgroundElement,
|
|
@@ -61,7 +62,7 @@ var defaultProps = {
|
|
|
61
62
|
className: null
|
|
62
63
|
};
|
|
63
64
|
var ArticleScreen = function ArticleScreen(_ref) {
|
|
64
|
-
var
|
|
65
|
+
var _ref6;
|
|
65
66
|
var image = _ref.image,
|
|
66
67
|
title = _ref.title,
|
|
67
68
|
surtitle = _ref.surtitle,
|
|
@@ -106,12 +107,16 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
106
107
|
var ready = true;
|
|
107
108
|
var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
|
|
108
109
|
var scrollingDisabled = !isEdit && transitionDisabled || !current;
|
|
110
|
+
var _ref2 = author || {},
|
|
111
|
+
_ref2$name = _ref2.name,
|
|
112
|
+
authorName = _ref2$name === void 0 ? null : _ref2$name;
|
|
109
113
|
var hasText = isTextFilled(text);
|
|
110
114
|
var hasHeader = isHeaderFilled(header);
|
|
111
115
|
var hasFooter = isFooterFilled(footer);
|
|
112
116
|
var hasTitle = isTextFilled(title);
|
|
113
117
|
var hasSurtitle = isTextFilled(surtitle);
|
|
114
|
-
var
|
|
118
|
+
var hasSimpleAuthor = isTextFilled(author); // legacy
|
|
119
|
+
var hasAuthor = isTextFilled(authorName);
|
|
115
120
|
var hasImage = isImageFilled(image);
|
|
116
121
|
var hasDate = isTextFilled(date);
|
|
117
122
|
var footerProps = getFooterProps(footer, {
|
|
@@ -124,23 +129,23 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
124
129
|
if (!hasImage) {
|
|
125
130
|
return 0;
|
|
126
131
|
}
|
|
127
|
-
var
|
|
128
|
-
|
|
129
|
-
metadata =
|
|
130
|
-
var
|
|
131
|
-
|
|
132
|
-
initialWidth =
|
|
133
|
-
|
|
134
|
-
initialHeight =
|
|
132
|
+
var _ref3 = image || {},
|
|
133
|
+
_ref3$metadata = _ref3.metadata,
|
|
134
|
+
metadata = _ref3$metadata === void 0 ? {} : _ref3$metadata;
|
|
135
|
+
var _ref4 = metadata || {},
|
|
136
|
+
_ref4$width = _ref4.width,
|
|
137
|
+
initialWidth = _ref4$width === void 0 ? 0 : _ref4$width,
|
|
138
|
+
_ref4$height = _ref4.height,
|
|
139
|
+
initialHeight = _ref4$height === void 0 ? 0 : _ref4$height;
|
|
135
140
|
return width * initialHeight / initialWidth;
|
|
136
141
|
}, [image]);
|
|
137
142
|
var partialDate = hasDate ? date.body || null : null;
|
|
138
143
|
var finalDate = useMemo(function () {
|
|
139
|
-
return partialDate !== null ? intl.formatDate(dayjs(partialDate).toDate(), {
|
|
144
|
+
return partialDate !== null ? "<p>".concat(intl.formatDate(dayjs(partialDate).toDate(), {
|
|
140
145
|
year: 'numeric',
|
|
141
146
|
month: 'long',
|
|
142
147
|
day: '2-digit'
|
|
143
|
-
}) : null;
|
|
148
|
+
}), "</p>") : null;
|
|
144
149
|
}, [partialDate]);
|
|
145
150
|
var imageElement = /*#__PURE__*/React.createElement(ScreenElement, {
|
|
146
151
|
placeholder: "image",
|
|
@@ -160,12 +165,8 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
160
165
|
media: image
|
|
161
166
|
// width={width - spacing * 2} // in layout flow
|
|
162
167
|
,
|
|
163
|
-
width: width
|
|
164
|
-
|
|
165
|
-
,
|
|
166
|
-
height: mediaHeight
|
|
167
|
-
// height="100%"
|
|
168
|
-
,
|
|
168
|
+
width: width,
|
|
169
|
+
height: mediaHeight,
|
|
169
170
|
resolution: resolution,
|
|
170
171
|
className: styles.visual
|
|
171
172
|
}) : null));
|
|
@@ -227,10 +228,12 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
227
228
|
}]
|
|
228
229
|
}),
|
|
229
230
|
emptyClassName: styles.emptyAuthor,
|
|
230
|
-
isEmpty: !hasAuthor
|
|
231
|
-
},
|
|
231
|
+
isEmpty: !hasAuthor && !hasSimpleAuthor
|
|
232
|
+
}, hasSimpleAuthor ? /*#__PURE__*/React.createElement(Text, Object.assign({
|
|
232
233
|
className: styles.author
|
|
233
|
-
}, author)) : null
|
|
234
|
+
}, author)) : null, hasAuthor ? /*#__PURE__*/React.createElement(Author, {
|
|
235
|
+
author: author
|
|
236
|
+
}) : null);
|
|
234
237
|
var contentElement = /*#__PURE__*/React.createElement(ScreenElement, {
|
|
235
238
|
placeholder: "text",
|
|
236
239
|
emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
@@ -249,8 +252,8 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
249
252
|
_useState2 = _slicedToArray(_useState, 2),
|
|
250
253
|
scrolledBottom = _useState2[0],
|
|
251
254
|
setScrolledBottom = _useState2[1];
|
|
252
|
-
var onScrolledBottom = useCallback(function (
|
|
253
|
-
var initial =
|
|
255
|
+
var onScrolledBottom = useCallback(function (_ref5) {
|
|
256
|
+
var initial = _ref5.initial;
|
|
254
257
|
if (initial) {
|
|
255
258
|
trackScreenEvent('scroll', 'Screen');
|
|
256
259
|
}
|
|
@@ -260,7 +263,7 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
260
263
|
setScrolledBottom(false);
|
|
261
264
|
}, [setScrolledBottom]);
|
|
262
265
|
return /*#__PURE__*/React.createElement("div", {
|
|
263
|
-
className: classNames([styles.container, (
|
|
266
|
+
className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),
|
|
264
267
|
"data-screen-ready": ready
|
|
265
268
|
}, /*#__PURE__*/React.createElement(Container, {
|
|
266
269
|
width: width,
|
|
@@ -394,26 +397,27 @@ var definition = [{
|
|
|
394
397
|
"value": "Date"
|
|
395
398
|
}]
|
|
396
399
|
})
|
|
400
|
+
}, {
|
|
401
|
+
name: 'author',
|
|
402
|
+
type: 'author-element',
|
|
403
|
+
label: defineMessage({
|
|
404
|
+
id: "73hxYw",
|
|
405
|
+
defaultMessage: [{
|
|
406
|
+
"type": 0,
|
|
407
|
+
"value": "Author"
|
|
408
|
+
}]
|
|
409
|
+
})
|
|
397
410
|
},
|
|
398
411
|
// {
|
|
399
412
|
// name: 'author',
|
|
400
|
-
// type: '
|
|
413
|
+
// type: 'text-element',
|
|
401
414
|
// label: defineMessage({
|
|
402
415
|
// defaultMessage: 'Author',
|
|
403
416
|
// description: 'Author field label',
|
|
404
417
|
// }),
|
|
405
418
|
// },
|
|
419
|
+
|
|
406
420
|
{
|
|
407
|
-
name: 'author',
|
|
408
|
-
type: 'text-element',
|
|
409
|
-
label: defineMessage({
|
|
410
|
-
id: "73hxYw",
|
|
411
|
-
defaultMessage: [{
|
|
412
|
-
"type": 0,
|
|
413
|
-
"value": "Author"
|
|
414
|
-
}]
|
|
415
|
-
})
|
|
416
|
-
}, {
|
|
417
421
|
name: 'text',
|
|
418
422
|
type: 'text-modal',
|
|
419
423
|
label: defineMessage({
|
package/lib/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var components = require('@micromag/core/components');
|
|
|
14
14
|
var contexts = require('@micromag/core/contexts');
|
|
15
15
|
var hooks = require('@micromag/core/hooks');
|
|
16
16
|
var utils = require('@micromag/core/utils');
|
|
17
|
+
var Author = require('@micromag/element-author');
|
|
17
18
|
var Background = require('@micromag/element-background');
|
|
18
19
|
var Container = require('@micromag/element-container');
|
|
19
20
|
var Footer = require('@micromag/element-footer');
|
|
@@ -35,6 +36,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
|
35
36
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
36
37
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
37
38
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
39
|
+
var Author__default = /*#__PURE__*/_interopDefaultLegacy(Author);
|
|
38
40
|
var Background__default = /*#__PURE__*/_interopDefaultLegacy(Background);
|
|
39
41
|
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
|
|
40
42
|
var Footer__default = /*#__PURE__*/_interopDefaultLegacy(Footer);
|
|
@@ -55,8 +57,8 @@ var propTypes = {
|
|
|
55
57
|
title: core.PropTypes.title,
|
|
56
58
|
surtitle: core.PropTypes.text,
|
|
57
59
|
date: core.PropTypes.date,
|
|
58
|
-
|
|
59
|
-
author:
|
|
60
|
+
author: core.PropTypes.author,
|
|
61
|
+
// author: MicromagPropTypes.text,
|
|
60
62
|
text: core.PropTypes.text,
|
|
61
63
|
spacing: PropTypes__default["default"].number,
|
|
62
64
|
background: core.PropTypes.backgroundElement,
|
|
@@ -85,7 +87,7 @@ var defaultProps = {
|
|
|
85
87
|
className: null
|
|
86
88
|
};
|
|
87
89
|
var ArticleScreen = function ArticleScreen(_ref) {
|
|
88
|
-
var
|
|
90
|
+
var _ref6;
|
|
89
91
|
var image = _ref.image,
|
|
90
92
|
title = _ref.title,
|
|
91
93
|
surtitle = _ref.surtitle,
|
|
@@ -130,12 +132,16 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
130
132
|
var ready = true;
|
|
131
133
|
var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
|
|
132
134
|
var scrollingDisabled = !isEdit && transitionDisabled || !current;
|
|
135
|
+
var _ref2 = author || {},
|
|
136
|
+
_ref2$name = _ref2.name,
|
|
137
|
+
authorName = _ref2$name === void 0 ? null : _ref2$name;
|
|
133
138
|
var hasText = utils.isTextFilled(text);
|
|
134
139
|
var hasHeader = utils.isHeaderFilled(header);
|
|
135
140
|
var hasFooter = utils.isFooterFilled(footer);
|
|
136
141
|
var hasTitle = utils.isTextFilled(title);
|
|
137
142
|
var hasSurtitle = utils.isTextFilled(surtitle);
|
|
138
|
-
var
|
|
143
|
+
var hasSimpleAuthor = utils.isTextFilled(author); // legacy
|
|
144
|
+
var hasAuthor = utils.isTextFilled(authorName);
|
|
139
145
|
var hasImage = utils.isImageFilled(image);
|
|
140
146
|
var hasDate = utils.isTextFilled(date);
|
|
141
147
|
var footerProps = utils.getFooterProps(footer, {
|
|
@@ -148,23 +154,23 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
148
154
|
if (!hasImage) {
|
|
149
155
|
return 0;
|
|
150
156
|
}
|
|
151
|
-
var
|
|
152
|
-
|
|
153
|
-
metadata =
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
initialWidth =
|
|
157
|
-
|
|
158
|
-
initialHeight =
|
|
157
|
+
var _ref3 = image || {},
|
|
158
|
+
_ref3$metadata = _ref3.metadata,
|
|
159
|
+
metadata = _ref3$metadata === void 0 ? {} : _ref3$metadata;
|
|
160
|
+
var _ref4 = metadata || {},
|
|
161
|
+
_ref4$width = _ref4.width,
|
|
162
|
+
initialWidth = _ref4$width === void 0 ? 0 : _ref4$width,
|
|
163
|
+
_ref4$height = _ref4.height,
|
|
164
|
+
initialHeight = _ref4$height === void 0 ? 0 : _ref4$height;
|
|
159
165
|
return width * initialHeight / initialWidth;
|
|
160
166
|
}, [image]);
|
|
161
167
|
var partialDate = hasDate ? date.body || null : null;
|
|
162
168
|
var finalDate = React.useMemo(function () {
|
|
163
|
-
return partialDate !== null ? intl.formatDate(dayjs__default["default"](partialDate).toDate(), {
|
|
169
|
+
return partialDate !== null ? "<p>".concat(intl.formatDate(dayjs__default["default"](partialDate).toDate(), {
|
|
164
170
|
year: 'numeric',
|
|
165
171
|
month: 'long',
|
|
166
172
|
day: '2-digit'
|
|
167
|
-
}) : null;
|
|
173
|
+
}), "</p>") : null;
|
|
168
174
|
}, [partialDate]);
|
|
169
175
|
var imageElement = /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
|
|
170
176
|
placeholder: "image",
|
|
@@ -184,12 +190,8 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
184
190
|
media: image
|
|
185
191
|
// width={width - spacing * 2} // in layout flow
|
|
186
192
|
,
|
|
187
|
-
width: width
|
|
188
|
-
|
|
189
|
-
,
|
|
190
|
-
height: mediaHeight
|
|
191
|
-
// height="100%"
|
|
192
|
-
,
|
|
193
|
+
width: width,
|
|
194
|
+
height: mediaHeight,
|
|
193
195
|
resolution: resolution,
|
|
194
196
|
className: styles.visual
|
|
195
197
|
}) : null));
|
|
@@ -251,10 +253,12 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
251
253
|
}]
|
|
252
254
|
}),
|
|
253
255
|
emptyClassName: styles.emptyAuthor,
|
|
254
|
-
isEmpty: !hasAuthor
|
|
255
|
-
},
|
|
256
|
+
isEmpty: !hasAuthor && !hasSimpleAuthor
|
|
257
|
+
}, hasSimpleAuthor ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
|
|
256
258
|
className: styles.author
|
|
257
|
-
}, author)) : null
|
|
259
|
+
}, author)) : null, hasAuthor ? /*#__PURE__*/React__default["default"].createElement(Author__default["default"], {
|
|
260
|
+
author: author
|
|
261
|
+
}) : null);
|
|
258
262
|
var contentElement = /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
|
|
259
263
|
placeholder: "text",
|
|
260
264
|
emptyLabel: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -273,8 +277,8 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
273
277
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
274
278
|
scrolledBottom = _useState2[0],
|
|
275
279
|
setScrolledBottom = _useState2[1];
|
|
276
|
-
var onScrolledBottom = React.useCallback(function (
|
|
277
|
-
var initial =
|
|
280
|
+
var onScrolledBottom = React.useCallback(function (_ref5) {
|
|
281
|
+
var initial = _ref5.initial;
|
|
278
282
|
if (initial) {
|
|
279
283
|
trackScreenEvent('scroll', 'Screen');
|
|
280
284
|
}
|
|
@@ -284,7 +288,7 @@ var ArticleScreen = function ArticleScreen(_ref) {
|
|
|
284
288
|
setScrolledBottom(false);
|
|
285
289
|
}, [setScrolledBottom]);
|
|
286
290
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
287
|
-
className: classNames__default["default"]([styles.container, (
|
|
291
|
+
className: classNames__default["default"]([styles.container, (_ref6 = {}, _defineProperty__default["default"](_ref6, className, className !== null), _defineProperty__default["default"](_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),
|
|
288
292
|
"data-screen-ready": ready
|
|
289
293
|
}, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
|
|
290
294
|
width: width,
|
|
@@ -418,26 +422,27 @@ var definition = [{
|
|
|
418
422
|
"value": "Date"
|
|
419
423
|
}]
|
|
420
424
|
})
|
|
425
|
+
}, {
|
|
426
|
+
name: 'author',
|
|
427
|
+
type: 'author-element',
|
|
428
|
+
label: reactIntl.defineMessage({
|
|
429
|
+
id: "73hxYw",
|
|
430
|
+
defaultMessage: [{
|
|
431
|
+
"type": 0,
|
|
432
|
+
"value": "Author"
|
|
433
|
+
}]
|
|
434
|
+
})
|
|
421
435
|
},
|
|
422
436
|
// {
|
|
423
437
|
// name: 'author',
|
|
424
|
-
// type: '
|
|
438
|
+
// type: 'text-element',
|
|
425
439
|
// label: defineMessage({
|
|
426
440
|
// defaultMessage: 'Author',
|
|
427
441
|
// description: 'Author field label',
|
|
428
442
|
// }),
|
|
429
443
|
// },
|
|
444
|
+
|
|
430
445
|
{
|
|
431
|
-
name: 'author',
|
|
432
|
-
type: 'text-element',
|
|
433
|
-
label: reactIntl.defineMessage({
|
|
434
|
-
id: "73hxYw",
|
|
435
|
-
defaultMessage: [{
|
|
436
|
-
"type": 0,
|
|
437
|
-
"value": "Author"
|
|
438
|
-
}]
|
|
439
|
-
})
|
|
440
|
-
}, {
|
|
441
446
|
name: 'text',
|
|
442
447
|
type: 'text-modal',
|
|
443
448
|
label: reactIntl.defineMessage({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/screen-article",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.411",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@babel/runtime": "^7.13.10",
|
|
49
49
|
"@micromag/core": "^0.3.410",
|
|
50
|
+
"@micromag/element-author": "^0.3.411",
|
|
50
51
|
"@micromag/element-background": "^0.3.410",
|
|
51
52
|
"@micromag/element-container": "^0.3.410",
|
|
52
53
|
"@micromag/element-footer": "^0.3.410",
|
|
@@ -69,5 +70,5 @@
|
|
|
69
70
|
"access": "public",
|
|
70
71
|
"registry": "https://registry.npmjs.org/"
|
|
71
72
|
},
|
|
72
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "06ef83636bf6f3ed8dea7fa2a7aee9909d6da7d4"
|
|
73
74
|
}
|