@mjhls/mjh-framework 1.0.614 → 1.0.615-magNav-search

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 (141) hide show
  1. package/README.md +1 -1
  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 +4 -4
  6. package/dist/cjs/ADFloatingFooter.js +2 -2
  7. package/dist/cjs/ADGutter.js +2 -2
  8. package/dist/cjs/ADSkyscraper.js +2 -2
  9. package/dist/cjs/ADSponsoredResources.js +2 -2
  10. package/dist/cjs/ADWebcast.js +2 -2
  11. package/dist/cjs/ADWelcome.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 +12 -12
  15. package/dist/cjs/Auth.js +255 -506
  16. package/dist/cjs/{BlockContent-f942392e.js → BlockContent-c2168db0.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 +2 -2
  20. package/dist/cjs/DeckContent.js +8 -8
  21. package/dist/cjs/DeckQueue.js +7 -7
  22. package/dist/cjs/{Dfp-fbe32b96.js → Dfp-fcdeabc4.js} +1 -1
  23. package/dist/cjs/EventsDeck.js +5 -5
  24. package/dist/cjs/ExternalResources.js +8 -8
  25. package/dist/cjs/Feature.js +3 -3
  26. package/dist/cjs/ForbesHero.js +2 -2
  27. package/dist/cjs/GridContent.js +12 -12
  28. package/dist/cjs/GridHero.js +2 -2
  29. package/dist/cjs/GroupDeck.js +1 -1
  30. package/dist/cjs/HamMagazine.js +2 -2
  31. package/dist/cjs/Hero.js +1 -1
  32. package/dist/cjs/HorizontalHero.js +2 -2
  33. package/dist/cjs/IssueContentDeck.js +2 -2
  34. package/dist/cjs/IssueDeck.js +2 -2
  35. package/dist/cjs/IssueLanding.js +8 -8
  36. package/dist/cjs/LeftNav.js +2 -2
  37. package/dist/cjs/MasterDeck.js +10 -10
  38. package/dist/cjs/NavMagazine.js +424 -327
  39. package/dist/cjs/NavNative.js +2 -2
  40. package/dist/cjs/OncliveHero.js +2 -2
  41. package/dist/cjs/OncliveLargeHero.js +2 -2
  42. package/dist/cjs/PartnerDetailListing.js +1211 -15
  43. package/dist/cjs/PublicationDeck.js +2 -2
  44. package/dist/cjs/QueueDeckExpanded.js +10 -10
  45. package/dist/cjs/RecentNews.js +2 -2
  46. package/dist/cjs/RelatedContent.js +2 -2
  47. package/dist/cjs/TaxonomyCard.js +2 -2
  48. package/dist/cjs/TemplateNormal.js +2 -2
  49. package/dist/cjs/ThumbnailCard.js +1 -1
  50. package/dist/cjs/Ustream.js +2 -2
  51. package/dist/cjs/VerticalHero.js +2 -2
  52. package/dist/cjs/VideoSeriesListing.js +5 -5
  53. package/dist/cjs/View.js +16 -16
  54. package/dist/cjs/YahooHero.js +2 -2
  55. package/dist/cjs/YoutubeGroup.js +1 -1
  56. package/dist/cjs/getRelatedArticle.js +354 -5
  57. package/dist/cjs/getSerializers.js +7 -7
  58. package/dist/cjs/{index-5be2866f.js → index-3294d3bc.js} +1 -1
  59. package/dist/cjs/{index-b5eb3ff8.js → index-39beccb3.js} +18 -18
  60. package/dist/cjs/{index-a9c141c3.js → index-6c739606.js} +15 -11
  61. package/dist/cjs/index-bd6c9f56.js +211 -0
  62. package/dist/cjs/{index-f7ee1612.js → index-fa3cec70.js} +6 -4
  63. package/dist/cjs/{index.es-ab3f2690.js → index.es-9110add6.js} +1 -3
  64. package/dist/cjs/index.js +15 -21
  65. package/dist/cjs/{inherits-dca612fa.js → inherits-227da8e1.js} +4 -4
  66. package/dist/cjs/{lodash-fc2922d0.js → lodash-7fd85bcf.js} +71 -22
  67. package/dist/cjs/{main-bc4db521.js → main-88348b15.js} +35 -66
  68. package/dist/cjs/{moment-66a6a284.js → moment-575fe24c.js} +1 -1
  69. package/dist/cjs/urlFor.js +1 -1
  70. package/dist/esm/AD.js +1 -1
  71. package/dist/esm/AD300x250.js +3 -3
  72. package/dist/esm/AD300x250x600.js +3 -3
  73. package/dist/esm/AD728x90.js +4 -4
  74. package/dist/esm/ADFloatingFooter.js +2 -2
  75. package/dist/esm/ADGutter.js +2 -2
  76. package/dist/esm/ADSkyscraper.js +2 -2
  77. package/dist/esm/ADSponsoredResources.js +2 -2
  78. package/dist/esm/ADWebcast.js +2 -2
  79. package/dist/esm/ADWelcome.js +2 -2
  80. package/dist/esm/AdSlot.js +2 -2
  81. package/dist/esm/AdSlotsProvider.js +1 -1
  82. package/dist/esm/ArticleQueue.js +11 -11
  83. package/dist/esm/Auth.js +250 -501
  84. package/dist/esm/{BlockContent-a614acdf.js → BlockContent-c409aca5.js} +1 -1
  85. package/dist/esm/CMEDeck.js +5 -5
  86. package/dist/esm/Column3.js +4 -4
  87. package/dist/esm/ConferenceArticleCard.js +2 -2
  88. package/dist/esm/DeckContent.js +7 -7
  89. package/dist/esm/DeckQueue.js +6 -6
  90. package/dist/esm/{Dfp-40c70a33.js → Dfp-380bef62.js} +1 -1
  91. package/dist/esm/EventsDeck.js +5 -5
  92. package/dist/esm/ExternalResources.js +7 -7
  93. package/dist/esm/Feature.js +3 -3
  94. package/dist/esm/ForbesHero.js +2 -2
  95. package/dist/esm/GridContent.js +11 -11
  96. package/dist/esm/GridHero.js +2 -2
  97. package/dist/esm/GroupDeck.js +1 -1
  98. package/dist/esm/HamMagazine.js +2 -2
  99. package/dist/esm/Hero.js +1 -1
  100. package/dist/esm/HorizontalHero.js +2 -2
  101. package/dist/esm/IssueContentDeck.js +2 -2
  102. package/dist/esm/IssueDeck.js +2 -2
  103. package/dist/esm/IssueLanding.js +8 -8
  104. package/dist/esm/LeftNav.js +2 -2
  105. package/dist/esm/MasterDeck.js +9 -9
  106. package/dist/esm/NavMagazine.js +425 -328
  107. package/dist/esm/NavNative.js +2 -2
  108. package/dist/esm/OncliveHero.js +2 -2
  109. package/dist/esm/OncliveLargeHero.js +2 -2
  110. package/dist/esm/PartnerDetailListing.js +1210 -14
  111. package/dist/esm/PublicationDeck.js +2 -2
  112. package/dist/esm/QueueDeckExpanded.js +10 -10
  113. package/dist/esm/RecentNews.js +2 -2
  114. package/dist/esm/RelatedContent.js +2 -2
  115. package/dist/esm/TaxonomyCard.js +2 -2
  116. package/dist/esm/TemplateNormal.js +2 -2
  117. package/dist/esm/ThumbnailCard.js +1 -1
  118. package/dist/esm/Ustream.js +2 -2
  119. package/dist/esm/VerticalHero.js +2 -2
  120. package/dist/esm/VideoSeriesListing.js +4 -4
  121. package/dist/esm/View.js +15 -15
  122. package/dist/esm/YahooHero.js +2 -2
  123. package/dist/esm/YoutubeGroup.js +1 -1
  124. package/dist/esm/getRelatedArticle.js +354 -5
  125. package/dist/esm/getSerializers.js +6 -6
  126. package/dist/esm/{index-51a80699.js → index-3849e3fe.js} +18 -18
  127. package/dist/esm/{index-93ec3c59.js → index-3f4dd6f2.js} +6 -4
  128. package/dist/esm/index-db3bb315.js +207 -0
  129. package/dist/esm/{index-1d9da935.js → index-e17c2734.js} +14 -10
  130. package/dist/esm/{index-d2f90501.js → index-ef6d5dcf.js} +1 -1
  131. package/dist/esm/{index.es-938a3a58.js → index.es-29c1cef5.js} +1 -3
  132. package/dist/esm/index.js +13 -18
  133. package/dist/esm/{lodash-17fdfebb.js → lodash-ec8c6b48.js} +71 -22
  134. package/dist/esm/{main-7255814e.js → main-d7ee6151.js} +34 -65
  135. package/dist/esm/{moment-12415288.js → moment-e2f9b20c.js} +1 -1
  136. package/dist/esm/urlFor.js +1 -1
  137. package/package.json +3 -3
  138. /package/dist/cjs/{ADInfeed-17a378db.js → ADInfeed-df340285.js} +0 -0
  139. /package/dist/cjs/{ADlgInfeed-070d911c.js → ADlgInfeed-2110d08c.js} +0 -0
  140. /package/dist/esm/{ADInfeed-0c1bcd33.js → ADInfeed-541eaae3.js} +0 -0
  141. /package/dist/esm/{ADlgInfeed-a2518bca.js → ADlgInfeed-25c3d142.js} +0 -0
@@ -14,7 +14,7 @@ var React = require('react');
14
14
  var React__default = _interopDefault(React);
15
15
  require('prop-types');
16
16
  var Container = _interopDefault(require('react-bootstrap/Container'));
17
- var main = require('./main-bc4db521.js');
17
+ var main = require('./main-88348b15.js');
18
18
  var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
@@ -35,6 +35,186 @@ var index_esm$2 = require('./index.esm-0e5c6a9e.js');
35
35
  var Form = _interopDefault(require('react-bootstrap/Form'));
36
36
  var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
37
37
 
38
+ var SocialSearchComponent = function SocialSearchComponent(_ref) {
39
+ var type = _ref.type,
40
+ socialIconVariant = _ref.socialIconVariant,
41
+ website = _ref.website,
42
+ navID = _ref.navID;
43
+
44
+ // Search Term
45
+ var _useState = React.useState(''),
46
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
47
+ searchKey = _useState2[0],
48
+ setSearchKey = _useState2[1];
49
+ // To calculate the position at which mobile searchbar should set.
50
+
51
+
52
+ var _useState3 = React.useState(0),
53
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
54
+ topOffset = _useState4[0],
55
+ setTopOffset = _useState4[1];
56
+
57
+ var _useState5 = React.useState(0),
58
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
59
+ rightOffset = _useState6[0],
60
+ setRightpOffset = _useState6[1];
61
+
62
+ var desktopComponent = React.useRef(null);
63
+ var mobileComponent = React.useRef(null);
64
+
65
+ React.useEffect(function () {
66
+ var navWrapper = document.getElementById(navID);
67
+ var mastNav = document.querySelector('.nav-brands');
68
+ var topOffset = 0;
69
+ if (window && window.innerWidth < 1200 && mastNav && mastNav.offsetHeight) topOffset = topOffset + mastNav.offsetHeight;
70
+ if (navWrapper && navWrapper.offsetHeight) topOffset = topOffset + navWrapper.offsetHeight;
71
+ setTopOffset(topOffset + 2);
72
+
73
+ if (desktopComponent && desktopComponent.current && desktopComponent.current.offsetWidth && desktopComponent.current.offsetLeft) {
74
+ setRightpOffset(window.innerWidth - desktopComponent.current.offsetLeft);
75
+ }
76
+ }, []);
77
+
78
+ // Search function
79
+ var submitSearch = function submitSearch(e) {
80
+ e.preventDefault();
81
+ window.location.href = '/search?searchTerm=' + searchKey;
82
+ };
83
+
84
+ // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
85
+ var toggleClass = function toggleClass(selector, type, addOn) {
86
+ if (type === 'id') {
87
+ var searchBar = document.getElementById(selector);
88
+ if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
89
+ searchBar.classList.remove(addOn);
90
+ } else if (searchBar && searchBar.classList) {
91
+ searchBar.classList.add(addOn);
92
+ }
93
+ } else if (type === 'class') {
94
+ var searchBtn = document.getElementsByClassName(selector)[0];
95
+ if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
96
+ // Set overflow fix for iPhones safari browsers
97
+ if (main.main_37) {
98
+ var mainNav = document.querySelector('#navbar-ham');
99
+ if (mainNav && mainNav.style) mainNav.style.overflow = 'auto';
100
+ }
101
+ searchBtn.classList.remove(addOn);
102
+ } else if (searchBtn && searchBtn.classList) {
103
+ // Set overflow fix for iPhones safari browsers
104
+ if (main.main_37) {
105
+ var _mainNav = document.querySelector('#navbar-ham');
106
+ if (_mainNav && _mainNav.style) _mainNav.style.overflow = 'visible';
107
+ }
108
+ searchBtn.classList.add(addOn);
109
+ }
110
+ }
111
+ };
112
+
113
+ var socialSearchDesktop = function socialSearchDesktop() {
114
+ return React__default.createElement(
115
+ 'div',
116
+ { id: 'search-content-desktop', ref: desktopComponent, style: { display: 'flex' } },
117
+ React__default.createElement(
118
+ 'div',
119
+ { id: 'search-bar-desktop', style: { top: topOffset, right: rightOffset } },
120
+ React__default.createElement(
121
+ Form,
122
+ { style: { padding: '6px' }, inline: true, onSubmit: function onSubmit(e) {
123
+ return submitSearch(e);
124
+ } },
125
+ React__default.createElement(FormControl, { style: { width: '78%' }, placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
126
+ return setSearchKey(e.target.value);
127
+ } }),
128
+ React__default.createElement(
129
+ Button,
130
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
131
+ return submitSearch(e);
132
+ } },
133
+ 'Search'
134
+ )
135
+ )
136
+ ),
137
+ React__default.createElement(
138
+ iconBase.IconContext.Provider,
139
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '35px' } },
140
+ React__default.createElement(index_esm$2.GoSearch, {
141
+ onClick: function onClick() {
142
+ toggleClass('search-bar-desktop', 'id', 'show');
143
+ toggleClass('search-btn-desktop', 'class', 'active-search');
144
+ }
145
+ })
146
+ ),
147
+ website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
148
+ 'div',
149
+ { id: 'social-tab-desktop', style: { display: 'flex', left: '0px', position: 'relative', paddingTop: '3px', maxHeight: '35px' } },
150
+ website.socialLinks && React__default.createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
151
+ ),
152
+ React__default.createElement(
153
+ 'style',
154
+ { jsx: 'true' },
155
+ '\n #search-content-desktop .search-btn-desktop {\n padding: 5px;\n cursor: pointer;\n }\n #search-content-desktop #search-bar-desktop {\n display: none;\n background-color: var(--primary);\n position: absolute;\n width: 400px;\n border-radius: 5px;\n height: 48px;\n right: 15%;\n }\n #search-content-desktop .search-btn-desktop.active-search {\n border-radius: 5px;\n border: 1px solid var(--secondary) !important;\n }\n #search-content-desktop #search-bar-desktop.show {\n display: block !important;\n }\n '
156
+ )
157
+ );
158
+ };
159
+
160
+ var socialSearchMobile = function socialSearchMobile() {
161
+ return React__default.createElement(
162
+ 'div',
163
+ { id: 'search-content-mobile', ref: mobileComponent },
164
+ React__default.createElement(
165
+ 'div',
166
+ { id: 'search-bar-mobile', style: { top: topOffset } },
167
+ React__default.createElement(
168
+ Form,
169
+ { inline: true, style: { padding: '6px', width: '100%' }, onSubmit: function onSubmit(e) {
170
+ return submitSearch(e);
171
+ } },
172
+ React__default.createElement(FormControl, { style: { width: '78%' }, placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
173
+ return setSearchKey(e.target.value);
174
+ } }),
175
+ React__default.createElement(
176
+ Button,
177
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
178
+ return submitSearch(e);
179
+ } },
180
+ 'Search'
181
+ )
182
+ )
183
+ ),
184
+ React__default.createElement(
185
+ iconBase.IconContext.Provider,
186
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '35px' } },
187
+ React__default.createElement(index_esm$2.GoSearch, {
188
+ onClick: function onClick() {
189
+ var navToggle = document.getElementsByClassName('navbar-toggler')[0];
190
+ if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
191
+ var nav = document.querySelectorAll('.navbar-collapse');
192
+ for (var i = 0; i < nav.length; i++) {
193
+ if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
194
+ }
195
+ if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
196
+ }
197
+
198
+ toggleClass('search-bar-mobile', 'id', 'show');
199
+ toggleClass('search-btn-mobile', 'class', 'active-search');
200
+ }
201
+ })
202
+ ),
203
+ React__default.createElement(
204
+ 'style',
205
+ { jsx: 'true' },
206
+ '\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 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 #search-content-mobile .search-btn-mobile.active-search {\n border-radius: 5px;\n border: 1px solid var(--secondary);\n }\n #search-content-mobile #search-bar-mobile.show {\n display: block !important;\n }\n '
207
+ )
208
+ );
209
+ };
210
+
211
+ if (type === 'mobile') {
212
+ return socialSearchMobile();
213
+ } else if (type === 'desktop') {
214
+ return socialSearchDesktop();
215
+ }
216
+ };
217
+
38
218
  var NavMagazine = function NavMagazine(props) {
39
219
  /*
40
220
  Example Nav with acceptable props
@@ -67,8 +247,6 @@ var NavMagazine = function NavMagazine(props) {
67
247
 
68
248
  var navRef = React.useRef(null);
69
249
  var topNavRef = React.useRef(null);
70
- // reference to mobile search component
71
- var searchRef = React.useRef(null);
72
250
 
73
251
  var _useState = React.useState(false),
74
252
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
@@ -80,65 +258,108 @@ var NavMagazine = function NavMagazine(props) {
80
258
  screenWidth = _useState4[0],
81
259
  setScreenWidth = _useState4[1];
82
260
 
261
+ var _useState5 = React.useState(null),
262
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
263
+ userAgent = _useState6[0],
264
+ setUserAgent = _useState6[1];
265
+
266
+ var _useState7 = React.useState(0),
267
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
268
+ resolution = _useState8[0],
269
+ setResolution = _useState8[1];
270
+
271
+ var _useState9 = React.useState(true),
272
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
273
+ isDesktop = _useState10[0],
274
+ setIsDesktop = _useState10[1];
275
+
276
+ var _useState11 = React.useState(0),
277
+ _useState12 = slicedToArray._slicedToArray(_useState11, 2),
278
+ topOffset = _useState12[0],
279
+ setTopOffset = _useState12[1];
280
+
83
281
  React.useEffect(function () {
84
282
  // handling the top mast component
85
283
  var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
86
- // Setting the top of the search component based on the offset of navigation component.
87
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
88
- document.addEventListener('scroll', trackScrolling);
89
- return function () {
90
- document.removeEventListener('scroll', trackScrolling);
91
- };
92
- // eslint-disable-next-line react-hooks/exhaustive-deps
93
284
  }, []);
94
285
 
95
286
  React.useEffect(function () {
287
+ // Check for desktop or mobile device
288
+ if (window && window.innerWidth < 1200) setIsDesktop(false);
289
+
290
+ // Hiding light-nav with logo on mobile devices
291
+ if (window && window.innerWidth < 1200 && topNavRef) topNavRef.current.style.display = 'none';
292
+
293
+ // Initial User agent setup on refresh or on load
294
+ setUserAgent(navigator.userAgent.toString());
295
+
296
+ // Initial screenwidth setup on refresh or on load
96
297
  setScreenWidth(parseInt(window.innerWidth));
97
298
  }, []);
98
299
 
300
+ // Check for browser resize
301
+ React.useEffect(function () {
302
+ if (resolution === 0) {
303
+ setResolution(window.innerWidth);
304
+ }
305
+ var handleResize = function handleResize() {
306
+ if (resolution === 0) {
307
+ setResolution(window.innerWidth);
308
+ } else {
309
+ if (window.innerWidth < 768 && resolution >= 768) {
310
+ console.log('Detected Mobile Resolution');
311
+ window.location.reload();
312
+ } else if (window.innerWidth >= 768 && resolution < 768) {
313
+ console.log('Detected Tablet/Desktop Resolution');
314
+ window.location.reload();
315
+ }
316
+ }
317
+ };
318
+ window.addEventListener('resize', handleResize);
319
+ }, [resolution]);
320
+
321
+ // Check for change in useragent with change in screen resolution
322
+ React.useEffect(function () {
323
+ var handleResize = function handleResize() {
324
+ if (userAgent && userAgent !== navigator.userAgent.toString()) {
325
+ console.log('Browser change detected, refreshing');
326
+ window.location.reload();
327
+ }
328
+ };
329
+ window.addEventListener('resize', handleResize);
330
+ }, [userAgent]);
331
+
332
+ // Handling navigation and logo position on scroll
99
333
  React.useEffect(function () {
100
334
  var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
101
335
  var adSection = document.querySelector('.AD728x90');
336
+ var navLinks = document.getElementById('nav-links');
337
+ var mastNav = document.querySelector('.nav-brands');
338
+ if (mastNav && mastNav.offsetHeight) setTopOffset(mastNav.offsetHeight - 3);
339
+
102
340
  if (window.pageYOffset > navOffsetTop) {
103
341
  if (navRef.current && navRef.current.style) {
104
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
105
342
  navRef.current.style.position = 'fixed';
106
- navRef.current.style.top = 0;
107
- navRef.current.style.width = '100%';
108
- navRef.current.style.zIndex = '99999';
109
- // Making the search Sticky on scroll
110
- searchRef.current.style.position = 'fixed';
111
- searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
112
- searchRef.current.style.zIndex = '99999';
113
- searchRef.current.style.width = '100%';
343
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
114
344
  }
115
345
  }
116
346
  var stickyNav = window.addEventListener('scroll', function () {
117
347
  if (window.pageYOffset > navOffsetTop) {
118
348
  if (navRef.current && navRef.current.style) {
119
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
120
349
  navRef.current.style.position = 'fixed';
121
- navRef.current.style.top = 0;
122
- navRef.current.style.width = '100%';
123
- navRef.current.style.zIndex = '99999';
124
- // Making the search Sticky on scroll
125
- searchRef.current.style.position = 'fixed';
126
- searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
127
- searchRef.current.style.zIndex = '99999';
128
- searchRef.current.style.width = '100%';
350
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
129
351
  }
352
+ setIsSticky(true);
353
+ navLinks.style.margin = 'auto';
130
354
  } else {
131
- var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
132
355
  if (navRef.current && navRef.current.style) {
133
356
  topNavRef.current.style.paddingBottom = '0';
134
357
  navRef.current.style.position = 'relative';
135
- navRef.current.style.top = '';
136
358
  if (adSection) adSection.style.marginTop = '';
137
- // Making the search Sticky on scroll
138
- searchRef.current.style.position = 'fixed';
139
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
140
- searchRef.current.style.width = '100%';
359
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
141
360
  }
361
+ setIsSticky(false);
362
+ navLinks.style.margin = '0px auto 0px 0px';
142
363
  }
143
364
  });
144
365
  return function () {
@@ -146,38 +367,24 @@ var NavMagazine = function NavMagazine(props) {
146
367
  };
147
368
  }, []);
148
369
 
149
- var trackScrolling = function trackScrolling() {
150
- var offsetTop = navRef.current.getBoundingClientRect().top;
151
- var navLinks = document.getElementById('nav-links');
152
- if (offsetTop === 0) {
153
- setIsSticky(true);
154
- navLinks.style.margin = 'auto';
155
- navLinks.style.padding = '0px 8% 0px 0px';
156
- } else {
157
- setIsSticky(false);
158
- navLinks.style.margin = '0px auto 0px 0px';
159
- navLinks.style.padding = '0px';
160
- }
161
- };
162
-
163
370
  //const userLoggedIn = props.user ? true : false
164
371
 
165
- var _useState5 = React.useState(false),
166
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
167
- userLoggedIn = _useState6[0],
168
- setUserLoggedIn = _useState6[1];
372
+ var _useState13 = React.useState(false),
373
+ _useState14 = slicedToArray._slicedToArray(_useState13, 2),
374
+ userLoggedIn = _useState14[0],
375
+ setUserLoggedIn = _useState14[1];
169
376
 
170
- var _useState7 = React.useState(false),
171
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
172
- userChecked = _useState8[0],
173
- setUserChecked = _useState8[1];
377
+ var _useState15 = React.useState(false),
378
+ _useState16 = slicedToArray._slicedToArray(_useState15, 2),
379
+ userChecked = _useState16[0],
380
+ setUserChecked = _useState16[1];
174
381
  // Search Term
175
382
 
176
383
 
177
- var _useState9 = React.useState(''),
178
- _useState10 = slicedToArray._slicedToArray(_useState9, 2),
179
- searchKey = _useState10[0],
180
- setSearchKey = _useState10[1];
384
+ var _useState17 = React.useState(''),
385
+ _useState18 = slicedToArray._slicedToArray(_useState17, 2),
386
+ searchKey = _useState18[0],
387
+ setSearchKey = _useState18[1];
181
388
 
182
389
  React.useEffect(function () {
183
390
  setUserLoggedIn(props.user ? true : false);
@@ -186,130 +393,6 @@ var NavMagazine = function NavMagazine(props) {
186
393
  }
187
394
  }, [props.user, userChecked]);
188
395
 
189
- // Search function
190
- var submitSearch = function submitSearch(e) {
191
- e.preventDefault();
192
- window.location.href = '/search?searchTerm=' + searchKey;
193
- };
194
-
195
- // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
196
- var toggleClass = function toggleClass(selector, type, addOn) {
197
- if (type === 'id') {
198
- var searchBar = document.getElementById(selector);
199
- if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
200
- searchBar.classList.remove(addOn);
201
- } else if (searchBar && searchBar.classList) {
202
- searchBar.classList.add(addOn);
203
- }
204
- } else if (type === 'class') {
205
- var searchBtn = document.getElementsByClassName(selector)[0];
206
- if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
207
- searchBtn.classList.remove(addOn);
208
- } else if (searchBtn && searchBtn.classList) {
209
- searchBtn.classList.add(addOn);
210
- }
211
- }
212
- };
213
-
214
- // Search Component
215
- var socialSearchComponent = function socialSearchComponent(type) {
216
- if (type === 'mobile') {
217
- return React__default.createElement(
218
- 'div',
219
- { id: 'search-content-mobile' },
220
- React__default.createElement(
221
- 'div',
222
- { id: 'search-bar-mobile', ref: searchRef },
223
- React__default.createElement(
224
- Form,
225
- { inline: true, onSubmit: function onSubmit(e) {
226
- return submitSearch(e);
227
- } },
228
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
229
- return setSearchKey(e.target.value);
230
- } }),
231
- React__default.createElement(
232
- Button,
233
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
234
- return submitSearch(e);
235
- } },
236
- 'Search'
237
- )
238
- )
239
- ),
240
- React__default.createElement(
241
- iconBase.IconContext.Provider,
242
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
243
- React__default.createElement(index_esm$2.GoSearch, {
244
- onClick: function onClick() {
245
- var navToggle = document.getElementsByClassName('navbar-toggler')[0];
246
- if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
247
- var nav = document.querySelectorAll('.navbar-collapse');
248
- for (var i = 0; i < nav.length; i++) {
249
- if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
250
- }
251
- if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
252
- }
253
-
254
- toggleClass('search-bar-mobile', 'id', 'show');
255
- toggleClass('search-btn-mobile', 'class', 'active-search');
256
- }
257
- })
258
- ),
259
- React__default.createElement(
260
- 'style',
261
- { jsx: 'true' },
262
- '\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: 35px;\n width: 35px;\n margin-top: 4px;\n cursor: pointer;\n top: 12px;\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 '
263
- )
264
- );
265
- } else if (type === 'desktop') {
266
- return React__default.createElement(
267
- 'div',
268
- { id: 'search-content-desktop' },
269
- React__default.createElement(
270
- 'div',
271
- { id: 'search-bar-desktop' },
272
- React__default.createElement(
273
- Form,
274
- { inline: true, onSubmit: function onSubmit(e) {
275
- return submitSearch(e);
276
- } },
277
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
278
- return setSearchKey(e.target.value);
279
- } }),
280
- React__default.createElement(
281
- Button,
282
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
283
- return submitSearch(e);
284
- } },
285
- 'Search'
286
- )
287
- )
288
- ),
289
- React__default.createElement(
290
- iconBase.IconContext.Provider,
291
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
292
- React__default.createElement(index_esm$2.GoSearch, {
293
- onClick: function onClick() {
294
- toggleClass('search-bar-desktop', 'id', 'show');
295
- toggleClass('search-btn-desktop', 'class', 'active-search');
296
- }
297
- })
298
- ),
299
- settings && settings.socialLinks && settings.socialLinks.length !== 0 && React__default.createElement(
300
- 'div',
301
- { id: 'social-tab-desktop', style: { display: 'flex' } },
302
- settings.socialLinks && React__default.createElement(SocialIcons, { socialLinks: settings.socialLinks, variant: socialIconVariant })
303
- ),
304
- React__default.createElement(
305
- 'style',
306
- { jsx: 'true' },
307
- '\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 .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: 14px;\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: 50px;\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 '
308
- )
309
- );
310
- }
311
- };
312
-
313
396
  return React__default.createElement(
314
397
  React__default.Fragment,
315
398
  null,
@@ -406,18 +489,33 @@ var NavMagazine = function NavMagazine(props) {
406
489
  ),
407
490
  React__default.createElement(
408
491
  Navbar,
409
- { id: 'navbar-ham', className: main.main_40 ? 'bottom-nav ios-nav' : 'bottom-nav ', variant: 'dark', expand: 'xl', bg: 'primary', sticky: 'top', ref: navRef },
492
+ {
493
+ id: 'navbar-ham',
494
+ style: { width: '100%', display: 'flex', top: topOffset, overflow: 'auto' },
495
+ className: main.main_37 ? 'bottom-nav ios-nav' : 'bottom-nav ',
496
+ variant: 'dark',
497
+ expand: 'xl',
498
+ bg: 'primary',
499
+ sticky: 'top',
500
+ ref: navRef },
410
501
  React__default.createElement(
411
502
  Container,
412
503
  { className: 'mobile-nav android-nav', style: { display: 'flex' } },
413
504
  React__default.createElement(
414
505
  'div',
415
- { className: 'nav-toggle' },
506
+ { className: 'nav-toggle', style: { display: 'flex' } },
416
507
  React__default.createElement(Navbar.Toggle, {
417
508
  'aria-controls': 'basic-navbar-nav',
418
509
  onClick: function onClick() {
510
+ // Set overflow fix for iPhones safari browsers
511
+ if (main.main_37) {
512
+ var mainNav = document.querySelector('#navbar-ham');
513
+ if (mainNav && mainNav.style) mainNav.style.overflow = 'auto';
514
+ }
515
+
419
516
  var searchBar = document.getElementById('search-bar-mobile');
420
517
  var searchBtn = document.getElementsByClassName('search-btn-mobile');
518
+
421
519
  if (searchBar && searchBar.classList) {
422
520
  searchBar.classList.remove('show');
423
521
  }
@@ -425,85 +523,63 @@ var NavMagazine = function NavMagazine(props) {
425
523
  searchBtn[0].classList.remove('active-search');
426
524
  }
427
525
  }
428
- })
526
+ }),
527
+ !isDesktop && React__default.createElement(
528
+ 'div',
529
+ { className: 'site-logo-wrapper', style: { margin: 'auto' } },
530
+ React__default.createElement(
531
+ 'a',
532
+ { href: '/' },
533
+ React__default.createElement('img', { src: invertedLogo ? invertedLogo : logo, style: { padding: '0px ', objectFit: 'contain', maxHeight: '45px' } })
534
+ )
535
+ ),
536
+ !isDesktop && React__default.createElement(SocialSearchComponent, { type: 'mobile', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
429
537
  ),
430
538
  React__default.createElement(
431
539
  'div',
432
- { className: 'site-logo-wrapper', style: { display: 'none' } },
433
- React__default.createElement(
434
- 'a',
435
- { href: '/' },
436
- invertedLogo ? React__default.createElement('img', { src: invertedLogo, style: { padding: '0px ' } }) : React__default.createElement('img', { src: logo, style: { padding: '0px ' } })
437
- ),
438
- React__default.createElement(
439
- 'style',
440
- { jsx: 'true' },
441
- '\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 (min-width: 768px) and (max-width: 1199px) {\n .site-logo-wrapper {\n padding-right: 5%;\n }\n }\n @media screen and (max-width: 420px) {\n .site-logo-wrapper img {\n max-width: 200px;\n }\n }\n '
442
- )
443
- ),
444
- socialSearchComponent('mobile'),
445
- subNav && React__default.createElement(
446
- Navbar.Collapse,
447
- { id: 'basic-navbar-sub' },
448
- React__default.createElement(
449
- Nav,
450
- { className: 'mr-auto' },
451
- showLogin && userChecked && userLoggedIn && React__default.createElement(
452
- React__default.Fragment,
453
- null,
454
- React__default.createElement(
455
- 'a',
456
- { key: 'mobile-profile', href: '/auth/profile', className: 'nav-link' },
457
- 'Profile'
540
+ { className: 'navigation-menu-list', style: { width: '100%', maxHeight: '85vh' } },
541
+ subNav && React__default.createElement(
542
+ Navbar.Collapse,
543
+ { id: 'basic-navbar-sub' },
544
+ React__default.createElement(
545
+ Nav,
546
+ { className: 'mr-auto' },
547
+ showLogin && userChecked && userLoggedIn && React__default.createElement(
548
+ React__default.Fragment,
549
+ null,
550
+ React__default.createElement(
551
+ 'a',
552
+ { key: 'mobile-profile', href: '/auth/profile', className: 'nav-link' },
553
+ 'Profile'
554
+ ),
555
+ React__default.createElement(
556
+ 'a',
557
+ { key: 'mobile-logout', href: '/api/auth/logout', className: 'nav-link' },
558
+ 'Log Out'
559
+ )
458
560
  ),
459
- React__default.createElement(
460
- 'a',
461
- { key: 'mobile-logout', href: '/api/auth/logout', className: 'nav-link' },
462
- 'Log Out'
463
- )
464
- ),
465
- showLogin && userChecked && !userLoggedIn && React__default.createElement(
466
- React__default.Fragment,
467
- null,
468
- React__default.createElement(
469
- 'a',
470
- { key: 'mobile-signup', href: '/auth/signup', className: 'nav-link' },
471
- 'Sign Up'
561
+ showLogin && userChecked && !userLoggedIn && React__default.createElement(
562
+ React__default.Fragment,
563
+ null,
564
+ React__default.createElement(
565
+ 'a',
566
+ { key: 'mobile-signup', href: '/auth/signup', className: 'nav-link' },
567
+ 'Sign Up'
568
+ ),
569
+ React__default.createElement(
570
+ 'a',
571
+ { key: 'mobile-login', href: '/auth/login', className: 'nav-link' },
572
+ 'Log In'
573
+ )
472
574
  ),
473
- React__default.createElement(
474
- 'a',
475
- { key: 'mobile-login', href: '/auth/login', className: 'nav-link' },
476
- 'Log In'
477
- )
478
- ),
479
- subNav && subNav.map(function (row, index) {
480
- if (row.subQuery && row.subQuery.length > 0) {
481
- return row.name ? React__default.createElement(
482
- 'div',
483
- null,
484
- React__default.createElement(
485
- NavDropdown,
486
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
487
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
488
- if (ddRow.type === 'divider') {
489
- return React__default.createElement(NavDropdown.Divider, { key: subIndex });
490
- } else {
491
- if (ddRow.url && ddRow.name) {
492
- return ddRow.url && ddRow.name ? React__default.createElement(
493
- 'a',
494
- { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
495
- ddRow.name
496
- ) : null;
497
- } else return null;
498
- }
499
- })
500
- ),
501
- React__default.createElement(
502
- 'noscript',
575
+ subNav && subNav.map(function (row, index) {
576
+ if (row.subQuery && row.subQuery.length > 0) {
577
+ return row.name ? React__default.createElement(
578
+ 'div',
503
579
  null,
504
580
  React__default.createElement(
505
- 'div',
506
- null,
581
+ NavDropdown,
582
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
507
583
  row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
508
584
  if (ddRow.type === 'divider') {
509
585
  return React__default.createElement(NavDropdown.Divider, { key: subIndex });
@@ -517,60 +593,62 @@ var NavMagazine = function NavMagazine(props) {
517
593
  } else return null;
518
594
  }
519
595
  })
596
+ ),
597
+ React__default.createElement(
598
+ 'noscript',
599
+ null,
600
+ React__default.createElement(
601
+ 'div',
602
+ null,
603
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
604
+ if (ddRow.type === 'divider') {
605
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
606
+ } else {
607
+ if (ddRow.url && ddRow.name) {
608
+ return ddRow.url && ddRow.name ? React__default.createElement(
609
+ 'a',
610
+ { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
611
+ ddRow.name
612
+ ) : null;
613
+ } else return null;
614
+ }
615
+ })
616
+ )
520
617
  )
521
- )
522
- ) : null;
523
- } else {
524
- return row.url && row.name ? React__default.createElement(
525
- 'a',
526
- { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
527
- row.name
528
- ) : null;
529
- }
530
- })
531
- )
532
- ),
533
- React__default.createElement(
534
- Navbar.Collapse,
535
- { id: 'basic-navbar-nav' },
536
- isSticky && invertedLogo && React__default.createElement(
537
- Nav.Item,
538
- { className: 'nav-mobile-logo' },
539
- React__default.createElement(
540
- 'a',
541
- { href: '/' },
542
- React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
618
+ ) : null;
619
+ } else {
620
+ return row.url && row.name ? React__default.createElement(
621
+ 'a',
622
+ { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
623
+ row.name
624
+ ) : null;
625
+ }
626
+ })
543
627
  )
544
628
  ),
545
629
  React__default.createElement(
546
- Nav,
547
- { id: 'nav-links', style: { marginRight: 'auto' } },
548
- dataObject && dataObject.map(function (row, index) {
549
- if (row.subQuery && row.subQuery.length > 0) {
550
- return row.name ? React__default.createElement(
551
- 'div',
552
- null,
553
- React__default.createElement(
554
- NavDropdown,
555
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
556
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
557
- if (ddRow.type === 'divider') {
558
- return React__default.createElement(NavDropdown.Divider, { key: subIndex });
559
- } else {
560
- return ddRow.url && ddRow.name ? React__default.createElement(
561
- 'a',
562
- { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
563
- ddRow.name
564
- ) : null;
565
- }
566
- })
567
- ),
568
- React__default.createElement(
569
- 'noscript',
630
+ Navbar.Collapse,
631
+ { id: 'basic-navbar-nav' },
632
+ isSticky && invertedLogo && isDesktop && React__default.createElement(
633
+ Nav.Item,
634
+ { className: 'nav-mobile-logo' },
635
+ React__default.createElement(
636
+ 'a',
637
+ { href: '/' },
638
+ React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
639
+ )
640
+ ),
641
+ React__default.createElement(
642
+ Nav,
643
+ { id: 'nav-links', style: { marginRight: 'auto' } },
644
+ dataObject && dataObject.map(function (row, index) {
645
+ if (row.subQuery && row.subQuery.length > 0) {
646
+ return row.name ? React__default.createElement(
647
+ 'div',
570
648
  null,
571
649
  React__default.createElement(
572
- 'div',
573
- null,
650
+ NavDropdown,
651
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
574
652
  row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
575
653
  if (ddRow.type === 'divider') {
576
654
  return React__default.createElement(NavDropdown.Divider, { key: subIndex });
@@ -582,29 +660,48 @@ var NavMagazine = function NavMagazine(props) {
582
660
  ) : null;
583
661
  }
584
662
  })
663
+ ),
664
+ React__default.createElement(
665
+ 'noscript',
666
+ null,
667
+ React__default.createElement(
668
+ 'div',
669
+ null,
670
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
671
+ if (ddRow.type === 'divider') {
672
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
673
+ } else {
674
+ return ddRow.url && ddRow.name ? React__default.createElement(
675
+ 'a',
676
+ { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
677
+ ddRow.name
678
+ ) : null;
679
+ }
680
+ })
681
+ )
585
682
  )
586
- )
587
- ) : null;
588
- } else {
589
- return row.url && row.name ? React__default.createElement(
590
- 'a',
591
- { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
592
- row.name
593
- ) : null;
594
- }
595
- })
596
- )
597
- ),
598
- website && React__default.createElement(
599
- Navbar.Collapse,
600
- { id: 'basic-navbar-sub' },
601
- React__default.createElement(
602
- Nav,
603
- { className: 'mr-auto' },
604
- socialFooterNav ? React__default.createElement(SocialNavFooter.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
683
+ ) : null;
684
+ } else {
685
+ return row.url && row.name ? React__default.createElement(
686
+ 'a',
687
+ { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
688
+ row.name
689
+ ) : null;
690
+ }
691
+ })
692
+ )
693
+ ),
694
+ website && React__default.createElement(
695
+ Navbar.Collapse,
696
+ { id: 'basic-navbar-sub' },
697
+ React__default.createElement(
698
+ Nav,
699
+ { className: 'mr-auto' },
700
+ socialFooterNav ? React__default.createElement(SocialNavFooter.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
701
+ )
605
702
  )
606
703
  ),
607
- socialSearchComponent('desktop')
704
+ isDesktop && React__default.createElement(SocialSearchComponent, { type: 'desktop', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
608
705
  )
609
706
  ),
610
707
  React__default.createElement(
@@ -619,7 +716,7 @@ var NavMagazine = function NavMagazine(props) {
619
716
  React__default.createElement(
620
717
  'style',
621
718
  { jsx: 'true' },
622
- '\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: 1192px) {\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 @media screen and (max-width: 1192px) {\n .android-nav {\n max-height: 80vh;\n }\n .ios-nav {\n max-height: none;\n }\n .navbar.bg-primary {\n overflow: auto;\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-lg .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: 992px) {\n #search-content-mobile {\n position: absolute;\n right: 4%;\n top: 10%;\n }\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: 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 max-width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n '
719
+ '\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: 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 .mobile-nav .nav-toggle {\n width: 100%;\n }\n .android-nav {\n max-height: 80vh;\n }\n .ios-nav {\n max-height: none;\n }\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\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 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 #navbar-ham {\n overflow: visible !important;\n }\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 .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 '
623
720
  )
624
721
  );
625
722
  };