@mjhls/mjh-framework 1.0.604-hamMagazine-v9 → 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 -225
  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 -224
  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
@@ -14,32 +14,31 @@ import './asyncToGenerator-d25aac66.js';
14
14
  import './_set-species-75f77d40.js';
15
15
  import { S as Segment } from './beam-c40d77ae.js';
16
16
  import './react-social-icons-a7d5c5c7.js';
17
- import { I as IconContext } from './iconBase-602d52fe.js';
18
- import { b as IoMdLogIn } from './index.esm-85cb09e6.js';
19
- import Button from 'react-bootstrap/Button';
17
+ import './iconBase-602d52fe.js';
18
+ import { b as IoMdLogIn, c as IoIosHome } from './index.esm-4b1d94b7.js';
19
+ import 'react-bootstrap/Button';
20
20
  import Nav from 'react-bootstrap/Nav';
21
21
  import Navbar from 'react-bootstrap/Navbar';
22
22
  import NavDropdown from 'react-bootstrap/NavDropdown';
23
23
  import { M as MdEmail } from './index.esm-b08f4b04.js';
24
24
  import { N as NavFooter } from './NavFooter-e27bd93b.js';
25
- import { S as SocialNavFooter, G as GoSearch } from './index.esm-73e847d2.js';
26
- import SocialIcons from './SocialIcons.js';
27
- import Form from 'react-bootstrap/Form';
28
- import FormControl from 'react-bootstrap/FormControl';
25
+ import { S as SocialNavFooter } from './SocialNavFooter-4fb16720.js';
26
+ import 'react-bootstrap/Form';
27
+ import 'react-bootstrap/FormControl';
28
+ import Search from './Search.js';
29
29
 
30
30
  var HamMagazine = function HamMagazine(props) {
31
- /*
32
- Example Nav with acceptable props
33
- <MagazineNav
34
- showLogin
35
- logo={props.settings.logo}
36
- dataObject={props.cache.mainNavCache}
37
- website={website}
38
- subNav={props.cache.subNavCache}
39
- />
31
+ /*
32
+ Example Nav with acceptable props
33
+ <MagazineNav
34
+ showLogin
35
+ logo={props.settings.logo}
36
+ dataObject={props.cache.mainNavCache}
37
+ website={website}
38
+ subNav={props.cache.subNavCache}
39
+ />
40
40
  */
41
41
 
42
- // Setting 'socialIconVariant' as 'light' as default to make the social icons and search icon black
43
42
  var logo = props.logo,
44
43
  mobileLogo = props.mobileLogo,
45
44
  dataObject = props.dataObject,
@@ -49,18 +48,11 @@ var HamMagazine = function HamMagazine(props) {
49
48
  _props$showLogin = props.showLogin,
50
49
  showLogin = _props$showLogin === undefined ? false : _props$showLogin,
51
50
  _props$socialFooterNa = props.socialFooterNav,
52
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa,
53
- _props$socialIconVari = props.socialIconVariant,
54
- socialIconVariant = _props$socialIconVari === undefined ? 'light' : _props$socialIconVari,
55
- invertedLogo = props.invertedLogo,
56
- settings = props.settings;
51
+ socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
57
52
 
58
53
  var navRef = useRef(null);
59
54
  var topNavRef = useRef(null);
60
55
 
61
- // reference to mobile search component
62
- var searchRef = useRef(null);
63
-
64
56
  var _useState = useState(false),
65
57
  _useState2 = _slicedToArray(_useState, 2),
66
58
  isSticky = _useState2[0],
@@ -85,28 +77,8 @@ var HamMagazine = function HamMagazine(props) {
85
77
  _useState10 = _slicedToArray(_useState9, 2),
86
78
  resolution = _useState10[0],
87
79
  setResolution = _useState10[1];
88
- // Search Term
89
-
90
-
91
- var _useState11 = useState(''),
92
- _useState12 = _slicedToArray(_useState11, 2),
93
- searchKey = _useState12[0],
94
- setSearchKey = _useState12[1];
95
-
96
- var _useState13 = useState(0),
97
- _useState14 = _slicedToArray(_useState13, 2),
98
- topHeight = _useState14[0],
99
- setTopHeight = _useState14[1];
100
80
 
101
81
  useEffect(function () {
102
- // handling the top mast component
103
- var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
104
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight;
105
- var topNav = 0;
106
- if (mastHeadHeight) topNav = topNav + mastHeadHeight;else if (topNavHeight) topNav = topNav + topNavHeight;
107
- if (navRef.current.offsetHeight) topNav = topNav + navRef.current.offsetHeight;
108
- // Setting the top of the search component based on the offset of navigation component.
109
- searchRef.current.style.top = topNav + 1 + 'px';
110
82
  document.addEventListener('scroll', trackScrolling);
111
83
  return function () {
112
84
  document.removeEventListener('scroll', trackScrolling);
@@ -155,17 +127,13 @@ var HamMagazine = function HamMagazine(props) {
155
127
  }, [userAgent]);
156
128
 
157
129
  useEffect(function () {
158
- var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
130
+ var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
159
131
  var adSection = document.querySelector('.AD728x90');
160
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
161
-
162
- setTopHeight(mastHeadHeight);
163
- console.log('mastHeight Head:::::::::::::::::::', mastHeadHeight);
164
132
  if (window.pageYOffset > navOffsetTop) {
165
133
  if (navRef.current && navRef.current.style) {
166
134
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
167
135
  navRef.current.style.position = 'fixed';
168
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
136
+ navRef.current.style.top = 0;
169
137
  navRef.current.style.width = '100%';
170
138
  navRef.current.style.zIndex = '99999';
171
139
  }
@@ -175,17 +143,15 @@ var HamMagazine = function HamMagazine(props) {
175
143
  if (navRef.current && navRef.current.style) {
176
144
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
177
145
  navRef.current.style.position = 'fixed';
178
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
146
+ navRef.current.style.top = 0;
179
147
  navRef.current.style.width = '100%';
180
148
  navRef.current.style.zIndex = '99999';
181
149
  }
182
150
  } else {
183
151
  if (navRef.current && navRef.current.style) {
184
- var _mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
185
-
186
152
  topNavRef.current.style.paddingBottom = '0';
187
153
  navRef.current.style.position = 'relative';
188
- if (_mastHeadHeight) navRef.current.style.top = _mastHeadHeight + 'px';
154
+ navRef.current.style.top = '';
189
155
  if (adSection) adSection.style.marginTop = '';
190
156
  }
191
157
  }
@@ -197,17 +163,11 @@ var HamMagazine = function HamMagazine(props) {
197
163
 
198
164
  var trackScrolling = function trackScrolling() {
199
165
  var offsetTop = navRef.current.getBoundingClientRect().top;
200
- var navLinks = document.getElementById('nav-links');
201
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight - 4;
202
- if (mastHeadHeight) offsetTop = offsetTop - mastHeadHeight;
166
+
203
167
  if (offsetTop <= 0) {
204
168
  setIsSticky(true);
205
- navLinks.style.margin = 'auto';
206
- navLinks.style.padding = '0px 8% 0px 0px';
207
169
  } else {
208
170
  setIsSticky(false);
209
- navLinks.style.margin = '0px auto 0px 0px';
210
- navLinks.style.padding = '0px';
211
171
  }
212
172
  };
213
173
 
@@ -227,130 +187,6 @@ var HamMagazine = function HamMagazine(props) {
227
187
  }
228
188
  };
229
189
 
230
- // Search function
231
- var submitSearch = function submitSearch(e) {
232
- e.preventDefault();
233
- window.location.href = '/search?searchTerm=' + searchKey;
234
- };
235
-
236
- // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
237
- var toggleClass = function toggleClass(selector, type, addOn) {
238
- if (type === 'id') {
239
- var searchBar = document.getElementById(selector);
240
- if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
241
- searchBar.classList.remove(addOn);
242
- } else if (searchBar && searchBar.classList) {
243
- searchBar.classList.add(addOn);
244
- }
245
- } else if (type === 'class') {
246
- var searchBtn = document.getElementsByClassName(selector)[0];
247
- if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
248
- searchBtn.classList.remove(addOn);
249
- } else if (searchBtn && searchBtn.classList) {
250
- searchBtn.classList.add(addOn);
251
- }
252
- }
253
- };
254
-
255
- // Search Component
256
- var socialSearchComponent = function socialSearchComponent(type) {
257
- if (type === 'mobile') {
258
- return React__default.createElement(
259
- 'div',
260
- { id: 'search-content-mobile' },
261
- React__default.createElement(
262
- 'div',
263
- { id: 'search-bar-mobile', ref: searchRef },
264
- React__default.createElement(
265
- Form,
266
- { inline: true, onSubmit: function onSubmit(e) {
267
- return submitSearch(e);
268
- } },
269
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
270
- return setSearchKey(e.target.value);
271
- } }),
272
- React__default.createElement(
273
- Button,
274
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
275
- return submitSearch(e);
276
- } },
277
- 'Search'
278
- )
279
- )
280
- ),
281
- React__default.createElement(
282
- IconContext.Provider,
283
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
284
- React__default.createElement(GoSearch, {
285
- onClick: function onClick() {
286
- var navToggle = document.getElementsByClassName('navbar-toggler')[0];
287
- if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
288
- var nav = document.querySelectorAll('.navbar-collapse');
289
- for (var i = 0; i < nav.length; i++) {
290
- if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
291
- }
292
- if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
293
- }
294
-
295
- toggleClass('search-bar-mobile', 'id', 'show');
296
- toggleClass('search-btn-mobile', 'class', 'active-search');
297
- }
298
- })
299
- ),
300
- React__default.createElement(
301
- 'style',
302
- { jsx: 'true' },
303
- '\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 '
304
- )
305
- );
306
- } else if (type === 'desktop') {
307
- return React__default.createElement(
308
- 'div',
309
- { id: 'search-content-desktop' },
310
- React__default.createElement(
311
- 'div',
312
- { id: 'search-bar-desktop' },
313
- React__default.createElement(
314
- Form,
315
- { inline: true, onSubmit: function onSubmit(e) {
316
- return submitSearch(e);
317
- } },
318
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
319
- return setSearchKey(e.target.value);
320
- } }),
321
- React__default.createElement(
322
- Button,
323
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
324
- return submitSearch(e);
325
- } },
326
- 'Search'
327
- )
328
- )
329
- ),
330
- React__default.createElement(
331
- IconContext.Provider,
332
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
333
- React__default.createElement(GoSearch, {
334
- onClick: function onClick() {
335
- toggleClass('search-bar-desktop', 'id', 'show');
336
- toggleClass('search-btn-desktop', 'class', 'active-search');
337
- }
338
- })
339
- ),
340
- website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
341
- 'div',
342
- { id: 'social-tab-desktop', style: { display: 'flex' } },
343
- website.socialLinks && React__default.createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
344
- ),
345
- React__default.createElement(
346
- 'style',
347
- { jsx: 'true' },
348
- '\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 '
349
- )
350
- );
351
- }
352
- };
353
-
354
190
  return React__default.createElement(
355
191
  'header',
356
192
  { className: !main_36 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
@@ -469,43 +305,21 @@ var HamMagazine = function HamMagazine(props) {
469
305
  ),
470
306
  React__default.createElement(
471
307
  Navbar,
472
- { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%', display: 'flex', top: topHeight } },
308
+ { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%' } },
473
309
  React__default.createElement(
474
310
  Container,
475
311
  { className: 'mobile-nav' },
476
312
  React__default.createElement(
477
313
  'div',
478
- { className: 'nav-toggle', style: { display: 'flex' } },
314
+ { className: 'nav-toggle' },
479
315
  React__default.createElement(Navbar.Toggle, {
480
316
  'aria-controls': 'basic-navbar-nav',
481
317
  onClick: function onClick() {
482
- var searchBar = document.getElementById('search-bar-mobile');
483
- var searchBtn = document.getElementsByClassName('search-btn-mobile');
484
- if (searchBar && searchBar.classList) {
485
- searchBar.classList.remove('show');
486
- }
487
- if (searchBtn && searchBtn[0].classList) {
488
- searchBtn[0].classList.remove('active-search');
489
- }
490
318
  setIsOpen(!isOpen);
491
319
  }
492
320
  }),
493
- React__default.createElement(
494
- 'div',
495
- { className: 'site-logo-wrapper', style: { display: 'none' } },
496
- React__default.createElement(
497
- 'a',
498
- { href: '/' },
499
- invertedLogo ? React__default.createElement('img', { src: invertedLogo, style: { padding: '0px ' } }) : React__default.createElement('img', { src: logo, style: { padding: '0px ' } })
500
- ),
501
- React__default.createElement(
502
- 'style',
503
- { jsx: 'true' },
504
- '\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 '
505
- )
506
- )
321
+ React__default.createElement(Search, { device: 'mobile' })
507
322
  ),
508
- socialSearchComponent('mobile'),
509
323
  React__default.createElement(
510
324
  'div',
511
325
  { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '80vh' } },
@@ -578,18 +392,14 @@ var HamMagazine = function HamMagazine(props) {
578
392
  React__default.createElement(
579
393
  Navbar.Collapse,
580
394
  { id: 'basic-navbar-nav' },
581
- isSticky && invertedLogo && React__default.createElement(
582
- Nav.Item,
583
- { className: 'nav-mobile-logo' },
584
- React__default.createElement(
585
- 'a',
586
- { href: '/' },
587
- React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
588
- )
395
+ isSticky && React__default.createElement(
396
+ 'a',
397
+ { href: '/' },
398
+ React__default.createElement(IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
589
399
  ),
590
400
  React__default.createElement(
591
401
  Nav,
592
- { id: 'nav-links', style: { marginRight: 'auto' } },
402
+ { className: 'mr-auto web-nav' },
593
403
  dataObject && dataObject.map(function (row, index) {
594
404
  if (row.subQuery && row.subQuery.length > 0) {
595
405
  return row.name ? React__default.createElement(
@@ -646,7 +456,8 @@ var HamMagazine = function HamMagazine(props) {
646
456
  ) : null;
647
457
  }
648
458
  })
649
- )
459
+ ),
460
+ React__default.createElement(Search, { device: 'mobile' })
650
461
  ),
651
462
  website && React__default.createElement(
652
463
  Navbar.Collapse,
@@ -656,8 +467,7 @@ var HamMagazine = function HamMagazine(props) {
656
467
  { className: 'mr-auto' },
657
468
  socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter, { website: website, showLogo: true })
658
469
  )
659
- ),
660
- socialSearchComponent('desktop')
470
+ )
661
471
  )
662
472
  )
663
473
  ),
@@ -673,7 +483,7 @@ var HamMagazine = function HamMagazine(props) {
673
483
  React__default.createElement(
674
484
  'style',
675
485
  { jsx: 'true' },
676
- '\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 '
486
+ '\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 '
677
487
  )
678
488
  );
679
489
  };
package/dist/esm/Hero.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
2
  import React__default from 'react';
3
- import { i as imageUrlBuilder } from './index-3849e3fe.js';
3
+ import { i as imageUrlBuilder } from './index-73819142.js';
4
4
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
5
5
  import { Card } from 'react-bootstrap';
6
6
 
@@ -1,7 +1,7 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
2
  import React__default from 'react';
3
3
  import './moment-e2f9b20c.js';
4
- import { i as imageUrlBuilder } from './index-3849e3fe.js';
4
+ import { i as imageUrlBuilder } from './index-73819142.js';
5
5
  import './iconBase-602d52fe.js';
6
6
  import { a as FaLongArrowAltRight } from './index.esm-9a4c8813.js';
7
7
 
@@ -9,7 +9,7 @@ import Col from 'react-bootstrap/Col';
9
9
  import Card from 'react-bootstrap/Card';
10
10
  import { m as moment } from './moment-e2f9b20c.js';
11
11
  import 'react-dom';
12
- import { i as imageUrlBuilder } from './index-3849e3fe.js';
12
+ import { i as imageUrlBuilder } from './index-73819142.js';
13
13
  import { L as LazyLoad } from './index-5f9f807a.js';
14
14
  import './slicedToArray-a58d7edf.js';
15
15
  import { A as AuthorComponent } from './AuthorComponent-4ddf3533.js';
@@ -13,7 +13,7 @@ import Col from 'react-bootstrap/Col';
13
13
  import Card from 'react-bootstrap/Card';
14
14
  import { I as InfiniteScroll } from './index.es-29c1cef5.js';
15
15
  import 'react-dom';
16
- import { i as imageUrlBuilder } from './index-3849e3fe.js';
16
+ import { i as imageUrlBuilder } from './index-73819142.js';
17
17
  import { L as LazyLoad } from './index-5f9f807a.js';
18
18
  import { _ as _slicedToArray } from './slicedToArray-a58d7edf.js';
19
19
  import Button from 'react-bootstrap/Button';
@@ -18,7 +18,7 @@ import './debounce-a0d9abca.js';
18
18
  import './index.es-29c1cef5.js';
19
19
  import 'react-dom';
20
20
  import './visibility-sensor-0baa4eea.js';
21
- import './index-3849e3fe.js';
21
+ import './index-73819142.js';
22
22
  import './index-5f9f807a.js';
23
23
  import './main-d7ee6151.js';
24
24
  import './entities-7cc3bf45.js';
@@ -29,7 +29,7 @@ import './_set-species-75f77d40.js';
29
29
  import './beam-c40d77ae.js';
30
30
  import './AdSlot.js';
31
31
  import './ADInfeed-541eaae3.js';
32
- import './lodash-ec8c6b48.js';
32
+ import './lodash-17fdfebb.js';
33
33
  import './ADlgInfeed-25c3d142.js';
34
34
  import './AuthorComponent-4ddf3533.js';
35
35
  import 'react-bootstrap';
@@ -37,35 +37,35 @@ import QueueDeckExpanded from './QueueDeckExpanded.js';
37
37
  import 'react-bootstrap/Breadcrumb';
38
38
  import Breadcrumbs from './Breadcrumbs.js';
39
39
 
40
- /* usage
41
- import Settings, { Ads } from '../../../../settings'
42
- import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
43
- import client from '../../../../client'
44
- import moment from 'moment'
45
- import Shell from '../../../../components/2.0/Shell'
46
- import { pageview } from '../../../../utilities/gtag'
47
-
48
- const Issue = (props) => {
49
- const { pubIssue, cache } = props
50
- const targeting = {
51
- content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
52
- document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
53
- }
54
- return (
55
- <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
56
- <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
57
- </Shell>
58
- )
59
- }
60
-
61
- Issue.getInitialProps = async (ctx) => {
62
- const { query } = ctx
63
- const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
64
- )
65
- return { pubIssue }
66
- }
67
-
68
- export default Issue
40
+ /* usage
41
+ import Settings, { Ads } from '../../../../settings'
42
+ import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
43
+ import client from '../../../../client'
44
+ import moment from 'moment'
45
+ import Shell from '../../../../components/2.0/Shell'
46
+ import { pageview } from '../../../../utilities/gtag'
47
+
48
+ const Issue = (props) => {
49
+ const { pubIssue, cache } = props
50
+ const targeting = {
51
+ content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
52
+ document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
53
+ }
54
+ return (
55
+ <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
56
+ <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
57
+ </Shell>
58
+ )
59
+ }
60
+
61
+ Issue.getInitialProps = async (ctx) => {
62
+ const { query } = ctx
63
+ const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
64
+ )
65
+ return { pubIssue }
66
+ }
67
+
68
+ export default Issue
69
69
  */
70
70
 
71
71
  var IssueLanding = function IssueLanding(props) {
@@ -1,25 +1,25 @@
1
1
  var KMTracker = function KMTracker(props) {
2
- var id = props.id;
2
+ var id = props.id;
3
3
 
4
- if (document && id) {
4
+ if (document && id) {
5
5
  (function () {
6
- var ecnJquery = document.createElement('script');
6
+ var ecnJquery = document.createElement('script');
7
7
 
8
- ecnJquery.type = 'text/javascript';
9
- ecnJquery.async = true;
10
- ecnJquery.src = 'https://apidt.ecn5.com/ECN_jQuery.min.js';
8
+ ecnJquery.type = 'text/javascript';
9
+ ecnJquery.async = true;
10
+ ecnJquery.src = 'https://apidt.ecn5.com/ECN_jQuery.min.js';
11
11
 
12
- var ecnScript = document.createElement('script');
12
+ var ecnScript = document.createElement('script');
13
13
 
14
- ecnScript.type = 'text/javascript';
15
- ecnScript.async = true;
16
- ecnScript.id = 'km-tracker';
17
- ecnScript.src = 'https://apidt.ecn5.com/ECN_tracker_Secure.js?TrackerKey=' + id;
14
+ ecnScript.type = 'text/javascript';
15
+ ecnScript.async = true;
16
+ ecnScript.id = 'km-tracker';
17
+ ecnScript.src = 'https://apidt.ecn5.com/ECN_tracker_Secure.js?TrackerKey=' + id;
18
18
 
19
- document.head.appendChild(ecnJquery);
20
- document.head.appendChild(ecnScript);
21
- })();
22
- }
19
+ document.head.appendChild(ecnJquery);
20
+ document.head.appendChild(ecnScript);
21
+ })();
22
+ }
23
23
  };
24
24
 
25
25
  export default KMTracker;
@@ -25,7 +25,7 @@ import { d as debounce_1 } from './debounce-a0d9abca.js';
25
25
  import { I as InfiniteScroll } from './index.es-29c1cef5.js';
26
26
  import 'react-dom';
27
27
  import { V as VisibilitySensor } from './visibility-sensor-0baa4eea.js';
28
- import './index-3849e3fe.js';
28
+ import './index-73819142.js';
29
29
  import { m as main_36 } from './main-d7ee6151.js';
30
30
  import './slicedToArray-a58d7edf.js';
31
31
  import './stringify-feadff37.js';
@@ -34,7 +34,7 @@ import './_set-species-75f77d40.js';
34
34
  import './beam-c40d77ae.js';
35
35
  import './AdSlot.js';
36
36
  import { A as ADInfeed } from './ADInfeed-541eaae3.js';
37
- import { l as lodash } from './lodash-ec8c6b48.js';
37
+ import { l as lodash } from './lodash-17fdfebb.js';
38
38
  import { A as ADlgInfeed } from './ADlgInfeed-25c3d142.js';
39
39
 
40
40
  var MasterDeck = function (_React$Component) {
@@ -191,14 +191,14 @@ var MasterDeck = function (_React$Component) {
191
191
  }
192
192
 
193
193
  // please leave this for later debug purpose : Yong Jun.
194
- /* console.log('page change reported', {
195
- currentPage: currentPage,
196
- pageNumber: pageNumber,
197
- pathname: pathname,
198
- path: path,
199
- newPath: newPath,
200
- firstPage: pageNumber === 1,
201
- queryString: queryString
194
+ /* console.log('page change reported', {
195
+ currentPage: currentPage,
196
+ pageNumber: pageNumber,
197
+ pathname: pathname,
198
+ path: path,
199
+ newPath: newPath,
200
+ firstPage: pageNumber === 1,
201
+ queryString: queryString
202
202
  }) */
203
203
 
204
204
  if (pageview) {