@mjhls/mjh-framework 1.0.537 → 1.0.540

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 (166) hide show
  1. package/README.md +172 -172
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +3 -3
  4. package/dist/cjs/AD300x250x600.js +3 -3
  5. package/dist/cjs/AD728x90.js +5 -5
  6. package/dist/cjs/ADFloatingFooter.js +5 -5
  7. package/dist/cjs/ADGutter.js +2 -2
  8. package/dist/cjs/ADSponsoredResources.js +2 -2
  9. package/dist/cjs/ADWebcast.js +2 -2
  10. package/dist/cjs/ADWelcome.js +2 -2
  11. package/dist/cjs/AccordionPanel.js +2 -2
  12. package/dist/cjs/AdSlot.js +2 -2
  13. package/dist/cjs/AdSlotsProvider.js +1 -1
  14. package/dist/cjs/ArticleQueue.js +10 -10
  15. package/dist/cjs/Auth.js +507 -256
  16. package/dist/cjs/{BlockContent-77f81ffc.js → BlockContent-f942392e.js} +1 -1
  17. package/dist/cjs/CMEDeck.js +5 -5
  18. package/dist/cjs/Column3.js +4 -4
  19. package/dist/cjs/ConferenceArticleCard.js +17 -17
  20. package/dist/cjs/DeckContent.js +15 -15
  21. package/dist/cjs/DeckQueue.js +6 -6
  22. package/dist/cjs/{Dfp-fcdeabc4.js → Dfp-fbe32b96.js} +1 -1
  23. package/dist/cjs/EventsDeck.js +22 -22
  24. package/dist/cjs/ExternalResources.js +6 -6
  25. package/dist/cjs/Feature.js +3 -3
  26. package/dist/cjs/ForbesHero.js +2 -2
  27. package/dist/cjs/GridContent.js +10 -10
  28. package/dist/cjs/GridHero.js +2 -2
  29. package/dist/cjs/GroupDeck.js +5 -5
  30. package/dist/cjs/HamMagazine.js +218 -39
  31. package/dist/cjs/Hero.js +1 -1
  32. package/dist/cjs/HorizontalHero.js +5 -5
  33. package/dist/cjs/IssueContentDeck.js +2 -2
  34. package/dist/cjs/IssueDeck.js +2 -2
  35. package/dist/cjs/IssueLanding.js +36 -36
  36. package/dist/cjs/KMTracker.js +15 -15
  37. package/dist/cjs/LeftNav.js +2 -2
  38. package/dist/cjs/MasterDeck.js +20 -23
  39. package/dist/cjs/NavDvm.js +214 -14
  40. package/dist/cjs/NavMagazine.js +212 -25
  41. package/dist/cjs/NavNative.js +201 -24
  42. package/dist/cjs/NavNormal.js +229 -10
  43. package/dist/cjs/OncliveHero.js +4 -4
  44. package/dist/cjs/OncliveLargeHero.js +2 -2
  45. package/dist/cjs/PartnerDetailListing.js +14 -1210
  46. package/dist/cjs/PdfDownload.js +2 -2
  47. package/dist/cjs/PublicationDeck.js +1 -1
  48. package/dist/cjs/PublicationLanding.js +41 -34
  49. package/dist/cjs/QueueDeckExpanded.js +9 -9
  50. package/dist/cjs/RelatedContent.js +30 -30
  51. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  52. package/dist/cjs/SideFooter.js +2 -2
  53. package/dist/cjs/TaxonomyCard.js +2 -2
  54. package/dist/cjs/TemplateNormal.js +9 -9
  55. package/dist/cjs/ThumbnailCard.js +1 -1
  56. package/dist/cjs/Ustream.js +7 -7
  57. package/dist/cjs/VerticalHero.js +2 -2
  58. package/dist/cjs/VideoSeriesFilter.js +1 -1
  59. package/dist/cjs/VideoSeriesListing.js +6 -6
  60. package/dist/cjs/View.js +38 -38
  61. package/dist/cjs/YahooHero.js +2 -2
  62. package/dist/cjs/YoutubeGroup.js +5 -5
  63. package/dist/cjs/getQuery.js +1 -1
  64. package/dist/cjs/getRelatedArticle.js +6 -355
  65. package/dist/cjs/getSerializers.js +449 -437
  66. package/dist/cjs/{getTargeting-3d208b98.js → getTargeting-b15993cb.js} +11 -11
  67. package/dist/cjs/getTargeting.js +1 -1
  68. package/dist/cjs/{iconBase-637d3f1e.js → iconBase-68959171.js} +1 -0
  69. package/dist/cjs/{index-3294d3bc.js → index-5be2866f.js} +1 -1
  70. package/dist/cjs/{index-be0c82be.js → index-b5eb3ff8.js} +20 -19
  71. package/dist/cjs/{index-fa3cec70.js → index-f7ee1612.js} +4 -6
  72. package/dist/cjs/{index.es-9110add6.js → index.es-ab3f2690.js} +3 -1
  73. package/dist/cjs/index.esm-0e5c6a9e.js +11 -0
  74. package/dist/cjs/{index.esm-c0d8b44b.js → index.esm-66ffa47a.js} +1 -1
  75. package/dist/cjs/{index.esm-25423c2f.js → index.esm-89fabc47.js} +1 -1
  76. package/dist/cjs/{index.esm-fcdbd2c6.js → index.esm-fbd1f7e9.js} +1 -1
  77. package/dist/cjs/index.js +23 -21
  78. package/dist/cjs/{main-88348b15.js → main-bc4db521.js} +66 -35
  79. package/dist/cjs/{moment-575fe24c.js → moment-66a6a284.js} +1 -1
  80. package/dist/cjs/urlFor.js +2 -2
  81. package/dist/esm/AD.js +1 -1
  82. package/dist/esm/AD300x250.js +3 -3
  83. package/dist/esm/AD300x250x600.js +3 -3
  84. package/dist/esm/AD728x90.js +5 -5
  85. package/dist/esm/ADFloatingFooter.js +5 -5
  86. package/dist/esm/ADGutter.js +2 -2
  87. package/dist/esm/ADSponsoredResources.js +2 -2
  88. package/dist/esm/ADWebcast.js +2 -2
  89. package/dist/esm/ADWelcome.js +2 -2
  90. package/dist/esm/AccordionPanel.js +2 -2
  91. package/dist/esm/AdSlot.js +2 -2
  92. package/dist/esm/AdSlotsProvider.js +1 -1
  93. package/dist/esm/ArticleQueue.js +10 -10
  94. package/dist/esm/Auth.js +499 -248
  95. package/dist/esm/{BlockContent-e9b4ddcf.js → BlockContent-a614acdf.js} +1 -1
  96. package/dist/esm/CMEDeck.js +5 -5
  97. package/dist/esm/Column3.js +4 -4
  98. package/dist/esm/ConferenceArticleCard.js +17 -17
  99. package/dist/esm/DeckContent.js +15 -15
  100. package/dist/esm/DeckQueue.js +6 -6
  101. package/dist/esm/{Dfp-81a052c2.js → Dfp-ae9336e2.js} +1 -1
  102. package/dist/esm/EventsDeck.js +22 -22
  103. package/dist/esm/ExternalResources.js +6 -6
  104. package/dist/esm/Feature.js +3 -3
  105. package/dist/esm/ForbesHero.js +2 -2
  106. package/dist/esm/GridContent.js +10 -10
  107. package/dist/esm/GridHero.js +2 -2
  108. package/dist/esm/GroupDeck.js +5 -5
  109. package/dist/esm/HamMagazine.js +218 -39
  110. package/dist/esm/Hero.js +1 -1
  111. package/dist/esm/HorizontalHero.js +4 -4
  112. package/dist/esm/IssueContentDeck.js +2 -2
  113. package/dist/esm/IssueDeck.js +2 -2
  114. package/dist/esm/IssueLanding.js +36 -36
  115. package/dist/esm/KMTracker.js +15 -15
  116. package/dist/esm/LeftNav.js +2 -2
  117. package/dist/esm/MasterDeck.js +20 -23
  118. package/dist/esm/NavDvm.js +215 -15
  119. package/dist/esm/NavMagazine.js +212 -25
  120. package/dist/esm/NavNative.js +201 -24
  121. package/dist/esm/NavNormal.js +230 -11
  122. package/dist/esm/OncliveHero.js +4 -4
  123. package/dist/esm/OncliveLargeHero.js +2 -2
  124. package/dist/esm/PartnerDetailListing.js +12 -1208
  125. package/dist/esm/PdfDownload.js +2 -2
  126. package/dist/esm/PublicationDeck.js +1 -1
  127. package/dist/esm/PublicationLanding.js +41 -34
  128. package/dist/esm/QueueDeckExpanded.js +9 -9
  129. package/dist/esm/RelatedContent.js +30 -30
  130. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  131. package/dist/esm/SideFooter.js +2 -2
  132. package/dist/esm/TaxonomyCard.js +2 -2
  133. package/dist/esm/TemplateNormal.js +9 -9
  134. package/dist/esm/ThumbnailCard.js +1 -1
  135. package/dist/esm/Ustream.js +5 -5
  136. package/dist/esm/VerticalHero.js +2 -2
  137. package/dist/esm/VideoSeriesFilter.js +1 -1
  138. package/dist/esm/VideoSeriesListing.js +6 -6
  139. package/dist/esm/View.js +13 -13
  140. package/dist/esm/YahooHero.js +2 -2
  141. package/dist/esm/YoutubeGroup.js +5 -5
  142. package/dist/esm/getQuery.js +1 -1
  143. package/dist/esm/getRelatedArticle.js +6 -355
  144. package/dist/esm/getSerializers.js +449 -437
  145. package/dist/esm/{getTargeting-1f2c61e3.js → getTargeting-1a0bd08d.js} +9 -9
  146. package/dist/esm/getTargeting.js +1 -1
  147. package/dist/esm/{iconBase-6ee2f2fb.js → iconBase-602d52fe.js} +1 -1
  148. package/dist/esm/{index-73819142.js → index-51a80699.js} +20 -19
  149. package/dist/esm/{index-3f4dd6f2.js → index-93ec3c59.js} +4 -6
  150. package/dist/esm/{index-ef6d5dcf.js → index-d2f90501.js} +1 -1
  151. package/dist/esm/{index.es-29c1cef5.js → index.es-938a3a58.js} +3 -1
  152. package/dist/esm/index.esm-16536e81.js +9 -0
  153. package/dist/esm/{index.esm-b97cf389.js → index.esm-4b1d94b7.js} +1 -1
  154. package/dist/esm/{index.esm-a7ad65ba.js → index.esm-9a4c8813.js} +1 -1
  155. package/dist/esm/{index.esm-9d6faf80.js → index.esm-b08f4b04.js} +1 -1
  156. package/dist/esm/index.js +21 -19
  157. package/dist/esm/{main-d7ee6151.js → main-7255814e.js} +65 -34
  158. package/dist/esm/{moment-e2f9b20c.js → moment-12415288.js} +1 -1
  159. package/dist/esm/urlFor.js +2 -2
  160. package/package.json +107 -107
  161. package/dist/cjs/index-bd6c9f56.js +0 -211
  162. package/dist/esm/index-db3bb315.js +0 -207
  163. /package/dist/cjs/{ADInfeed-d8e47444.js → ADInfeed-3404200f.js} +0 -0
  164. /package/dist/cjs/{ADlgInfeed-947c3a47.js → ADlgInfeed-2611e1a9.js} +0 -0
  165. /package/dist/esm/{ADInfeed-2eb234ae.js → ADInfeed-27674dc6.js} +0 -0
  166. /package/dist/esm/{ADlgInfeed-17c13711.js → ADlgInfeed-43060a77.js} +0 -0
@@ -7,36 +7,36 @@ import './web.dom.iterable-46c95e52.js';
7
7
  import React__default, { useRef, useState, useEffect } from 'react';
8
8
  import 'prop-types';
9
9
  import Container from 'react-bootstrap/Container';
10
- import { m as main_36 } from './main-d7ee6151.js';
10
+ import { m as main_39 } from './main-7255814e.js';
11
11
  import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
12
12
  import './stringify-e30bc114.js';
13
13
  import './asyncToGenerator-0379e924.js';
14
14
  import './_set-species-6f64f1c1.js';
15
15
  import { S as Segment } from './beam-a25bd8fd.js';
16
- import './react-social-icons-a7d5c5c7.js';
17
- import './iconBase-6ee2f2fb.js';
18
- import { b as IoMdLogIn, c as IoIosHome } from './index.esm-b97cf389.js';
19
- import 'react-bootstrap/Button';
16
+ import { r as reactSocialIcons_1 } from './react-social-icons-a7d5c5c7.js';
17
+ import { I as IconContext } from './iconBase-602d52fe.js';
18
+ import { b as IoMdLogIn, c as IoIosHome } from './index.esm-4b1d94b7.js';
19
+ import Button from '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
- import { M as MdEmail } from './index.esm-9d6faf80.js';
24
- import 'react-bootstrap/Form';
25
- import 'react-bootstrap/FormControl';
26
- import Search from './Search.js';
23
+ import { M as MdEmail } from './index.esm-b08f4b04.js';
27
24
  import { N as NavFooter } from './NavFooter-e27bd93b.js';
28
25
  import { S as SocialNavFooter } from './SocialNavFooter-4fb16720.js';
26
+ import { G as GoSearch } from './index.esm-16536e81.js';
27
+ import Form from 'react-bootstrap/Form';
28
+ import FormControl from 'react-bootstrap/FormControl';
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
42
  var logo = props.logo,
@@ -52,33 +52,44 @@ var HamMagazine = function HamMagazine(props) {
52
52
 
53
53
  var navRef = useRef(null);
54
54
  var topNavRef = useRef(null);
55
+ // reference to mobile search component
56
+ var searchRef = useRef(null);
57
+ // Search Term
55
58
 
56
- var _useState = useState(false),
59
+ var _useState = useState(''),
57
60
  _useState2 = _slicedToArray(_useState, 2),
58
- isSticky = _useState2[0],
59
- setIsSticky = _useState2[1];
61
+ searchKey = _useState2[0],
62
+ setSearchKey = _useState2[1];
60
63
 
61
- var _useState3 = useState(0),
64
+ var _useState3 = useState(false),
62
65
  _useState4 = _slicedToArray(_useState3, 2),
63
- screenWidth = _useState4[0],
64
- setScreenWidth = _useState4[1];
66
+ isSticky = _useState4[0],
67
+ setIsSticky = _useState4[1];
65
68
 
66
- var _useState5 = useState(null),
69
+ var _useState5 = useState(0),
67
70
  _useState6 = _slicedToArray(_useState5, 2),
68
- userAgent = _useState6[0],
69
- setUserAgent = _useState6[1];
71
+ screenWidth = _useState6[0],
72
+ setScreenWidth = _useState6[1];
70
73
 
71
- var _useState7 = useState(false),
74
+ var _useState7 = useState(null),
72
75
  _useState8 = _slicedToArray(_useState7, 2),
73
- isOpen = _useState8[0],
74
- setIsOpen = _useState8[1];
76
+ userAgent = _useState8[0],
77
+ setUserAgent = _useState8[1];
75
78
 
76
- var _useState9 = useState(0),
79
+ var _useState9 = useState(false),
77
80
  _useState10 = _slicedToArray(_useState9, 2),
78
- resolution = _useState10[0],
79
- setResolution = _useState10[1];
81
+ isOpen = _useState10[0],
82
+ setIsOpen = _useState10[1];
83
+
84
+ var _useState11 = useState(0),
85
+ _useState12 = _slicedToArray(_useState11, 2),
86
+ resolution = _useState12[0],
87
+ setResolution = _useState12[1];
80
88
 
81
89
  useEffect(function () {
90
+ // Setting the top of the search component based on the offset of navigation component.
91
+ searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
92
+
82
93
  document.addEventListener('scroll', trackScrolling);
83
94
  return function () {
84
95
  document.removeEventListener('scroll', trackScrolling);
@@ -136,6 +147,11 @@ var HamMagazine = function HamMagazine(props) {
136
147
  navRef.current.style.top = 0;
137
148
  navRef.current.style.width = '100%';
138
149
  navRef.current.style.zIndex = '99999';
150
+ // Making the search Sticky on scroll
151
+ searchRef.current.style.position = 'fixed';
152
+ searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
153
+ searchRef.current.style.zIndex = '99999';
154
+ searchRef.current.style.width = '100%';
139
155
  }
140
156
  }
141
157
  var stickyNav = window.addEventListener('scroll', function () {
@@ -146,13 +162,22 @@ var HamMagazine = function HamMagazine(props) {
146
162
  navRef.current.style.top = 0;
147
163
  navRef.current.style.width = '100%';
148
164
  navRef.current.style.zIndex = '99999';
165
+ // Making the search Sticky on scroll
166
+ searchRef.current.style.position = 'fixed';
167
+ searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
168
+ searchRef.current.style.zIndex = '99999';
169
+ searchRef.current.style.width = '100%';
149
170
  }
150
171
  } else {
151
172
  if (navRef.current && navRef.current.style) {
152
173
  topNavRef.current.style.paddingBottom = '0';
153
174
  navRef.current.style.position = 'relative';
154
- navRef.current.style.top = '';
175
+ navRef.current.style.top = '-4px';
155
176
  if (adSection) adSection.style.marginTop = '';
177
+ // Making the search Sticky on scroll
178
+ searchRef.current.style.position = 'fixed';
179
+ searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
180
+ searchRef.current.style.width = '100%';
156
181
  }
157
182
  }
158
183
  });
@@ -186,10 +211,142 @@ var HamMagazine = function HamMagazine(props) {
186
211
  console.error('GCN not defined');
187
212
  }
188
213
  };
214
+ // Search function
215
+ var submitSearch = function submitSearch(e) {
216
+ e.preventDefault();
217
+ window.location.href = '/search?searchTerm=' + searchKey;
218
+ };
219
+
220
+ // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
221
+ var toggleClass = function toggleClass(selector, type, addOn) {
222
+ if (type === 'id') {
223
+ var searchBar = document.getElementById(selector);
224
+ if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
225
+ searchBar.classList.remove(addOn);
226
+ } else if (searchBar && searchBar.classList) {
227
+ searchBar.classList.add(addOn);
228
+ }
229
+ } else if (type === 'class') {
230
+ var searchBtn = document.getElementsByClassName(selector)[0];
231
+ if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
232
+ searchBtn.classList.remove(addOn);
233
+ } else if (searchBtn && searchBtn.classList) {
234
+ searchBtn.classList.add(addOn);
235
+ }
236
+ }
237
+ };
238
+
239
+ // Search Component
240
+ var socialSearchComponent = function socialSearchComponent(type) {
241
+ if (type === 'mobile') {
242
+ return React__default.createElement(
243
+ 'div',
244
+ { id: 'search-content-mobile' },
245
+ React__default.createElement(
246
+ 'div',
247
+ { id: 'search-bar-mobile', ref: searchRef },
248
+ React__default.createElement(
249
+ Form,
250
+ { inline: true, onSubmit: function onSubmit(e) {
251
+ return submitSearch(e);
252
+ } },
253
+ React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
254
+ return setSearchKey(e.target.value);
255
+ } }),
256
+ React__default.createElement(
257
+ Button,
258
+ { variant: 'primary', style: { backgroundColor: 'var(--primary)' }, onClick: function onClick(e) {
259
+ return submitSearch(e);
260
+ } },
261
+ 'Search'
262
+ )
263
+ )
264
+ ),
265
+ React__default.createElement(
266
+ IconContext.Provider,
267
+ { value: { color: 'white', className: 'search-btn-mobile', size: '50px' } },
268
+ React__default.createElement(GoSearch, {
269
+ onClick: function onClick() {
270
+ var navToggle = document.getElementsByClassName('navbar-toggler')[0];
271
+ if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
272
+ var nav = document.querySelectorAll('.navbar-collapse');
273
+ for (var i = 0; i < nav.length; i++) {
274
+ if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
275
+ }
276
+ if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
277
+ }
278
+
279
+ toggleClass('search-bar-mobile', 'id', 'show');
280
+ toggleClass('search-btn-mobile', 'class', 'active-search');
281
+ }
282
+ })
283
+ ),
284
+ React__default.createElement(
285
+ 'style',
286
+ { jsx: 'true' },
287
+ '\n #search-content-mobile {\n display: flex;\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: 45px;\n width: 45px;\n margin-top: 4px;\n cursor: pointer;\n }\n #search-content-mobile #search-bar-mobile {\n position: fixed;\n display: none;\n background-color: #60bdcd;\n left: 0px;\n width: 100%;\n border-radius: 5px;\n padding: 10px;\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 background-color: #60bdcd;\n border: 1px solid var(--secondary);\n }\n '
288
+ )
289
+ );
290
+ } else if (type === 'desktop') {
291
+ return React__default.createElement(
292
+ 'div',
293
+ { id: 'search-content-desktop' },
294
+ React__default.createElement(
295
+ 'div',
296
+ { id: 'search-bar-desktop' },
297
+ React__default.createElement(
298
+ Form,
299
+ { inline: true, onSubmit: function onSubmit(e) {
300
+ return submitSearch(e);
301
+ } },
302
+ React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
303
+ return setSearchKey(e.target.value);
304
+ } }),
305
+ React__default.createElement(
306
+ Button,
307
+ { variant: 'primary', style: { backgroundColor: 'var(--primary)' }, onClick: function onClick(e) {
308
+ return submitSearch(e);
309
+ } },
310
+ 'Search'
311
+ )
312
+ )
313
+ ),
314
+ React__default.createElement(
315
+ IconContext.Provider,
316
+ { value: { color: 'white', className: 'search-btn-desktop', size: '50px' } },
317
+ React__default.createElement(GoSearch, {
318
+ onClick: function onClick() {
319
+ toggleClass('search-bar-desktop', 'id', 'show');
320
+ toggleClass('search-btn-desktop', 'class', 'active-search');
321
+ }
322
+ })
323
+ ),
324
+ website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
325
+ 'div',
326
+ { id: 'social-tab-desktop' },
327
+ website.socialLinks && website.socialLinks.map(function (row, index) {
328
+ return React__default.createElement(reactSocialIcons_1, {
329
+ target: row.blank ? '_blank' : '_self',
330
+ rel: 'noopener noreferrer',
331
+ key: index,
332
+ index: index,
333
+ url: row.url,
334
+ style: { width: 25, height: 25, marginRight: 3 }
335
+ });
336
+ })
337
+ ),
338
+ React__default.createElement(
339
+ 'style',
340
+ { jsx: 'true' },
341
+ '\n #social-tab-desktops {\n position: relative;\n display: flex;\n left: 0px;\n }\n @media screen and (max-width: 1199px) {\n #search-content-desktop {\n display: none !important;\n }\n }\n #search-content-desktop {\n display: flex;\n padding-top: 1px;\n height: 35px;\n position: absolute;\n right: 5%;\n }\n #search-content-desktop .search-btn-desktop {\n padding: 5px;\n height: 30px;\n width: 30px;\n margin: -1px 5px 0px 0px;\n cursor: pointer;\n }\n\n #search-content-desktop #search-bar-desktop {\n display: none;\n background-color: #60bdcd;\n position: relative;\n width: 400px;\n border-radius: 5px;\n height: 48px;\n top: 45px;\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 background-color: #60bdcd;\n border: 1px solid var(--secondary);\n }\n '
342
+ )
343
+ );
344
+ }
345
+ };
189
346
 
190
347
  return React__default.createElement(
191
348
  'header',
192
- { className: !main_36 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
349
+ { className: !main_39 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
193
350
  React__default.createElement(
194
351
  Navbar,
195
352
  { expand: 'md', ref: topNavRef },
@@ -305,7 +462,7 @@ var HamMagazine = function HamMagazine(props) {
305
462
  ),
306
463
  React__default.createElement(
307
464
  Navbar,
308
- { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%' } },
465
+ { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%', top: '-4px' } },
309
466
  React__default.createElement(
310
467
  Container,
311
468
  { className: 'mobile-nav' },
@@ -315,10 +472,32 @@ var HamMagazine = function HamMagazine(props) {
315
472
  React__default.createElement(Navbar.Toggle, {
316
473
  'aria-controls': 'basic-navbar-nav',
317
474
  onClick: function onClick() {
475
+ var searchBar = document.getElementById('search-bar-mobile');
476
+ var searchBtn = document.getElementsByClassName('search-btn-mobile');
477
+ if (searchBar && searchBar.classList) {
478
+ searchBar.classList.remove('show');
479
+ }
480
+ if (searchBtn && searchBtn[0].classList) {
481
+ searchBtn[0].classList.remove('active-search');
482
+ }
318
483
  setIsOpen(!isOpen);
319
484
  }
320
485
  }),
321
- React__default.createElement(Search, { device: 'mobile' })
486
+ React__default.createElement(
487
+ 'div',
488
+ { className: 'site-logo-wrapper', style: { display: 'none' } },
489
+ React__default.createElement(
490
+ 'a',
491
+ { href: '/' },
492
+ React__default.createElement('img', { src: logo })
493
+ ),
494
+ React__default.createElement(
495
+ 'style',
496
+ { jsx: 'true' },
497
+ '\n @media screen and (max-width: 1199px) {\n .site-logo-wrapper {\n display: block !important;\n margin: 10px auto 0px;\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: 420px) {\n .site-logo-wrapper img {\n max-width: 200px;\n }\n }\n '
498
+ )
499
+ ),
500
+ socialSearchComponent('mobile')
322
501
  ),
323
502
  React__default.createElement(
324
503
  'div',
@@ -457,7 +636,7 @@ var HamMagazine = function HamMagazine(props) {
457
636
  }
458
637
  })
459
638
  ),
460
- React__default.createElement(Search, { device: 'mobile' })
639
+ socialSearchComponent('desktop')
461
640
  ),
462
641
  website && React__default.createElement(
463
642
  Navbar.Collapse,
@@ -483,7 +662,7 @@ var HamMagazine = function HamMagazine(props) {
483
662
  React__default.createElement(
484
663
  'style',
485
664
  { jsx: 'true' },
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 }\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 '
665
+ '\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 display: flex;\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 }\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 '
487
666
  )
488
667
  );
489
668
  };
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-73819142.js';
3
+ import { i as imageUrlBuilder } from './index-51a80699.js';
4
4
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
5
5
  import { Card } from 'react-bootstrap';
6
6
 
@@ -1,9 +1,9 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
2
  import React__default from 'react';
3
- import './moment-e2f9b20c.js';
4
- import { i as imageUrlBuilder } from './index-73819142.js';
5
- import './iconBase-6ee2f2fb.js';
6
- import { a as FaLongArrowAltRight } from './index.esm-a7ad65ba.js';
3
+ import './moment-12415288.js';
4
+ import { i as imageUrlBuilder } from './index-51a80699.js';
5
+ import './iconBase-602d52fe.js';
6
+ import { a as FaLongArrowAltRight } from './index.esm-9a4c8813.js';
7
7
 
8
8
  var HorizontalHero = function HorizontalHero(props) {
9
9
  var client = props.client;
@@ -7,9 +7,9 @@ import 'prop-types';
7
7
  import Row from 'react-bootstrap/Row';
8
8
  import Col from 'react-bootstrap/Col';
9
9
  import Card from 'react-bootstrap/Card';
10
- import { m as moment } from './moment-e2f9b20c.js';
10
+ import { m as moment } from './moment-12415288.js';
11
11
  import 'react-dom';
12
- import { i as imageUrlBuilder } from './index-73819142.js';
12
+ import { i as imageUrlBuilder } from './index-51a80699.js';
13
13
  import { L as LazyLoad } from './index-5f9f807a.js';
14
14
  import './slicedToArray-f1e40361.js';
15
15
  import { A as AuthorComponent } from './AuthorComponent-158226c9.js';
@@ -12,9 +12,9 @@ import 'prop-types';
12
12
  import Row from 'react-bootstrap/Row';
13
13
  import Col from 'react-bootstrap/Col';
14
14
  import Card from 'react-bootstrap/Card';
15
- import { I as InfiniteScroll } from './index.es-29c1cef5.js';
15
+ import { I as InfiniteScroll } from './index.es-938a3a58.js';
16
16
  import 'react-dom';
17
- import { i as imageUrlBuilder } from './index-73819142.js';
17
+ import { i as imageUrlBuilder } from './index-51a80699.js';
18
18
  import { L as LazyLoad } from './index-5f9f807a.js';
19
19
  import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
20
20
  import Button from 'react-bootstrap/Button';
@@ -9,19 +9,19 @@ import './_object-pie-33c40e79.js';
9
9
  import './extends-6e00b262.js';
10
10
  import './web.dom.iterable-46c95e52.js';
11
11
  import React__default from 'react';
12
- import './index-3f4dd6f2.js';
12
+ import './index-93ec3c59.js';
13
13
  import 'prop-types';
14
14
  import 'react-bootstrap/Card';
15
- import './moment-e2f9b20c.js';
15
+ import './moment-12415288.js';
16
16
  import 'next/router';
17
17
  import './isSymbol-b7b7434f.js';
18
18
  import './debounce-048d9cb6.js';
19
- import './index.es-29c1cef5.js';
19
+ import './index.es-938a3a58.js';
20
20
  import 'react-dom';
21
21
  import './visibility-sensor-0baa4eea.js';
22
- import './index-73819142.js';
22
+ import './index-51a80699.js';
23
23
  import './index-5f9f807a.js';
24
- import './main-d7ee6151.js';
24
+ import './main-7255814e.js';
25
25
  import './entities-7cc3bf45.js';
26
26
  import './slicedToArray-f1e40361.js';
27
27
  import './stringify-e30bc114.js';
@@ -29,44 +29,44 @@ import './asyncToGenerator-0379e924.js';
29
29
  import './_set-species-6f64f1c1.js';
30
30
  import './beam-a25bd8fd.js';
31
31
  import './AdSlot.js';
32
- import './ADInfeed-2eb234ae.js';
32
+ import './ADInfeed-27674dc6.js';
33
33
  import './lodash-17fdfebb.js';
34
- import './ADlgInfeed-17c13711.js';
34
+ import './ADlgInfeed-43060a77.js';
35
35
  import './AuthorComponent-158226c9.js';
36
36
  import 'react-bootstrap';
37
37
  import QueueDeckExpanded from './QueueDeckExpanded.js';
38
38
  import 'react-bootstrap/Breadcrumb';
39
39
  import Breadcrumbs from './Breadcrumbs.js';
40
40
 
41
- /* usage
42
- import Settings, { Ads } from '../../../../settings'
43
- import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
44
- import client from '../../../../client'
45
- import moment from 'moment'
46
- import Shell from '../../../../components/2.0/Shell'
47
- import { pageview } from '../../../../utilities/gtag'
48
-
49
- const Issue = (props) => {
50
- const { pubIssue, cache } = props
51
- const targeting = {
52
- content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
53
- document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
54
- }
55
- return (
56
- <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
57
- <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
58
- </Shell>
59
- )
60
- }
61
-
62
- Issue.getInitialProps = async (ctx) => {
63
- const { query } = ctx
64
- const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
65
- )
66
- return { pubIssue }
67
- }
68
-
69
- export default Issue
41
+ /* usage
42
+ import Settings, { Ads } from '../../../../settings'
43
+ import { IssueLanding, getQuery } from '@mjhls/mjh-framework'
44
+ import client from '../../../../client'
45
+ import moment from 'moment'
46
+ import Shell from '../../../../components/2.0/Shell'
47
+ import { pageview } from '../../../../utilities/gtag'
48
+
49
+ const Issue = (props) => {
50
+ const { pubIssue, cache } = props
51
+ const targeting = {
52
+ content_placement: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
53
+ document_url: [`/publications/${pubIssue.identifier.current}/${pubIssue.issue.identifier.current}`],
54
+ }
55
+ return (
56
+ <Shell cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3' title={pubIssue.issue.name}>
57
+ <IssueLanding pubIssue={pubIssue} client={client} settings={Settings} pageview={pageview} rightItems={Ads.getMobileAds(targeting)} />
58
+ </Shell>
59
+ )
60
+ }
61
+
62
+ Issue.getInitialProps = async (ctx) => {
63
+ const { query } = ctx
64
+ const pubIssue = await client.fetch(getQuery('issue'), { ...query, currentDate: moment().utc().format() }
65
+ )
66
+ return { pubIssue }
67
+ }
68
+
69
+ export default Issue
70
70
  */
71
71
 
72
72
  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;
@@ -5,11 +5,11 @@ import './_library-528f1934.js';
5
5
  import './_iter-detect-6e099a34.js';
6
6
  import './web.dom.iterable-46c95e52.js';
7
7
  import React__default, { useRef, useEffect } from 'react';
8
- import './index-3f4dd6f2.js';
8
+ import './index-93ec3c59.js';
9
9
  import 'prop-types';
10
10
  import './isSymbol-b7b7434f.js';
11
11
  import './debounce-048d9cb6.js';
12
- import './main-d7ee6151.js';
12
+ import './main-7255814e.js';
13
13
  import './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';