@micromag/screen-article 0.3.408 → 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.
Files changed (3) hide show
  1. package/es/index.js +41 -37
  2. package/lib/index.js +42 -37
  3. package/package.json +15 -14
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
- // author: MicromagPropTypes.author, // potential to integrate more complete author element
35
- author: PropTypes$1.text,
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 _ref5;
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 hasAuthor = isTextFilled(author);
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 _ref2 = image || {},
128
- _ref2$metadata = _ref2.metadata,
129
- metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
130
- var _ref3 = metadata || {},
131
- _ref3$width = _ref3.width,
132
- initialWidth = _ref3$width === void 0 ? 0 : _ref3$width,
133
- _ref3$height = _ref3.height,
134
- initialHeight = _ref3$height === void 0 ? 0 : _ref3$height;
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
- // width="100%"
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
- }, hasAuthor ? /*#__PURE__*/React.createElement(Text, Object.assign({
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 (_ref4) {
253
- var initial = _ref4.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, (_ref5 = {}, _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles.isPlaceholder, isPlaceholder), _ref5)]),
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: 'author-element',
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
- // author: MicromagPropTypes.author, // potential to integrate more complete author element
59
- author: core.PropTypes.text,
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 _ref5;
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 hasAuthor = utils.isTextFilled(author);
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 _ref2 = image || {},
152
- _ref2$metadata = _ref2.metadata,
153
- metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
154
- var _ref3 = metadata || {},
155
- _ref3$width = _ref3.width,
156
- initialWidth = _ref3$width === void 0 ? 0 : _ref3$width,
157
- _ref3$height = _ref3.height,
158
- initialHeight = _ref3$height === void 0 ? 0 : _ref3$height;
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
- // width="100%"
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
- }, hasAuthor ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
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 (_ref4) {
277
- var initial = _ref4.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, (_ref5 = {}, _defineProperty__default["default"](_ref5, className, className !== null), _defineProperty__default["default"](_ref5, styles.isPlaceholder, isPlaceholder), _ref5)]),
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: 'author-element',
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.408",
3
+ "version": "0.3.411",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -46,18 +46,19 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@babel/runtime": "^7.13.10",
49
- "@micromag/core": "^0.3.408",
50
- "@micromag/element-background": "^0.3.408",
51
- "@micromag/element-container": "^0.3.408",
52
- "@micromag/element-footer": "^0.3.408",
53
- "@micromag/element-header": "^0.3.408",
54
- "@micromag/element-heading": "^0.3.408",
55
- "@micromag/element-layout": "^0.3.408",
56
- "@micromag/element-scroll": "^0.3.408",
57
- "@micromag/element-stack": "^0.3.408",
58
- "@micromag/element-text": "^0.3.408",
59
- "@micromag/element-visual": "^0.3.408",
60
- "@micromag/transforms": "^0.3.408",
49
+ "@micromag/core": "^0.3.410",
50
+ "@micromag/element-author": "^0.3.411",
51
+ "@micromag/element-background": "^0.3.410",
52
+ "@micromag/element-container": "^0.3.410",
53
+ "@micromag/element-footer": "^0.3.410",
54
+ "@micromag/element-header": "^0.3.410",
55
+ "@micromag/element-heading": "^0.3.410",
56
+ "@micromag/element-layout": "^0.3.410",
57
+ "@micromag/element-scroll": "^0.3.410",
58
+ "@micromag/element-stack": "^0.3.410",
59
+ "@micromag/element-text": "^0.3.410",
60
+ "@micromag/element-visual": "^0.3.410",
61
+ "@micromag/transforms": "^0.3.410",
61
62
  "classnames": "^2.2.6",
62
63
  "dayjs": "^1.11.10",
63
64
  "lodash": "^4.17.21",
@@ -69,5 +70,5 @@
69
70
  "access": "public",
70
71
  "registry": "https://registry.npmjs.org/"
71
72
  },
72
- "gitHead": "da827edbb305a6e1cc9832e33f2d4263dadd2331"
73
+ "gitHead": "06ef83636bf6f3ed8dea7fa2a7aee9909d6da7d4"
73
74
  }