@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
@@ -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,24 +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
- // Setting the top of the search component based on the offset of navigation component.
105
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
106
82
  document.addEventListener('scroll', trackScrolling);
107
83
  return function () {
108
84
  document.removeEventListener('scroll', trackScrolling);
@@ -151,17 +127,13 @@ var HamMagazine = function HamMagazine(props) {
151
127
  }, [userAgent]);
152
128
 
153
129
  useEffect(function () {
154
- var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
130
+ var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
155
131
  var adSection = document.querySelector('.AD728x90');
156
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
157
-
158
- setTopHeight(mastHeadHeight);
159
- console.log('mastHeight Head:::::::::::::::::::', mastHeadHeight);
160
132
  if (window.pageYOffset > navOffsetTop) {
161
133
  if (navRef.current && navRef.current.style) {
162
134
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
163
135
  navRef.current.style.position = 'fixed';
164
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
136
+ navRef.current.style.top = 0;
165
137
  navRef.current.style.width = '100%';
166
138
  navRef.current.style.zIndex = '99999';
167
139
  }
@@ -171,17 +143,15 @@ var HamMagazine = function HamMagazine(props) {
171
143
  if (navRef.current && navRef.current.style) {
172
144
  topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
173
145
  navRef.current.style.position = 'fixed';
174
- if (mastHeadHeight) navRef.current.style.top = mastHeadHeight + 'px';
146
+ navRef.current.style.top = 0;
175
147
  navRef.current.style.width = '100%';
176
148
  navRef.current.style.zIndex = '99999';
177
149
  }
178
150
  } else {
179
151
  if (navRef.current && navRef.current.style) {
180
- var _mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight ? document.querySelector('.nav-brands').offsetHeight - 4 : 0;
181
-
182
152
  topNavRef.current.style.paddingBottom = '0';
183
153
  navRef.current.style.position = 'relative';
184
- if (_mastHeadHeight) navRef.current.style.top = _mastHeadHeight + 'px';
154
+ navRef.current.style.top = '';
185
155
  if (adSection) adSection.style.marginTop = '';
186
156
  }
187
157
  }
@@ -193,17 +163,11 @@ var HamMagazine = function HamMagazine(props) {
193
163
 
194
164
  var trackScrolling = function trackScrolling() {
195
165
  var offsetTop = navRef.current.getBoundingClientRect().top;
196
- var navLinks = document.getElementById('nav-links');
197
- var mastHeadHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight - 4;
198
- if (mastHeadHeight) offsetTop = offsetTop - mastHeadHeight;
166
+
199
167
  if (offsetTop <= 0) {
200
168
  setIsSticky(true);
201
- navLinks.style.margin = 'auto';
202
- navLinks.style.padding = '0px 8% 0px 0px';
203
169
  } else {
204
170
  setIsSticky(false);
205
- navLinks.style.margin = '0px auto 0px 0px';
206
- navLinks.style.padding = '0px';
207
171
  }
208
172
  };
209
173
 
@@ -223,130 +187,6 @@ var HamMagazine = function HamMagazine(props) {
223
187
  }
224
188
  };
225
189
 
226
- // Search function
227
- var submitSearch = function submitSearch(e) {
228
- e.preventDefault();
229
- window.location.href = '/search?searchTerm=' + searchKey;
230
- };
231
-
232
- // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
233
- var toggleClass = function toggleClass(selector, type, addOn) {
234
- if (type === 'id') {
235
- var searchBar = document.getElementById(selector);
236
- if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
237
- searchBar.classList.remove(addOn);
238
- } else if (searchBar && searchBar.classList) {
239
- searchBar.classList.add(addOn);
240
- }
241
- } else if (type === 'class') {
242
- var searchBtn = document.getElementsByClassName(selector)[0];
243
- if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
244
- searchBtn.classList.remove(addOn);
245
- } else if (searchBtn && searchBtn.classList) {
246
- searchBtn.classList.add(addOn);
247
- }
248
- }
249
- };
250
-
251
- // Search Component
252
- var socialSearchComponent = function socialSearchComponent(type) {
253
- if (type === 'mobile') {
254
- return React__default.createElement(
255
- 'div',
256
- { id: 'search-content-mobile' },
257
- React__default.createElement(
258
- 'div',
259
- { id: 'search-bar-mobile', ref: searchRef },
260
- React__default.createElement(
261
- Form,
262
- { inline: true, onSubmit: function onSubmit(e) {
263
- return submitSearch(e);
264
- } },
265
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
266
- return setSearchKey(e.target.value);
267
- } }),
268
- React__default.createElement(
269
- Button,
270
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
271
- return submitSearch(e);
272
- } },
273
- 'Search'
274
- )
275
- )
276
- ),
277
- React__default.createElement(
278
- IconContext.Provider,
279
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
280
- React__default.createElement(GoSearch, {
281
- onClick: function onClick() {
282
- var navToggle = document.getElementsByClassName('navbar-toggler')[0];
283
- if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
284
- var nav = document.querySelectorAll('.navbar-collapse');
285
- for (var i = 0; i < nav.length; i++) {
286
- if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
287
- }
288
- if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
289
- }
290
-
291
- toggleClass('search-bar-mobile', 'id', 'show');
292
- toggleClass('search-btn-mobile', 'class', 'active-search');
293
- }
294
- })
295
- ),
296
- React__default.createElement(
297
- 'style',
298
- { jsx: 'true' },
299
- '\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 '
300
- )
301
- );
302
- } else if (type === 'desktop') {
303
- return React__default.createElement(
304
- 'div',
305
- { id: 'search-content-desktop' },
306
- React__default.createElement(
307
- 'div',
308
- { id: 'search-bar-desktop' },
309
- React__default.createElement(
310
- Form,
311
- { inline: true, onSubmit: function onSubmit(e) {
312
- return submitSearch(e);
313
- } },
314
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
315
- return setSearchKey(e.target.value);
316
- } }),
317
- React__default.createElement(
318
- Button,
319
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
320
- return submitSearch(e);
321
- } },
322
- 'Search'
323
- )
324
- )
325
- ),
326
- React__default.createElement(
327
- IconContext.Provider,
328
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
329
- React__default.createElement(GoSearch, {
330
- onClick: function onClick() {
331
- toggleClass('search-bar-desktop', 'id', 'show');
332
- toggleClass('search-btn-desktop', 'class', 'active-search');
333
- }
334
- })
335
- ),
336
- website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
337
- 'div',
338
- { id: 'social-tab-desktop', style: { display: 'flex' } },
339
- website.socialLinks && React__default.createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
340
- ),
341
- React__default.createElement(
342
- 'style',
343
- { jsx: 'true' },
344
- '\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 '
345
- )
346
- );
347
- }
348
- };
349
-
350
190
  return React__default.createElement(
351
191
  'header',
352
192
  { className: !main_36 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
@@ -465,43 +305,21 @@ var HamMagazine = function HamMagazine(props) {
465
305
  ),
466
306
  React__default.createElement(
467
307
  Navbar,
468
- { 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%' } },
469
309
  React__default.createElement(
470
310
  Container,
471
311
  { className: 'mobile-nav' },
472
312
  React__default.createElement(
473
313
  'div',
474
- { className: 'nav-toggle', style: { display: 'flex' } },
314
+ { className: 'nav-toggle' },
475
315
  React__default.createElement(Navbar.Toggle, {
476
316
  'aria-controls': 'basic-navbar-nav',
477
317
  onClick: function onClick() {
478
- var searchBar = document.getElementById('search-bar-mobile');
479
- var searchBtn = document.getElementsByClassName('search-btn-mobile');
480
- if (searchBar && searchBar.classList) {
481
- searchBar.classList.remove('show');
482
- }
483
- if (searchBtn && searchBtn[0].classList) {
484
- searchBtn[0].classList.remove('active-search');
485
- }
486
318
  setIsOpen(!isOpen);
487
319
  }
488
320
  }),
489
- React__default.createElement(
490
- 'div',
491
- { className: 'site-logo-wrapper', style: { display: 'none' } },
492
- React__default.createElement(
493
- 'a',
494
- { href: '/' },
495
- invertedLogo ? React__default.createElement('img', { src: invertedLogo, style: { padding: '0px ' } }) : React__default.createElement('img', { src: logo, style: { padding: '0px ' } })
496
- ),
497
- React__default.createElement(
498
- 'style',
499
- { jsx: 'true' },
500
- '\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 '
501
- )
502
- )
321
+ React__default.createElement(Search, { device: 'mobile' })
503
322
  ),
504
- socialSearchComponent('mobile'),
505
323
  React__default.createElement(
506
324
  'div',
507
325
  { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '80vh' } },
@@ -574,18 +392,14 @@ var HamMagazine = function HamMagazine(props) {
574
392
  React__default.createElement(
575
393
  Navbar.Collapse,
576
394
  { id: 'basic-navbar-nav' },
577
- isSticky && invertedLogo && React__default.createElement(
578
- Nav.Item,
579
- { className: 'nav-mobile-logo' },
580
- React__default.createElement(
581
- 'a',
582
- { href: '/' },
583
- React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
584
- )
395
+ isSticky && React__default.createElement(
396
+ 'a',
397
+ { href: '/' },
398
+ React__default.createElement(IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
585
399
  ),
586
400
  React__default.createElement(
587
401
  Nav,
588
- { id: 'nav-links', style: { marginRight: 'auto' } },
402
+ { className: 'mr-auto web-nav' },
589
403
  dataObject && dataObject.map(function (row, index) {
590
404
  if (row.subQuery && row.subQuery.length > 0) {
591
405
  return row.name ? React__default.createElement(
@@ -642,7 +456,8 @@ var HamMagazine = function HamMagazine(props) {
642
456
  ) : null;
643
457
  }
644
458
  })
645
- )
459
+ ),
460
+ React__default.createElement(Search, { device: 'mobile' })
646
461
  ),
647
462
  website && React__default.createElement(
648
463
  Navbar.Collapse,
@@ -652,8 +467,7 @@ var HamMagazine = function HamMagazine(props) {
652
467
  { className: 'mr-auto' },
653
468
  socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter, { website: website, showLogo: true })
654
469
  )
655
- ),
656
- socialSearchComponent('desktop')
470
+ )
657
471
  )
658
472
  )
659
473
  ),
@@ -669,7 +483,7 @@ var HamMagazine = function HamMagazine(props) {
669
483
  React__default.createElement(
670
484
  'style',
671
485
  { jsx: 'true' },
672
- '\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 '
673
487
  )
674
488
  );
675
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) {