@micromag/screen-timeline 0.3.349 → 0.3.356

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 +65 -40
  2. package/lib/index.js +66 -40
  3. package/package.json +13 -12
package/es/index.js CHANGED
@@ -10,10 +10,11 @@ import { PropTypes as PropTypes$1 } from '@micromag/core';
10
10
  import { Transitions, ScreenElement } from '@micromag/core/components';
11
11
  import { useScreenSize, useViewerContext, useViewerWebView, usePlaybackContext, usePlaybackMediaRef, useScreenRenderContext } from '@micromag/core/contexts';
12
12
  import { useTrackScreenEvent, useDimensionObserver } from '@micromag/core/hooks';
13
- import { isTextFilled, getStyleFromColor } from '@micromag/core/utils';
13
+ import { isTextFilled, getStyleFromColor, isHeaderFilled, isFooterFilled, getFooterProps } from '@micromag/core/utils';
14
14
  import Background from '@micromag/element-background';
15
- import CallToAction from '@micromag/element-call-to-action';
16
15
  import Container from '@micromag/element-container';
16
+ import Footer from '@micromag/element-footer';
17
+ import Header from '@micromag/element-header';
17
18
  import Heading from '@micromag/element-heading';
18
19
  import Layout from '@micromag/element-layout';
19
20
  import Scroll from '@micromag/element-scroll';
@@ -34,8 +35,9 @@ var propTypes = {
34
35
  bulletFilled: PropTypes.bool,
35
36
  illustrated: PropTypes.bool,
36
37
  spacing: PropTypes.number,
38
+ header: PropTypes$1.header,
39
+ footer: PropTypes$1.footer,
37
40
  background: PropTypes$1.backgroundElement,
38
- callToAction: PropTypes$1.callToAction,
39
41
  current: PropTypes.bool,
40
42
  active: PropTypes.bool,
41
43
  transitions: PropTypes$1.transitions,
@@ -52,8 +54,9 @@ var defaultProps = {
52
54
  bulletFilled: true,
53
55
  illustrated: false,
54
56
  spacing: 20,
57
+ header: null,
58
+ footer: null,
55
59
  background: null,
56
- callToAction: null,
57
60
  current: true,
58
61
  active: true,
59
62
  transitions: null,
@@ -62,7 +65,7 @@ var defaultProps = {
62
65
  className: null
63
66
  };
64
67
  var Timeline = function Timeline(_ref) {
65
- var _ref10;
68
+ var _ref9;
66
69
  var layout = _ref.layout,
67
70
  items = _ref.items,
68
71
  bulletColor = _ref.bulletColor,
@@ -71,8 +74,9 @@ var Timeline = function Timeline(_ref) {
71
74
  bulletFilled = _ref.bulletFilled,
72
75
  illustrated = _ref.illustrated,
73
76
  spacing = _ref.spacing,
77
+ header = _ref.header,
78
+ footer = _ref.footer,
74
79
  background = _ref.background,
75
- callToAction = _ref.callToAction,
76
80
  current = _ref.current,
77
81
  active = _ref.active,
78
82
  transitions = _ref.transitions,
@@ -263,10 +267,14 @@ var Timeline = function Timeline(_ref) {
263
267
  });
264
268
 
265
269
  // Call to Action
266
-
267
- var _ref8 = callToAction || {},
268
- _ref8$active = _ref8.active,
269
- hasCallToAction = _ref8$active === void 0 ? false : _ref8$active;
270
+ var hasHeader = isHeaderFilled(header);
271
+ var hasFooter = isFooterFilled(footer);
272
+ var footerProps = getFooterProps(footer, {
273
+ isView: isView,
274
+ current: current,
275
+ openWebView: openWebView,
276
+ isPreview: isPreview
277
+ });
270
278
  var _useState5 = useState(false),
271
279
  _useState6 = _slicedToArray(_useState5, 2),
272
280
  scrolledBottom = _useState6[0],
@@ -275,8 +283,8 @@ var Timeline = function Timeline(_ref) {
275
283
  callToActionRef = _useDimensionObserver.ref,
276
284
  _useDimensionObserver2 = _useDimensionObserver.height,
277
285
  callToActionHeight = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2;
278
- var onScrolledBottom = useCallback(function (_ref9) {
279
- var initial = _ref9.initial;
286
+ var onScrolledBottom = useCallback(function (_ref8) {
287
+ var initial = _ref8.initial;
280
288
  if (initial) {
281
289
  trackScreenEvent('scroll', 'Screen');
282
290
  }
@@ -286,7 +294,7 @@ var Timeline = function Timeline(_ref) {
286
294
  setScrolledBottom(false);
287
295
  }, [setScrolledBottom]);
288
296
  return /*#__PURE__*/React.createElement("div", {
289
- className: classNames([styles.container, (_ref10 = {}, _defineProperty(_ref10, className, className !== null), _defineProperty(_ref10, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref10, styles["".concat(bulletShape, "BulletShape")], bulletShape !== null), _defineProperty(_ref10, styles.withoutLines, itemsCount < 2), _ref10)]),
297
+ className: classNames([styles.container, (_ref9 = {}, _defineProperty(_ref9, className, className !== null), _defineProperty(_ref9, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref9, styles["".concat(bulletShape, "BulletShape")], bulletShape !== null), _defineProperty(_ref9, styles.withoutLines, itemsCount < 2), _ref9)]),
290
298
  "data-screen-ready": ready
291
299
  }, /*#__PURE__*/React.createElement(Container, {
292
300
  width: width,
@@ -304,7 +312,12 @@ var Timeline = function Timeline(_ref) {
304
312
  paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing,
305
313
  paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + (callToActionHeight || spacing)
306
314
  } : null
307
- }, timelineElements)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement("div", {
315
+ }, !isPlaceholder && hasHeader ? /*#__PURE__*/React.createElement("div", {
316
+ key: "header",
317
+ style: {
318
+ paddingBottom: spacing
319
+ }
320
+ }, /*#__PURE__*/React.createElement(Header, header)) : null, timelineElements)), !isPlaceholder && hasFooter ? /*#__PURE__*/React.createElement("div", {
308
321
  ref: callToActionRef,
309
322
  className: classNames([styles.callToAction, _defineProperty({}, styles.disabled, !scrolledBottom)]),
310
323
  style: {
@@ -314,11 +327,7 @@ var Timeline = function Timeline(_ref) {
314
327
  paddingTop: spacing / 2,
315
328
  paddingBottom: spacing / 2
316
329
  }
317
- }, /*#__PURE__*/React.createElement(CallToAction, Object.assign({}, callToAction, {
318
- animationDisabled: isPreview,
319
- focusable: current && isView,
320
- openWebView: openWebView
321
- }))) : null), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
330
+ }, /*#__PURE__*/React.createElement(Footer, footerProps)) : null), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
322
331
  background: background,
323
332
  width: width,
324
333
  height: height,
@@ -328,7 +337,7 @@ var Timeline = function Timeline(_ref) {
328
337
  shouldLoad: mediaShouldLoad,
329
338
  mediaRef: mediaRef,
330
339
  withoutVideo: isPreview,
331
- className: styles.container
340
+ className: styles.background
332
341
  }) : null);
333
342
  };
334
343
  Timeline.propTypes = propTypes;
@@ -503,17 +512,25 @@ var definition = [{
503
512
  }]
504
513
  })
505
514
  }, {
506
- name: 'callToAction',
507
- type: 'call-to-action',
508
- theme: {
509
- boxStyle: 'cta',
510
- label: {
511
- textStyle: 'cta'
512
- }
513
- }
515
+ name: 'header',
516
+ type: 'header',
517
+ label: defineMessage({
518
+ id: "rhuDxI",
519
+ defaultMessage: [{
520
+ "type": 0,
521
+ "value": "Header"
522
+ }]
523
+ })
514
524
  }, {
515
- name: 'shareIncentive',
516
- type: 'share-incentive'
525
+ name: 'footer',
526
+ type: 'footer',
527
+ label: defineMessage({
528
+ id: "g4nybp",
529
+ defaultMessage: [{
530
+ "type": 0,
531
+ "value": "Footer"
532
+ }]
533
+ })
517
534
  }]
518
535
  }, {
519
536
  id: 'timeline-illustrated',
@@ -646,17 +663,25 @@ var definition = [{
646
663
  }]
647
664
  })
648
665
  }, {
649
- name: 'callToAction',
650
- type: 'call-to-action',
651
- theme: {
652
- boxStyle: 'cta',
653
- label: {
654
- textStyle: 'cta'
655
- }
656
- }
666
+ name: 'header',
667
+ type: 'header',
668
+ label: defineMessage({
669
+ id: "rhuDxI",
670
+ defaultMessage: [{
671
+ "type": 0,
672
+ "value": "Header"
673
+ }]
674
+ })
657
675
  }, {
658
- name: 'shareIncentive',
659
- type: 'share-incentive'
676
+ name: 'footer',
677
+ type: 'footer',
678
+ label: defineMessage({
679
+ id: "g4nybp",
680
+ defaultMessage: [{
681
+ "type": 0,
682
+ "value": "Footer"
683
+ }]
684
+ })
660
685
  }]
661
686
  }];
662
687
 
package/lib/index.js CHANGED
@@ -16,8 +16,9 @@ var contexts = require('@micromag/core/contexts');
16
16
  var hooks = require('@micromag/core/hooks');
17
17
  var utils = require('@micromag/core/utils');
18
18
  var Background = require('@micromag/element-background');
19
- var CallToAction = require('@micromag/element-call-to-action');
20
19
  var Container = require('@micromag/element-container');
20
+ var Footer = require('@micromag/element-footer');
21
+ var Header = require('@micromag/element-header');
21
22
  var Heading = require('@micromag/element-heading');
22
23
  var Layout = require('@micromag/element-layout');
23
24
  var Scroll = require('@micromag/element-scroll');
@@ -37,8 +38,9 @@ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
37
38
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
38
39
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
40
  var Background__default = /*#__PURE__*/_interopDefaultLegacy(Background);
40
- var CallToAction__default = /*#__PURE__*/_interopDefaultLegacy(CallToAction);
41
41
  var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
42
+ var Footer__default = /*#__PURE__*/_interopDefaultLegacy(Footer);
43
+ var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
42
44
  var Heading__default = /*#__PURE__*/_interopDefaultLegacy(Heading);
43
45
  var Layout__default = /*#__PURE__*/_interopDefaultLegacy(Layout);
44
46
  var Scroll__default = /*#__PURE__*/_interopDefaultLegacy(Scroll);
@@ -58,8 +60,9 @@ var propTypes = {
58
60
  bulletFilled: PropTypes__default["default"].bool,
59
61
  illustrated: PropTypes__default["default"].bool,
60
62
  spacing: PropTypes__default["default"].number,
63
+ header: core.PropTypes.header,
64
+ footer: core.PropTypes.footer,
61
65
  background: core.PropTypes.backgroundElement,
62
- callToAction: core.PropTypes.callToAction,
63
66
  current: PropTypes__default["default"].bool,
64
67
  active: PropTypes__default["default"].bool,
65
68
  transitions: core.PropTypes.transitions,
@@ -76,8 +79,9 @@ var defaultProps = {
76
79
  bulletFilled: true,
77
80
  illustrated: false,
78
81
  spacing: 20,
82
+ header: null,
83
+ footer: null,
79
84
  background: null,
80
- callToAction: null,
81
85
  current: true,
82
86
  active: true,
83
87
  transitions: null,
@@ -86,7 +90,7 @@ var defaultProps = {
86
90
  className: null
87
91
  };
88
92
  var Timeline = function Timeline(_ref) {
89
- var _ref10;
93
+ var _ref9;
90
94
  var layout = _ref.layout,
91
95
  items = _ref.items,
92
96
  bulletColor = _ref.bulletColor,
@@ -95,8 +99,9 @@ var Timeline = function Timeline(_ref) {
95
99
  bulletFilled = _ref.bulletFilled,
96
100
  illustrated = _ref.illustrated,
97
101
  spacing = _ref.spacing,
102
+ header = _ref.header,
103
+ footer = _ref.footer,
98
104
  background = _ref.background,
99
- callToAction = _ref.callToAction,
100
105
  current = _ref.current,
101
106
  active = _ref.active,
102
107
  transitions = _ref.transitions,
@@ -287,10 +292,14 @@ var Timeline = function Timeline(_ref) {
287
292
  });
288
293
 
289
294
  // Call to Action
290
-
291
- var _ref8 = callToAction || {},
292
- _ref8$active = _ref8.active,
293
- hasCallToAction = _ref8$active === void 0 ? false : _ref8$active;
295
+ var hasHeader = utils.isHeaderFilled(header);
296
+ var hasFooter = utils.isFooterFilled(footer);
297
+ var footerProps = utils.getFooterProps(footer, {
298
+ isView: isView,
299
+ current: current,
300
+ openWebView: openWebView,
301
+ isPreview: isPreview
302
+ });
294
303
  var _useState5 = React.useState(false),
295
304
  _useState6 = _slicedToArray__default["default"](_useState5, 2),
296
305
  scrolledBottom = _useState6[0],
@@ -299,8 +308,8 @@ var Timeline = function Timeline(_ref) {
299
308
  callToActionRef = _useDimensionObserver.ref,
300
309
  _useDimensionObserver2 = _useDimensionObserver.height,
301
310
  callToActionHeight = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2;
302
- var onScrolledBottom = React.useCallback(function (_ref9) {
303
- var initial = _ref9.initial;
311
+ var onScrolledBottom = React.useCallback(function (_ref8) {
312
+ var initial = _ref8.initial;
304
313
  if (initial) {
305
314
  trackScreenEvent('scroll', 'Screen');
306
315
  }
@@ -310,7 +319,7 @@ var Timeline = function Timeline(_ref) {
310
319
  setScrolledBottom(false);
311
320
  }, [setScrolledBottom]);
312
321
  return /*#__PURE__*/React__default["default"].createElement("div", {
313
- className: classNames__default["default"]([styles.container, (_ref10 = {}, _defineProperty__default["default"](_ref10, className, className !== null), _defineProperty__default["default"](_ref10, styles.isPlaceholder, isPlaceholder), _defineProperty__default["default"](_ref10, styles["".concat(bulletShape, "BulletShape")], bulletShape !== null), _defineProperty__default["default"](_ref10, styles.withoutLines, itemsCount < 2), _ref10)]),
322
+ className: classNames__default["default"]([styles.container, (_ref9 = {}, _defineProperty__default["default"](_ref9, className, className !== null), _defineProperty__default["default"](_ref9, styles.isPlaceholder, isPlaceholder), _defineProperty__default["default"](_ref9, styles["".concat(bulletShape, "BulletShape")], bulletShape !== null), _defineProperty__default["default"](_ref9, styles.withoutLines, itemsCount < 2), _ref9)]),
314
323
  "data-screen-ready": ready
315
324
  }, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
316
325
  width: width,
@@ -328,7 +337,12 @@ var Timeline = function Timeline(_ref) {
328
337
  paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing,
329
338
  paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + (callToActionHeight || spacing)
330
339
  } : null
331
- }, timelineElements)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React__default["default"].createElement("div", {
340
+ }, !isPlaceholder && hasHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
341
+ key: "header",
342
+ style: {
343
+ paddingBottom: spacing
344
+ }
345
+ }, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], header)) : null, timelineElements)), !isPlaceholder && hasFooter ? /*#__PURE__*/React__default["default"].createElement("div", {
332
346
  ref: callToActionRef,
333
347
  className: classNames__default["default"]([styles.callToAction, _defineProperty__default["default"]({}, styles.disabled, !scrolledBottom)]),
334
348
  style: {
@@ -338,11 +352,7 @@ var Timeline = function Timeline(_ref) {
338
352
  paddingTop: spacing / 2,
339
353
  paddingBottom: spacing / 2
340
354
  }
341
- }, /*#__PURE__*/React__default["default"].createElement(CallToAction__default["default"], Object.assign({}, callToAction, {
342
- animationDisabled: isPreview,
343
- focusable: current && isView,
344
- openWebView: openWebView
345
- }))) : null), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
355
+ }, /*#__PURE__*/React__default["default"].createElement(Footer__default["default"], footerProps)) : null), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
346
356
  background: background,
347
357
  width: width,
348
358
  height: height,
@@ -352,7 +362,7 @@ var Timeline = function Timeline(_ref) {
352
362
  shouldLoad: mediaShouldLoad,
353
363
  mediaRef: mediaRef,
354
364
  withoutVideo: isPreview,
355
- className: styles.container
365
+ className: styles.background
356
366
  }) : null);
357
367
  };
358
368
  Timeline.propTypes = propTypes;
@@ -527,17 +537,25 @@ var definition = [{
527
537
  }]
528
538
  })
529
539
  }, {
530
- name: 'callToAction',
531
- type: 'call-to-action',
532
- theme: {
533
- boxStyle: 'cta',
534
- label: {
535
- textStyle: 'cta'
536
- }
537
- }
540
+ name: 'header',
541
+ type: 'header',
542
+ label: reactIntl.defineMessage({
543
+ id: "rhuDxI",
544
+ defaultMessage: [{
545
+ "type": 0,
546
+ "value": "Header"
547
+ }]
548
+ })
538
549
  }, {
539
- name: 'shareIncentive',
540
- type: 'share-incentive'
550
+ name: 'footer',
551
+ type: 'footer',
552
+ label: reactIntl.defineMessage({
553
+ id: "g4nybp",
554
+ defaultMessage: [{
555
+ "type": 0,
556
+ "value": "Footer"
557
+ }]
558
+ })
541
559
  }]
542
560
  }, {
543
561
  id: 'timeline-illustrated',
@@ -670,17 +688,25 @@ var definition = [{
670
688
  }]
671
689
  })
672
690
  }, {
673
- name: 'callToAction',
674
- type: 'call-to-action',
675
- theme: {
676
- boxStyle: 'cta',
677
- label: {
678
- textStyle: 'cta'
679
- }
680
- }
691
+ name: 'header',
692
+ type: 'header',
693
+ label: reactIntl.defineMessage({
694
+ id: "rhuDxI",
695
+ defaultMessage: [{
696
+ "type": 0,
697
+ "value": "Header"
698
+ }]
699
+ })
681
700
  }, {
682
- name: 'shareIncentive',
683
- type: 'share-incentive'
701
+ name: 'footer',
702
+ type: 'footer',
703
+ label: reactIntl.defineMessage({
704
+ id: "g4nybp",
705
+ defaultMessage: [{
706
+ "type": 0,
707
+ "value": "Footer"
708
+ }]
709
+ })
684
710
  }]
685
711
  }];
686
712
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-timeline",
3
- "version": "0.3.349",
3
+ "version": "0.3.356",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -49,16 +49,17 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@babel/runtime": "^7.13.10",
52
- "@micromag/core": "^0.3.348",
53
- "@micromag/element-background": "^0.3.348",
54
- "@micromag/element-call-to-action": "^0.3.348",
55
- "@micromag/element-container": "^0.3.348",
56
- "@micromag/element-heading": "^0.3.348",
57
- "@micromag/element-layout": "^0.3.348",
58
- "@micromag/element-scroll": "^0.3.349",
59
- "@micromag/element-text": "^0.3.348",
60
- "@micromag/element-visual": "^0.3.348",
61
- "@micromag/transforms": "^0.3.348",
52
+ "@micromag/core": "^0.3.354",
53
+ "@micromag/element-background": "^0.3.354",
54
+ "@micromag/element-container": "^0.3.354",
55
+ "@micromag/element-footer": "^0.3.354",
56
+ "@micromag/element-header": "^0.3.356",
57
+ "@micromag/element-heading": "^0.3.354",
58
+ "@micromag/element-layout": "^0.3.354",
59
+ "@micromag/element-scroll": "^0.3.354",
60
+ "@micromag/element-text": "^0.3.354",
61
+ "@micromag/element-visual": "^0.3.354",
62
+ "@micromag/transforms": "^0.3.354",
62
63
  "classnames": "^2.2.6",
63
64
  "lodash": "^4.17.21",
64
65
  "prop-types": "^15.7.2",
@@ -68,5 +69,5 @@
68
69
  "publishConfig": {
69
70
  "access": "public"
70
71
  },
71
- "gitHead": "5e3c2c33b7e3c1833b1c43f97792b11d746864b1"
72
+ "gitHead": "683c410d9fc568658e5907fb0a8fa470cb04f6eb"
72
73
  }