@mjhls/mjh-framework 1.0.620 → 1.0.622

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 (70) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD300x250.js +24 -13
  3. package/dist/cjs/AD300x250x600.js +27 -16
  4. package/dist/cjs/AD728x90.js +1 -1
  5. package/dist/cjs/ADFloatingFooter.js +6 -5
  6. package/dist/cjs/ADGutter.js +45 -4
  7. package/dist/cjs/{ADInfeed-17a378db.js → ADInfeed-ce11d87d.js} +19 -3
  8. package/dist/cjs/ADSkyscraper.js +19 -4
  9. package/dist/cjs/ADSponsoredResources.js +24 -3
  10. package/dist/cjs/ADWebcast.js +23 -3
  11. package/dist/cjs/ADWelcome.js +20 -6
  12. package/dist/cjs/{ADlgInfeed-070d911c.js → ADlgInfeed-7fc40444.js} +19 -3
  13. package/dist/cjs/AdSlot.js +1 -1
  14. package/dist/cjs/ArticleQueue.js +1 -1
  15. package/dist/cjs/Auth.js +1 -1
  16. package/dist/cjs/Column3.js +1 -1
  17. package/dist/cjs/DeckContent.js +2 -2
  18. package/dist/cjs/EventsDeck.js +1 -1
  19. package/dist/cjs/ExternalResources.js +1 -1
  20. package/dist/cjs/GridContent.js +3 -3
  21. package/dist/cjs/HamMagazine.js +9 -188
  22. package/dist/cjs/IssueLanding.js +3 -3
  23. package/dist/cjs/LeftNav.js +1 -1
  24. package/dist/cjs/MasterDeck.js +3 -3
  25. package/dist/cjs/NavDvm.js +1 -1
  26. package/dist/cjs/NavMagazine.js +250 -332
  27. package/dist/cjs/NavNative.js +1 -1
  28. package/dist/cjs/NavNormal.js +1 -1
  29. package/dist/cjs/PartnerDetailListing.js +3 -3
  30. package/dist/cjs/QueueDeckExpanded.js +3 -3
  31. package/dist/cjs/SocialSearchComponent-5cbde5e0.js +196 -0
  32. package/dist/cjs/TemplateNormal.js +2 -1
  33. package/dist/cjs/View.js +1 -1
  34. package/dist/cjs/getSerializers.js +1 -1
  35. package/dist/cjs/index.js +4 -3
  36. package/dist/esm/AD300x250.js +24 -13
  37. package/dist/esm/AD300x250x600.js +27 -16
  38. package/dist/esm/AD728x90.js +1 -1
  39. package/dist/esm/ADFloatingFooter.js +6 -5
  40. package/dist/esm/ADGutter.js +45 -4
  41. package/dist/esm/{ADInfeed-0c1bcd33.js → ADInfeed-5fb6c05e.js} +19 -3
  42. package/dist/esm/ADSkyscraper.js +19 -4
  43. package/dist/esm/ADSponsoredResources.js +24 -3
  44. package/dist/esm/ADWebcast.js +23 -3
  45. package/dist/esm/ADWelcome.js +20 -6
  46. package/dist/esm/{ADlgInfeed-a2518bca.js → ADlgInfeed-5eab5705.js} +19 -3
  47. package/dist/esm/AdSlot.js +1 -1
  48. package/dist/esm/ArticleQueue.js +1 -1
  49. package/dist/esm/Auth.js +1 -1
  50. package/dist/esm/Column3.js +1 -1
  51. package/dist/esm/DeckContent.js +2 -2
  52. package/dist/esm/EventsDeck.js +1 -1
  53. package/dist/esm/ExternalResources.js +1 -1
  54. package/dist/esm/GridContent.js +3 -3
  55. package/dist/esm/HamMagazine.js +10 -189
  56. package/dist/esm/IssueLanding.js +3 -3
  57. package/dist/esm/LeftNav.js +1 -1
  58. package/dist/esm/MasterDeck.js +3 -3
  59. package/dist/esm/NavDvm.js +1 -1
  60. package/dist/esm/NavMagazine.js +251 -333
  61. package/dist/esm/NavNative.js +1 -1
  62. package/dist/esm/NavNormal.js +1 -1
  63. package/dist/esm/PartnerDetailListing.js +3 -3
  64. package/dist/esm/QueueDeckExpanded.js +3 -3
  65. package/dist/esm/SocialSearchComponent-00385695.js +191 -0
  66. package/dist/esm/TemplateNormal.js +2 -1
  67. package/dist/esm/View.js +1 -1
  68. package/dist/esm/getSerializers.js +1 -1
  69. package/dist/esm/index.js +4 -3
  70. package/package.json +1 -1
@@ -15,24 +15,25 @@ var React__default = _interopDefault(React);
15
15
  require('prop-types');
16
16
  var Container = _interopDefault(require('react-bootstrap/Container'));
17
17
  var main = require('./main-bc4db521.js');
18
- var slicedToArray = require('./slicedToArray-8063ee51.js');
19
18
  require('./stringify-7c5aff47.js');
19
+ var slicedToArray = require('./slicedToArray-8063ee51.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
22
  var Segment = require('./beam-d22818d3.js');
23
23
  require('./react-social-icons-cd0d9d3b.js');
24
- var iconBase = require('./iconBase-68959171.js');
24
+ require('./iconBase-68959171.js');
25
25
  var index_esm = require('./index.esm-876ca9ff.js');
26
- var Button = _interopDefault(require('react-bootstrap/Button'));
26
+ require('react-bootstrap/Button');
27
27
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
28
28
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
29
29
  var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
30
30
  var index_esm$1 = require('./index.esm-66ffa47a.js');
31
31
  var NavFooter = require('./NavFooter-76c913e3.js');
32
32
  var index_esm$2 = require('./index.esm-d1259b34.js');
33
- var SocialIcons = require('./SocialIcons.js');
34
- var Form = _interopDefault(require('react-bootstrap/Form'));
35
- var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
33
+ require('./SocialIcons.js');
34
+ require('react-bootstrap/Form');
35
+ require('react-bootstrap/FormControl');
36
+ var SocialSearchComponent = require('./SocialSearchComponent-5cbde5e0.js');
36
37
 
37
38
  var NavMagazine = function NavMagazine(props) {
38
39
  /*
@@ -66,8 +67,6 @@ var NavMagazine = function NavMagazine(props) {
66
67
 
67
68
  var navRef = React.useRef(null);
68
69
  var topNavRef = React.useRef(null);
69
- // reference to mobile search component
70
- var searchRef = React.useRef(null);
71
70
 
72
71
  var _useState = React.useState(false),
73
72
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
@@ -79,65 +78,108 @@ var NavMagazine = function NavMagazine(props) {
79
78
  screenWidth = _useState4[0],
80
79
  setScreenWidth = _useState4[1];
81
80
 
81
+ var _useState5 = React.useState(null),
82
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
83
+ userAgent = _useState6[0],
84
+ setUserAgent = _useState6[1];
85
+
86
+ var _useState7 = React.useState(0),
87
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
88
+ resolution = _useState8[0],
89
+ setResolution = _useState8[1];
90
+
91
+ var _useState9 = React.useState(true),
92
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
93
+ isDesktop = _useState10[0],
94
+ setIsDesktop = _useState10[1];
95
+
96
+ var _useState11 = React.useState(0),
97
+ _useState12 = slicedToArray._slicedToArray(_useState11, 2),
98
+ topOffset = _useState12[0],
99
+ setTopOffset = _useState12[1];
100
+
82
101
  React.useEffect(function () {
83
102
  // handling the top mast component
84
103
  var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
85
- // Setting the top of the search component based on the offset of navigation component.
86
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
87
- document.addEventListener('scroll', trackScrolling);
88
- return function () {
89
- document.removeEventListener('scroll', trackScrolling);
90
- };
91
- // eslint-disable-next-line react-hooks/exhaustive-deps
92
104
  }, []);
93
105
 
94
106
  React.useEffect(function () {
107
+ // Check for desktop or mobile device
108
+ if (window && window.innerWidth < 1200) setIsDesktop(false);
109
+
110
+ // Hiding light-nav with logo on mobile devices
111
+ if (window && window.innerWidth < 1200 && topNavRef) topNavRef.current.style.display = 'none';
112
+
113
+ // Initial User agent setup on refresh or on load
114
+ setUserAgent(navigator.userAgent.toString());
115
+
116
+ // Initial screenwidth setup on refresh or on load
95
117
  setScreenWidth(parseInt(window.innerWidth));
96
118
  }, []);
97
119
 
120
+ // Check for browser resize
121
+ React.useEffect(function () {
122
+ if (resolution === 0) {
123
+ setResolution(window.innerWidth);
124
+ }
125
+ var handleResize = function handleResize() {
126
+ if (resolution === 0) {
127
+ setResolution(window.innerWidth);
128
+ } else {
129
+ if (window.innerWidth < 768 && resolution >= 768) {
130
+ console.log('Detected Mobile Resolution');
131
+ window.location.reload();
132
+ } else if (window.innerWidth >= 768 && resolution < 768) {
133
+ console.log('Detected Tablet/Desktop Resolution');
134
+ window.location.reload();
135
+ }
136
+ }
137
+ };
138
+ window.addEventListener('resize', handleResize);
139
+ }, [resolution]);
140
+
141
+ // Check for change in useragent with change in screen resolution
142
+ React.useEffect(function () {
143
+ var handleResize = function handleResize() {
144
+ if (userAgent && userAgent !== navigator.userAgent.toString()) {
145
+ console.log('Browser change detected, refreshing');
146
+ window.location.reload();
147
+ }
148
+ };
149
+ window.addEventListener('resize', handleResize);
150
+ }, [userAgent]);
151
+
152
+ // Handling navigation and logo position on scroll
98
153
  React.useEffect(function () {
99
154
  var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
100
155
  var adSection = document.querySelector('.AD728x90');
156
+ var navLinks = document.getElementById('nav-links');
157
+ var mastNav = document.querySelector('.nav-brands');
158
+ if (mastNav && mastNav.offsetHeight) setTopOffset(mastNav.offsetHeight - 3);
159
+
101
160
  if (window.pageYOffset > navOffsetTop) {
102
161
  if (navRef.current && navRef.current.style) {
103
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
104
162
  navRef.current.style.position = 'fixed';
105
- navRef.current.style.top = 0;
106
- navRef.current.style.width = '100%';
107
- navRef.current.style.zIndex = '99999';
108
- // Making the search Sticky on scroll
109
- searchRef.current.style.position = 'fixed';
110
- searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
111
- searchRef.current.style.zIndex = '99999';
112
- searchRef.current.style.width = '100%';
163
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
113
164
  }
114
165
  }
115
166
  var stickyNav = window.addEventListener('scroll', function () {
116
167
  if (window.pageYOffset > navOffsetTop) {
117
168
  if (navRef.current && navRef.current.style) {
118
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
119
169
  navRef.current.style.position = 'fixed';
120
- navRef.current.style.top = 0;
121
- navRef.current.style.width = '100%';
122
- navRef.current.style.zIndex = '99999';
123
- // Making the search Sticky on scroll
124
- searchRef.current.style.position = 'fixed';
125
- searchRef.current.style.top = navRef.current.offsetHeight + 1 + 'px';
126
- searchRef.current.style.zIndex = '99999';
127
- searchRef.current.style.width = '100%';
170
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
128
171
  }
172
+ setIsSticky(true);
173
+ navLinks.style.margin = 'auto';
129
174
  } else {
130
- var topNavHeight = document.querySelector('.top-nav-secondary') && document.querySelector('.top-nav-secondary').offsetHeight;
131
175
  if (navRef.current && navRef.current.style) {
132
176
  topNavRef.current.style.paddingBottom = '0';
133
177
  navRef.current.style.position = 'relative';
134
- navRef.current.style.top = '';
135
178
  if (adSection) adSection.style.marginTop = '';
136
- // Making the search Sticky on scroll
137
- searchRef.current.style.position = 'fixed';
138
- searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
139
- searchRef.current.style.width = '100%';
179
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
140
180
  }
181
+ setIsSticky(false);
182
+ navLinks.style.margin = '0px auto 0px 0px';
141
183
  }
142
184
  });
143
185
  return function () {
@@ -145,38 +187,24 @@ var NavMagazine = function NavMagazine(props) {
145
187
  };
146
188
  }, []);
147
189
 
148
- var trackScrolling = function trackScrolling() {
149
- var offsetTop = navRef.current.getBoundingClientRect().top;
150
- var navLinks = document.getElementById('nav-links');
151
- if (offsetTop === 0) {
152
- setIsSticky(true);
153
- navLinks.style.margin = 'auto';
154
- navLinks.style.padding = '0px 8% 0px 0px';
155
- } else {
156
- setIsSticky(false);
157
- navLinks.style.margin = '0px auto 0px 0px';
158
- navLinks.style.padding = '0px';
159
- }
160
- };
161
-
162
190
  //const userLoggedIn = props.user ? true : false
163
191
 
164
- var _useState5 = React.useState(false),
165
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
166
- userLoggedIn = _useState6[0],
167
- setUserLoggedIn = _useState6[1];
192
+ var _useState13 = React.useState(false),
193
+ _useState14 = slicedToArray._slicedToArray(_useState13, 2),
194
+ userLoggedIn = _useState14[0],
195
+ setUserLoggedIn = _useState14[1];
168
196
 
169
- var _useState7 = React.useState(false),
170
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
171
- userChecked = _useState8[0],
172
- setUserChecked = _useState8[1];
197
+ var _useState15 = React.useState(false),
198
+ _useState16 = slicedToArray._slicedToArray(_useState15, 2),
199
+ userChecked = _useState16[0],
200
+ setUserChecked = _useState16[1];
173
201
  // Search Term
174
202
 
175
203
 
176
- var _useState9 = React.useState(''),
177
- _useState10 = slicedToArray._slicedToArray(_useState9, 2),
178
- searchKey = _useState10[0],
179
- setSearchKey = _useState10[1];
204
+ var _useState17 = React.useState(''),
205
+ _useState18 = slicedToArray._slicedToArray(_useState17, 2),
206
+ searchKey = _useState18[0],
207
+ setSearchKey = _useState18[1];
180
208
 
181
209
  React.useEffect(function () {
182
210
  setUserLoggedIn(props.user ? true : false);
@@ -185,130 +213,6 @@ var NavMagazine = function NavMagazine(props) {
185
213
  }
186
214
  }, [props.user, userChecked]);
187
215
 
188
- // Search function
189
- var submitSearch = function submitSearch(e) {
190
- e.preventDefault();
191
- window.location.href = '/search?searchTerm=' + searchKey;
192
- };
193
-
194
- // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
195
- var toggleClass = function toggleClass(selector, type, addOn) {
196
- if (type === 'id') {
197
- var searchBar = document.getElementById(selector);
198
- if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
199
- searchBar.classList.remove(addOn);
200
- } else if (searchBar && searchBar.classList) {
201
- searchBar.classList.add(addOn);
202
- }
203
- } else if (type === 'class') {
204
- var searchBtn = document.getElementsByClassName(selector)[0];
205
- if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
206
- searchBtn.classList.remove(addOn);
207
- } else if (searchBtn && searchBtn.classList) {
208
- searchBtn.classList.add(addOn);
209
- }
210
- }
211
- };
212
-
213
- // Search Component
214
- var socialSearchComponent = function socialSearchComponent(type) {
215
- if (type === 'mobile') {
216
- return React__default.createElement(
217
- 'div',
218
- { id: 'search-content-mobile' },
219
- React__default.createElement(
220
- 'div',
221
- { id: 'search-bar-mobile', ref: searchRef },
222
- React__default.createElement(
223
- Form,
224
- { inline: true, onSubmit: function onSubmit(e) {
225
- return submitSearch(e);
226
- } },
227
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
228
- return setSearchKey(e.target.value);
229
- } }),
230
- React__default.createElement(
231
- Button,
232
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
233
- return submitSearch(e);
234
- } },
235
- 'Search'
236
- )
237
- )
238
- ),
239
- React__default.createElement(
240
- iconBase.IconContext.Provider,
241
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
242
- React__default.createElement(index_esm$2.GoSearch, {
243
- onClick: function onClick() {
244
- var navToggle = document.getElementsByClassName('navbar-toggler')[0];
245
- if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
246
- var nav = document.querySelectorAll('.navbar-collapse');
247
- for (var i = 0; i < nav.length; i++) {
248
- if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
249
- }
250
- if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
251
- }
252
-
253
- toggleClass('search-bar-mobile', 'id', 'show');
254
- toggleClass('search-btn-mobile', 'class', 'active-search');
255
- }
256
- })
257
- ),
258
- React__default.createElement(
259
- 'style',
260
- { jsx: 'true' },
261
- '\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 '
262
- )
263
- );
264
- } else if (type === 'desktop') {
265
- return React__default.createElement(
266
- 'div',
267
- { id: 'search-content-desktop' },
268
- React__default.createElement(
269
- 'div',
270
- { id: 'search-bar-desktop' },
271
- React__default.createElement(
272
- Form,
273
- { inline: true, onSubmit: function onSubmit(e) {
274
- return submitSearch(e);
275
- } },
276
- React__default.createElement(FormControl, { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
277
- return setSearchKey(e.target.value);
278
- } }),
279
- React__default.createElement(
280
- Button,
281
- { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
282
- return submitSearch(e);
283
- } },
284
- 'Search'
285
- )
286
- )
287
- ),
288
- React__default.createElement(
289
- iconBase.IconContext.Provider,
290
- { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
291
- React__default.createElement(index_esm$2.GoSearch, {
292
- onClick: function onClick() {
293
- toggleClass('search-bar-desktop', 'id', 'show');
294
- toggleClass('search-btn-desktop', 'class', 'active-search');
295
- }
296
- })
297
- ),
298
- settings && settings.socialLinks && settings.socialLinks.length !== 0 && React__default.createElement(
299
- 'div',
300
- { id: 'social-tab-desktop', style: { display: 'flex' } },
301
- settings.socialLinks && React__default.createElement(SocialIcons, { socialLinks: settings.socialLinks, variant: socialIconVariant })
302
- ),
303
- React__default.createElement(
304
- 'style',
305
- { jsx: 'true' },
306
- '\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 '
307
- )
308
- );
309
- }
310
- };
311
-
312
216
  return React__default.createElement(
313
217
  React__default.Fragment,
314
218
  null,
@@ -405,18 +309,33 @@ var NavMagazine = function NavMagazine(props) {
405
309
  ),
406
310
  React__default.createElement(
407
311
  Navbar,
408
- { id: 'navbar-ham', className: main.main_40 ? 'bottom-nav ios-nav' : 'bottom-nav ', variant: 'dark', expand: 'xl', bg: 'primary', sticky: 'top', ref: navRef },
312
+ {
313
+ id: 'navbar-ham',
314
+ style: { width: '100%', display: 'flex', top: topOffset, overflow: 'auto' },
315
+ className: main.main_40 ? 'bottom-nav ios-nav' : 'bottom-nav ',
316
+ variant: 'dark',
317
+ expand: 'xl',
318
+ bg: 'primary',
319
+ sticky: 'top',
320
+ ref: navRef },
409
321
  React__default.createElement(
410
322
  Container,
411
323
  { className: 'mobile-nav android-nav', style: { display: 'flex' } },
412
324
  React__default.createElement(
413
325
  'div',
414
- { className: 'nav-toggle' },
326
+ { className: 'nav-toggle', style: { display: 'flex' } },
415
327
  React__default.createElement(Navbar.Toggle, {
416
328
  'aria-controls': 'basic-navbar-nav',
417
329
  onClick: function onClick() {
330
+ // Set overflow fix for iPhones safari browsers
331
+ if (main.main_40) {
332
+ var mainNav = document.querySelector('#navbar-ham');
333
+ if (mainNav && mainNav.style) mainNav.style.overflow = 'auto';
334
+ }
335
+
418
336
  var searchBar = document.getElementById('search-bar-mobile');
419
337
  var searchBtn = document.getElementsByClassName('search-btn-mobile');
338
+
420
339
  if (searchBar && searchBar.classList) {
421
340
  searchBar.classList.remove('show');
422
341
  }
@@ -424,85 +343,63 @@ var NavMagazine = function NavMagazine(props) {
424
343
  searchBtn[0].classList.remove('active-search');
425
344
  }
426
345
  }
427
- })
346
+ }),
347
+ !isDesktop && React__default.createElement(
348
+ 'div',
349
+ { className: 'site-logo-wrapper', style: { margin: 'auto' } },
350
+ React__default.createElement(
351
+ 'a',
352
+ { href: '/' },
353
+ React__default.createElement('img', { src: invertedLogo ? invertedLogo : logo, style: { padding: '0px ', objectFit: 'contain', maxHeight: '45px' } })
354
+ )
355
+ ),
356
+ !isDesktop && React__default.createElement(SocialSearchComponent.SocialSearchComponent, { type: 'mobile', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
428
357
  ),
429
358
  React__default.createElement(
430
359
  'div',
431
- { className: 'site-logo-wrapper', style: { display: 'none' } },
432
- React__default.createElement(
433
- 'a',
434
- { href: '/' },
435
- invertedLogo ? React__default.createElement('img', { src: invertedLogo, style: { padding: '0px ' } }) : React__default.createElement('img', { src: logo, style: { padding: '0px ' } })
436
- ),
437
- React__default.createElement(
438
- 'style',
439
- { jsx: 'true' },
440
- '\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 '
441
- )
442
- ),
443
- socialSearchComponent('mobile'),
444
- subNav && React__default.createElement(
445
- Navbar.Collapse,
446
- { id: 'basic-navbar-sub' },
447
- React__default.createElement(
448
- Nav,
449
- { className: 'mr-auto' },
450
- showLogin && userChecked && userLoggedIn && React__default.createElement(
451
- React__default.Fragment,
452
- null,
453
- React__default.createElement(
454
- 'a',
455
- { key: 'mobile-profile', href: '/auth/profile', className: 'nav-link' },
456
- 'Profile'
360
+ { className: 'navigation-menu-list', style: { width: '100%', maxHeight: '85vh' } },
361
+ subNav && React__default.createElement(
362
+ Navbar.Collapse,
363
+ { id: 'basic-navbar-sub' },
364
+ React__default.createElement(
365
+ Nav,
366
+ { className: 'mr-auto' },
367
+ showLogin && userChecked && userLoggedIn && React__default.createElement(
368
+ React__default.Fragment,
369
+ null,
370
+ React__default.createElement(
371
+ 'a',
372
+ { key: 'mobile-profile', href: '/auth/profile', className: 'nav-link' },
373
+ 'Profile'
374
+ ),
375
+ React__default.createElement(
376
+ 'a',
377
+ { key: 'mobile-logout', href: '/api/auth/logout', className: 'nav-link' },
378
+ 'Log Out'
379
+ )
457
380
  ),
458
- React__default.createElement(
459
- 'a',
460
- { key: 'mobile-logout', href: '/api/auth/logout', className: 'nav-link' },
461
- 'Log Out'
462
- )
463
- ),
464
- showLogin && userChecked && !userLoggedIn && React__default.createElement(
465
- React__default.Fragment,
466
- null,
467
- React__default.createElement(
468
- 'a',
469
- { key: 'mobile-signup', href: '/auth/signup', className: 'nav-link' },
470
- 'Sign Up'
381
+ showLogin && userChecked && !userLoggedIn && React__default.createElement(
382
+ React__default.Fragment,
383
+ null,
384
+ React__default.createElement(
385
+ 'a',
386
+ { key: 'mobile-signup', href: '/auth/signup', className: 'nav-link' },
387
+ 'Sign Up'
388
+ ),
389
+ React__default.createElement(
390
+ 'a',
391
+ { key: 'mobile-login', href: '/auth/login', className: 'nav-link' },
392
+ 'Log In'
393
+ )
471
394
  ),
472
- React__default.createElement(
473
- 'a',
474
- { key: 'mobile-login', href: '/auth/login', className: 'nav-link' },
475
- 'Log In'
476
- )
477
- ),
478
- subNav && subNav.map(function (row, index) {
479
- if (row.subQuery && row.subQuery.length > 0) {
480
- return row.name ? React__default.createElement(
481
- 'div',
482
- null,
483
- React__default.createElement(
484
- NavDropdown,
485
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
486
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
487
- if (ddRow.type === 'divider') {
488
- return React__default.createElement(NavDropdown.Divider, { key: subIndex });
489
- } else {
490
- if (ddRow.url && ddRow.name) {
491
- return ddRow.url && ddRow.name ? React__default.createElement(
492
- 'a',
493
- { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
494
- ddRow.name
495
- ) : null;
496
- } else return null;
497
- }
498
- })
499
- ),
500
- React__default.createElement(
501
- 'noscript',
395
+ subNav && subNav.map(function (row, index) {
396
+ if (row.subQuery && row.subQuery.length > 0) {
397
+ return row.name ? React__default.createElement(
398
+ 'div',
502
399
  null,
503
400
  React__default.createElement(
504
- 'div',
505
- null,
401
+ NavDropdown,
402
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
506
403
  row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
507
404
  if (ddRow.type === 'divider') {
508
405
  return React__default.createElement(NavDropdown.Divider, { key: subIndex });
@@ -516,60 +413,62 @@ var NavMagazine = function NavMagazine(props) {
516
413
  } else return null;
517
414
  }
518
415
  })
416
+ ),
417
+ React__default.createElement(
418
+ 'noscript',
419
+ null,
420
+ React__default.createElement(
421
+ 'div',
422
+ null,
423
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
424
+ if (ddRow.type === 'divider') {
425
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
426
+ } else {
427
+ if (ddRow.url && ddRow.name) {
428
+ return ddRow.url && ddRow.name ? React__default.createElement(
429
+ 'a',
430
+ { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
431
+ ddRow.name
432
+ ) : null;
433
+ } else return null;
434
+ }
435
+ })
436
+ )
519
437
  )
520
- )
521
- ) : null;
522
- } else {
523
- return row.url && row.name ? React__default.createElement(
524
- 'a',
525
- { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
526
- row.name
527
- ) : null;
528
- }
529
- })
530
- )
531
- ),
532
- React__default.createElement(
533
- Navbar.Collapse,
534
- { id: 'basic-navbar-nav' },
535
- isSticky && invertedLogo && React__default.createElement(
536
- Nav.Item,
537
- { className: 'nav-mobile-logo' },
538
- React__default.createElement(
539
- 'a',
540
- { href: '/' },
541
- React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
438
+ ) : null;
439
+ } else {
440
+ return row.url && row.name ? React__default.createElement(
441
+ 'a',
442
+ { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
443
+ row.name
444
+ ) : null;
445
+ }
446
+ })
542
447
  )
543
448
  ),
544
449
  React__default.createElement(
545
- Nav,
546
- { id: 'nav-links', style: { marginRight: 'auto' } },
547
- dataObject && dataObject.map(function (row, index) {
548
- if (row.subQuery && row.subQuery.length > 0) {
549
- return row.name ? React__default.createElement(
550
- 'div',
551
- null,
552
- React__default.createElement(
553
- NavDropdown,
554
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
555
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
556
- if (ddRow.type === 'divider') {
557
- return React__default.createElement(NavDropdown.Divider, { key: subIndex });
558
- } else {
559
- return ddRow.url && ddRow.name ? React__default.createElement(
560
- 'a',
561
- { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
562
- ddRow.name
563
- ) : null;
564
- }
565
- })
566
- ),
567
- React__default.createElement(
568
- 'noscript',
450
+ Navbar.Collapse,
451
+ { id: 'basic-navbar-nav' },
452
+ isSticky && invertedLogo && isDesktop && React__default.createElement(
453
+ Nav.Item,
454
+ { className: 'nav-mobile-logo' },
455
+ React__default.createElement(
456
+ 'a',
457
+ { href: '/' },
458
+ React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
459
+ )
460
+ ),
461
+ React__default.createElement(
462
+ Nav,
463
+ { id: 'nav-links', style: { marginRight: 'auto' } },
464
+ dataObject && dataObject.map(function (row, index) {
465
+ if (row.subQuery && row.subQuery.length > 0) {
466
+ return row.name ? React__default.createElement(
467
+ 'div',
569
468
  null,
570
469
  React__default.createElement(
571
- 'div',
572
- null,
470
+ NavDropdown,
471
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
573
472
  row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
574
473
  if (ddRow.type === 'divider') {
575
474
  return React__default.createElement(NavDropdown.Divider, { key: subIndex });
@@ -581,29 +480,48 @@ var NavMagazine = function NavMagazine(props) {
581
480
  ) : null;
582
481
  }
583
482
  })
483
+ ),
484
+ React__default.createElement(
485
+ 'noscript',
486
+ null,
487
+ React__default.createElement(
488
+ 'div',
489
+ null,
490
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
491
+ if (ddRow.type === 'divider') {
492
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
493
+ } else {
494
+ return ddRow.url && ddRow.name ? React__default.createElement(
495
+ 'a',
496
+ { key: subIndex, href: Segment.Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
497
+ ddRow.name
498
+ ) : null;
499
+ }
500
+ })
501
+ )
584
502
  )
585
- )
586
- ) : null;
587
- } else {
588
- return row.url && row.name ? React__default.createElement(
589
- 'a',
590
- { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
591
- row.name
592
- ) : null;
593
- }
594
- })
595
- )
596
- ),
597
- website && React__default.createElement(
598
- Navbar.Collapse,
599
- { id: 'basic-navbar-sub' },
600
- React__default.createElement(
601
- Nav,
602
- { className: 'mr-auto' },
603
- socialFooterNav ? React__default.createElement(index_esm$2.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
503
+ ) : null;
504
+ } else {
505
+ return row.url && row.name ? React__default.createElement(
506
+ 'a',
507
+ { key: index, href: Segment.Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
508
+ row.name
509
+ ) : null;
510
+ }
511
+ })
512
+ )
513
+ ),
514
+ website && React__default.createElement(
515
+ Navbar.Collapse,
516
+ { id: 'basic-navbar-sub' },
517
+ React__default.createElement(
518
+ Nav,
519
+ { className: 'mr-auto' },
520
+ socialFooterNav ? React__default.createElement(index_esm$2.SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter.NavFooter, { website: website, showLogo: true })
521
+ )
604
522
  )
605
523
  ),
606
- socialSearchComponent('desktop')
524
+ isDesktop && React__default.createElement(SocialSearchComponent.SocialSearchComponent, { type: 'desktop', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
607
525
  )
608
526
  ),
609
527
  React__default.createElement(
@@ -618,7 +536,7 @@ var NavMagazine = function NavMagazine(props) {
618
536
  React__default.createElement(
619
537
  'style',
620
538
  { jsx: 'true' },
621
- '\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 '
539
+ '\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 '
622
540
  )
623
541
  );
624
542
  };