@mjhls/mjh-framework 1.0.604-hamMagazine-v8 → 1.0.604

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +172 -172
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/ADFloatingFooter.js +3 -3
  4. package/dist/cjs/AccordionPanel.js +1 -1
  5. package/dist/cjs/ArticleQueue.js +3 -3
  6. package/dist/cjs/Auth.js +5 -5
  7. package/dist/cjs/{BlockContent-c2168db0.js → BlockContent-77f81ffc.js} +1 -1
  8. package/dist/cjs/ConferenceArticleCard.js +16 -16
  9. package/dist/cjs/DeckContent.js +9 -9
  10. package/dist/cjs/DeckQueue.js +1 -1
  11. package/dist/cjs/EventsDeck.js +17 -17
  12. package/dist/cjs/ExternalResources.js +3 -3
  13. package/dist/cjs/Feature.js +1 -1
  14. package/dist/cjs/ForbesHero.js +1 -1
  15. package/dist/cjs/GridContent.js +2 -2
  16. package/dist/cjs/GridHero.js +1 -1
  17. package/dist/cjs/GroupDeck.js +5 -5
  18. package/dist/cjs/HamMagazine.js +35 -221
  19. package/dist/cjs/Hero.js +1 -1
  20. package/dist/cjs/HorizontalHero.js +1 -1
  21. package/dist/cjs/IssueContentDeck.js +1 -1
  22. package/dist/cjs/IssueDeck.js +1 -1
  23. package/dist/cjs/IssueLanding.js +31 -31
  24. package/dist/cjs/KMTracker.js +15 -15
  25. package/dist/cjs/MasterDeck.js +10 -10
  26. package/dist/cjs/NavMagazine.js +14 -13
  27. package/dist/cjs/NavNative.js +12 -11
  28. package/dist/cjs/OncliveHero.js +1 -1
  29. package/dist/cjs/OncliveLargeHero.js +1 -1
  30. package/dist/cjs/PartnerDetailListing.js +6 -6
  31. package/dist/cjs/PublicationDeck.js +2 -2
  32. package/dist/cjs/PublicationLanding.js +33 -33
  33. package/dist/cjs/QueueDeckExpanded.js +2 -2
  34. package/dist/cjs/RecentNews.js +1 -1
  35. package/dist/cjs/RelatedContent.js +29 -29
  36. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  37. package/dist/cjs/SideFooter.js +2 -2
  38. package/dist/cjs/{index.esm-d1259b34.js → SocialNavFooter-9a07520f.js} +0 -8
  39. package/dist/cjs/TaxonomyCard.js +2 -2
  40. package/dist/cjs/TemplateNormal.js +3 -2
  41. package/dist/cjs/ThumbnailCard.js +1 -1
  42. package/dist/cjs/Ustream.js +1 -1
  43. package/dist/cjs/VerticalHero.js +1 -1
  44. package/dist/cjs/VideoSeriesListing.js +2 -2
  45. package/dist/cjs/View.js +29 -29
  46. package/dist/cjs/YahooHero.js +1 -1
  47. package/dist/cjs/YoutubeGroup.js +5 -5
  48. package/dist/cjs/getSerializers.js +3 -3
  49. package/dist/cjs/{getTargeting-5a0b8ee4.js → getTargeting-5db63100.js} +11 -11
  50. package/dist/cjs/getTargeting.js +1 -1
  51. package/dist/cjs/{index-39beccb3.js → index-be0c82be.js} +1 -2
  52. package/dist/cjs/{index-af999dce.js → index-f745a50a.js} +436 -448
  53. package/dist/cjs/index.esm-0e5c6a9e.js +11 -0
  54. package/dist/cjs/{index.esm-876ca9ff.js → index.esm-fbd1f7e9.js} +5 -0
  55. package/dist/cjs/index.js +13 -7
  56. package/dist/cjs/{lodash-7fd85bcf.js → lodash-fc2922d0.js} +22 -71
  57. package/dist/cjs/urlFor.js +2 -2
  58. package/dist/esm/ADFloatingFooter.js +3 -3
  59. package/dist/esm/AccordionPanel.js +1 -1
  60. package/dist/esm/ArticleQueue.js +3 -3
  61. package/dist/esm/Auth.js +2 -2
  62. package/dist/esm/{BlockContent-c409aca5.js → BlockContent-e9b4ddcf.js} +1 -1
  63. package/dist/esm/ConferenceArticleCard.js +16 -16
  64. package/dist/esm/DeckContent.js +9 -9
  65. package/dist/esm/DeckQueue.js +1 -1
  66. package/dist/esm/EventsDeck.js +17 -17
  67. package/dist/esm/ExternalResources.js +3 -3
  68. package/dist/esm/Feature.js +1 -1
  69. package/dist/esm/ForbesHero.js +1 -1
  70. package/dist/esm/GridContent.js +2 -2
  71. package/dist/esm/GridHero.js +1 -1
  72. package/dist/esm/GroupDeck.js +5 -5
  73. package/dist/esm/HamMagazine.js +34 -220
  74. package/dist/esm/Hero.js +1 -1
  75. package/dist/esm/HorizontalHero.js +1 -1
  76. package/dist/esm/IssueContentDeck.js +1 -1
  77. package/dist/esm/IssueDeck.js +1 -1
  78. package/dist/esm/IssueLanding.js +31 -31
  79. package/dist/esm/KMTracker.js +15 -15
  80. package/dist/esm/MasterDeck.js +10 -10
  81. package/dist/esm/NavMagazine.js +13 -12
  82. package/dist/esm/NavNative.js +11 -10
  83. package/dist/esm/OncliveHero.js +1 -1
  84. package/dist/esm/OncliveLargeHero.js +1 -1
  85. package/dist/esm/PartnerDetailListing.js +4 -4
  86. package/dist/esm/PublicationDeck.js +2 -2
  87. package/dist/esm/PublicationLanding.js +33 -33
  88. package/dist/esm/QueueDeckExpanded.js +2 -2
  89. package/dist/esm/RecentNews.js +1 -1
  90. package/dist/esm/RelatedContent.js +29 -29
  91. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  92. package/dist/esm/SideFooter.js +2 -2
  93. package/dist/esm/{index.esm-73e847d2.js → SocialNavFooter-4fb16720.js} +1 -8
  94. package/dist/esm/TaxonomyCard.js +2 -2
  95. package/dist/esm/TemplateNormal.js +3 -2
  96. package/dist/esm/ThumbnailCard.js +1 -1
  97. package/dist/esm/Ustream.js +1 -1
  98. package/dist/esm/VerticalHero.js +1 -1
  99. package/dist/esm/VideoSeriesListing.js +2 -2
  100. package/dist/esm/View.js +5 -5
  101. package/dist/esm/YahooHero.js +1 -1
  102. package/dist/esm/YoutubeGroup.js +5 -5
  103. package/dist/esm/getSerializers.js +3 -3
  104. package/dist/esm/{getTargeting-962c9cf6.js → getTargeting-36bcd238.js} +9 -9
  105. package/dist/esm/getTargeting.js +1 -1
  106. package/dist/esm/{index-1c791baf.js → index-599efdf0.js} +436 -448
  107. package/dist/esm/{index-3849e3fe.js → index-73819142.js} +1 -2
  108. package/dist/esm/index.esm-16536e81.js +9 -0
  109. package/dist/esm/{index.esm-85cb09e6.js → index.esm-4b1d94b7.js} +5 -1
  110. package/dist/esm/index.js +12 -7
  111. package/dist/esm/{lodash-ec8c6b48.js → lodash-17fdfebb.js} +22 -71
  112. package/dist/esm/urlFor.js +2 -2
  113. package/package.json +107 -107
@@ -12,14 +12,14 @@ var _typeof = require('./typeof-1869832c.js');
12
12
  require('./_is-array-754e012d.js');
13
13
  var React = require('react');
14
14
  var React__default = _interopDefault(React);
15
- var index$1 = require('./index-39beccb3.js');
15
+ var index$1 = require('./index-be0c82be.js');
16
16
  var slicedToArray = require('./slicedToArray-8063ee51.js');
17
17
  var smoothscroll = require('./smoothscroll-95231a70.js');
18
18
 
19
- /*
20
- GROQ query -
21
- accepts an array of title, URL
22
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
19
+ /*
20
+ GROQ query -
21
+ accepts an array of title, URL
22
+ `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
23
23
  */
24
24
 
25
25
  var GroupDeck = function GroupDeck(props) {
@@ -21,32 +21,31 @@ require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
22
  var Segment = require('./beam-d22818d3.js');
23
23
  require('./react-social-icons-cd0d9d3b.js');
24
- var iconBase = require('./iconBase-68959171.js');
25
- var index_esm = require('./index.esm-876ca9ff.js');
26
- var Button = _interopDefault(require('react-bootstrap/Button'));
24
+ require('./iconBase-68959171.js');
25
+ var index_esm = require('./index.esm-fbd1f7e9.js');
26
+ require('react-bootstrap/Button');
27
27
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
28
28
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
29
29
  var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
30
30
  var index_esm$1 = require('./index.esm-66ffa47a.js');
31
31
  var NavFooter = require('./NavFooter-76c913e3.js');
32
- var index_esm$2 = require('./index.esm-d1259b34.js');
33
- var SocialIcons = require('./SocialIcons.js');
34
- var Form = _interopDefault(require('react-bootstrap/Form'));
35
- var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
32
+ var SocialNavFooter = require('./SocialNavFooter-9a07520f.js');
33
+ require('react-bootstrap/Form');
34
+ require('react-bootstrap/FormControl');
35
+ var Search = require('./Search.js');
36
36
 
37
37
  var HamMagazine = function HamMagazine(props) {
38
- /*
39
- Example Nav with acceptable props
40
- <MagazineNav
41
- showLogin
42
- logo={props.settings.logo}
43
- dataObject={props.cache.mainNavCache}
44
- website={website}
45
- subNav={props.cache.subNavCache}
46
- />
38
+ /*
39
+ Example Nav with acceptable props
40
+ <MagazineNav
41
+ showLogin
42
+ logo={props.settings.logo}
43
+ dataObject={props.cache.mainNavCache}
44
+ website={website}
45
+ subNav={props.cache.subNavCache}
46
+ />
47
47
  */
48
48
 
49
- // Setting 'socialIconVariant' as 'light' as default to make the social icons and search icon black
50
49
  var logo = props.logo,
51
50
  mobileLogo = props.mobileLogo,
52
51
  dataObject = props.dataObject,
@@ -56,18 +55,11 @@ var HamMagazine = function HamMagazine(props) {
56
55
  _props$showLogin = props.showLogin,
57
56
  showLogin = _props$showLogin === undefined ? false : _props$showLogin,
58
57
  _props$socialFooterNa = props.socialFooterNav,
59
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa,
60
- _props$socialIconVari = props.socialIconVariant,
61
- socialIconVariant = _props$socialIconVari === undefined ? 'light' : _props$socialIconVari,
62
- invertedLogo = props.invertedLogo,
63
- settings = props.settings;
58
+ socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
64
59
 
65
60
  var navRef = React.useRef(null);
66
61
  var topNavRef = React.useRef(null);
67
62
 
68
- // reference to mobile search component
69
- var searchRef = React.useRef(null);
70
-
71
63
  var _useState = React.useState(false),
72
64
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
73
65
  isSticky = _useState2[0],
@@ -92,24 +84,8 @@ var HamMagazine = function HamMagazine(props) {
92
84
  _useState10 = slicedToArray._slicedToArray(_useState9, 2),
93
85
  resolution = _useState10[0],
94
86
  setResolution = _useState10[1];
95
- // Search Term
96
-
97
-
98
- var _useState11 = React.useState(''),
99
- _useState12 = slicedToArray._slicedToArray(_useState11, 2),
100
- searchKey = _useState12[0],
101
- setSearchKey = _useState12[1];
102
-
103
- var _useState13 = React.useState(0),
104
- _useState14 = slicedToArray._slicedToArray(_useState13, 2),
105
- topHeight = _useState14[0],
106
- setTopHeight = _useState14[1];
107
87
 
108
88
  React.useEffect(function () {
109
- // handling the top mast component
110
- var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
111
- // Setting the top of the search component based on the offset of navigation component.
112
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
113
89
  document.addEventListener('scroll', trackScrolling);
114
90
  return function () {
115
91
  document.removeEventListener('scroll', trackScrolling);
@@ -158,17 +134,13 @@ var HamMagazine = function HamMagazine(props) {
158
134
  }, [userAgent]);
159
135
 
160
136
  React.useEffect(function () {
161
- var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
137
+ var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
162
138
  var adSection = document.querySelector('.AD728x90');
163
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
164
-
165
- setTopHeight(mastHeadHeight);
166
- console.log('mastHeight Head:::::::::::::::::::', mastHeadHeight);
167
139
  if (window.pageYOffset > navOffsetTop) {
168
140
  if (navRef.current && navRef.current.style) {
169
141
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
170
142
  navRef.current.style.position = 'fixed';
171
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
143
+ navRef.current.style.top = 0;
172
144
  navRef.current.style.width = '100%';
173
145
  navRef.current.style.zIndex = '99999';
174
146
  }
@@ -178,17 +150,15 @@ var HamMagazine = function HamMagazine(props) {
178
150
  if (navRef.current && navRef.current.style) {
179
151
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
180
152
  navRef.current.style.position = 'fixed';
181
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
153
+ navRef.current.style.top = 0;
182
154
  navRef.current.style.width = '100%';
183
155
  navRef.current.style.zIndex = '99999';
184
156
  }
185
157
  } else {
186
158
  if (navRef.current && navRef.current.style) {
187
- var _mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
188
-
189
159
  topNavRef.current.style.paddingBottom = '0';
190
160
  navRef.current.style.position = 'relative';
191
- if (_mastHeadHeight) navRef.current.style.top = _mastHeadHeight + 'px';
161
+ navRef.current.style.top = '';
192
162
  if (adSection) adSection.style.marginTop = '';
193
163
  }
194
164
  }
@@ -200,17 +170,11 @@ var HamMagazine = function HamMagazine(props) {
200
170
 
201
171
  var trackScrolling = function trackScrolling() {
202
172
  var offsetTop = navRef.current.getBoundingClientRect().top;
203
- var navLinks = document.getElementById('nav-links');
204
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight - 4;
205
- if (mastHeadHeight) offsetTop = offsetTop - mastHeadHeight;
173
+
206
174
  if (offsetTop <= 0) {
207
175
  setIsSticky(true);
208
- navLinks.style.margin = 'auto';
209
- navLinks.style.padding = '0px 8% 0px 0px';
210
176
  } else {
211
177
  setIsSticky(false);
212
- navLinks.style.margin = '0px auto 0px 0px';
213
- navLinks.style.padding = '0px';
214
178
  }
215
179
  };
216
180
 
@@ -230,130 +194,6 @@ var HamMagazine = function HamMagazine(props) {
230
194
  }
231
195
  };
232
196
 
233
- // Search function
234
- var submitSearch = function submitSearch(e) {
235
- e.preventDefault();
236
- window.location.href = '/search?searchTerm=' + searchKey;
237
- };
238
-
239
- // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
240
- var toggleClass = function toggleClass(selector, type, addOn) {
241
- if (type === 'id') {
242
- var searchBar = document.getElementById(selector);
243
- if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
244
- searchBar.classList.remove(addOn);
245
- } else if (searchBar && searchBar.classList) {
246
- searchBar.classList.add(addOn);
247
- }
248
- } else if (type === 'class') {
249
- var searchBtn = document.getElementsByClassName(selector)[0];
250
- if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
251
- searchBtn.classList.remove(addOn);
252
- } else if (searchBtn && searchBtn.classList) {
253
- searchBtn.classList.add(addOn);
254
- }
255
- }
256
- };
257
-
258
- // Search Component
259
- var socialSearchComponent = function socialSearchComponent(type) {
260
- if (type === 'mobile') {
261
- return React__default.createElement(
262
- 'div',
263
- { id: 'search-content-mobile' },
264
- React__default.createElement(
265
- 'div',
266
- { id: 'search-bar-mobile', ref: searchRef },
267
- React__default.createElement(
268
- Form,
269
- { inline: true, onSubmit: function onSubmit(e) {
270
- return submitSearch(e);
271
- } },
272
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
273
- return setSearchKey(e.target.value);
274
- } }),
275
- React__default.createElement(
276
- Button,
277
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
278
- return submitSearch(e);
279
- } },
280
- 'Search'
281
- )
282
- )
283
- ),
284
- React__default.createElement(
285
- iconBase.IconContext.Provider,
286
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
287
- React__default.createElement(index_esm$2.GoSearch, {
288
- onClick: function onClick() {
289
- var navToggle = document.getElementsByClassName('navbar-toggler')[0];
290
- if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
291
- var nav = document.querySelectorAll('.navbar-collapse');
292
- for (var i = 0; i < nav.length; i++) {
293
- if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
294
- }
295
- if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
296
- }
297
-
298
- toggleClass('search-bar-mobile', 'id', 'show');
299
- toggleClass('search-btn-mobile', 'class', 'active-search');
300
- }
301
- })
302
- ),
303
- React__default.createElement(
304
- 'style',
305
- { jsx: 'true' },
306
- '\n #search-content-mobile {\n display: flex;\n z-index: 999;\n }\n @media screen and (min-width: 1200px) {\n #search-content-mobile {\n display: none;\n }\n }\n #search-content-mobile .search-btn-mobile {\n padding: 5px;\n position: absolute;\n right: 4%;\n height: 35px;\n width: 35px;\n margin-top: 4px;\n cursor: pointer;\n }\n #search-content-mobile #search-bar-mobile {\n position: fixed;\n display: none;\n left: 0px;\n width: 100%;\n border-radius: 5px;\n padding: 10px;\n background-color: var(--primary);\n }\n #search-content-mobile #search-bar-mobile .form-inline {\n margin-top: 0px;\n width: 100% !important;\n }\n #search-content-mobile #search-bar-mobile .form-inline .form-control {\n width: 78%;\n border-radius: 5px;\n height: 45px;\n }\n #search-content-mobile #search-bar-mobile .form-inline .btn {\n width: 20%;\n border-radius: 5px;\n background-color: #040c5a;\n height: 45px;\n margin-left: 5px;\n padding: 1px;\n }\n .show {\n display: block !important;\n }\n .active-search {\n border-radius: 5px;\n border: 1px solid var(--secondary);\n }\n '
307
- )
308
- );
309
- } else if (type === 'desktop') {
310
- return React__default.createElement(
311
- 'div',
312
- { id: 'search-content-desktop' },
313
- React__default.createElement(
314
- 'div',
315
- { id: 'search-bar-desktop' },
316
- React__default.createElement(
317
- Form,
318
- { inline: true, onSubmit: function onSubmit(e) {
319
- return submitSearch(e);
320
- } },
321
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
322
- return setSearchKey(e.target.value);
323
- } }),
324
- React__default.createElement(
325
- Button,
326
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
327
- return submitSearch(e);
328
- } },
329
- 'Search'
330
- )
331
- )
332
- ),
333
- React__default.createElement(
334
- iconBase.IconContext.Provider,
335
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
336
- React__default.createElement(index_esm$2.GoSearch, {
337
- onClick: function onClick() {
338
- toggleClass('search-bar-desktop', 'id', 'show');
339
- toggleClass('search-btn-desktop', 'class', 'active-search');
340
- }
341
- })
342
- ),
343
- website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
344
- 'div',
345
- { id: 'social-tab-desktop', style: { display: 'flex' } },
346
- website.socialLinks && React__default.createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
347
- ),
348
- React__default.createElement(
349
- 'style',
350
- { jsx: 'true' },
351
- '\n #social-tab-desktops {\n position: relative;\n display: flex;\n left: 0px;\n }\n #social-tab-desktops svg {\n height: 25px !important;\n width: 25px !important;\n }\n @media screen and (max-width: 1199px) {\n #search-content-desktop {\n display: none !important;\n }\n }\n @media screen and (min-width: 992px) {\n #search-content-mobile {\n position: absolute;\n right: 4%;\n top: 8px;\n }\n .mobile-nav {\n width: 100% !important;\n }\n }\n #search-content-desktop {\n display: flex;\n padding-top: 1px;\n height: 35px;\n position: absolute;\n right: 5%;\n top: 12px;\n }\n #search-content-desktop .search-btn-desktop {\n padding: 5px;\n height: 35px;\n width: 32px;\n margin: -2px 5px 0px 0px;\n cursor: pointer;\n }\n #search-content-desktop #search-bar-desktop {\n display: none;\n background-color: var(--primary);\n position: relative;\n width: 400px;\n border-radius: 5px;\n height: 48px;\n top: 42px;\n }\n #search-content-desktop #search-bar-desktop .form-inline {\n padding: 5px;\n }\n #search-content-desktop #search-bar-desktop .form-inline .form-control {\n width: 78%;\n border-radius: 5px;\n }\n #search-content-desktop #search-bar-desktop .form-inline .btn {\n width: 20%;\n border-radius: 5px;\n padding: 7px;\n margin-left: 5px;\n }\n .show {\n display: block !important;\n }\n .active-search {\n border-radius: 5px;\n border: 1px solid var(--secondary);\n }\n '
352
- )
353
- );
354
- }
355
- };
356
-
357
197
  return React__default.createElement(
358
198
  'header',
359
199
  { className: !main.main_36 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
@@ -472,43 +312,21 @@ var HamMagazine = function HamMagazine(props) {
472
312
  ),
473
313
  React__default.createElement(
474
314
  Navbar,
475
- { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%', display: 'flex', top: topHeight } },
315
+ { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%' } },
476
316
  React__default.createElement(
477
317
  Container,
478
318
  { className: 'mobile-nav' },
479
319
  React__default.createElement(
480
320
  'div',
481
- { className: 'nav-toggle', style: { display: 'flex' } },
321
+ { className: 'nav-toggle' },
482
322
  React__default.createElement(Navbar.Toggle, {
483
323
  'aria-controls': 'basic-navbar-nav',
484
324
  onClick: function onClick() {
485
- var searchBar = document.getElementById('search-bar-mobile');
486
- var searchBtn = document.getElementsByClassName('search-btn-mobile');
487
- if (searchBar && searchBar.classList) {
488
- searchBar.classList.remove('show');
489
- }
490
- if (searchBtn && searchBtn[0].classList) {
491
- searchBtn[0].classList.remove('active-search');
492
- }
493
325
  setIsOpen(!isOpen);
494
326
  }
495
327
  }),
496
- React__default.createElement(
497
- 'div',
498
- { className: 'site-logo-wrapper', style: { display: 'none' } },
499
- React__default.createElement(
500
- 'a',
501
- { href: '/' },
502
- invertedLogo ? React__default.createElement('img', { src: invertedLogo, style: { padding: '0px ' } }) : React__default.createElement('img', { src: logo, style: { padding: '0px ' } })
503
- ),
504
- React__default.createElement(
505
- 'style',
506
- { jsx: 'true' },
507
- '\n @media screen and (max-width: 1199px) {\n .site-logo-wrapper {\n display: block !important;\n margin: auto;\n }\n .site-logo-wrapper img {\n object-fit: contain;\n max-height: 45px;\n }\n .nav-mobile-logo {\n display: none !important;\n }\n }\n @media screen and (max-width: 767px) {\n .site-logo-wrapper {\n padding-right: 10%;\n }\n }\n @media screen and (max-width: 420px) {\n .site-logo-wrapper img {\n max-width: 200px;\n }\n }\n '
508
- )
509
- )
328
+ React__default.createElement(Search, { device: 'mobile' })
510
329
  ),
511
- socialSearchComponent('mobile'),
512
330
  React__default.createElement(
513
331
  'div',
514
332
  { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '80vh' } },
@@ -581,18 +399,14 @@ var HamMagazine = function HamMagazine(props) {
581
399
  React__default.createElement(
582
400
  Navbar.Collapse,
583
401
  { id: 'basic-navbar-nav' },
584
- isSticky && invertedLogo && React__default.createElement(
585
- Nav.Item,
586
- { className: 'nav-mobile-logo' },
587
- React__default.createElement(
588
- 'a',
589
- { href: '/' },
590
- React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
591
- )
402
+ isSticky && React__default.createElement(
403
+ 'a',
404
+ { href: '/' },
405
+ React__default.createElement(index_esm.IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
592
406
  ),
593
407
  React__default.createElement(
594
408
  Nav,
595
- { id: 'nav-links', style: { marginRight: 'auto' } },
409
+ { className: 'mr-auto web-nav' },
596
410
  dataObject && dataObject.map(function (row, index) {
597
411
  if (row.subQuery && row.subQuery.length > 0) {
598
412
  return row.name ? React__default.createElement(
@@ -649,7 +463,8 @@ var HamMagazine = function HamMagazine(props) {
649
463
  ) : null;
650
464
  }
651
465
  })
652
- )
466
+ ),
467
+ React__default.createElement(Search, { device: 'mobile' })
653
468
  ),
654
469
  website && React__default.createElement(
655
470
  Navbar.Collapse,
@@ -657,10 +472,9 @@ var HamMagazine = function HamMagazine(props) {
657
472
  React__default.createElement(
658
473
  Nav,
659
474
  { className: 'mr-auto' },
660
- socialFooterNav ? React__default.createElement(index_esm$2.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
475
+ socialFooterNav ? React__default.createElement(SocialNavFooter.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
661
476
  )
662
- ),
663
- socialSearchComponent('desktop')
477
+ )
664
478
  )
665
479
  )
666
480
  ),
@@ -676,7 +490,7 @@ var HamMagazine = function HamMagazine(props) {
676
490
  React__default.createElement(
677
491
  'style',
678
492
  { jsx: 'true' },
679
- '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n .nav-item svg {\n margin-bottom: 2px;\n }\n #nav-login,\n #nav-logout,\n #nav-register {\n padding: 0.5rem;\n cursor: pointer;\n }\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: none;\n }\n #nav-mobile-logout,\n #nav-mobile-login {\n position: absolute;\n right: 1rem;\n }\n #nav-mobile-register {\n position: absolute;\n left: 1rem;\n }\n @media screen and (max-width: 376px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px;\n }\n }\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n @media screen and (max-width: 1199px) {\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n .nav-open {\n position: relative;\n }\n\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n\n .android-nav {\n max-height: 80vh;\n }\n\n .ios-nav {\n max-height: none;\n }\n\n .navbar.bg-primary {\n overflow: auto;\n }\n\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-xl .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 10px;\n border-bottom: 0.5px solid white;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n padding-top: 10px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n /* To break text into next line */\n white-space: inherit !important;\n margin-bottom: 5px;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 1200px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n .navbar.bg-primary {\n z-index: 3000000 !important;\n }\n }\n @media screen and (max-width: 1199px) {\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: block;\n }\n .navbar-top {\n flex-direction: row;\n justify-content: space-around !important;\n align-items: center;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n width: 100%;\n }\n }\n '
493
+ '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n .nav-item svg {\n margin-bottom: 2px;\n }\n #nav-login,\n #nav-logout,\n #nav-register {\n padding: 0.5rem;\n cursor: pointer;\n }\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: none;\n }\n #nav-mobile-logout,\n #nav-mobile-login {\n position: absolute;\n right: 1rem;\n }\n #nav-mobile-register {\n position: absolute;\n left: 1rem;\n }\n @media screen and (max-width: 376px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px;\n }\n }\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n @media screen and (max-width: 1199px) {\n .nav-open {\n position: relative;\n }\n\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n\n .android-nav {\n max-height: 80vh;\n }\n\n .ios-nav {\n max-height: none;\n }\n\n .navbar.bg-primary {\n overflow: auto;\n }\n\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-xl .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 10px;\n border-bottom: 0.5px solid white;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n padding-top: 10px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 1200px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n .navbar.bg-primary {\n z-index: 3000000 !important;\n }\n }\n @media screen and (max-width: 1199px) {\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: block;\n }\n .navbar-top {\n flex-direction: row;\n justify-content: space-around !important;\n align-items: center;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n width: 100%;\n }\n }\n '
680
494
  )
681
495
  );
682
496
  };
package/dist/cjs/Hero.js CHANGED
@@ -5,7 +5,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  require('./_commonjsHelpers-06173234.js');
6
6
  var React = require('react');
7
7
  var React__default = _interopDefault(React);
8
- var index$1 = require('./index-39beccb3.js');
8
+ var index$1 = require('./index-be0c82be.js');
9
9
  var entities = require('./entities-310b46ee.js');
10
10
  var reactBootstrap = require('react-bootstrap');
11
11
 
@@ -6,7 +6,7 @@ require('./_commonjsHelpers-06173234.js');
6
6
  var React = require('react');
7
7
  var React__default = _interopDefault(React);
8
8
  require('./moment-575fe24c.js');
9
- var index$1 = require('./index-39beccb3.js');
9
+ var index$1 = require('./index-be0c82be.js');
10
10
  require('./iconBase-68959171.js');
11
11
  var index_esm$3 = require('./index.esm-89fabc47.js');
12
12
 
@@ -14,7 +14,7 @@ var Col = _interopDefault(require('react-bootstrap/Col'));
14
14
  var Card = _interopDefault(require('react-bootstrap/Card'));
15
15
  var moment = require('./moment-575fe24c.js');
16
16
  require('react-dom');
17
- var index$1 = require('./index-39beccb3.js');
17
+ var index$1 = require('./index-be0c82be.js');
18
18
  var index$2 = require('./index-fa0fb52c.js');
19
19
  require('./slicedToArray-8063ee51.js');
20
20
  var AuthorComponent = require('./AuthorComponent-3c79e1ab.js');
@@ -18,7 +18,7 @@ var Col = _interopDefault(require('react-bootstrap/Col'));
18
18
  var Card = _interopDefault(require('react-bootstrap/Card'));
19
19
  var index_es = require('./index.es-9110add6.js');
20
20
  require('react-dom');
21
- var index$1 = require('./index-39beccb3.js');
21
+ var index$1 = require('./index-be0c82be.js');
22
22
  var index$2 = require('./index-fa0fb52c.js');
23
23
  var slicedToArray = require('./slicedToArray-8063ee51.js');
24
24
  var Button = _interopDefault(require('react-bootstrap/Button'));
@@ -23,7 +23,7 @@ require('./debounce-32e57002.js');
23
23
  require('./index.es-9110add6.js');
24
24
  require('react-dom');
25
25
  require('./visibility-sensor-0c45a583.js');
26
- require('./index-39beccb3.js');
26
+ require('./index-be0c82be.js');
27
27
  require('./index-fa0fb52c.js');
28
28
  require('./main-88348b15.js');
29
29
  require('./entities-310b46ee.js');
@@ -34,7 +34,7 @@ require('./_set-species-4458e975.js');
34
34
  require('./beam-d22818d3.js');
35
35
  require('./AdSlot.js');
36
36
  require('./ADInfeed-df340285.js');
37
- require('./lodash-7fd85bcf.js');
37
+ require('./lodash-fc2922d0.js');
38
38
  require('./ADlgInfeed-2110d08c.js');
39
39
  require('./AuthorComponent-3c79e1ab.js');
40
40
  require('react-bootstrap');
@@ -42,35 +42,35 @@ var QueueDeckExpanded = require('./QueueDeckExpanded.js');
42
42
  require('react-bootstrap/Breadcrumb');
43
43
  var Breadcrumbs = require('./Breadcrumbs.js');
44
44
 
45
- /* usage
46
- import Settings, { Ads } from '../../../../settings'
47
- import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
48
- import client from '../../../../client'
49
- import moment from 'moment'
50
- import Shell from '../../../../components/2.0/Shell'
51
- import { pageview } from '../../../../utilities/gtag'
52
-
53
- const Issue = (props) => {
54
- const { pubIssue, cache } = props
55
- const targeting = {
56
- content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
57
- document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
58
- }
59
- return (
60
- <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
61
- <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
62
- </Shell>
63
- )
64
- }
65
-
66
- Issue.getInitialProps = async (ctx) => {
67
- const { query } = ctx
68
- const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
69
- )
70
- return { pubIssue }
71
- }
72
-
73
- export default Issue
45
+ /* usage
46
+ import Settings, { Ads } from '../../../../settings'
47
+ import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
48
+ import client from '../../../../client'
49
+ import moment from 'moment'
50
+ import Shell from '../../../../components/2.0/Shell'
51
+ import { pageview } from '../../../../utilities/gtag'
52
+
53
+ const Issue = (props) => {
54
+ const { pubIssue, cache } = props
55
+ const targeting = {
56
+ content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
57
+ document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
58
+ }
59
+ return (
60
+ <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
61
+ <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
62
+ </Shell>
63
+ )
64
+ }
65
+
66
+ Issue.getInitialProps = async (ctx) => {
67
+ const { query } = ctx
68
+ const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
69
+ )
70
+ return { pubIssue }
71
+ }
72
+
73
+ export default Issue
74
74
  */
75
75
 
76
76
  var IssueLanding = function IssueLanding(props) {
@@ -1,27 +1,27 @@
1
1
  'use strict';
2
2
 
3
3
  var KMTracker = function KMTracker(props) {
4
- var id = props.id;
4
+ var id = props.id;
5
5
 
6
- if (document && id) {
6
+ if (document && id) {
7
7
  (function () {
8
- var ecnJquery = document.createElement('script');
8
+ var ecnJquery = document.createElement('script');
9
9
 
10
- ecnJquery.type = 'text/javascript';
11
- ecnJquery.async = true;
12
- ecnJquery.src = 'https://apidt.ecn5.com/ECN_jQuery.min.js';
10
+ ecnJquery.type = 'text/javascript';
11
+ ecnJquery.async = true;
12
+ ecnJquery.src = 'https://apidt.ecn5.com/ECN_jQuery.min.js';
13
13
 
14
- var ecnScript = document.createElement('script');
14
+ var ecnScript = document.createElement('script');
15
15
 
16
- ecnScript.type = 'text/javascript';
17
- ecnScript.async = true;
18
- ecnScript.id = 'km-tracker';
19
- ecnScript.src = 'https://apidt.ecn5.com/ECN_tracker_Secure.js?TrackerKey=' + id;
16
+ ecnScript.type = 'text/javascript';
17
+ ecnScript.async = true;
18
+ ecnScript.id = 'km-tracker';
19
+ ecnScript.src = 'https://apidt.ecn5.com/ECN_tracker_Secure.js?TrackerKey=' + id;
20
20
 
21
- document.head.appendChild(ecnJquery);
22
- document.head.appendChild(ecnScript);
23
- })();
24
- }
21
+ document.head.appendChild(ecnJquery);
22
+ document.head.appendChild(ecnScript);
23
+ })();
24
+ }
25
25
  };
26
26
 
27
27
  module.exports = KMTracker;
@@ -31,7 +31,7 @@ var debounce = require('./debounce-32e57002.js');
31
31
  var index_es = require('./index.es-9110add6.js');
32
32
  require('react-dom');
33
33
  var visibilitySensor = require('./visibility-sensor-0c45a583.js');
34
- require('./index-39beccb3.js');
34
+ require('./index-be0c82be.js');
35
35
  var main = require('./main-88348b15.js');
36
36
  require('./slicedToArray-8063ee51.js');
37
37
  require('./stringify-7c5aff47.js');
@@ -40,7 +40,7 @@ require('./_set-species-4458e975.js');
40
40
  require('./beam-d22818d3.js');
41
41
  require('./AdSlot.js');
42
42
  var ADInfeed = require('./ADInfeed-df340285.js');
43
- var lodash = require('./lodash-7fd85bcf.js');
43
+ var lodash = require('./lodash-fc2922d0.js');
44
44
  var ADlgInfeed = require('./ADlgInfeed-2110d08c.js');
45
45
 
46
46
  var MasterDeck = function (_React$Component) {
@@ -197,14 +197,14 @@ var MasterDeck = function (_React$Component) {
197
197
  }
198
198
 
199
199
  // please leave this for later debug purpose : Yong Jun.
200
- /* console.log('page change reported', {
201
- currentPage: currentPage,
202
- pageNumber: pageNumber,
203
- pathname: pathname,
204
- path: path,
205
- newPath: newPath,
206
- firstPage: pageNumber === 1,
207
- queryString: queryString
200
+ /* console.log('page change reported', {
201
+ currentPage: currentPage,
202
+ pageNumber: pageNumber,
203
+ pathname: pathname,
204
+ path: path,
205
+ newPath: newPath,
206
+ firstPage: pageNumber === 1,
207
+ queryString: queryString
208
208
  }) */
209
209
 
210
210
  if (pageview) {