@mjhls/mjh-framework 1.0.290 → 1.0.291

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.290
2
+ # mjh-framework v. 1.0.291
3
3
 
4
4
  > Foundation Framework
5
5
 
@@ -135,7 +135,7 @@ var FigureComponent = function FigureComponent(props) {
135
135
  React__default.createElement(
136
136
  'style',
137
137
  { jsx: 'true' },
138
- '\n figure-caption {\n font-size: 90%;\n color: #6c757d;\n }\n /*Eliminates padding, centers the thumbnail */\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
138
+ '\n figure-caption {\n font-size: 90%;\n color: #6c757d;\n }\n /*Eliminates padding, centers the thumbnail */\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
139
139
  )
140
140
  );
141
141
  };
package/dist/cjs/index.js CHANGED
@@ -1981,30 +1981,35 @@ var EventsDeck = function EventsDeck(_ref) {
1981
1981
  };
1982
1982
 
1983
1983
  var renderRegisterButton = function renderRegisterButton(links, closeAfter, timezone) {
1984
- var now = momentTimezone$1().tz(timezone);
1985
- closeAfter = momentTimezone$1(closeAfter).tz(timezone);
1986
- var isRegister = momentTimezone$1(now).isBefore(closeAfter);
1987
- if (isRegister) {
1988
- return React__default.createElement(
1989
- 'a',
1990
- { href: links.registration.href || '#', target: '_blank' },
1991
- React__default.createElement(
1992
- Button,
1993
- { size: 'sm', className: 'event-registration-button' },
1994
- 'Register Now'
1995
- )
1996
- );
1997
- } else {
1998
- return React__default.createElement(
1999
- 'a',
2000
- { href: links.summary.href || '#', target: '_blank' },
2001
- React__default.createElement(
2002
- Button,
2003
- { size: 'sm', className: 'event-registration-button' },
2004
- 'Learn more'
2005
- )
2006
- );
2007
- }
1984
+ return React__default.createElement(
1985
+ 'a',
1986
+ { href: links.summary.href || '#', target: '_blank' },
1987
+ React__default.createElement(
1988
+ Button,
1989
+ { size: 'sm', className: 'event-registration-button' },
1990
+ 'Register Now'
1991
+ )
1992
+ );
1993
+ // const now = moment().tz(timezone)
1994
+ // closeAfter = moment(closeAfter).tz(timezone)
1995
+ // const isRegister = moment(now).isBefore(closeAfter)
1996
+ // if (isRegister) {
1997
+ // return (
1998
+ // <a href={links.registration.href || '#'} target='_blank'>
1999
+ // <Button size='sm' className='event-registration-button'>
2000
+ // Register Now
2001
+ // </Button>
2002
+ // </a>
2003
+ // )
2004
+ // } else {
2005
+ // return (
2006
+ // <a href={links.summary.href || '#'} target='_blank'>
2007
+ // <Button size='sm' className='event-registration-button'>
2008
+ // Learn more
2009
+ // </Button>
2010
+ // </a>
2011
+ // )
2012
+ // }
2008
2013
  };
2009
2014
 
2010
2015
  var cardLoader = function cardLoader() {
@@ -2015,12 +2020,14 @@ var EventsDeck = function EventsDeck(_ref) {
2015
2020
  data && data.map(function (row, index) {
2016
2021
  var description = row.description,
2017
2022
  start = row.start,
2023
+ end = row.end,
2018
2024
  venues = row.venues,
2019
2025
  _links = row._links,
2020
2026
  virtual = row.virtual,
2021
- timezone = row.timezone,
2022
- closeAfter = row.closeAfter;
2027
+ timezone = row.timezone;
2023
2028
 
2029
+ var now = momentTimezone$1().tz(timezone);
2030
+ var isRegister = momentTimezone$1(now).isBefore(end);
2024
2031
  var discussionTopic = row.customFields.reduce(function (result, item) {
2025
2032
  if (item.name === 'Discussion Topic' && item.value) {
2026
2033
  result = item.value[0];
@@ -2088,7 +2095,7 @@ var EventsDeck = function EventsDeck(_ref) {
2088
2095
  React__default.createElement(
2089
2096
  Col,
2090
2097
  { xs: 12, sm: 3 },
2091
- renderRegisterButton(_links, closeAfter, timezone)
2098
+ isRegister && renderRegisterButton(_links)
2092
2099
  )
2093
2100
  ),
2094
2101
  description && React__default.createElement(
@@ -2911,28 +2918,35 @@ var ADFloatingFooter = function ADFloatingFooter(_ref) {
2911
2918
  networkID = floatingAd.networkID,
2912
2919
  sizes = floatingAd.sizes;
2913
2920
 
2914
- var adt = _extends$2._extends({}, targeting, { pos: position });
2915
2921
 
2916
- var _useState = React.useState(adt),
2922
+ var adTargeting = {
2923
+ content_placement: targeting.content_placement,
2924
+ tags: targeting.tags,
2925
+ document_group: targeting.document_group,
2926
+ document_url: targeting.document_url,
2927
+ pos: position
2928
+ };
2929
+
2930
+ var _useState = React.useState(false),
2917
2931
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
2918
- adTargeting = _useState2[0],
2919
- setTargeting = _useState2[1];
2932
+ showAd = _useState2[0],
2933
+ setShowAd = _useState2[1];
2920
2934
 
2921
- var _useState3 = React.useState(false),
2935
+ var _useState3 = React.useState(true),
2922
2936
  _useState4 = slicedToArray._slicedToArray(_useState3, 2),
2923
- showAd = _useState4[0],
2924
- setShowAd = _useState4[1];
2937
+ widthFlag = _useState4[0],
2938
+ setWidthFlag = _useState4[1];
2925
2939
 
2926
2940
  React.useEffect(function () {
2927
- if (window && window.innerWidth >= minScreenWidth) {
2928
- setShowAd(true);
2941
+ if (window && window.innerWidth < minScreenWidth) {
2942
+ setWidthFlag(false);
2929
2943
  }
2930
2944
  }, [minScreenWidth]);
2931
2945
 
2932
2946
  return React__default.createElement(
2933
2947
  React__default.Fragment,
2934
2948
  null,
2935
- showAd && React__default.createElement(
2949
+ showAd && widthFlag && React__default.createElement(
2936
2950
  'div',
2937
2951
  { className: 'floating-ad-wrapper ' + title },
2938
2952
  React__default.createElement(AdSlot.DFPAdSlot, { className: className, slotId: slotId, networkID: networkID, sizes: sizes, adUnit: adUnit, targeting: adTargeting, refreshFlag: false, setShowAd: setShowAd }),
@@ -2967,29 +2981,30 @@ var ADGutter = function ADGutter(_ref) {
2967
2981
  sizes = gutterAd.sizes;
2968
2982
 
2969
2983
 
2970
- var adt = _extends$2._extends({}, targeting, { pos: position });
2984
+ var adTargeting = {
2985
+ content_placement: targeting.content_placement,
2986
+ tags: targeting.tags,
2987
+ document_group: targeting.document_group,
2988
+ document_url: targeting.document_url,
2989
+ pos: position
2990
+ };
2971
2991
 
2972
- var _useState = React.useState(adt),
2992
+ var _useState = React.useState(false),
2973
2993
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
2974
- adTargeting = _useState2[0],
2975
- setTargeting = _useState2[1];
2976
-
2977
- var _useState3 = React.useState(false),
2978
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
2979
- showAd = _useState4[0],
2980
- setShowAd = _useState4[1];
2994
+ widthFlag = _useState2[0],
2995
+ setWidthFlag = _useState2[1];
2981
2996
 
2982
2997
  React.useEffect(function () {
2983
2998
  if (window && window.innerWidth >= minScreenWidth) {
2984
- setShowAd(true);
2999
+ setWidthFlag(true);
2985
3000
  }
2986
3001
  }, [minScreenWidth]);
2987
3002
 
2988
- if (showAd) {
3003
+ if (widthFlag) {
2989
3004
  return React__default.createElement(
2990
3005
  React__default.Fragment,
2991
3006
  null,
2992
- showAd && React__default.createElement(
3007
+ widthFlag && React__default.createElement(
2993
3008
  'div',
2994
3009
  { className: 'gutter-ad-wrapper ' + title },
2995
3010
  React__default.createElement(
@@ -3023,28 +3038,28 @@ var ADWelcome = function ADWelcome(_ref) {
3023
3038
  networkID = welcomeAd.networkID,
3024
3039
  sizes = welcomeAd.sizes;
3025
3040
 
3026
- var adt = _extends$2._extends({}, targeting, { pos: position });
3027
-
3028
- var _useState = React.useState(adt),
3029
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
3030
- adTargeting = _useState2[0],
3031
- setTargeting = _useState2[1];
3032
-
3041
+ var adTargeting = {
3042
+ content_placement: targeting.content_placement,
3043
+ tags: targeting.tags,
3044
+ document_group: targeting.document_group,
3045
+ document_url: targeting.document_url,
3046
+ pos: position
3047
+ };
3033
3048
  var adRef = React.useRef(null);
3034
3049
 
3035
- var _useState3 = React.useState(),
3036
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
3037
- showAd = _useState4[0],
3038
- setShowAd = _useState4[1];
3050
+ var _useState = React.useState(),
3051
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
3052
+ showAd = _useState2[0],
3053
+ setShowAd = _useState2[1];
3039
3054
 
3040
3055
  var calculateTimeLeft = function calculateTimeLeft(timeLeft) {
3041
3056
  return --timeLeft;
3042
3057
  };
3043
3058
 
3044
- var _useState5 = React.useState(calculateTimeLeft(counter + 1)),
3045
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
3046
- timeLeft = _useState6[0],
3047
- setTimeLeft = _useState6[1];
3059
+ var _useState3 = React.useState(calculateTimeLeft(counter + 1)),
3060
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
3061
+ timeLeft = _useState4[0],
3062
+ setTimeLeft = _useState4[1];
3048
3063
 
3049
3064
  React.useEffect(function () {
3050
3065
  if (timeLeft > 0) {
@@ -8164,16 +8179,18 @@ var Video = function Video(_ref) {
8164
8179
  } else if (experienceID) {
8165
8180
  return React__default.createElement(
8166
8181
  'div',
8167
- { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto', minHeight: '380px' } },
8168
- React__default.createElement('iframe', {
8169
- src: 'https://players.brightcove.net/' + accountIDs.brightcove.accountId + '/experience_' + experienceID + '/index.html',
8170
- allowFullScreen: 'true',
8171
- webkitallowfullscreen: 'true',
8172
- mozallowfullscreen: 'true',
8173
- frameBorder: 'none',
8174
- scrolling: 'no',
8175
- style: { border: 'none', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
8176
- })
8182
+ { className: 'brightcove-playlist', style: { position: 'relative', display: 'block', margin: '0px auto' } },
8183
+ React__default.createElement(
8184
+ 'div',
8185
+ { style: { paddingTop: '56.25%' } },
8186
+ React__default.createElement('iframe', {
8187
+ src: 'https://players.brightcove.net/' + accountIDs.brightcove.accountId + '/experience_' + experienceID + '/index.html',
8188
+ allowFullScreen: 'true',
8189
+ webkitallowfullscreen: 'true',
8190
+ mozallowfullscreen: 'true',
8191
+ style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
8192
+ })
8193
+ )
8177
8194
  );
8178
8195
  }
8179
8196
  return null;
@@ -13507,7 +13524,7 @@ var NativeAd = function NativeAd(props) {
13507
13524
  };
13508
13525
 
13509
13526
  var Figure = dynamic(function () {
13510
- return new Promise(function (resolve) { resolve(require('./Figure-a7cd5161.js')); });
13527
+ return new Promise(function (resolve) { resolve(require('./Figure-0681dd7d.js')); });
13511
13528
  }, { ssr: false });
13512
13529
 
13513
13530
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
@@ -14203,40 +14220,59 @@ var ArticleDetailDropdown = function ArticleDetailDropdown(props) {
14203
14220
  var HighlightenVideo = function HighlightenVideo(_ref) {
14204
14221
  var highlightVideoOptions = _ref.highlightVideoOptions;
14205
14222
  var accountId = highlightVideoOptions.accountId,
14206
- experienceId = highlightVideoOptions.experienceId;
14223
+ experienceId = highlightVideoOptions.experienceId,
14224
+ playerId = highlightVideoOptions.playerId,
14225
+ playlistId = highlightVideoOptions.playlistId,
14226
+ videoId = highlightVideoOptions.videoId;
14207
14227
 
14208
- return React__default.createElement(
14209
- React__default.Fragment,
14210
- null,
14211
- accountId && experienceId && React__default.createElement(
14212
- 'div',
14213
- { className: 'brightcove-single-player' },
14214
- React__default.createElement(
14215
- 'p',
14216
- { style: { width: '100%' } },
14217
- 'Highlighted Videos'
14218
- ),
14228
+ if (accountId && experienceId) {
14229
+ return React__default.createElement(
14230
+ React__default.Fragment,
14231
+ null,
14219
14232
  React__default.createElement(
14220
14233
  'div',
14221
- { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto' } },
14234
+ { className: 'brightcove-experience-player' },
14235
+ React__default.createElement(
14236
+ 'p',
14237
+ { style: { width: '100%' } },
14238
+ 'Highlighted Videos'
14239
+ ),
14222
14240
  React__default.createElement(
14223
14241
  'div',
14224
- { style: { paddingTop: '56.25%' } },
14225
- React__default.createElement('iframe', {
14226
- src: 'https://players.brightcove.net/' + accountId + '/' + experienceId + '/share.html',
14227
- allowFullScreen: true,
14228
- allow: 'encrypted-media',
14229
- style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
14230
- })
14242
+ { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto' } },
14243
+ React__default.createElement(
14244
+ 'div',
14245
+ { style: { paddingTop: '56.25%' } },
14246
+ React__default.createElement('iframe', {
14247
+ src: 'https://players.brightcove.net/' + accountId + '/' + experienceId + '/share.html',
14248
+ allowFullScreen: true,
14249
+ allow: 'encrypted-media',
14250
+ style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
14251
+ })
14252
+ )
14231
14253
  )
14254
+ ),
14255
+ React__default.createElement(
14256
+ 'style',
14257
+ { jsx: 'true' },
14258
+ '\n @media (min-width: 320px) {\n .playlist-player {\n height: 290px;\n }\n }\n @media (min-width: 360px) {\n .playlist-player {\n height: 340px;\n }\n }\n @media (min-width: 480px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 560px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 768px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 968px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 992px) {\n .playlist-player {\n height: 350px;\n }\n }\n @media (min-width: 1192px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 1400px) {\n .playlist-player {\n height: 400px;\n }\n }\n .brightcove-experience-player {\n margin-bottom: 10px;\n width: 100%;\n }\n .brightcove-experience-player p {\n padding: 10px;\n margin: 0;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n font-size: 1.5em;\n font-weight: 400;\n margin-bottom: 10px;\n }\n '
14232
14259
  )
14233
- ),
14234
- React__default.createElement(
14235
- 'style',
14236
- { jsx: 'true' },
14237
- '\n @media (min-width: 320px) {\n .playlist-player {\n height: 290px;\n }\n }\n @media (min-width: 360px) {\n .playlist-player {\n height: 340px;\n }\n }\n @media (min-width: 480px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 560px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 768px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 968px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 992px) {\n .playlist-player {\n height: 350px;\n }\n }\n @media (min-width: 1192px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 1400px) {\n .playlist-player {\n height: 400px;\n }\n }\n .brightcove-single-player {\n margin-bottom: 10px;\n width: 100%;\n }\n .brightcove-single-player p {\n padding: 10px;\n margin: 0;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n font-size: 1.5em;\n font-weight: 400;\n margin-bottom: 10px;\n }\n '
14238
- )
14239
- );
14260
+ );
14261
+ } else if (accountId && playerId && playlistId) {
14262
+ return React__default.createElement(
14263
+ 'div',
14264
+ { className: 'brightcove-playlist-player' },
14265
+ React__default.createElement(ReactPlayerLoader, { accountId: accountId, playerId: playerId, playlistId: playlistId, attrs: { className: 'brightcove' } })
14266
+ );
14267
+ } else if (accountId && playerId && videoId) {
14268
+ return React__default.createElement(
14269
+ 'div',
14270
+ { className: 'brightcove-video-player' },
14271
+ React__default.createElement(ReactPlayerLoader, { accountId: accountId, playerId: playerId, videoId: videoId, attrs: { className: 'brightcove' } })
14272
+ );
14273
+ } else {
14274
+ return null;
14275
+ }
14240
14276
  };
14241
14277
 
14242
14278
  var fbsHero = function fbsHero(props) {
@@ -130,7 +130,7 @@ var FigureComponent = function FigureComponent(props) {
130
130
  React__default.createElement(
131
131
  'style',
132
132
  { jsx: 'true' },
133
- '\n figure-caption {\n font-size: 90%;\n color: #6c757d;\n }\n /*Eliminates padding, centers the thumbnail */\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
133
+ '\n figure-caption {\n font-size: 90%;\n color: #6c757d;\n }\n /*Eliminates padding, centers the thumbnail */\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
134
134
  )
135
135
  );
136
136
  };
package/dist/esm/index.js CHANGED
@@ -1979,30 +1979,35 @@ var EventsDeck = function EventsDeck(_ref) {
1979
1979
  };
1980
1980
 
1981
1981
  var renderRegisterButton = function renderRegisterButton(links, closeAfter, timezone) {
1982
- var now = momentTimezone$1().tz(timezone);
1983
- closeAfter = momentTimezone$1(closeAfter).tz(timezone);
1984
- var isRegister = momentTimezone$1(now).isBefore(closeAfter);
1985
- if (isRegister) {
1986
- return React__default.createElement(
1987
- 'a',
1988
- { href: links.registration.href || '#', target: '_blank' },
1989
- React__default.createElement(
1990
- Button,
1991
- { size: 'sm', className: 'event-registration-button' },
1992
- 'Register Now'
1993
- )
1994
- );
1995
- } else {
1996
- return React__default.createElement(
1997
- 'a',
1998
- { href: links.summary.href || '#', target: '_blank' },
1999
- React__default.createElement(
2000
- Button,
2001
- { size: 'sm', className: 'event-registration-button' },
2002
- 'Learn more'
2003
- )
2004
- );
2005
- }
1982
+ return React__default.createElement(
1983
+ 'a',
1984
+ { href: links.summary.href || '#', target: '_blank' },
1985
+ React__default.createElement(
1986
+ Button,
1987
+ { size: 'sm', className: 'event-registration-button' },
1988
+ 'Register Now'
1989
+ )
1990
+ );
1991
+ // const now = moment().tz(timezone)
1992
+ // closeAfter = moment(closeAfter).tz(timezone)
1993
+ // const isRegister = moment(now).isBefore(closeAfter)
1994
+ // if (isRegister) {
1995
+ // return (
1996
+ // <a href={links.registration.href || '#'} target='_blank'>
1997
+ // <Button size='sm' className='event-registration-button'>
1998
+ // Register Now
1999
+ // </Button>
2000
+ // </a>
2001
+ // )
2002
+ // } else {
2003
+ // return (
2004
+ // <a href={links.summary.href || '#'} target='_blank'>
2005
+ // <Button size='sm' className='event-registration-button'>
2006
+ // Learn more
2007
+ // </Button>
2008
+ // </a>
2009
+ // )
2010
+ // }
2006
2011
  };
2007
2012
 
2008
2013
  var cardLoader = function cardLoader() {
@@ -2013,12 +2018,14 @@ var EventsDeck = function EventsDeck(_ref) {
2013
2018
  data && data.map(function (row, index) {
2014
2019
  var description = row.description,
2015
2020
  start = row.start,
2021
+ end = row.end,
2016
2022
  venues = row.venues,
2017
2023
  _links = row._links,
2018
2024
  virtual = row.virtual,
2019
- timezone = row.timezone,
2020
- closeAfter = row.closeAfter;
2025
+ timezone = row.timezone;
2021
2026
 
2027
+ var now = momentTimezone$1().tz(timezone);
2028
+ var isRegister = momentTimezone$1(now).isBefore(end);
2022
2029
  var discussionTopic = row.customFields.reduce(function (result, item) {
2023
2030
  if (item.name === 'Discussion Topic' && item.value) {
2024
2031
  result = item.value[0];
@@ -2086,7 +2093,7 @@ var EventsDeck = function EventsDeck(_ref) {
2086
2093
  React__default.createElement(
2087
2094
  Col,
2088
2095
  { xs: 12, sm: 3 },
2089
- renderRegisterButton(_links, closeAfter, timezone)
2096
+ isRegister && renderRegisterButton(_links)
2090
2097
  )
2091
2098
  ),
2092
2099
  description && React__default.createElement(
@@ -2909,28 +2916,35 @@ var ADFloatingFooter = function ADFloatingFooter(_ref) {
2909
2916
  networkID = floatingAd.networkID,
2910
2917
  sizes = floatingAd.sizes;
2911
2918
 
2912
- var adt = _extends$2({}, targeting, { pos: position });
2913
2919
 
2914
- var _useState = useState(adt),
2920
+ var adTargeting = {
2921
+ content_placement: targeting.content_placement,
2922
+ tags: targeting.tags,
2923
+ document_group: targeting.document_group,
2924
+ document_url: targeting.document_url,
2925
+ pos: position
2926
+ };
2927
+
2928
+ var _useState = useState(false),
2915
2929
  _useState2 = _slicedToArray(_useState, 2),
2916
- adTargeting = _useState2[0],
2917
- setTargeting = _useState2[1];
2930
+ showAd = _useState2[0],
2931
+ setShowAd = _useState2[1];
2918
2932
 
2919
- var _useState3 = useState(false),
2933
+ var _useState3 = useState(true),
2920
2934
  _useState4 = _slicedToArray(_useState3, 2),
2921
- showAd = _useState4[0],
2922
- setShowAd = _useState4[1];
2935
+ widthFlag = _useState4[0],
2936
+ setWidthFlag = _useState4[1];
2923
2937
 
2924
2938
  useEffect(function () {
2925
- if (window && window.innerWidth >= minScreenWidth) {
2926
- setShowAd(true);
2939
+ if (window && window.innerWidth < minScreenWidth) {
2940
+ setWidthFlag(false);
2927
2941
  }
2928
2942
  }, [minScreenWidth]);
2929
2943
 
2930
2944
  return React__default.createElement(
2931
2945
  React__default.Fragment,
2932
2946
  null,
2933
- showAd && React__default.createElement(
2947
+ showAd && widthFlag && React__default.createElement(
2934
2948
  'div',
2935
2949
  { className: 'floating-ad-wrapper ' + title },
2936
2950
  React__default.createElement(DFPAdSlot, { className: className, slotId: slotId, networkID: networkID, sizes: sizes, adUnit: adUnit, targeting: adTargeting, refreshFlag: false, setShowAd: setShowAd }),
@@ -2965,29 +2979,30 @@ var ADGutter = function ADGutter(_ref) {
2965
2979
  sizes = gutterAd.sizes;
2966
2980
 
2967
2981
 
2968
- var adt = _extends$2({}, targeting, { pos: position });
2982
+ var adTargeting = {
2983
+ content_placement: targeting.content_placement,
2984
+ tags: targeting.tags,
2985
+ document_group: targeting.document_group,
2986
+ document_url: targeting.document_url,
2987
+ pos: position
2988
+ };
2969
2989
 
2970
- var _useState = useState(adt),
2990
+ var _useState = useState(false),
2971
2991
  _useState2 = _slicedToArray(_useState, 2),
2972
- adTargeting = _useState2[0],
2973
- setTargeting = _useState2[1];
2974
-
2975
- var _useState3 = useState(false),
2976
- _useState4 = _slicedToArray(_useState3, 2),
2977
- showAd = _useState4[0],
2978
- setShowAd = _useState4[1];
2992
+ widthFlag = _useState2[0],
2993
+ setWidthFlag = _useState2[1];
2979
2994
 
2980
2995
  useEffect(function () {
2981
2996
  if (window && window.innerWidth >= minScreenWidth) {
2982
- setShowAd(true);
2997
+ setWidthFlag(true);
2983
2998
  }
2984
2999
  }, [minScreenWidth]);
2985
3000
 
2986
- if (showAd) {
3001
+ if (widthFlag) {
2987
3002
  return React__default.createElement(
2988
3003
  React__default.Fragment,
2989
3004
  null,
2990
- showAd && React__default.createElement(
3005
+ widthFlag && React__default.createElement(
2991
3006
  'div',
2992
3007
  { className: 'gutter-ad-wrapper ' + title },
2993
3008
  React__default.createElement(
@@ -3021,28 +3036,28 @@ var ADWelcome = function ADWelcome(_ref) {
3021
3036
  networkID = welcomeAd.networkID,
3022
3037
  sizes = welcomeAd.sizes;
3023
3038
 
3024
- var adt = _extends$2({}, targeting, { pos: position });
3025
-
3026
- var _useState = useState(adt),
3027
- _useState2 = _slicedToArray(_useState, 2),
3028
- adTargeting = _useState2[0],
3029
- setTargeting = _useState2[1];
3030
-
3039
+ var adTargeting = {
3040
+ content_placement: targeting.content_placement,
3041
+ tags: targeting.tags,
3042
+ document_group: targeting.document_group,
3043
+ document_url: targeting.document_url,
3044
+ pos: position
3045
+ };
3031
3046
  var adRef = useRef(null);
3032
3047
 
3033
- var _useState3 = useState(),
3034
- _useState4 = _slicedToArray(_useState3, 2),
3035
- showAd = _useState4[0],
3036
- setShowAd = _useState4[1];
3048
+ var _useState = useState(),
3049
+ _useState2 = _slicedToArray(_useState, 2),
3050
+ showAd = _useState2[0],
3051
+ setShowAd = _useState2[1];
3037
3052
 
3038
3053
  var calculateTimeLeft = function calculateTimeLeft(timeLeft) {
3039
3054
  return --timeLeft;
3040
3055
  };
3041
3056
 
3042
- var _useState5 = useState(calculateTimeLeft(counter + 1)),
3043
- _useState6 = _slicedToArray(_useState5, 2),
3044
- timeLeft = _useState6[0],
3045
- setTimeLeft = _useState6[1];
3057
+ var _useState3 = useState(calculateTimeLeft(counter + 1)),
3058
+ _useState4 = _slicedToArray(_useState3, 2),
3059
+ timeLeft = _useState4[0],
3060
+ setTimeLeft = _useState4[1];
3046
3061
 
3047
3062
  useEffect(function () {
3048
3063
  if (timeLeft > 0) {
@@ -8162,16 +8177,18 @@ var Video = function Video(_ref) {
8162
8177
  } else if (experienceID) {
8163
8178
  return React__default.createElement(
8164
8179
  'div',
8165
- { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto', minHeight: '380px' } },
8166
- React__default.createElement('iframe', {
8167
- src: 'https://players.brightcove.net/' + accountIDs.brightcove.accountId + '/experience_' + experienceID + '/index.html',
8168
- allowFullScreen: 'true',
8169
- webkitallowfullscreen: 'true',
8170
- mozallowfullscreen: 'true',
8171
- frameBorder: 'none',
8172
- scrolling: 'no',
8173
- style: { border: 'none', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
8174
- })
8180
+ { className: 'brightcove-playlist', style: { position: 'relative', display: 'block', margin: '0px auto' } },
8181
+ React__default.createElement(
8182
+ 'div',
8183
+ { style: { paddingTop: '56.25%' } },
8184
+ React__default.createElement('iframe', {
8185
+ src: 'https://players.brightcove.net/' + accountIDs.brightcove.accountId + '/experience_' + experienceID + '/index.html',
8186
+ allowFullScreen: 'true',
8187
+ webkitallowfullscreen: 'true',
8188
+ mozallowfullscreen: 'true',
8189
+ style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
8190
+ })
8191
+ )
8175
8192
  );
8176
8193
  }
8177
8194
  return null;
@@ -13505,7 +13522,7 @@ var NativeAd = function NativeAd(props) {
13505
13522
  };
13506
13523
 
13507
13524
  var Figure = dynamic(function () {
13508
- return import('./Figure-d6e22818.js');
13525
+ return import('./Figure-cff72982.js');
13509
13526
  }, { ssr: false });
13510
13527
 
13511
13528
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
@@ -14201,40 +14218,59 @@ var ArticleDetailDropdown = function ArticleDetailDropdown(props) {
14201
14218
  var HighlightenVideo = function HighlightenVideo(_ref) {
14202
14219
  var highlightVideoOptions = _ref.highlightVideoOptions;
14203
14220
  var accountId = highlightVideoOptions.accountId,
14204
- experienceId = highlightVideoOptions.experienceId;
14221
+ experienceId = highlightVideoOptions.experienceId,
14222
+ playerId = highlightVideoOptions.playerId,
14223
+ playlistId = highlightVideoOptions.playlistId,
14224
+ videoId = highlightVideoOptions.videoId;
14205
14225
 
14206
- return React__default.createElement(
14207
- React__default.Fragment,
14208
- null,
14209
- accountId && experienceId && React__default.createElement(
14210
- 'div',
14211
- { className: 'brightcove-single-player' },
14212
- React__default.createElement(
14213
- 'p',
14214
- { style: { width: '100%' } },
14215
- 'Highlighted Videos'
14216
- ),
14226
+ if (accountId && experienceId) {
14227
+ return React__default.createElement(
14228
+ React__default.Fragment,
14229
+ null,
14217
14230
  React__default.createElement(
14218
14231
  'div',
14219
- { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto' } },
14232
+ { className: 'brightcove-experience-player' },
14233
+ React__default.createElement(
14234
+ 'p',
14235
+ { style: { width: '100%' } },
14236
+ 'Highlighted Videos'
14237
+ ),
14220
14238
  React__default.createElement(
14221
14239
  'div',
14222
- { style: { paddingTop: '56.25%' } },
14223
- React__default.createElement('iframe', {
14224
- src: 'https://players.brightcove.net/' + accountId + '/' + experienceId + '/share.html',
14225
- allowFullScreen: true,
14226
- allow: 'encrypted-media',
14227
- style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
14228
- })
14240
+ { className: 'playlist-player', style: { position: 'relative', display: 'block', margin: '0px auto' } },
14241
+ React__default.createElement(
14242
+ 'div',
14243
+ { style: { paddingTop: '56.25%' } },
14244
+ React__default.createElement('iframe', {
14245
+ src: 'https://players.brightcove.net/' + accountId + '/' + experienceId + '/share.html',
14246
+ allowFullScreen: true,
14247
+ allow: 'encrypted-media',
14248
+ style: { border: 'none', position: 'absolute', top: '0px', right: '0px', bottom: '0px', left: '0px', width: '100%', height: '100%' }
14249
+ })
14250
+ )
14229
14251
  )
14252
+ ),
14253
+ React__default.createElement(
14254
+ 'style',
14255
+ { jsx: 'true' },
14256
+ '\n @media (min-width: 320px) {\n .playlist-player {\n height: 290px;\n }\n }\n @media (min-width: 360px) {\n .playlist-player {\n height: 340px;\n }\n }\n @media (min-width: 480px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 560px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 768px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 968px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 992px) {\n .playlist-player {\n height: 350px;\n }\n }\n @media (min-width: 1192px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 1400px) {\n .playlist-player {\n height: 400px;\n }\n }\n .brightcove-experience-player {\n margin-bottom: 10px;\n width: 100%;\n }\n .brightcove-experience-player p {\n padding: 10px;\n margin: 0;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n font-size: 1.5em;\n font-weight: 400;\n margin-bottom: 10px;\n }\n '
14230
14257
  )
14231
- ),
14232
- React__default.createElement(
14233
- 'style',
14234
- { jsx: 'true' },
14235
- '\n @media (min-width: 320px) {\n .playlist-player {\n height: 290px;\n }\n }\n @media (min-width: 360px) {\n .playlist-player {\n height: 340px;\n }\n }\n @media (min-width: 480px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 560px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 768px) {\n .playlist-player {\n height: 400px;\n }\n }\n @media (min-width: 968px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 992px) {\n .playlist-player {\n height: 350px;\n }\n }\n @media (min-width: 1192px) {\n .playlist-player {\n height: 300px;\n }\n }\n @media (min-width: 1400px) {\n .playlist-player {\n height: 400px;\n }\n }\n .brightcove-single-player {\n margin-bottom: 10px;\n width: 100%;\n }\n .brightcove-single-player p {\n padding: 10px;\n margin: 0;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n font-size: 1.5em;\n font-weight: 400;\n margin-bottom: 10px;\n }\n '
14236
- )
14237
- );
14258
+ );
14259
+ } else if (accountId && playerId && playlistId) {
14260
+ return React__default.createElement(
14261
+ 'div',
14262
+ { className: 'brightcove-playlist-player' },
14263
+ React__default.createElement(ReactPlayerLoader, { accountId: accountId, playerId: playerId, playlistId: playlistId, attrs: { className: 'brightcove' } })
14264
+ );
14265
+ } else if (accountId && playerId && videoId) {
14266
+ return React__default.createElement(
14267
+ 'div',
14268
+ { className: 'brightcove-video-player' },
14269
+ React__default.createElement(ReactPlayerLoader, { accountId: accountId, playerId: playerId, videoId: videoId, attrs: { className: 'brightcove' } })
14270
+ );
14271
+ } else {
14272
+ return null;
14273
+ }
14238
14274
  };
14239
14275
 
14240
14276
  var fbsHero = function fbsHero(props) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.290",
3
+ "version": "1.0.291",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",