@micromag/screen-urbania-recommendation 0.3.362 → 0.3.369

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.
@@ -1 +1 @@
1
- .micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-background{height:100%;left:0;position:absolute;top:0;width:100%}.micromag-screen-urbania-recommendation-container{height:100%;overflow:hidden;position:relative;width:100%}.micromag-screen-urbania-recommendation-disabled.micromag-screen-urbania-recommendation-container{overflow:hidden;pointer-events:none}.micromag-screen-urbania-recommendation-hidden.micromag-screen-urbania-recommendation-container{display:none;visibility:hidden}.micromag-screen-urbania-recommendation-placeholder.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-content{padding:6px;position:relative}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyTitle{border:2px dashed #343434;color:#343434;margin:5px auto}.micromag-screen-urbania-recommendation-container{-ms-flex-align:start;align-items:flex-start}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-background{z-index:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-content{z-index:1}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyTitle{margin:10px auto;width:100%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyTitle{height:100px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText{height:50px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-callToAction{-webkit-transition:opacity .2 ease-out;-o-transition:opacity .2 ease-out;transition:opacity .2 ease-out}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-callToAction.micromag-screen-urbania-recommendation-disabled{opacity:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard{border:2px solid #000;border-radius:17px;-webkit-box-shadow:0 3px 34px rgba(0,0,0,.43);box-shadow:0 3px 34px rgba(0,0,0,.43);color:#000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;text-align:center}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-isPlaceholder{background-color:#adadad;height:200px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-appear{-webkit-animation:micromag-screen-urbania-recommendation-appear 1s ease-in-out;animation:micromag-screen-urbania-recommendation-appear 1s ease-in-out;-webkit-animation-delay:.9s;animation-delay:.9s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-category{background-color:#ff4f46;border-bottom:2px solid #000;color:#fff;font-family:Agrandir Tight,sans-serif;font-size:28px;font-weight:900;padding:12px 10px 6px;text-transform:uppercase}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-category.micromag-screen-urbania-recommendation-noBottomBorder{border-bottom:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-categoryPlaceholder{background-color:#343434;padding:10px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-dateTitleRow{-ms-flex-align:center;-ms-flex-pack:center;align-items:center;background-color:#fff;display:-ms-flexbox;display:flex;justify-content:center;width:100%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-dateTitleRow.micromag-screen-urbania-recommendation-bottomBorder{border-bottom:2px solid #000}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-dateTitleRow.micromag-screen-urbania-recommendation-isPlaceholder{background-color:#e9e9e9;margin-left:2px;padding:10px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-dateContainer{-ms-flex-positive:1;flex-grow:1;height:inherit;max-width:50%;min-width:30%;overflow-wrap:break-word;padding:15px 10px;text-align:center}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-dateContainer strong{white-space:nowrap}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-date{color:#ff4f46;font-family:Agrandir,sans-serif;font-size:12px;line-height:1}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-date.micromag-screen-urbania-recommendation-centerDate{text-align:center}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-titleContainer{max-width:70%;min-width:50%;overflow-wrap:break-word}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-titleContainer.micromag-screen-urbania-recommendation-leftBorder{border-left:2px solid #000;margin-left:-2px;margin-right:-2px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-title{font-family:Agrandir Narrow,sans-serif;font-size:20px;font-weight:700;line-height:1;padding:15px 20px 11px;text-align:center;text-transform:uppercase}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor{background-color:#fffc00;font-family:Agrandir,sans-serif;font-size:10px;line-height:1;padding:5px 10px 3px;text-transform:uppercase}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor>p{margin-bottom:0;margin-top:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor.micromag-screen-urbania-recommendation-bottomBorder{border-bottom:2px solid #000}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsorPlaceholder{padding:10px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description{background-color:#fff;font-family:Roboto,sans-serif;font-size:12px;padding:10px;text-align:left}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description p{margin-bottom:1em}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description p:last-child{margin-bottom:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-descriptionPlaceholder{padding:10px 10px 30px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-background{-webkit-animation:micromag-screen-urbania-recommendation-roll .9s ease-out;animation:micromag-screen-urbania-recommendation-roll .9s ease-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.micromag-screen-urbania-recommendation-container.micromag-screen-urbania-recommendation-isPlaceholder .micromag-screen-urbania-recommendation-layout{padding:10px}@-webkit-keyframes micromag-screen-urbania-recommendation-roll{0%{background-position-y:-50vh}to{background-position-y:0}}@keyframes micromag-screen-urbania-recommendation-roll{0%{background-position-y:-50vh}to{background-position-y:0}}@-webkit-keyframes micromag-screen-urbania-recommendation-appear{0%{opacity:0}66%{opacity:0}to{opacity:1}}@keyframes micromag-screen-urbania-recommendation-appear{0%{opacity:0}66%{opacity:0}to{opacity:1}}
1
+ .micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-background{height:100%;left:0;position:absolute;top:0;width:100%}.micromag-screen-urbania-recommendation-container{height:100%;overflow:hidden;position:relative;width:100%}.micromag-screen-urbania-recommendation-disabled.micromag-screen-urbania-recommendation-container{overflow:hidden;pointer-events:none}.micromag-screen-urbania-recommendation-hidden.micromag-screen-urbania-recommendation-container{display:none;visibility:hidden}.micromag-screen-urbania-recommendation-placeholder.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-content{padding:6px;position:relative}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-empty,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyCategory,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText{border:2px dashed #343434;color:#343434;margin:5px auto}.micromag-screen-urbania-recommendation-container{-ms-flex-align:start;align-items:flex-start}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-background{z-index:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-content{z-index:1}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-empty,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText{width:100%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyText,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyVisual{height:50px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptySponsor,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyVisual{width:calc(100% - 10px)}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptySponsor{padding:5px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-emptyCategory{padding:10px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-writing-mode:vertical-lr;-ms-writing-mode:tb-lr;writing-mode:vertical-lr}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-callToAction{-webkit-transition:opacity .2 ease-out;-o-transition:opacity .2 ease-out;transition:opacity .2 ease-out}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-callToAction.micromag-screen-urbania-recommendation-disabled{opacity:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard{background-color:#fff;border-radius:10px;-webkit-box-shadow:4px 4px 4px rgba(0,0,0,.25);box-shadow:4px 4px 4px rgba(0,0,0,.25);color:#000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:0 auto;width:90%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-isPlaceholder{background-color:#adadad}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-appear{-webkit-animation:micromag-screen-urbania-recommendation-appear 1s ease-in-out;animation:micromag-screen-urbania-recommendation-appear 1s ease-in-out;-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-visualBottom,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textCard.micromag-screen-urbania-recommendation-visualBottom .micromag-screen-urbania-recommendation-visualContainer{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-visualContainer{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor{background-color:#fffc00;font-family:Agrandir,sans-serif;font-size:10px;line-height:1;padding:5px 10px 3px;text-align:center;text-transform:uppercase;width:100%;z-index:1}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor>p{margin-bottom:0;margin-top:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsor.micromag-screen-urbania-recommendation-hasVisual{position:absolute}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-sponsorPlaceholder{padding:10px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-visual{width:100%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-text{display:-ms-flexbox;display:flex}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-category{font-family:Agrandir Tight,sans-serif;font-size:28px;font-weight:900;padding:12px 10px 6px;text-align:center;text-transform:uppercase;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);width:20%;-webkit-writing-mode:vertical-lr;-ms-writing-mode:tb-lr;writing-mode:vertical-lr}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-categoryPlaceholder{background-color:#343434;padding:10px;width:20%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textContent{padding:14px 8px 14px 0;width:80%}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-textContent.micromag-screen-urbania-recommendation-isPlaceholder{background-color:#e9e9e9;margin-left:2px;padding:10px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-titleContainer{overflow-wrap:break-word}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-title{border-bottom:1px solid #000;font-family:Agrandir Tight,sans-serif;font-size:1.2rem;font-weight:700;text-transform:uppercase}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-date,.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-location{border-bottom:1px solid #000;font-family:Agrandir Tight,sans-serif;padding-top:3px;text-transform:uppercase}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-date{font-size:14px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-location{font-size:12px;font-weight:700}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description{font-family:Agrandir Tight,sans-serif;font-size:12px;font-weight:300;padding-top:3px}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description p{margin-bottom:.5em}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-description p:last-child{margin-bottom:0}.micromag-screen-urbania-recommendation-container .micromag-screen-urbania-recommendation-descriptionPlaceholder{padding:10px 10px 30px}.micromag-screen-urbania-recommendation-container.micromag-screen-urbania-recommendation-isPlaceholder .micromag-screen-urbania-recommendation-layout{padding:10px}@-webkit-keyframes micromag-screen-urbania-recommendation-appear{0%{opacity:0}66%{opacity:0}to{opacity:1}}@keyframes micromag-screen-urbania-recommendation-appear{0%{opacity:0}66%{opacity:0}to{opacity:1}}
package/es/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  import { FormattedMessage, defineMessage } from 'react-intl';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
4
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
4
  import classNames from 'classnames';
6
5
  import PropTypes$1 from 'prop-types';
7
- import React, { useState, useEffect, useCallback, useMemo } from 'react';
6
+ import React, { useState, useEffect, useCallback } from 'react';
8
7
  import { PropTypes } from '@micromag/core';
9
- import { ScreenElement, PlaceholderTitle, PlaceholderText, TransitionsStagger } from '@micromag/core/components';
8
+ import { ScreenElement, PlaceholderText, PlaceholderImage, PlaceholderTitle } from '@micromag/core/components';
10
9
  import { useScreenSize, useViewerContext, useViewerWebView, usePlaybackContext, usePlaybackMediaRef, useScreenRenderContext } from '@micromag/core/contexts';
11
10
  import { useTrackScreenEvent } from '@micromag/core/hooks';
12
11
  import { isTextFilled, isHeaderFilled, isFooterFilled, getFooterProps } from '@micromag/core/utils';
@@ -18,59 +17,60 @@ import Heading from '@micromag/element-heading';
18
17
  import Layout, { Spacer } from '@micromag/element-layout';
19
18
  import Scroll from '@micromag/element-scroll';
20
19
  import Text from '@micromag/element-text';
20
+ import Visual from '@micromag/element-visual';
21
21
 
22
- var styles = {"container":"micromag-screen-urbania-recommendation-container","background":"micromag-screen-urbania-recommendation-background","disabled":"micromag-screen-urbania-recommendation-disabled","hidden":"micromag-screen-urbania-recommendation-hidden","placeholder":"micromag-screen-urbania-recommendation-placeholder","content":"micromag-screen-urbania-recommendation-content","emptyTitle":"micromag-screen-urbania-recommendation-emptyTitle","emptyText":"micromag-screen-urbania-recommendation-emptyText","callToAction":"micromag-screen-urbania-recommendation-callToAction","textCard":"micromag-screen-urbania-recommendation-textCard","isPlaceholder":"micromag-screen-urbania-recommendation-isPlaceholder","appear":"micromag-screen-urbania-recommendation-appear","category":"micromag-screen-urbania-recommendation-category","noBottomBorder":"micromag-screen-urbania-recommendation-noBottomBorder","categoryPlaceholder":"micromag-screen-urbania-recommendation-categoryPlaceholder","dateTitleRow":"micromag-screen-urbania-recommendation-dateTitleRow","bottomBorder":"micromag-screen-urbania-recommendation-bottomBorder","dateContainer":"micromag-screen-urbania-recommendation-dateContainer","date":"micromag-screen-urbania-recommendation-date","centerDate":"micromag-screen-urbania-recommendation-centerDate","titleContainer":"micromag-screen-urbania-recommendation-titleContainer","leftBorder":"micromag-screen-urbania-recommendation-leftBorder","title":"micromag-screen-urbania-recommendation-title","sponsor":"micromag-screen-urbania-recommendation-sponsor","sponsorPlaceholder":"micromag-screen-urbania-recommendation-sponsorPlaceholder","description":"micromag-screen-urbania-recommendation-description","descriptionPlaceholder":"micromag-screen-urbania-recommendation-descriptionPlaceholder","roll":"micromag-screen-urbania-recommendation-roll","layout":"micromag-screen-urbania-recommendation-layout"};
22
+ var styles = {"container":"micromag-screen-urbania-recommendation-container","background":"micromag-screen-urbania-recommendation-background","disabled":"micromag-screen-urbania-recommendation-disabled","hidden":"micromag-screen-urbania-recommendation-hidden","placeholder":"micromag-screen-urbania-recommendation-placeholder","content":"micromag-screen-urbania-recommendation-content","emptyCategory":"micromag-screen-urbania-recommendation-emptyCategory","empty":"micromag-screen-urbania-recommendation-empty","emptyText":"micromag-screen-urbania-recommendation-emptyText","emptyVisual":"micromag-screen-urbania-recommendation-emptyVisual","emptySponsor":"micromag-screen-urbania-recommendation-emptySponsor","callToAction":"micromag-screen-urbania-recommendation-callToAction","textCard":"micromag-screen-urbania-recommendation-textCard","isPlaceholder":"micromag-screen-urbania-recommendation-isPlaceholder","appear":"micromag-screen-urbania-recommendation-appear","visualBottom":"micromag-screen-urbania-recommendation-visualBottom","visualContainer":"micromag-screen-urbania-recommendation-visualContainer","sponsor":"micromag-screen-urbania-recommendation-sponsor","hasVisual":"micromag-screen-urbania-recommendation-hasVisual","sponsorPlaceholder":"micromag-screen-urbania-recommendation-sponsorPlaceholder","visual":"micromag-screen-urbania-recommendation-visual","text":"micromag-screen-urbania-recommendation-text","category":"micromag-screen-urbania-recommendation-category","categoryPlaceholder":"micromag-screen-urbania-recommendation-categoryPlaceholder","textContent":"micromag-screen-urbania-recommendation-textContent","titleContainer":"micromag-screen-urbania-recommendation-titleContainer","title":"micromag-screen-urbania-recommendation-title","date":"micromag-screen-urbania-recommendation-date","location":"micromag-screen-urbania-recommendation-location","description":"micromag-screen-urbania-recommendation-description","descriptionPlaceholder":"micromag-screen-urbania-recommendation-descriptionPlaceholder","layout":"micromag-screen-urbania-recommendation-layout"};
23
23
 
24
24
  var propTypes = {
25
25
  category: PropTypes.headingElement,
26
- date: PropTypes.textElement,
26
+ visual: PropTypes$1.shape({
27
+ image: PropTypes.imageMedia,
28
+ visualLayout: PropTypes$1.oneOf(['label-bottom', 'label-top'])
29
+ }),
27
30
  title: PropTypes.headingElement,
28
- sponsor: PropTypes.textElement,
31
+ date: PropTypes.textElement,
32
+ location: PropTypes.textElement,
29
33
  description: PropTypes.textElement,
34
+ sponsor: PropTypes.textElement,
30
35
  spacing: PropTypes$1.number,
31
36
  header: PropTypes.header,
32
37
  footer: PropTypes.footer,
33
38
  background: PropTypes.backgroundElement,
34
39
  current: PropTypes$1.bool,
35
40
  active: PropTypes$1.bool,
36
- animateBackground: PropTypes$1.bool,
37
- transitions: PropTypes.transitions,
38
- transitionStagger: PropTypes$1.number,
39
41
  className: PropTypes$1.string
40
42
  };
41
43
  var defaultProps = {
42
44
  category: null,
43
- date: null,
45
+ visual: null,
44
46
  title: null,
45
- sponsor: null,
47
+ date: null,
48
+ location: null,
46
49
  description: null,
50
+ sponsor: null,
47
51
  spacing: 20,
48
52
  header: null,
49
53
  footer: null,
50
54
  background: null,
51
55
  current: true,
52
56
  active: true,
53
- animateBackground: true,
54
- transitions: null,
55
- transitionStagger: 100,
56
57
  className: null
57
58
  };
58
59
  var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
59
- var _ref3, _ref4, _ref5, _ref7, _ref11;
60
+ var _ref4, _ref9;
60
61
  var category = _ref.category,
61
- date = _ref.date,
62
+ visual = _ref.visual,
62
63
  title = _ref.title,
63
- sponsor = _ref.sponsor,
64
+ date = _ref.date,
65
+ location = _ref.location,
64
66
  description = _ref.description,
67
+ sponsor = _ref.sponsor,
65
68
  spacing = _ref.spacing,
66
69
  header = _ref.header,
67
70
  footer = _ref.footer,
68
71
  background = _ref.background,
69
72
  current = _ref.current,
70
73
  active = _ref.active,
71
- animateBackground = _ref.animateBackground,
72
- transitions = _ref.transitions,
73
- transitionStagger = _ref.transitionStagger,
74
74
  className = _ref.className;
75
75
  var trackScreenEvent = useTrackScreenEvent();
76
76
  var _useScreenSize = useScreenSize(),
@@ -91,25 +91,29 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
91
91
  isPreview = _useScreenRenderConte.isPreview,
92
92
  isPlaceholder = _useScreenRenderConte.isPlaceholder,
93
93
  isEdit = _useScreenRenderConte.isEdit,
94
- isStatic = _useScreenRenderConte.isStatic,
95
- isCapture = _useScreenRenderConte.isCapture;
96
- var finalAnimateBackground = current && animateBackground && !isPlaceholder && !isStatic && !isPreview && !isEdit;
97
- var _useState = useState(finalAnimateBackground),
94
+ isStatic = _useScreenRenderConte.isStatic;
95
+ _useScreenRenderConte.isCapture;
96
+ var animateBackground = current && !isPlaceholder && !isStatic && !isPreview && !isEdit;
97
+ var _useState = useState(animateBackground),
98
98
  _useState2 = _slicedToArray(_useState, 2),
99
99
  animationStarted = _useState2[0],
100
100
  setAnimationStarted = _useState2[1];
101
+ var _ref2 = visual || {},
102
+ _ref2$image = _ref2.image,
103
+ image = _ref2$image === void 0 ? null : _ref2$image,
104
+ _ref2$visualLayout = _ref2.visualLayout,
105
+ visualLayout = _ref2$visualLayout === void 0 ? null : _ref2$visualLayout;
106
+ var hasVisual = image !== null;
101
107
  var hasCategory = isTextFilled(category);
102
- var hasDate = isTextFilled(date);
103
108
  var hasTitle = isTextFilled(title);
104
- var hasSponsor = isTextFilled(sponsor);
109
+ var hasDate = isTextFilled(date);
110
+ var hasLocation = isTextFilled(location);
105
111
  var hasDescription = isTextFilled(description);
106
- var onlyCategory = hasCategory && !hasDate && !hasTitle && !hasSponsor && !hasDescription;
107
- var hasTextCard = hasCategory || hasDate || hasTitle || hasSponsor || hasDescription;
112
+ var hasSponsor = isTextFilled(sponsor);
113
+ var hasTextCard = hasCategory || hasTitle || hasDate || hasLocation || hasDescription || hasSponsor;
108
114
  var backgroundPlaying = current && (isView || isEdit);
109
115
  var mediaShouldLoad = current || active;
110
- var transitionPlaying = current;
111
- var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
112
- var scrollingDisabled = !isEdit && transitionDisabled || !current;
116
+ var scrollingDisabled = !isView && !isEdit || !current;
113
117
  var hasHeader = isHeaderFilled(header);
114
118
  var hasFooter = isFooterFilled(footer);
115
119
  var footerProps = getFooterProps(footer, {
@@ -132,7 +136,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
132
136
  return function () {
133
137
  clearTimeout(id);
134
138
  };
135
- }, [animationStarted, finalAnimateBackground, setAnimationStarted]);
139
+ }, [animationStarted, animateBackground, setAnimationStarted]);
136
140
  useEffect(function () {
137
141
  if (!isView) {
138
142
  setAnimationStarted(false);
@@ -140,8 +144,8 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
140
144
  setAnimationStarted(true);
141
145
  }
142
146
  }, [isView, setAnimationStarted]);
143
- var onScrolledBottom = useCallback(function (_ref2) {
144
- var initial = _ref2.initial;
147
+ var onScrolledBottom = useCallback(function (_ref3) {
148
+ var initial = _ref3.initial;
145
149
  if (initial) {
146
150
  trackScreenEvent('scroll', 'Screen');
147
151
  }
@@ -150,14 +154,6 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
150
154
  var onScrolledNotBottom = useCallback(function () {
151
155
  setScrolledBottom(false);
152
156
  }, [setScrolledBottom]);
153
- var finalBackground = useMemo(function () {
154
- return _objectSpread({
155
- fit: 'cover',
156
- // horizontalAlign: 'left',
157
- // verticalAlign: '-20%',
158
- repeat: true
159
- }, background);
160
- }, [background]);
161
157
 
162
158
  // Create elements
163
159
  var items = [!isPlaceholder && hasHeader ? /*#__PURE__*/React.createElement("div", {
@@ -168,7 +164,36 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
168
164
  }, /*#__PURE__*/React.createElement(Header, header)) : null, !isPlaceholder ? /*#__PURE__*/React.createElement(Spacer, {
169
165
  key: "spacer-cta-top"
170
166
  }) : null, hasTextCard || isPlaceholder || isEdit ? /*#__PURE__*/React.createElement(Container, {
171
- className: classNames([styles.textCard, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref3, styles.appear, finalAnimateBackground), _ref3)])
167
+ className: classNames([styles.textCard, (_ref4 = {}, _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref4, styles.visualBottom, visualLayout === 'label-top'), _defineProperty(_ref4, styles.appear, animationStarted), _ref4)])
168
+ }, /*#__PURE__*/React.createElement("div", {
169
+ className: styles.visualContainer
170
+ }, /*#__PURE__*/React.createElement(ScreenElement, {
171
+ key: "sponsor",
172
+ placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
173
+ className: styles.sponsorPlaceholder
174
+ })
175
+ }, hasSponsor ? /*#__PURE__*/React.createElement(Text, Object.assign({
176
+ className: classNames([styles.sponsor, _defineProperty({}, styles.hasVisual, hasVisual)])
177
+ }, sponsor)) : null), /*#__PURE__*/React.createElement(ScreenElement, {
178
+ key: "visual",
179
+ placeholder: /*#__PURE__*/React.createElement(PlaceholderImage, {
180
+ className: styles.visualPlaceholder
181
+ }),
182
+ emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {
183
+ id: "JzSBzL",
184
+ defaultMessage: [{
185
+ "type": 0,
186
+ "value": "Visual"
187
+ }]
188
+ }),
189
+ emptyClassName: classNames([styles.empty, styles.emptyVisual]),
190
+ isEmpty: !hasVisual
191
+ }, hasVisual ? /*#__PURE__*/React.createElement(Visual, {
192
+ className: styles.visual,
193
+ media: image,
194
+ width: "auto"
195
+ }) : null)), /*#__PURE__*/React.createElement("div", {
196
+ className: styles.text
172
197
  }, /*#__PURE__*/React.createElement(ScreenElement, {
173
198
  key: "category",
174
199
  placeholder: /*#__PURE__*/React.createElement(PlaceholderTitle, {
@@ -181,61 +206,43 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
181
206
  "value": "Category"
182
207
  }]
183
208
  }),
184
- emptyClassName: styles.emptyText,
209
+ emptyClassName: styles.emptyCategory,
185
210
  isEmpty: !hasCategory
186
211
  }, hasCategory ? /*#__PURE__*/React.createElement(Heading, Object.assign({
187
- className: classNames([styles.category, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.noBottomBorder, onlyCategory), _ref4)])
188
- }, category)) : null), hasDate || hasTitle || isPlaceholder ? /*#__PURE__*/React.createElement("div", {
189
- className: classNames([styles.dateTitleRow, (_ref5 = {}, _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles.bottomBorder, hasSponsor || !hasSponsor && hasDescription), _defineProperty(_ref5, styles.isPlaceholder, isPlaceholder), _ref5)])
212
+ className: styles.category
213
+ }, category)) : null), /*#__PURE__*/React.createElement("div", {
214
+ className: classNames([styles.textContent, _defineProperty({}, styles.isPlaceholder, isPlaceholder)])
190
215
  }, /*#__PURE__*/React.createElement(ScreenElement, {
191
- key: "date",
192
- placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
193
- className: styles.datePlaceholder
194
- })
195
- // emptyLabel={
196
- // <FormattedMessage
197
- // defaultMessage="Date"
198
- // description="Date placeholder"
199
- // />
200
- // }
201
- // emptyClassName={styles.emptyText}
202
- // isEmpty={!hasDate}
203
- }, hasDate ? /*#__PURE__*/React.createElement("div", {
204
- className: classNames([styles.dateContainer, _defineProperty({}, className, className !== null)])
205
- }, /*#__PURE__*/React.createElement(Text, Object.assign({
206
- className: classNames([styles.date, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.centerDate, !hasTitle), _ref7)])
207
- }, date))) : null), /*#__PURE__*/React.createElement(ScreenElement, {
208
216
  key: "title",
209
- placeholder: "title"
210
- // emptyLabel={
211
- // <FormattedMessage
212
- // defaultMessage="Title"
213
- // description="Title placeholder"
214
- // />
215
- // }
216
- // emptyClassName={styles.emptyTitle}
217
- // isEmpty={!hasTitle}
218
- }, hasTitle ? /*#__PURE__*/React.createElement("div", {
219
- className: classNames([styles.titleContainer, _defineProperty({}, styles.leftBorder, hasDate)])
220
- }, /*#__PURE__*/React.createElement(Heading, Object.assign({
221
- className: styles.title
222
- }, title))) : null)) : null, /*#__PURE__*/React.createElement(ScreenElement, {
223
- key: "sponsor",
224
- placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
225
- className: styles.sponsorPlaceholder
226
- }),
217
+ placeholder: "title",
227
218
  emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {
228
- id: "Bv1Q38",
219
+ id: "2c1WFV",
229
220
  defaultMessage: [{
230
221
  "type": 0,
231
- "value": "Sponsor"
222
+ "value": "Title"
232
223
  }]
233
224
  }),
234
225
  emptyClassName: styles.emptyText,
235
- isEmpty: !hasSponsor
236
- }, hasSponsor ? /*#__PURE__*/React.createElement(Text, Object.assign({
237
- className: classNames([styles.sponsor, _defineProperty({}, styles.bottomBorder, hasDescription)])
238
- }, sponsor)) : null), /*#__PURE__*/React.createElement(ScreenElement, {
226
+ isEmpty: !hasTitle
227
+ }, hasTitle ? /*#__PURE__*/React.createElement("div", {
228
+ className: styles.titleContainer
229
+ }, /*#__PURE__*/React.createElement(Heading, Object.assign({
230
+ className: styles.title
231
+ }, title))) : null), /*#__PURE__*/React.createElement(ScreenElement, {
232
+ key: "date",
233
+ placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
234
+ className: styles.datePlaceholder
235
+ })
236
+ }, hasDate ? /*#__PURE__*/React.createElement(Text, Object.assign({
237
+ className: classNames([styles.date, _defineProperty({}, styles.centerDate, !hasTitle)])
238
+ }, date)) : null), /*#__PURE__*/React.createElement(ScreenElement, {
239
+ key: "location",
240
+ placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
241
+ className: styles.locationPlaceholder
242
+ })
243
+ }, hasLocation ? /*#__PURE__*/React.createElement(Text, Object.assign({
244
+ className: styles.location
245
+ }, location)) : null), /*#__PURE__*/React.createElement(ScreenElement, {
239
246
  key: "description",
240
247
  placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {
241
248
  className: styles.descriptionPlaceholder
@@ -251,7 +258,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
251
258
  isEmpty: !hasDescription
252
259
  }, hasDescription ? /*#__PURE__*/React.createElement(Text, Object.assign({
253
260
  className: styles.description
254
- }, description)) : null)) : null, !isPlaceholder ? /*#__PURE__*/React.createElement(Spacer, {
261
+ }, description)) : null)))) : null, !isPlaceholder ? /*#__PURE__*/React.createElement(Spacer, {
255
262
  key: "spacer-cta-bottom"
256
263
  }) : null, !isPlaceholder && hasFooter ? /*#__PURE__*/React.createElement("div", {
257
264
  key: "call-to-action",
@@ -265,7 +272,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
265
272
  return el !== null;
266
273
  });
267
274
  return /*#__PURE__*/React.createElement("div", {
268
- className: classNames([styles.container, (_ref11 = {}, _defineProperty(_ref11, className, className !== null), _defineProperty(_ref11, styles.isPlaceholder, isPlaceholder), _ref11)]),
275
+ className: classNames([styles.container, (_ref9 = {}, _defineProperty(_ref9, className, className !== null), _defineProperty(_ref9, styles.isPlaceholder, isPlaceholder), _ref9)]),
269
276
  "data-screen-ready": true
270
277
  }, /*#__PURE__*/React.createElement(Container, {
271
278
  width: width,
@@ -275,7 +282,8 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
275
282
  disabled: animationStarted || scrollingDisabled,
276
283
  onScrolledBottom: onScrolledBottom,
277
284
  onScrolledNotBottom: onScrolledNotBottom,
278
- verticalAlign: "top"
285
+ verticalAlign: "middle",
286
+ withShadow: true
279
287
  }, /*#__PURE__*/React.createElement(Layout, {
280
288
  className: styles.layout,
281
289
  style: !isPlaceholder ? {
@@ -283,20 +291,14 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
283
291
  paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing / 2,
284
292
  paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + spacing / 2
285
293
  } : null
286
- }, /*#__PURE__*/React.createElement(TransitionsStagger, {
287
- transitions: transitions,
288
- stagger: transitionStagger,
289
- disabled: transitionDisabled,
290
- playing: transitionPlaying
291
- }, items)))), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
292
- background: finalBackground,
294
+ }, items))), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
295
+ background: background,
293
296
  width: width,
294
297
  height: height,
295
298
  resolution: resolution,
296
299
  playing: backgroundPlaying,
297
300
  muted: muted,
298
301
  shouldLoad: mediaShouldLoad,
299
- backgroundClassName: finalAnimateBackground ? styles.background : null,
300
302
  mediaRef: mediaRef,
301
303
  withoutVideo: isPreview,
302
304
  className: styles.background
@@ -329,23 +331,58 @@ var definition = [{
329
331
  }),
330
332
  component: UrbaniaRecommendation$1,
331
333
  fields: [{
332
- name: 'category',
333
- type: 'heading-element',
334
+ name: 'sponsor',
335
+ type: 'text-element',
334
336
  label: defineMessage({
335
- id: "4grcMU",
337
+ id: "WY14Zu",
336
338
  defaultMessage: [{
337
339
  "type": 0,
338
- "value": "Category"
340
+ "value": "Sponsor"
339
341
  }]
340
342
  })
341
343
  }, {
342
- name: 'date',
343
- type: 'text-element',
344
+ name: 'visual',
345
+ type: 'fields',
346
+ isList: true,
344
347
  label: defineMessage({
345
- id: "yEG9zh",
348
+ id: "HwqzVR",
346
349
  defaultMessage: [{
347
350
  "type": 0,
348
- "value": "Date"
351
+ "value": "Visual"
352
+ }]
353
+ }),
354
+ fields: [{
355
+ name: 'image',
356
+ type: 'visual',
357
+ label: defineMessage({
358
+ id: "xT/onn",
359
+ defaultMessage: [{
360
+ "type": 0,
361
+ "value": "Image"
362
+ }]
363
+ })
364
+ }, {
365
+ name: 'visualLayout',
366
+ type: 'button-layout',
367
+ types: ['label-bottom', 'label-top'],
368
+ defaultValue: 'label-bottom',
369
+ isHorizontal: true,
370
+ label: defineMessage({
371
+ id: "OPxJx/",
372
+ defaultMessage: [{
373
+ "type": 0,
374
+ "value": "Layout"
375
+ }]
376
+ })
377
+ }]
378
+ }, {
379
+ name: 'category',
380
+ type: 'heading-element',
381
+ label: defineMessage({
382
+ id: "4grcMU",
383
+ defaultMessage: [{
384
+ "type": 0,
385
+ "value": "Category"
349
386
  }]
350
387
  })
351
388
  }, {
@@ -359,13 +396,23 @@ var definition = [{
359
396
  }]
360
397
  })
361
398
  }, {
362
- name: 'sponsor',
399
+ name: 'date',
363
400
  type: 'text-element',
364
401
  label: defineMessage({
365
- id: "WY14Zu",
402
+ id: "yEG9zh",
366
403
  defaultMessage: [{
367
404
  "type": 0,
368
- "value": "Sponsor"
405
+ "value": "Date"
406
+ }]
407
+ })
408
+ }, {
409
+ name: 'location',
410
+ type: 'text-element',
411
+ label: defineMessage({
412
+ id: "zLxBdl",
413
+ defaultMessage: [{
414
+ "type": 0,
415
+ "value": "Location"
369
416
  }]
370
417
  })
371
418
  }, {
package/lib/index.js CHANGED
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var reactIntl = require('react-intl');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
8
7
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
8
  var classNames = require('classnames');
10
9
  var PropTypes = require('prop-types');
@@ -22,11 +21,11 @@ var Heading = require('@micromag/element-heading');
22
21
  var Layout = require('@micromag/element-layout');
23
22
  var Scroll = require('@micromag/element-scroll');
24
23
  var Text = require('@micromag/element-text');
24
+ var Visual = require('@micromag/element-visual');
25
25
 
26
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
27
 
28
28
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
29
- var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
30
29
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
31
30
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
32
31
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
@@ -39,59 +38,60 @@ var Heading__default = /*#__PURE__*/_interopDefaultLegacy(Heading);
39
38
  var Layout__default = /*#__PURE__*/_interopDefaultLegacy(Layout);
40
39
  var Scroll__default = /*#__PURE__*/_interopDefaultLegacy(Scroll);
41
40
  var Text__default = /*#__PURE__*/_interopDefaultLegacy(Text);
41
+ var Visual__default = /*#__PURE__*/_interopDefaultLegacy(Visual);
42
42
 
43
- var styles = {"container":"micromag-screen-urbania-recommendation-container","background":"micromag-screen-urbania-recommendation-background","disabled":"micromag-screen-urbania-recommendation-disabled","hidden":"micromag-screen-urbania-recommendation-hidden","placeholder":"micromag-screen-urbania-recommendation-placeholder","content":"micromag-screen-urbania-recommendation-content","emptyTitle":"micromag-screen-urbania-recommendation-emptyTitle","emptyText":"micromag-screen-urbania-recommendation-emptyText","callToAction":"micromag-screen-urbania-recommendation-callToAction","textCard":"micromag-screen-urbania-recommendation-textCard","isPlaceholder":"micromag-screen-urbania-recommendation-isPlaceholder","appear":"micromag-screen-urbania-recommendation-appear","category":"micromag-screen-urbania-recommendation-category","noBottomBorder":"micromag-screen-urbania-recommendation-noBottomBorder","categoryPlaceholder":"micromag-screen-urbania-recommendation-categoryPlaceholder","dateTitleRow":"micromag-screen-urbania-recommendation-dateTitleRow","bottomBorder":"micromag-screen-urbania-recommendation-bottomBorder","dateContainer":"micromag-screen-urbania-recommendation-dateContainer","date":"micromag-screen-urbania-recommendation-date","centerDate":"micromag-screen-urbania-recommendation-centerDate","titleContainer":"micromag-screen-urbania-recommendation-titleContainer","leftBorder":"micromag-screen-urbania-recommendation-leftBorder","title":"micromag-screen-urbania-recommendation-title","sponsor":"micromag-screen-urbania-recommendation-sponsor","sponsorPlaceholder":"micromag-screen-urbania-recommendation-sponsorPlaceholder","description":"micromag-screen-urbania-recommendation-description","descriptionPlaceholder":"micromag-screen-urbania-recommendation-descriptionPlaceholder","roll":"micromag-screen-urbania-recommendation-roll","layout":"micromag-screen-urbania-recommendation-layout"};
43
+ var styles = {"container":"micromag-screen-urbania-recommendation-container","background":"micromag-screen-urbania-recommendation-background","disabled":"micromag-screen-urbania-recommendation-disabled","hidden":"micromag-screen-urbania-recommendation-hidden","placeholder":"micromag-screen-urbania-recommendation-placeholder","content":"micromag-screen-urbania-recommendation-content","emptyCategory":"micromag-screen-urbania-recommendation-emptyCategory","empty":"micromag-screen-urbania-recommendation-empty","emptyText":"micromag-screen-urbania-recommendation-emptyText","emptyVisual":"micromag-screen-urbania-recommendation-emptyVisual","emptySponsor":"micromag-screen-urbania-recommendation-emptySponsor","callToAction":"micromag-screen-urbania-recommendation-callToAction","textCard":"micromag-screen-urbania-recommendation-textCard","isPlaceholder":"micromag-screen-urbania-recommendation-isPlaceholder","appear":"micromag-screen-urbania-recommendation-appear","visualBottom":"micromag-screen-urbania-recommendation-visualBottom","visualContainer":"micromag-screen-urbania-recommendation-visualContainer","sponsor":"micromag-screen-urbania-recommendation-sponsor","hasVisual":"micromag-screen-urbania-recommendation-hasVisual","sponsorPlaceholder":"micromag-screen-urbania-recommendation-sponsorPlaceholder","visual":"micromag-screen-urbania-recommendation-visual","text":"micromag-screen-urbania-recommendation-text","category":"micromag-screen-urbania-recommendation-category","categoryPlaceholder":"micromag-screen-urbania-recommendation-categoryPlaceholder","textContent":"micromag-screen-urbania-recommendation-textContent","titleContainer":"micromag-screen-urbania-recommendation-titleContainer","title":"micromag-screen-urbania-recommendation-title","date":"micromag-screen-urbania-recommendation-date","location":"micromag-screen-urbania-recommendation-location","description":"micromag-screen-urbania-recommendation-description","descriptionPlaceholder":"micromag-screen-urbania-recommendation-descriptionPlaceholder","layout":"micromag-screen-urbania-recommendation-layout"};
44
44
 
45
45
  var propTypes = {
46
46
  category: core.PropTypes.headingElement,
47
- date: core.PropTypes.textElement,
47
+ visual: PropTypes__default["default"].shape({
48
+ image: core.PropTypes.imageMedia,
49
+ visualLayout: PropTypes__default["default"].oneOf(['label-bottom', 'label-top'])
50
+ }),
48
51
  title: core.PropTypes.headingElement,
49
- sponsor: core.PropTypes.textElement,
52
+ date: core.PropTypes.textElement,
53
+ location: core.PropTypes.textElement,
50
54
  description: core.PropTypes.textElement,
55
+ sponsor: core.PropTypes.textElement,
51
56
  spacing: PropTypes__default["default"].number,
52
57
  header: core.PropTypes.header,
53
58
  footer: core.PropTypes.footer,
54
59
  background: core.PropTypes.backgroundElement,
55
60
  current: PropTypes__default["default"].bool,
56
61
  active: PropTypes__default["default"].bool,
57
- animateBackground: PropTypes__default["default"].bool,
58
- transitions: core.PropTypes.transitions,
59
- transitionStagger: PropTypes__default["default"].number,
60
62
  className: PropTypes__default["default"].string
61
63
  };
62
64
  var defaultProps = {
63
65
  category: null,
64
- date: null,
66
+ visual: null,
65
67
  title: null,
66
- sponsor: null,
68
+ date: null,
69
+ location: null,
67
70
  description: null,
71
+ sponsor: null,
68
72
  spacing: 20,
69
73
  header: null,
70
74
  footer: null,
71
75
  background: null,
72
76
  current: true,
73
77
  active: true,
74
- animateBackground: true,
75
- transitions: null,
76
- transitionStagger: 100,
77
78
  className: null
78
79
  };
79
80
  var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
80
- var _ref3, _ref4, _ref5, _ref7, _ref11;
81
+ var _ref4, _ref9;
81
82
  var category = _ref.category,
82
- date = _ref.date,
83
+ visual = _ref.visual,
83
84
  title = _ref.title,
84
- sponsor = _ref.sponsor,
85
+ date = _ref.date,
86
+ location = _ref.location,
85
87
  description = _ref.description,
88
+ sponsor = _ref.sponsor,
86
89
  spacing = _ref.spacing,
87
90
  header = _ref.header,
88
91
  footer = _ref.footer,
89
92
  background = _ref.background,
90
93
  current = _ref.current,
91
94
  active = _ref.active,
92
- animateBackground = _ref.animateBackground,
93
- transitions = _ref.transitions,
94
- transitionStagger = _ref.transitionStagger,
95
95
  className = _ref.className;
96
96
  var trackScreenEvent = hooks.useTrackScreenEvent();
97
97
  var _useScreenSize = contexts.useScreenSize(),
@@ -112,25 +112,29 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
112
112
  isPreview = _useScreenRenderConte.isPreview,
113
113
  isPlaceholder = _useScreenRenderConte.isPlaceholder,
114
114
  isEdit = _useScreenRenderConte.isEdit,
115
- isStatic = _useScreenRenderConte.isStatic,
116
- isCapture = _useScreenRenderConte.isCapture;
117
- var finalAnimateBackground = current && animateBackground && !isPlaceholder && !isStatic && !isPreview && !isEdit;
118
- var _useState = React.useState(finalAnimateBackground),
115
+ isStatic = _useScreenRenderConte.isStatic;
116
+ _useScreenRenderConte.isCapture;
117
+ var animateBackground = current && !isPlaceholder && !isStatic && !isPreview && !isEdit;
118
+ var _useState = React.useState(animateBackground),
119
119
  _useState2 = _slicedToArray__default["default"](_useState, 2),
120
120
  animationStarted = _useState2[0],
121
121
  setAnimationStarted = _useState2[1];
122
+ var _ref2 = visual || {},
123
+ _ref2$image = _ref2.image,
124
+ image = _ref2$image === void 0 ? null : _ref2$image,
125
+ _ref2$visualLayout = _ref2.visualLayout,
126
+ visualLayout = _ref2$visualLayout === void 0 ? null : _ref2$visualLayout;
127
+ var hasVisual = image !== null;
122
128
  var hasCategory = utils.isTextFilled(category);
123
- var hasDate = utils.isTextFilled(date);
124
129
  var hasTitle = utils.isTextFilled(title);
125
- var hasSponsor = utils.isTextFilled(sponsor);
130
+ var hasDate = utils.isTextFilled(date);
131
+ var hasLocation = utils.isTextFilled(location);
126
132
  var hasDescription = utils.isTextFilled(description);
127
- var onlyCategory = hasCategory && !hasDate && !hasTitle && !hasSponsor && !hasDescription;
128
- var hasTextCard = hasCategory || hasDate || hasTitle || hasSponsor || hasDescription;
133
+ var hasSponsor = utils.isTextFilled(sponsor);
134
+ var hasTextCard = hasCategory || hasTitle || hasDate || hasLocation || hasDescription || hasSponsor;
129
135
  var backgroundPlaying = current && (isView || isEdit);
130
136
  var mediaShouldLoad = current || active;
131
- var transitionPlaying = current;
132
- var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
133
- var scrollingDisabled = !isEdit && transitionDisabled || !current;
137
+ var scrollingDisabled = !isView && !isEdit || !current;
134
138
  var hasHeader = utils.isHeaderFilled(header);
135
139
  var hasFooter = utils.isFooterFilled(footer);
136
140
  var footerProps = utils.getFooterProps(footer, {
@@ -153,7 +157,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
153
157
  return function () {
154
158
  clearTimeout(id);
155
159
  };
156
- }, [animationStarted, finalAnimateBackground, setAnimationStarted]);
160
+ }, [animationStarted, animateBackground, setAnimationStarted]);
157
161
  React.useEffect(function () {
158
162
  if (!isView) {
159
163
  setAnimationStarted(false);
@@ -161,8 +165,8 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
161
165
  setAnimationStarted(true);
162
166
  }
163
167
  }, [isView, setAnimationStarted]);
164
- var onScrolledBottom = React.useCallback(function (_ref2) {
165
- var initial = _ref2.initial;
168
+ var onScrolledBottom = React.useCallback(function (_ref3) {
169
+ var initial = _ref3.initial;
166
170
  if (initial) {
167
171
  trackScreenEvent('scroll', 'Screen');
168
172
  }
@@ -171,14 +175,6 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
171
175
  var onScrolledNotBottom = React.useCallback(function () {
172
176
  setScrolledBottom(false);
173
177
  }, [setScrolledBottom]);
174
- var finalBackground = React.useMemo(function () {
175
- return _objectSpread__default["default"]({
176
- fit: 'cover',
177
- // horizontalAlign: 'left',
178
- // verticalAlign: '-20%',
179
- repeat: true
180
- }, background);
181
- }, [background]);
182
178
 
183
179
  // Create elements
184
180
  var items = [!isPlaceholder && hasHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
@@ -189,7 +185,36 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
189
185
  }, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], header)) : null, !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Layout.Spacer, {
190
186
  key: "spacer-cta-top"
191
187
  }) : null, hasTextCard || isPlaceholder || isEdit ? /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
192
- className: classNames__default["default"]([styles.textCard, (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className !== null), _defineProperty__default["default"](_ref3, styles.isPlaceholder, isPlaceholder), _defineProperty__default["default"](_ref3, styles.appear, finalAnimateBackground), _ref3)])
188
+ className: classNames__default["default"]([styles.textCard, (_ref4 = {}, _defineProperty__default["default"](_ref4, styles.isPlaceholder, isPlaceholder), _defineProperty__default["default"](_ref4, styles.visualBottom, visualLayout === 'label-top'), _defineProperty__default["default"](_ref4, styles.appear, animationStarted), _ref4)])
189
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
190
+ className: styles.visualContainer
191
+ }, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
192
+ key: "sponsor",
193
+ placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
194
+ className: styles.sponsorPlaceholder
195
+ })
196
+ }, hasSponsor ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
197
+ className: classNames__default["default"]([styles.sponsor, _defineProperty__default["default"]({}, styles.hasVisual, hasVisual)])
198
+ }, sponsor)) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
199
+ key: "visual",
200
+ placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderImage, {
201
+ className: styles.visualPlaceholder
202
+ }),
203
+ emptyLabel: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
204
+ id: "JzSBzL",
205
+ defaultMessage: [{
206
+ "type": 0,
207
+ "value": "Visual"
208
+ }]
209
+ }),
210
+ emptyClassName: classNames__default["default"]([styles.empty, styles.emptyVisual]),
211
+ isEmpty: !hasVisual
212
+ }, hasVisual ? /*#__PURE__*/React__default["default"].createElement(Visual__default["default"], {
213
+ className: styles.visual,
214
+ media: image,
215
+ width: "auto"
216
+ }) : null)), /*#__PURE__*/React__default["default"].createElement("div", {
217
+ className: styles.text
193
218
  }, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
194
219
  key: "category",
195
220
  placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderTitle, {
@@ -202,61 +227,43 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
202
227
  "value": "Category"
203
228
  }]
204
229
  }),
205
- emptyClassName: styles.emptyText,
230
+ emptyClassName: styles.emptyCategory,
206
231
  isEmpty: !hasCategory
207
232
  }, hasCategory ? /*#__PURE__*/React__default["default"].createElement(Heading__default["default"], Object.assign({
208
- className: classNames__default["default"]([styles.category, (_ref4 = {}, _defineProperty__default["default"](_ref4, className, className !== null), _defineProperty__default["default"](_ref4, styles.noBottomBorder, onlyCategory), _ref4)])
209
- }, category)) : null), hasDate || hasTitle || isPlaceholder ? /*#__PURE__*/React__default["default"].createElement("div", {
210
- className: classNames__default["default"]([styles.dateTitleRow, (_ref5 = {}, _defineProperty__default["default"](_ref5, className, className !== null), _defineProperty__default["default"](_ref5, styles.bottomBorder, hasSponsor || !hasSponsor && hasDescription), _defineProperty__default["default"](_ref5, styles.isPlaceholder, isPlaceholder), _ref5)])
233
+ className: styles.category
234
+ }, category)) : null), /*#__PURE__*/React__default["default"].createElement("div", {
235
+ className: classNames__default["default"]([styles.textContent, _defineProperty__default["default"]({}, styles.isPlaceholder, isPlaceholder)])
211
236
  }, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
212
- key: "date",
213
- placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
214
- className: styles.datePlaceholder
215
- })
216
- // emptyLabel={
217
- // <FormattedMessage
218
- // defaultMessage="Date"
219
- // description="Date placeholder"
220
- // />
221
- // }
222
- // emptyClassName={styles.emptyText}
223
- // isEmpty={!hasDate}
224
- }, hasDate ? /*#__PURE__*/React__default["default"].createElement("div", {
225
- className: classNames__default["default"]([styles.dateContainer, _defineProperty__default["default"]({}, className, className !== null)])
226
- }, /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
227
- className: classNames__default["default"]([styles.date, (_ref7 = {}, _defineProperty__default["default"](_ref7, className, className !== null), _defineProperty__default["default"](_ref7, styles.centerDate, !hasTitle), _ref7)])
228
- }, date))) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
229
237
  key: "title",
230
- placeholder: "title"
231
- // emptyLabel={
232
- // <FormattedMessage
233
- // defaultMessage="Title"
234
- // description="Title placeholder"
235
- // />
236
- // }
237
- // emptyClassName={styles.emptyTitle}
238
- // isEmpty={!hasTitle}
239
- }, hasTitle ? /*#__PURE__*/React__default["default"].createElement("div", {
240
- className: classNames__default["default"]([styles.titleContainer, _defineProperty__default["default"]({}, styles.leftBorder, hasDate)])
241
- }, /*#__PURE__*/React__default["default"].createElement(Heading__default["default"], Object.assign({
242
- className: styles.title
243
- }, title))) : null)) : null, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
244
- key: "sponsor",
245
- placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
246
- className: styles.sponsorPlaceholder
247
- }),
238
+ placeholder: "title",
248
239
  emptyLabel: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
249
- id: "Bv1Q38",
240
+ id: "2c1WFV",
250
241
  defaultMessage: [{
251
242
  "type": 0,
252
- "value": "Sponsor"
243
+ "value": "Title"
253
244
  }]
254
245
  }),
255
246
  emptyClassName: styles.emptyText,
256
- isEmpty: !hasSponsor
257
- }, hasSponsor ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
258
- className: classNames__default["default"]([styles.sponsor, _defineProperty__default["default"]({}, styles.bottomBorder, hasDescription)])
259
- }, sponsor)) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
247
+ isEmpty: !hasTitle
248
+ }, hasTitle ? /*#__PURE__*/React__default["default"].createElement("div", {
249
+ className: styles.titleContainer
250
+ }, /*#__PURE__*/React__default["default"].createElement(Heading__default["default"], Object.assign({
251
+ className: styles.title
252
+ }, title))) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
253
+ key: "date",
254
+ placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
255
+ className: styles.datePlaceholder
256
+ })
257
+ }, hasDate ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
258
+ className: classNames__default["default"]([styles.date, _defineProperty__default["default"]({}, styles.centerDate, !hasTitle)])
259
+ }, date)) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
260
+ key: "location",
261
+ placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
262
+ className: styles.locationPlaceholder
263
+ })
264
+ }, hasLocation ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
265
+ className: styles.location
266
+ }, location)) : null), /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
260
267
  key: "description",
261
268
  placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderText, {
262
269
  className: styles.descriptionPlaceholder
@@ -272,7 +279,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
272
279
  isEmpty: !hasDescription
273
280
  }, hasDescription ? /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({
274
281
  className: styles.description
275
- }, description)) : null)) : null, !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Layout.Spacer, {
282
+ }, description)) : null)))) : null, !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Layout.Spacer, {
276
283
  key: "spacer-cta-bottom"
277
284
  }) : null, !isPlaceholder && hasFooter ? /*#__PURE__*/React__default["default"].createElement("div", {
278
285
  key: "call-to-action",
@@ -286,7 +293,7 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
286
293
  return el !== null;
287
294
  });
288
295
  return /*#__PURE__*/React__default["default"].createElement("div", {
289
- className: classNames__default["default"]([styles.container, (_ref11 = {}, _defineProperty__default["default"](_ref11, className, className !== null), _defineProperty__default["default"](_ref11, styles.isPlaceholder, isPlaceholder), _ref11)]),
296
+ className: classNames__default["default"]([styles.container, (_ref9 = {}, _defineProperty__default["default"](_ref9, className, className !== null), _defineProperty__default["default"](_ref9, styles.isPlaceholder, isPlaceholder), _ref9)]),
290
297
  "data-screen-ready": true
291
298
  }, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
292
299
  width: width,
@@ -296,7 +303,8 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
296
303
  disabled: animationStarted || scrollingDisabled,
297
304
  onScrolledBottom: onScrolledBottom,
298
305
  onScrolledNotBottom: onScrolledNotBottom,
299
- verticalAlign: "top"
306
+ verticalAlign: "middle",
307
+ withShadow: true
300
308
  }, /*#__PURE__*/React__default["default"].createElement(Layout__default["default"], {
301
309
  className: styles.layout,
302
310
  style: !isPlaceholder ? {
@@ -304,20 +312,14 @@ var UrbaniaRecommendation = function UrbaniaRecommendation(_ref) {
304
312
  paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing / 2,
305
313
  paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + spacing / 2
306
314
  } : null
307
- }, /*#__PURE__*/React__default["default"].createElement(components.TransitionsStagger, {
308
- transitions: transitions,
309
- stagger: transitionStagger,
310
- disabled: transitionDisabled,
311
- playing: transitionPlaying
312
- }, items)))), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
313
- background: finalBackground,
315
+ }, items))), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
316
+ background: background,
314
317
  width: width,
315
318
  height: height,
316
319
  resolution: resolution,
317
320
  playing: backgroundPlaying,
318
321
  muted: muted,
319
322
  shouldLoad: mediaShouldLoad,
320
- backgroundClassName: finalAnimateBackground ? styles.background : null,
321
323
  mediaRef: mediaRef,
322
324
  withoutVideo: isPreview,
323
325
  className: styles.background
@@ -350,23 +352,58 @@ var definition = [{
350
352
  }),
351
353
  component: UrbaniaRecommendation$1,
352
354
  fields: [{
353
- name: 'category',
354
- type: 'heading-element',
355
+ name: 'sponsor',
356
+ type: 'text-element',
355
357
  label: reactIntl.defineMessage({
356
- id: "4grcMU",
358
+ id: "WY14Zu",
357
359
  defaultMessage: [{
358
360
  "type": 0,
359
- "value": "Category"
361
+ "value": "Sponsor"
360
362
  }]
361
363
  })
362
364
  }, {
363
- name: 'date',
364
- type: 'text-element',
365
+ name: 'visual',
366
+ type: 'fields',
367
+ isList: true,
365
368
  label: reactIntl.defineMessage({
366
- id: "yEG9zh",
369
+ id: "HwqzVR",
367
370
  defaultMessage: [{
368
371
  "type": 0,
369
- "value": "Date"
372
+ "value": "Visual"
373
+ }]
374
+ }),
375
+ fields: [{
376
+ name: 'image',
377
+ type: 'visual',
378
+ label: reactIntl.defineMessage({
379
+ id: "xT/onn",
380
+ defaultMessage: [{
381
+ "type": 0,
382
+ "value": "Image"
383
+ }]
384
+ })
385
+ }, {
386
+ name: 'visualLayout',
387
+ type: 'button-layout',
388
+ types: ['label-bottom', 'label-top'],
389
+ defaultValue: 'label-bottom',
390
+ isHorizontal: true,
391
+ label: reactIntl.defineMessage({
392
+ id: "OPxJx/",
393
+ defaultMessage: [{
394
+ "type": 0,
395
+ "value": "Layout"
396
+ }]
397
+ })
398
+ }]
399
+ }, {
400
+ name: 'category',
401
+ type: 'heading-element',
402
+ label: reactIntl.defineMessage({
403
+ id: "4grcMU",
404
+ defaultMessage: [{
405
+ "type": 0,
406
+ "value": "Category"
370
407
  }]
371
408
  })
372
409
  }, {
@@ -380,13 +417,23 @@ var definition = [{
380
417
  }]
381
418
  })
382
419
  }, {
383
- name: 'sponsor',
420
+ name: 'date',
384
421
  type: 'text-element',
385
422
  label: reactIntl.defineMessage({
386
- id: "WY14Zu",
423
+ id: "yEG9zh",
387
424
  defaultMessage: [{
388
425
  "type": 0,
389
- "value": "Sponsor"
426
+ "value": "Date"
427
+ }]
428
+ })
429
+ }, {
430
+ name: 'location',
431
+ type: 'text-element',
432
+ label: reactIntl.defineMessage({
433
+ id: "zLxBdl",
434
+ defaultMessage: [{
435
+ "type": 0,
436
+ "value": "Location"
390
437
  }]
391
438
  })
392
439
  }, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-urbania-recommendation",
3
- "version": "0.3.362",
3
+ "version": "0.3.369",
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.362",
53
- "@micromag/element-background": "^0.3.362",
54
- "@micromag/element-container": "^0.3.362",
55
- "@micromag/element-footer": "^0.3.362",
56
- "@micromag/element-header": "^0.3.362",
57
- "@micromag/element-heading": "^0.3.362",
58
- "@micromag/element-layout": "^0.3.362",
59
- "@micromag/element-scroll": "^0.3.362",
60
- "@micromag/element-text": "^0.3.362",
61
- "@micromag/transforms": "^0.3.362",
52
+ "@micromag/core": "^0.3.369",
53
+ "@micromag/element-background": "^0.3.369",
54
+ "@micromag/element-container": "^0.3.369",
55
+ "@micromag/element-footer": "^0.3.369",
56
+ "@micromag/element-header": "^0.3.369",
57
+ "@micromag/element-heading": "^0.3.369",
58
+ "@micromag/element-layout": "^0.3.369",
59
+ "@micromag/element-scroll": "^0.3.369",
60
+ "@micromag/element-text": "^0.3.369",
61
+ "@micromag/element-visual": "^0.3.369",
62
+ "@micromag/transforms": "^0.3.369",
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": "21619f51536d95517afabfdf316ef8fc345f6562"
72
+ "gitHead": "55706624c2879ead4acff84015ad51df2b7d293b"
72
73
  }