@mjhls/mjh-framework 1.0.619 → 1.0.621

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.
@@ -27,9 +27,8 @@ var Nav = _interopDefault(require('react-bootstrap/Nav'));
27
27
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
28
28
  var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
29
29
  var NavFooter = require('./NavFooter-76c913e3.js');
30
- var SocialNavFooter = require('./SocialNavFooter-9a07520f.js');
30
+ var index_esm$2 = require('./index.esm-d1259b34.js');
31
31
  var SocialIcons = require('./SocialIcons.js');
32
- var index_esm$2 = require('./index.esm-0e5c6a9e.js');
33
32
  var Form = _interopDefault(require('react-bootstrap/Form'));
34
33
  var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
35
34
 
@@ -440,7 +439,7 @@ var NavNative = function NavNative(props) {
440
439
  React__default.createElement(
441
440
  Nav,
442
441
  { className: 'mr-auto' },
443
- socialFooterNav ? React__default.createElement(SocialNavFooter.SocialNavFooter, { website: website }) : React__default.createElement(NavFooter.NavFooter, { website: website })
442
+ socialFooterNav ? React__default.createElement(index_esm$2.SocialNavFooter, { website: website }) : React__default.createElement(NavFooter.NavFooter, { website: website })
444
443
  )
445
444
  ),
446
445
  socialSearchComponent('desktop')
@@ -0,0 +1,196 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var React = require('react');
6
+ var React__default = _interopDefault(React);
7
+ var main = require('./main-bc4db521.js');
8
+ var slicedToArray = require('./slicedToArray-8063ee51.js');
9
+ var iconBase = require('./iconBase-68959171.js');
10
+ var Button = _interopDefault(require('react-bootstrap/Button'));
11
+ var index_esm$2 = require('./index.esm-d1259b34.js');
12
+ var SocialIcons = require('./SocialIcons.js');
13
+ var Form = _interopDefault(require('react-bootstrap/Form'));
14
+ var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
15
+
16
+ var SocialSearchComponent = function SocialSearchComponent(_ref) {
17
+ var type = _ref.type,
18
+ socialIconVariant = _ref.socialIconVariant,
19
+ website = _ref.website,
20
+ navID = _ref.navID;
21
+
22
+ // Search Term
23
+ var _useState = React.useState(''),
24
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
25
+ searchKey = _useState2[0],
26
+ setSearchKey = _useState2[1];
27
+ // To calculate the position at which mobile searchbar should set.
28
+
29
+
30
+ var _useState3 = React.useState(0),
31
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
32
+ topOffset = _useState4[0],
33
+ setTopOffset = _useState4[1];
34
+
35
+ var _useState5 = React.useState(0),
36
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
37
+ rightOffset = _useState6[0],
38
+ setRightpOffset = _useState6[1];
39
+
40
+ var desktopComponent = React.useRef(null);
41
+ var mobileComponent = React.useRef(null);
42
+
43
+ React.useEffect(function () {
44
+ var navWrapper = document.getElementById(navID);
45
+ var mastNav = document.querySelector('.nav-brands');
46
+ var topOffset = 0;
47
+ if (window && window.innerWidth < 1200 && mastNav && mastNav.offsetHeight) topOffset = topOffset + mastNav.offsetHeight;
48
+ if (navWrapper && navWrapper.offsetHeight) topOffset = topOffset + navWrapper.offsetHeight;
49
+ setTopOffset(topOffset + 2);
50
+
51
+ if (desktopComponent && desktopComponent.current && desktopComponent.current.offsetWidth && desktopComponent.current.offsetLeft) {
52
+ setRightpOffset(window.innerWidth - desktopComponent.current.offsetLeft);
53
+ }
54
+ }, []);
55
+
56
+ // Search function
57
+ var submitSearch = function submitSearch(e) {
58
+ e.preventDefault();
59
+ window.location.href = '/search?searchTerm=' + searchKey;
60
+ };
61
+
62
+ // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
63
+ var toggleClass = function toggleClass(selector, type, addOn) {
64
+ if (type === 'id') {
65
+ var searchBar = document.getElementById(selector);
66
+ if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
67
+ searchBar.classList.remove(addOn);
68
+ } else if (searchBar && searchBar.classList) {
69
+ searchBar.classList.add(addOn);
70
+ }
71
+ } else if (type === 'class') {
72
+ var searchBtn = document.getElementsByClassName(selector)[0];
73
+ if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
74
+ // Set overflow fix for iPhones safari browsers
75
+ if (main.main_40) {
76
+ var mainNav = document.querySelector('#navbar-ham');
77
+ if (mainNav && mainNav.style) mainNav.style.overflow = 'auto';
78
+ }
79
+ searchBtn.classList.remove(addOn);
80
+ } else if (searchBtn && searchBtn.classList) {
81
+ // Set overflow fix for iPhones safari browsers
82
+ if (main.main_40) {
83
+ var _mainNav = document.querySelector('#navbar-ham');
84
+ if (_mainNav && _mainNav.style) _mainNav.style.overflow = 'visible';
85
+ }
86
+ searchBtn.classList.add(addOn);
87
+ }
88
+ }
89
+ };
90
+
91
+ var socialSearchDesktop = function socialSearchDesktop() {
92
+ return React__default.createElement(
93
+ 'div',
94
+ { id: 'search-content-desktop', ref: desktopComponent, style: { display: 'flex' } },
95
+ React__default.createElement(
96
+ 'div',
97
+ { id: 'search-bar-desktop', style: { top: topOffset, right: rightOffset } },
98
+ React__default.createElement(
99
+ Form,
100
+ { style: { padding: '6px' }, inline: true, onSubmit: function onSubmit(e) {
101
+ return submitSearch(e);
102
+ } },
103
+ React__default.createElement(FormControl, { style: { width: '78%' }, placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
104
+ return setSearchKey(e.target.value);
105
+ } }),
106
+ React__default.createElement(
107
+ Button,
108
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
109
+ return submitSearch(e);
110
+ } },
111
+ 'Search'
112
+ )
113
+ )
114
+ ),
115
+ React__default.createElement(
116
+ iconBase.IconContext.Provider,
117
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '35px' } },
118
+ React__default.createElement(index_esm$2.GoSearch, {
119
+ onClick: function onClick() {
120
+ toggleClass('search-bar-desktop', 'id', 'show');
121
+ toggleClass('search-btn-desktop', 'class', 'active-search');
122
+ }
123
+ })
124
+ ),
125
+ website && website.socialLinks && website.socialLinks.length !== 0 && React__default.createElement(
126
+ 'div',
127
+ { id: 'social-tab-desktop', style: { display: 'flex', left: '0px', position: 'relative', paddingTop: '3px', maxHeight: '35px' } },
128
+ website.socialLinks && React__default.createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
129
+ ),
130
+ React__default.createElement(
131
+ 'style',
132
+ { jsx: 'true' },
133
+ '\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 '
134
+ )
135
+ );
136
+ };
137
+
138
+ var socialSearchMobile = function socialSearchMobile() {
139
+ return React__default.createElement(
140
+ 'div',
141
+ { id: 'search-content-mobile', ref: mobileComponent },
142
+ React__default.createElement(
143
+ 'div',
144
+ { id: 'search-bar-mobile', style: { top: topOffset } },
145
+ React__default.createElement(
146
+ Form,
147
+ { inline: true, style: { padding: '6px', width: '100%' }, onSubmit: function onSubmit(e) {
148
+ return submitSearch(e);
149
+ } },
150
+ React__default.createElement(FormControl, { style: { width: '78%' }, placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
151
+ return setSearchKey(e.target.value);
152
+ } }),
153
+ React__default.createElement(
154
+ Button,
155
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
156
+ return submitSearch(e);
157
+ } },
158
+ 'Search'
159
+ )
160
+ )
161
+ ),
162
+ React__default.createElement(
163
+ iconBase.IconContext.Provider,
164
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '35px' } },
165
+ React__default.createElement(index_esm$2.GoSearch, {
166
+ onClick: function onClick() {
167
+ var navToggle = document.getElementsByClassName('navbar-toggler')[0];
168
+ if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
169
+ var nav = document.querySelectorAll('.navbar-collapse');
170
+ for (var i = 0; i < nav.length; i++) {
171
+ if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
172
+ }
173
+ if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
174
+ }
175
+
176
+ toggleClass('search-bar-mobile', 'id', 'show');
177
+ toggleClass('search-btn-mobile', 'class', 'active-search');
178
+ }
179
+ })
180
+ ),
181
+ React__default.createElement(
182
+ 'style',
183
+ { jsx: 'true' },
184
+ '\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 '
185
+ )
186
+ );
187
+ };
188
+
189
+ if (type === 'mobile') {
190
+ return socialSearchMobile();
191
+ } else if (type === 'desktop') {
192
+ return socialSearchDesktop();
193
+ }
194
+ };
195
+
196
+ exports.SocialSearchComponent = SocialSearchComponent;
@@ -32,7 +32,7 @@ require('./get-5dfcdc33.js');
32
32
  require('./react-social-icons-cd0d9d3b.js');
33
33
  require('react-bootstrap');
34
34
  require('./iconBase-68959171.js');
35
- require('./index.esm-fbd1f7e9.js');
35
+ require('./index.esm-876ca9ff.js');
36
36
  require('react-bootstrap/Button');
37
37
  require('next/head');
38
38
  var Column1 = require('./Column1.js');
@@ -52,11 +52,11 @@ require('react-bootstrap/Navbar');
52
52
  require('react-bootstrap/NavDropdown');
53
53
  require('./index.esm-66ffa47a.js');
54
54
  require('./NavFooter-76c913e3.js');
55
- require('./SocialNavFooter-9a07520f.js');
55
+ require('./index.esm-d1259b34.js');
56
56
  require('./SocialIcons.js');
57
- require('./index.esm-0e5c6a9e.js');
58
57
  require('react-bootstrap/Form');
59
58
  require('react-bootstrap/FormControl');
59
+ require('./SocialSearchComponent-5cbde5e0.js');
60
60
  var NavMagazine = require('./NavMagazine.js');
61
61
  var NavNative = require('./NavNative.js');
62
62
  require('./Search.js');
@@ -11,7 +11,7 @@ var React__default = _interopDefault(React);
11
11
  var main = require('./main-bc4db521.js');
12
12
  var slicedToArray = require('./slicedToArray-8063ee51.js');
13
13
  require('./iconBase-68959171.js');
14
- var index_esm = require('./index.esm-fbd1f7e9.js');
14
+ var index_esm = require('./index.esm-876ca9ff.js');
15
15
  var index_esm$3 = require('./index.esm-89fabc47.js');
16
16
 
17
17
  var Ustream = function Ustream(_ref) {
@@ -33,7 +33,7 @@ require('./slicedToArray-8063ee51.js');
33
33
  require('./smoothscroll-95231a70.js');
34
34
  var YoutubeGroup = require('./YoutubeGroup.js');
35
35
  require('./iconBase-68959171.js');
36
- var index_esm = require('./index.esm-fbd1f7e9.js');
36
+ var index_esm = require('./index.esm-876ca9ff.js');
37
37
 
38
38
  var VideoSeriesListing = function (_React$Component) {
39
39
  inherits._inherits(VideoSeriesListing, _React$Component);
@@ -7,10 +7,6 @@ var IoIosArrowForward = function (props) {
7
7
  return iconBase.GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M294.1 256L167 129c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.3 34 0L345 239c9.1 9.1 9.3 23.7.7 33.1L201.1 417c-4.7 4.7-10.9 7-17 7s-12.3-2.3-17-7c-9.4-9.4-9.4-24.6 0-33.9l127-127.1z"}}]})(props);
8
8
  };
9
9
  IoIosArrowForward.displayName = "IoIosArrowForward";
10
- var IoIosHome = function (props) {
11
- return iconBase.GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M258.5 104.1c-1.5-1.2-3.5-1.2-5 0l-156 124.8c-.9.8-1.5 1.9-1.5 3.1v230c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V322c0-1.1.9-2 2-2h92c1.1 0 2 .9 2 2v140c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V232c0-1.2-.6-2.4-1.5-3.1l-156-124.8z"}},{"tag":"path","attr":{"d":"M458.7 204.2l-189-151.4C265.9 49.7 261 48 256 48s-9.9 1.7-13.7 4.8L160 119.7V77.5c0-1.1-.9-2-2-2H98c-1.1 0-2 .9-2 2v92.2l-42.7 35.1c-3.1 2.5-5.1 6.2-5.3 10.2-.2 4 1.3 7.9 4.1 10.7 2.6 2.6 6.1 4.1 9.9 4.1 3.2 0 6.3-1.1 8.8-3.1l183.9-148c.5-.4.9-.4 1.3-.4s.8.1 1.3.4l183.9 147.4c2.5 2 5.6 3.1 8.8 3.1 3.7 0 7.2-1.4 9.9-4.1 2.9-2.8 4.4-6.7 4.2-10.7-.3-4-2.2-7.7-5.4-10.2z"}}]})(props);
12
- };
13
- IoIosHome.displayName = "IoIosHome";
14
10
  var IoIosOpen = function (props) {
15
11
  return iconBase.GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M227.8 300.2c-5.1-5.1-5.1-13.3 0-18.4l133.7-133.7c-5.3-2.6-11.2-4.1-17.5-4.1H88c-22 0-40 18-40 40v224c0 22 18 40 40 40h256c22 0 40-18 40-40V184c0-6.3-1.5-12.2-4.1-17.5L246.2 300.2c-5.1 5.1-13.3 5.1-18.4 0z"}},{"tag":"path","attr":{"d":"M459.5 68.5C457 66 453 64 449 64h-97c-7.2-.1-13.1 5.7-13.1 12.9-.1 7.2 5.7 13.1 12.9 13.1l67.3.5-57.6 57.6c8 3.9 14.5 10.4 18.4 18.4l57.6-57.6.5 67.3c.1 7.2 5.9 13 13.1 12.9 7.2-.1 13-5.9 12.9-13.1V78c0-3.5-2-7-4.5-9.5z"}}]})(props);
16
12
  };
@@ -25,7 +21,6 @@ var IoMdLogIn = function (props) {
25
21
  IoMdLogIn.displayName = "IoMdLogIn";
26
22
 
27
23
  exports.IoIosArrowForward = IoIosArrowForward;
28
- exports.IoIosHome = IoIosHome;
29
24
  exports.IoIosOpen = IoIosOpen;
30
25
  exports.IoMdArrowDropdown = IoMdArrowDropdown;
31
26
  exports.IoMdLogIn = IoMdLogIn;
@@ -5,6 +5,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
  var reactSocialIcons = require('./react-social-icons-cd0d9d3b.js');
8
+ var iconBase = require('./iconBase-68959171.js');
8
9
 
9
10
  var year = new Date().getFullYear();
10
11
 
@@ -79,4 +80,11 @@ var SocialNavFooter = function SocialNavFooter(props) {
79
80
  );
80
81
  };
81
82
 
83
+ // THIS FILE IS AUTO GENERATED
84
+ var GoSearch = function (props) {
85
+ return iconBase.GenIcon({"tag":"svg","attr":{"viewBox":"0 0 16 16"},"child":[{"tag":"path","attr":{"fillRule":"evenodd","d":"M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"}}]})(props);
86
+ };
87
+ GoSearch.displayName = "GoSearch";
88
+
89
+ exports.GoSearch = GoSearch;
82
90
  exports.SocialNavFooter = SocialNavFooter;
package/dist/cjs/index.js CHANGED
@@ -62,7 +62,7 @@ var YoutubeGroup = require('./YoutubeGroup.js');
62
62
  require('react-bootstrap');
63
63
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
64
64
  require('./iconBase-68959171.js');
65
- require('./index.esm-fbd1f7e9.js');
65
+ require('./index.esm-876ca9ff.js');
66
66
  var VideoSeriesListing = require('./VideoSeriesListing.js');
67
67
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
68
68
  var MasterDeck = require('./MasterDeck.js');
@@ -105,11 +105,11 @@ require('react-bootstrap/Navbar');
105
105
  require('react-bootstrap/NavDropdown');
106
106
  require('./index.esm-66ffa47a.js');
107
107
  require('./NavFooter-76c913e3.js');
108
- require('./SocialNavFooter-9a07520f.js');
108
+ require('./index.esm-d1259b34.js');
109
109
  var SocialIcons = require('./SocialIcons.js');
110
- require('./index.esm-0e5c6a9e.js');
111
110
  require('react-bootstrap/Form');
112
111
  require('react-bootstrap/FormControl');
112
+ require('./SocialSearchComponent-5cbde5e0.js');
113
113
  var NavMagazine = require('./NavMagazine.js');
114
114
  var NavNative = require('./NavNative.js');
115
115
  var Search = require('./Search.js');
@@ -5,7 +5,7 @@ import './web.dom.iterable-5c830d3d.js';
5
5
  import React__default, { useState } from 'react';
6
6
  import { _ as _slicedToArray } from './slicedToArray-a58d7edf.js';
7
7
  import './iconBase-602d52fe.js';
8
- import { a as IoMdArrowDropdown } from './index.esm-4b1d94b7.js';
8
+ import { a as IoMdArrowDropdown } from './index.esm-85cb09e6.js';
9
9
  import Accordion from 'react-bootstrap/Accordion';
10
10
  import { useAccordionToggle } from 'react-bootstrap/AccordionToggle';
11
11
 
@@ -27,7 +27,7 @@ import './slicedToArray-a58d7edf.js';
27
27
  import './smoothscroll-4b699764.js';
28
28
  import YoutubeGroup from './YoutubeGroup.js';
29
29
  import './iconBase-602d52fe.js';
30
- import { I as IoIosArrowForward } from './index.esm-4b1d94b7.js';
30
+ import { I as IoIosArrowForward } from './index.esm-85cb09e6.js';
31
31
 
32
32
  var ArticleSeriesListing = function (_React$Component) {
33
33
  _inherits(ArticleSeriesListing, _React$Component);
@@ -7,7 +7,7 @@ import './web.dom.iterable-5c830d3d.js';
7
7
  import React__default, { useRef, useState, useEffect } from 'react';
8
8
  import 'prop-types';
9
9
  import Container from 'react-bootstrap/Container';
10
- import { m as main_39 } from './main-7255814e.js';
10
+ import { m as main_39, a as main_40 } from './main-7255814e.js';
11
11
  import { _ as _slicedToArray } from './slicedToArray-a58d7edf.js';
12
12
  import './stringify-feadff37.js';
13
13
  import './asyncToGenerator-d25aac66.js';
@@ -15,17 +15,18 @@ import './_set-species-75f77d40.js';
15
15
  import { S as Segment } from './beam-c40d77ae.js';
16
16
  import './react-social-icons-a7d5c5c7.js';
17
17
  import './iconBase-602d52fe.js';
18
- import { b as IoMdLogIn, c as IoIosHome } from './index.esm-4b1d94b7.js';
18
+ import { b as IoMdLogIn } from './index.esm-85cb09e6.js';
19
19
  import 'react-bootstrap/Button';
20
20
  import Nav from 'react-bootstrap/Nav';
21
21
  import Navbar from 'react-bootstrap/Navbar';
22
22
  import NavDropdown from 'react-bootstrap/NavDropdown';
23
23
  import { M as MdEmail } from './index.esm-b08f4b04.js';
24
24
  import { N as NavFooter } from './NavFooter-e27bd93b.js';
25
- import { S as SocialNavFooter } from './SocialNavFooter-4fb16720.js';
25
+ import { S as SocialNavFooter } from './index.esm-73e847d2.js';
26
+ import './SocialIcons.js';
26
27
  import 'react-bootstrap/Form';
27
28
  import 'react-bootstrap/FormControl';
28
- import Search from './Search.js';
29
+ import { S as SocialSearchComponent } from './SocialSearchComponent-00385695.js';
29
30
 
30
31
  var HamMagazine = function HamMagazine(props) {
31
32
  /*
@@ -39,6 +40,7 @@ var HamMagazine = function HamMagazine(props) {
39
40
  />
40
41
  */
41
42
 
43
+ // Setting 'socialIconVariant' as 'light' as default to make the social icons and search icon black
42
44
  var logo = props.logo,
43
45
  mobileLogo = props.mobileLogo,
44
46
  dataObject = props.dataObject,
@@ -48,7 +50,11 @@ var HamMagazine = function HamMagazine(props) {
48
50
  _props$showLogin = props.showLogin,
49
51
  showLogin = _props$showLogin === undefined ? false : _props$showLogin,
50
52
  _props$socialFooterNa = props.socialFooterNav,
51
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
53
+ socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa,
54
+ _props$socialIconVari = props.socialIconVariant,
55
+ socialIconVariant = _props$socialIconVari === undefined ? 'light' : _props$socialIconVari,
56
+ invertedLogo = props.invertedLogo,
57
+ settings = props.settings;
52
58
 
53
59
  var navRef = useRef(null);
54
60
  var topNavRef = useRef(null);
@@ -78,19 +84,31 @@ var HamMagazine = function HamMagazine(props) {
78
84
  resolution = _useState10[0],
79
85
  setResolution = _useState10[1];
80
86
 
81
- useEffect(function () {
82
- document.addEventListener('scroll', trackScrolling);
83
- return function () {
84
- document.removeEventListener('scroll', trackScrolling);
85
- };
86
- // eslint-disable-next-line react-hooks/exhaustive-deps
87
- }, []);
87
+ var _useState11 = useState(true),
88
+ _useState12 = _slicedToArray(_useState11, 2),
89
+ isDesktop = _useState12[0],
90
+ setIsDesktop = _useState12[1];
91
+
92
+ var _useState13 = useState(0),
93
+ _useState14 = _slicedToArray(_useState13, 2),
94
+ topOffset = _useState14[0],
95
+ setTopOffset = _useState14[1];
88
96
 
89
- // Initial User agent setup on refresh or on load
90
97
  useEffect(function () {
98
+ // Check for desktop or mobile device
99
+ if (window && window.innerWidth < 1200) setIsDesktop(false);
100
+
101
+ // Hiding light-nav with logo on mobile devices
102
+ if (window && window.innerWidth < 1200 && topNavRef) topNavRef.current.style.display = 'none';
103
+
104
+ // Initial User agent setup on refresh or on load
91
105
  setUserAgent(navigator.userAgent.toString());
106
+
107
+ // Initial screenwidth setup on refresh or on load
108
+ setScreenWidth(parseInt(window.innerWidth));
92
109
  }, []);
93
110
 
111
+ // Check for browser resize
94
112
  useEffect(function () {
95
113
  if (resolution === 0) {
96
114
  setResolution(window.innerWidth);
@@ -111,10 +129,6 @@ var HamMagazine = function HamMagazine(props) {
111
129
  window.addEventListener('resize', handleResize);
112
130
  }, [resolution]);
113
131
 
114
- useEffect(function () {
115
- setScreenWidth(parseInt(window.innerWidth));
116
- }, []);
117
-
118
132
  // Check for change in useragent with change in screen resolution
119
133
  useEffect(function () {
120
134
  var handleResize = function handleResize() {
@@ -126,34 +140,37 @@ var HamMagazine = function HamMagazine(props) {
126
140
  window.addEventListener('resize', handleResize);
127
141
  }, [userAgent]);
128
142
 
143
+ // Handling navigation and logo position on scroll
129
144
  useEffect(function () {
130
- var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
145
+ var navOffsetTop = document.getElementById('navbar-ham') && document.getElementById('navbar-ham').offsetTop;
131
146
  var adSection = document.querySelector('.AD728x90');
147
+ var navLinks = document.getElementById('nav-links');
148
+ var mastNav = document.querySelector('.nav-brands');
149
+ if (mastNav && mastNav.offsetHeight) setTopOffset(mastNav.offsetHeight - 3);
150
+
132
151
  if (window.pageYOffset > navOffsetTop) {
133
152
  if (navRef.current && navRef.current.style) {
134
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
135
153
  navRef.current.style.position = 'fixed';
136
- navRef.current.style.top = 0;
137
- navRef.current.style.width = '100%';
138
- navRef.current.style.zIndex = '99999';
154
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
139
155
  }
140
156
  }
141
157
  var stickyNav = window.addEventListener('scroll', function () {
142
158
  if (window.pageYOffset > navOffsetTop) {
143
159
  if (navRef.current && navRef.current.style) {
144
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
145
160
  navRef.current.style.position = 'fixed';
146
- navRef.current.style.top = 0;
147
- navRef.current.style.width = '100%';
148
- navRef.current.style.zIndex = '99999';
161
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
149
162
  }
163
+ setIsSticky(true);
164
+ navLinks.style.margin = 'auto';
150
165
  } else {
151
166
  if (navRef.current && navRef.current.style) {
152
167
  topNavRef.current.style.paddingBottom = '0';
153
168
  navRef.current.style.position = 'relative';
154
- navRef.current.style.top = '';
155
169
  if (adSection) adSection.style.marginTop = '';
170
+ if (mastNav && mastNav.offsetHeight) navRef.current.style.top = mastNav.offsetHeight;
156
171
  }
172
+ setIsSticky(false);
173
+ navLinks.style.margin = '0px auto 0px 0px';
157
174
  }
158
175
  });
159
176
  return function () {
@@ -161,16 +178,6 @@ var HamMagazine = function HamMagazine(props) {
161
178
  };
162
179
  }, []);
163
180
 
164
- var trackScrolling = function trackScrolling() {
165
- var offsetTop = navRef.current.getBoundingClientRect().top;
166
-
167
- if (offsetTop <= 0) {
168
- setIsSticky(true);
169
- } else {
170
- setIsSticky(false);
171
- }
172
- };
173
-
174
181
  var handleLogin = function handleLogin(e) {
175
182
  if (typeof GCN !== 'undefined' && GCN && GCN.onecount) {
176
183
  GCN.onecount.login();
@@ -189,7 +196,7 @@ var HamMagazine = function HamMagazine(props) {
189
196
 
190
197
  return React__default.createElement(
191
198
  'header',
192
- { className: !main_39 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
199
+ { className: !main_39 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '999999' } },
193
200
  React__default.createElement(
194
201
  Navbar,
195
202
  { expand: 'md', ref: topNavRef },
@@ -305,24 +312,46 @@ var HamMagazine = function HamMagazine(props) {
305
312
  ),
306
313
  React__default.createElement(
307
314
  Navbar,
308
- { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%' } },
315
+ { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%', display: 'flex', top: topOffset, overflow: 'auto' } },
309
316
  React__default.createElement(
310
317
  Container,
311
318
  { className: 'mobile-nav' },
312
319
  React__default.createElement(
313
320
  'div',
314
- { className: 'nav-toggle' },
321
+ { className: 'nav-toggle', style: { display: 'flex' } },
315
322
  React__default.createElement(Navbar.Toggle, {
316
323
  'aria-controls': 'basic-navbar-nav',
317
324
  onClick: function onClick() {
325
+ // Set overflow fix for iPhones safari browsers
326
+ if (main_40) {
327
+ var mainNav = document.querySelector('#navbar-ham');
328
+ if (mainNav && mainNav.style) mainNav.style.overflow = 'auto';
329
+ }
330
+ var searchBar = document.getElementById('search-bar-mobile');
331
+ var searchBtn = document.getElementsByClassName('search-btn-mobile');
332
+ if (searchBar && searchBar.classList) {
333
+ searchBar.classList.remove('show');
334
+ }
335
+ if (searchBtn && searchBtn[0].classList) {
336
+ searchBtn[0].classList.remove('active-search');
337
+ }
318
338
  setIsOpen(!isOpen);
319
339
  }
320
340
  }),
321
- React__default.createElement(Search, { device: 'mobile' })
341
+ !isDesktop && React__default.createElement(
342
+ 'div',
343
+ { className: 'site-logo-wrapper', style: { margin: 'auto' } },
344
+ React__default.createElement(
345
+ 'a',
346
+ { href: '/' },
347
+ React__default.createElement('img', { src: invertedLogo ? invertedLogo : logo, style: { padding: '0px ', objectFit: 'contain', maxHeight: '45px' } })
348
+ )
349
+ ),
350
+ !isDesktop && React__default.createElement(SocialSearchComponent, { type: 'mobile', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
322
351
  ),
323
352
  React__default.createElement(
324
353
  'div',
325
- { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '80vh' } },
354
+ { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '85vh' } },
326
355
  subNav && React__default.createElement(
327
356
  Navbar.Collapse,
328
357
  { id: 'basic-navbar-sub' },
@@ -392,14 +421,18 @@ var HamMagazine = function HamMagazine(props) {
392
421
  React__default.createElement(
393
422
  Navbar.Collapse,
394
423
  { id: 'basic-navbar-nav' },
395
- isSticky && React__default.createElement(
396
- 'a',
397
- { href: '/' },
398
- React__default.createElement(IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
424
+ isSticky && invertedLogo && isDesktop && React__default.createElement(
425
+ Nav.Item,
426
+ { className: 'nav-mobile-logo' },
427
+ React__default.createElement(
428
+ 'a',
429
+ { href: '/' },
430
+ React__default.createElement('img', { src: invertedLogo, className: 'mobile-logo', style: { height: '38px' }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
431
+ )
399
432
  ),
400
433
  React__default.createElement(
401
434
  Nav,
402
- { className: 'mr-auto web-nav' },
435
+ { id: 'nav-links', style: { marginRight: 'auto' } },
403
436
  dataObject && dataObject.map(function (row, index) {
404
437
  if (row.subQuery && row.subQuery.length > 0) {
405
438
  return row.name ? React__default.createElement(
@@ -457,7 +490,7 @@ var HamMagazine = function HamMagazine(props) {
457
490
  }
458
491
  })
459
492
  ),
460
- React__default.createElement(Search, { device: 'mobile' })
493
+ isDesktop && React__default.createElement(SocialSearchComponent, { type: 'desktop', socialIconVariant: socialIconVariant, website: website, navID: 'navbar-ham' })
461
494
  ),
462
495
  website && React__default.createElement(
463
496
  Navbar.Collapse,
@@ -483,7 +516,7 @@ var HamMagazine = function HamMagazine(props) {
483
516
  React__default.createElement(
484
517
  'style',
485
518
  { jsx: 'true' },
486
- '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n .nav-item svg {\n margin-bottom: 2px;\n }\n #nav-login,\n #nav-logout,\n #nav-register {\n padding: 0.5rem;\n cursor: pointer;\n }\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: none;\n }\n #nav-mobile-logout,\n #nav-mobile-login {\n position: absolute;\n right: 1rem;\n }\n #nav-mobile-register {\n position: absolute;\n left: 1rem;\n }\n @media screen and (max-width: 376px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px;\n }\n }\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n @media screen and (max-width: 1199px) {\n .nav-open {\n position: relative;\n }\n\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n\n .android-nav {\n max-height: 80vh;\n }\n\n .ios-nav {\n max-height: none;\n }\n\n .navbar.bg-primary {\n overflow: auto;\n }\n\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-xl .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 10px;\n border-bottom: 0.5px solid white;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n padding-top: 10px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 1200px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n .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 '
519
+ '\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\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n @media screen and (max-width: 1199px) {\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n .nav-open {\n position: relative;\n }\n\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n\n .android-nav {\n max-height: 80vh;\n }\n\n .ios-nav {\n max-height: none;\n }\n\n .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\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 '
487
520
  )
488
521
  );
489
522
  };