@mjhls/mjh-framework 1.0.892 → 1.0.893-nav-pmg-v1

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 (98) hide show
  1. package/README.md +168 -168
  2. package/dist/cjs/AccordionPanel.js +1 -1
  3. package/dist/cjs/ArticleProgramLandingPage.js +2 -2
  4. package/dist/cjs/ArticleSeriesListing.js +1 -1
  5. package/dist/cjs/AuthWrapper.js +1 -1
  6. package/dist/cjs/ConferenceArticleCard.js +15 -15
  7. package/dist/cjs/ContentCardPaginated.js +1 -2
  8. package/dist/cjs/DeckContent.js +8 -8
  9. package/dist/cjs/DeckQueuePaginated.js +1 -2
  10. package/dist/cjs/EventsDeck.js +17 -17
  11. package/dist/cjs/ExternalResources.js +2 -2
  12. package/dist/cjs/GridContentPaginated.js +1 -2
  13. package/dist/cjs/HamMagazine.js +10 -10
  14. package/dist/cjs/HorizontalArticleListing.js +2 -2
  15. package/dist/cjs/IssueLanding.js +31 -31
  16. package/dist/cjs/KMTracker.js +15 -15
  17. package/dist/cjs/MasterDeck.js +8 -8
  18. package/dist/cjs/MasterDeckPaginated.js +9 -10
  19. package/dist/cjs/{MediaSeriesCard-bf5492a6.js → MediaSeriesCard-7c7077e4.js} +2 -2
  20. package/dist/cjs/MediaSeriesLanding.js +8 -8
  21. package/dist/cjs/MediaSeriesLandingPaginated.js +9 -10
  22. package/dist/cjs/NavMagazine.js +11 -11
  23. package/dist/cjs/NavNative.js +14 -287
  24. package/dist/cjs/NavPMG.js +627 -0
  25. package/dist/cjs/Pagination-42f92f7c.js +97 -0
  26. package/dist/cjs/PartnerDetailListing.js +2 -2
  27. package/dist/cjs/PartnerDetailListingPaginated.js +3 -4
  28. package/dist/cjs/PublicationLanding.js +26 -26
  29. package/dist/cjs/QueueDeckExpandedPaginated.js +1 -2
  30. package/dist/cjs/RelatedContent.js +28 -28
  31. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  32. package/dist/cjs/SeriesListingDeck.js +1 -1
  33. package/dist/cjs/{SeriesSlider-ba0c5d1a.js → SeriesSlider-de93a303.js} +4 -4
  34. package/dist/cjs/SideFooter.js +2 -2
  35. package/dist/cjs/TaxonomyDescription.js +2 -2
  36. package/dist/cjs/TemplateNormal.js +2 -1
  37. package/dist/cjs/VideoProgramLandingPage.js +2 -2
  38. package/dist/cjs/VideoSeriesCard.js +1 -1
  39. package/dist/cjs/VideoSeriesListing.js +1 -1
  40. package/dist/cjs/View.js +5 -5
  41. package/dist/cjs/YoutubeGroup.js +4 -4
  42. package/dist/cjs/chunk-db8bb26d.js +281 -0
  43. package/dist/cjs/getSerializers.js +2 -2
  44. package/dist/cjs/{getTargeting-9d509319.js → getTargeting-6d59cc5b.js} +9 -9
  45. package/dist/cjs/getTargeting.js +1 -1
  46. package/dist/cjs/{index-af49d679.js → index-a703b51e.js} +2 -1
  47. package/dist/cjs/{index.esm-d81454e7.js → index.esm-5cda7fe5.js} +4 -1
  48. package/dist/cjs/index.js +7 -4
  49. package/dist/esm/AccordionPanel.js +1 -1
  50. package/dist/esm/ArticleProgramLandingPage.js +2 -2
  51. package/dist/esm/ArticleSeriesListing.js +1 -1
  52. package/dist/esm/AuthWrapper.js +1 -1
  53. package/dist/esm/ConferenceArticleCard.js +15 -15
  54. package/dist/esm/ContentCardPaginated.js +1 -2
  55. package/dist/esm/DeckContent.js +8 -8
  56. package/dist/esm/DeckQueuePaginated.js +1 -2
  57. package/dist/esm/EventsDeck.js +17 -17
  58. package/dist/esm/ExternalResources.js +2 -2
  59. package/dist/esm/GridContentPaginated.js +1 -2
  60. package/dist/esm/HamMagazine.js +10 -10
  61. package/dist/esm/HorizontalArticleListing.js +2 -2
  62. package/dist/esm/IssueLanding.js +31 -31
  63. package/dist/esm/KMTracker.js +15 -15
  64. package/dist/esm/MasterDeck.js +8 -8
  65. package/dist/esm/MasterDeckPaginated.js +9 -10
  66. package/dist/esm/{MediaSeriesCard-7f1316a2.js → MediaSeriesCard-d3601b8a.js} +2 -2
  67. package/dist/esm/MediaSeriesLanding.js +8 -8
  68. package/dist/esm/MediaSeriesLandingPaginated.js +9 -10
  69. package/dist/esm/NavMagazine.js +11 -11
  70. package/dist/esm/NavNative.js +13 -286
  71. package/dist/esm/NavPMG.js +612 -0
  72. package/dist/esm/Pagination-484b86c5.js +90 -0
  73. package/dist/esm/PartnerDetailListing.js +2 -2
  74. package/dist/esm/PartnerDetailListingPaginated.js +3 -4
  75. package/dist/esm/PublicationLanding.js +26 -26
  76. package/dist/esm/QueueDeckExpandedPaginated.js +1 -2
  77. package/dist/esm/RelatedContent.js +28 -28
  78. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  79. package/dist/esm/SeriesListingDeck.js +1 -1
  80. package/dist/esm/{SeriesSlider-45adb8dc.js → SeriesSlider-98ad6d97.js} +4 -4
  81. package/dist/esm/SideFooter.js +2 -2
  82. package/dist/esm/TaxonomyDescription.js +2 -2
  83. package/dist/esm/TemplateNormal.js +2 -1
  84. package/dist/esm/VideoProgramLandingPage.js +2 -2
  85. package/dist/esm/VideoSeriesCard.js +1 -1
  86. package/dist/esm/VideoSeriesListing.js +1 -1
  87. package/dist/esm/View.js +5 -5
  88. package/dist/esm/YoutubeGroup.js +4 -4
  89. package/dist/esm/chunk-19bab6aa.js +279 -0
  90. package/dist/esm/getSerializers.js +2 -2
  91. package/dist/esm/{getTargeting-4061f839.js → getTargeting-36031a00.js} +9 -9
  92. package/dist/esm/getTargeting.js +1 -1
  93. package/dist/esm/{index-d7489d39.js → index-52dec9fe.js} +2 -1
  94. package/dist/esm/{index.esm-eb1e8e80.js → index.esm-f14a3e58.js} +4 -2
  95. package/dist/esm/index.js +6 -4
  96. package/package.json +112 -112
  97. package/dist/cjs/Pagination-885dcfbd.js +0 -90
  98. package/dist/esm/Pagination-59436882.js +0 -82
@@ -0,0 +1,627 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var slicedToArray = require('./slicedToArray-067dd3bc.js');
6
+ var React = require('react');
7
+ var Container = require('react-bootstrap/Container');
8
+ var Nav = require('react-bootstrap/Nav');
9
+ var Navbar = require('react-bootstrap/Navbar');
10
+ var NavDropdown = require('react-bootstrap/NavDropdown');
11
+ var NavFooter = require('./NavFooter-3dcd99a8.js');
12
+ var index_esm$1 = require('./index.esm-2bb721c8.js');
13
+ var Segment = require('./Segment.js');
14
+ var SocialIcons = require('./SocialIcons.js');
15
+ var iconBase = require('./iconBase-be4097c0.js');
16
+ var Form = require('react-bootstrap/Form');
17
+ var FormControl = require('react-bootstrap/FormControl');
18
+ var Button = require('react-bootstrap/Button');
19
+ var main = require('./main-f1c77adb.js');
20
+ var chunk = require('./chunk-db8bb26d.js');
21
+ var index_esm = require('./index.esm-5cda7fe5.js');
22
+ require('./_commonjsHelpers-06173234.js');
23
+ require('./web.dom.iterable-d98303e0.js');
24
+ require('./core.get-iterator-method-5643aa10.js');
25
+ require('./react-social-icons-af932527.js');
26
+ require('prop-types');
27
+ require('./asyncToGenerator-77821af0.js');
28
+ require('./_library-dd23b178.js');
29
+ require('./_iter-detect-b1df62f0.js');
30
+ require('./eq-5fc26c07.js');
31
+ require('./isSymbol-03abbdf0.js');
32
+ require('./toNumber-5e1fac58.js');
33
+
34
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
35
+
36
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
+ var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
38
+ var Nav__default = /*#__PURE__*/_interopDefaultLegacy(Nav);
39
+ var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
40
+ var NavDropdown__default = /*#__PURE__*/_interopDefaultLegacy(NavDropdown);
41
+ var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
42
+ var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
43
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
44
+
45
+ var NavPMG = function NavPMG(props) {
46
+ /*
47
+ Example Nav with acceptable props
48
+ <NavPMG
49
+ showLogin
50
+ logo={props.settings.logo}
51
+ dataObject={props.cache.mainNavCache}
52
+ website={website}
53
+ subNav={props.cache.subNavCache}
54
+ />
55
+ */
56
+ // Setting 'socialIconVariant' as 'dark' as default to make the social icons and search icon black
57
+ var logo = props.logo,
58
+ mobileLogo = props.mobileLogo,
59
+ dataObject = props.dataObject,
60
+ subNav = props.subNav,
61
+ _props$website = props.website,
62
+ website = _props$website === undefined ? {} : _props$website;
63
+ props.showLogin;
64
+ props.userData;
65
+ var _props$socialFooterNa = props.socialFooterNav,
66
+ socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa,
67
+ _props$socialIconVari = props.socialIconVariant,
68
+ socialIconVariant = _props$socialIconVari === undefined ? 'dark' : _props$socialIconVari;
69
+
70
+ var navRef = React.useRef(null);
71
+ // reference to mobile search component
72
+ var searchRef = React.useRef(null);
73
+
74
+ var _useState = React.useState(0),
75
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
76
+ resolution = _useState2[0],
77
+ setResolution = _useState2[1];
78
+
79
+ var _useState3 = React.useState(null),
80
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
81
+ userAgent = _useState4[0],
82
+ setUserAgent = _useState4[1];
83
+
84
+ var _useState5 = React.useState(0),
85
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
86
+ screenWidth = _useState6[0],
87
+ setScreenWidth = _useState6[1];
88
+
89
+ var _useState7 = React.useState(true),
90
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
91
+ isDesktop = _useState8[0],
92
+ setIsDesktop = _useState8[1];
93
+
94
+ React.useEffect(function () {
95
+ // Check for desktop or mobile device
96
+ if (window && window.innerWidth < 568) setIsDesktop(false);
97
+ // Initial screenwidth on refresh or on load
98
+ setScreenWidth(parseInt(window.innerWidth));
99
+ // Initial User agent setup on refresh or on load
100
+ setUserAgent(navigator.userAgent.toString());
101
+ // handling the top mast component
102
+ var topNavHeight = document.querySelector('.nav-brands') && document.querySelector('.nav-brands').offsetHeight;
103
+ // Setting the top of the search component based on the offset of navigation component.
104
+ searchRef.current.style.top = (topNavHeight ? topNavHeight + navRef.current.offsetHeight : navRef.current.offsetHeight) + 1 + 'px';
105
+ }, []);
106
+
107
+ React.useEffect(function () {
108
+ setTimeout(function () {
109
+ var segmentLinks = navRef.current.querySelectorAll('a[needsegmentsupport="true"]');
110
+ for (var i = 0; i < segmentLinks.length; i++) {
111
+ var link = segmentLinks[i];
112
+ var href = link.getAttribute('href');
113
+ var newRef = Segment.getURL(href, { needSegmentSupport: true });
114
+ link.setAttribute('href', newRef);
115
+ }
116
+ }, 1000);
117
+ }, []);
118
+
119
+ React.useEffect(function () {
120
+ if (resolution === 0) {
121
+ setResolution(window.innerWidth);
122
+ }
123
+ var handleResize = function handleResize() {
124
+ if (resolution === 0) {
125
+ setResolution(window.innerWidth);
126
+ } else {
127
+ if (window.innerWidth < 568 && resolution >= 568 && isDesktop) {
128
+ console.log('Detected Mobile Resolution');
129
+ window.location.reload();
130
+ // Updating the condition to reload the page on resize in desktop view
131
+ } else if (window.innerWidth >= 568 && !isDesktop) {
132
+ console.log('Detected Tablet/Desktop Resolution');
133
+ window.location.reload();
134
+ }
135
+ }
136
+ };
137
+ window.addEventListener('resize', handleResize);
138
+ }, [resolution, isDesktop]);
139
+
140
+ // Check for change in useragent with change in screen resolution
141
+ React.useEffect(function () {
142
+ var handleResize = function handleResize() {
143
+ if (userAgent && userAgent !== navigator.userAgent.toString()) {
144
+ console.log('Browser change detected, refreshing');
145
+ window.location.reload();
146
+ }
147
+ };
148
+ window.addEventListener('resize', handleResize);
149
+ }, [userAgent]);
150
+
151
+ // Search Term
152
+
153
+ var _useState9 = React.useState(''),
154
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
155
+ searchKey = _useState10[0],
156
+ setSearchKey = _useState10[1];
157
+
158
+ // Search function
159
+
160
+
161
+ var submitSearch = function submitSearch(e) {
162
+ e.preventDefault();
163
+ window.location.href = '/search?searchTerm=' + encodeURIComponent(searchKey);
164
+ };
165
+
166
+ // Toggling class of an element.Can't use toggle() as IE doesn't support toggle()
167
+ var toggleClass = function toggleClass(selector, type, addOn) {
168
+ if (type === 'id') {
169
+ var searchBar = document.getElementById(selector);
170
+ // Aligning search bar below the searchbutton
171
+ var socialComponent = document.getElementById('search-content-desktop').getBoundingClientRect();
172
+
173
+ searchBar.style.right = socialComponent.right - socialComponent.left + 10 + 'px';
174
+ if (searchBar && searchBar.classList && searchBar.classList.contains(addOn)) {
175
+ searchBar.classList.remove(addOn);
176
+ } else if (searchBar && searchBar.classList) {
177
+ searchBar.classList.add(addOn);
178
+ }
179
+ } else if (type === 'class') {
180
+ var searchBtn = document.getElementsByClassName(selector)[0];
181
+ if (searchBtn && searchBtn.classList && searchBtn.classList.contains(addOn)) {
182
+ searchBtn.classList.remove(addOn);
183
+ } else if (searchBtn && searchBtn.classList) {
184
+ searchBtn.classList.add(addOn);
185
+ }
186
+ }
187
+ };
188
+
189
+ // Search Component
190
+ var socialSearchComponent = function socialSearchComponent(type) {
191
+ if (type === 'mobile') {
192
+ return React__default['default'].createElement(
193
+ 'div',
194
+ { id: 'search-content-mobile' },
195
+ React__default['default'].createElement(
196
+ 'div',
197
+ { id: 'search-bar-mobile', ref: searchRef },
198
+ React__default['default'].createElement(
199
+ Form__default['default'],
200
+ { inline: true, onSubmit: function onSubmit(e) {
201
+ return submitSearch(e);
202
+ } },
203
+ React__default['default'].createElement(FormControl__default['default'], { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
204
+ return setSearchKey(e.target.value);
205
+ } }),
206
+ React__default['default'].createElement(
207
+ Button__default['default'],
208
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
209
+ return submitSearch(e);
210
+ } },
211
+ 'Search'
212
+ )
213
+ )
214
+ ),
215
+ React__default['default'].createElement(
216
+ iconBase.IconContext.Provider,
217
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-mobile', size: '50px' } },
218
+ React__default['default'].createElement(index_esm$1.GoSearch, {
219
+ onClick: function onClick() {
220
+ var navToggle = document.getElementsByClassName('navbar-toggler')[0];
221
+ if (navToggle && navToggle.classList && !navToggle.classList.contains('collapsed')) {
222
+ var nav = document.querySelectorAll('.navbar-collapse');
223
+ for (var i = 0; i < nav.length; i++) {
224
+ if (nav[i] && nav[i].classList) nav[i].classList.remove('show');
225
+ }
226
+ if (navToggle && navToggle.classList) navToggle.classList.add('collapsed');
227
+ }
228
+
229
+ toggleClass('search-bar-mobile', 'id', 'show');
230
+ toggleClass('search-btn-mobile', 'class', 'active-search');
231
+ }
232
+ })
233
+ ),
234
+ React__default['default'].createElement(
235
+ 'style',
236
+ { jsx: 'true' },
237
+ '\n #search-content-mobile {\n display: flex;\n }\n @media screen and (min-width: 1192px) {\n #search-content-mobile {\n display: none;\n }\n #basic-navbar-nav {\n display: flex !important;\n }\n #basic-navbar-sub {\n display: none !important;\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: 12px;\n cursor: pointer;\n top: 0px;\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: 2%;\n padding: 1px;\n }\n .show {\n display: block !important;\n }\n .active-search {\n border-radius: 5px;\n border: none;\n // border: 1px solid var(--secondary);\n }\n '
238
+ )
239
+ );
240
+ } else if (type === 'desktop') {
241
+ return React__default['default'].createElement(
242
+ 'div',
243
+ { className: 'pmg-search position-absolute' },
244
+ React__default['default'].createElement(
245
+ 'div',
246
+ { className: 'position-relative' },
247
+ React__default['default'].createElement(
248
+ 'div',
249
+ { id: 'search-content-desktop' },
250
+ React__default['default'].createElement(
251
+ iconBase.IconContext.Provider,
252
+ { value: { color: socialIconVariant === 'light' ? 'white' : 'black', className: 'search-btn-desktop', size: '50px' } },
253
+ React__default['default'].createElement(index_esm$1.GoSearch, {
254
+ onClick: function onClick() {
255
+ toggleClass('search-bar-desktop', 'id', 'show');
256
+ // toggleClass('search-btn-desktop', 'class', 'active-search')
257
+ }
258
+ })
259
+ ),
260
+ website && website.socialLinks && website.socialLinks.length !== 0 && React__default['default'].createElement(
261
+ 'div',
262
+ { id: 'social-tab-desktop', style: { display: 'flex' } },
263
+ website.socialLinks && React__default['default'].createElement(SocialIcons, { socialLinks: website.socialLinks, variant: socialIconVariant })
264
+ ),
265
+ React__default['default'].createElement(
266
+ 'style',
267
+ { jsx: 'true' },
268
+ '\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: 1191px) {\n #search-content-desktop {\n display: none !important;\n }\n }\n @media screen and (min-width: 1199px) {\n .mobile-nav {\n width: 100% !important;\n }\n }\n #search-content-desktop {\n display: flex;\n padding-top: 2px;\n height: 35px;\n position: relative;\n }\n .search-btn-desktop {\n padding: 5px;\n height: 35px;\n width: 35px;\n margin: -3px 5px 0px 0px;\n cursor: pointer;\n }\n #search-bar-desktop {\n display: none;\n top: 0px;\n position: absolute;\n background: none;\n width: 400px;\n border-radius: 5px;\n height: 48px;\n }\n #search-bar-desktop .form-inline {\n padding: 0;\n }\n #search-bar-desktop .form-inline .form-control {\n width: 78%;\n border-radius: 5px;\n height: 30px;\n }\n #search-bar-desktop .form-inline .btn {\n width: 20%;\n border-radius: 5px;\n padding: 0;\n margin-left: 5px;\n height: 30px;\n }\n .show {\n display: block !important;\n }\n .active-search {\n border-radius: 5px;\n border: 1px solid var(--secondary);\n margin-right: 1px !important;\n }\n // #basic-navbar-nav {\n // margin-right: 20%;\n // }\n .pmg-search {\n z-index: 10000;\n margin-top: 7px;\n }\n '
269
+ )
270
+ ),
271
+ React__default['default'].createElement(
272
+ 'div',
273
+ { id: 'search-bar-desktop' },
274
+ React__default['default'].createElement(
275
+ Form__default['default'],
276
+ { inline: true, onSubmit: function onSubmit(e) {
277
+ return submitSearch(e);
278
+ } },
279
+ React__default['default'].createElement(FormControl__default['default'], { placeholder: 'Search', type: 'text', value: searchKey, onChange: function onChange(e) {
280
+ return setSearchKey(e.target.value);
281
+ } }),
282
+ React__default['default'].createElement(
283
+ Button__default['default'],
284
+ { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
285
+ return submitSearch(e);
286
+ } },
287
+ 'Search'
288
+ )
289
+ )
290
+ )
291
+ )
292
+ );
293
+ }
294
+ };
295
+
296
+ var handleMegaMenuAlignment = function handleMegaMenuAlignment(id) {
297
+ setTimeout(function () {
298
+ var megaMenu = document.querySelector('#' + id).parentElement;
299
+ if (megaMenu && megaMenu.getBoundingClientRect() && megaMenu.className.includes('show')) {
300
+ var totalWidth = megaMenu.getBoundingClientRect().x + megaMenu.getBoundingClientRect().width;
301
+ if (totalWidth > resolution) {
302
+ var difference = totalWidth - resolution;
303
+ megaMenu.style.left = '-' + (difference + 20) + 'px';
304
+ }
305
+ }
306
+ }, 50);
307
+ };
308
+
309
+ return React__default['default'].createElement(
310
+ React__default['default'].Fragment,
311
+ null,
312
+ React__default['default'].createElement(
313
+ Container__default['default'],
314
+ { className: 'pgm-nav-social' },
315
+ socialSearchComponent('desktop')
316
+ ),
317
+ React__default['default'].createElement(
318
+ Navbar__default['default'],
319
+ {
320
+ className: main.main_44 ? 'bottom-nav pmg-nav ios-nav' : 'bottom-nav pmg-nav android-nav',
321
+ variant: 'dark',
322
+ expand: 'lg',
323
+ bg: 'primary'
324
+ // sticky='top'
325
+ , ref: navRef
326
+ // style={{ minHeight: '65px', overflow: `${isMobileSafari ? 'auto' : ''}` }}
327
+ , style: { overflow: 'auto' } },
328
+ React__default['default'].createElement(
329
+ Container__default['default'],
330
+ { style: { maxHeight: '80vh' }, className: 'mobile-nav' },
331
+ React__default['default'].createElement(
332
+ Navbar__default['default'].Brand,
333
+ { id: 'nav-mobile-sm', className: 'nav-mobile-logo' },
334
+ React__default['default'].createElement(
335
+ 'a',
336
+ { href: '/' },
337
+ mobileLogo && screenWidth < 1200 ? React__default['default'].createElement('img', { src: mobileLogo, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' }) : React__default['default'].createElement('img', { src: logo, className: 'logo', style: { height: 50 }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
338
+ )
339
+ ),
340
+ React__default['default'].createElement(
341
+ 'div',
342
+ { className: 'nav-toggle', style: { width: 'auto' } },
343
+ React__default['default'].createElement(Navbar__default['default'].Toggle, {
344
+ 'aria-controls': 'basic-navbar-nav',
345
+ onClick: function onClick() {
346
+ var searchBar = document.getElementById('search-bar-mobile');
347
+ var searchBtn = document.getElementsByClassName('search-btn-mobile');
348
+ if (searchBar && searchBar.classList) {
349
+ searchBar.classList.remove('show');
350
+ }
351
+ if (searchBtn && searchBtn[0].classList) {
352
+ searchBtn[0].classList.remove('active-search');
353
+ }
354
+ }
355
+ }),
356
+ React__default['default'].createElement(
357
+ Navbar__default['default'].Brand,
358
+ { id: 'nav-mobile-md', className: 'nav-mobile-logo pmg-brand-logo' },
359
+ React__default['default'].createElement(
360
+ 'a',
361
+ { href: '/' },
362
+ mobileLogo && screenWidth < 1200 ? React__default['default'].createElement('img', { src: mobileLogo, style: { width: 150 }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' }) : React__default['default'].createElement('img', { src: logo, className: 'logo', style: { width: 150 }, alt: website.title ? website.title : website.name ? website.name : 'Website Logo' })
363
+ )
364
+ )
365
+ ),
366
+ React__default['default'].createElement(
367
+ 'div',
368
+ { className: 'site-logo-wrapper', style: { display: 'none' } },
369
+ React__default['default'].createElement(
370
+ 'a',
371
+ { href: '/' },
372
+ React__default['default'].createElement('img', { src: logo })
373
+ ),
374
+ React__default['default'].createElement(
375
+ 'style',
376
+ { jsx: 'true' },
377
+ '\n @media screen and (max-width: 1199px) {\n .site-logo-wrapper {\n display: block !important;\n margin: auto;\n margin-top: 10px;\n padding-right: 8%;\n }\n .site-logo-wrapper img {\n object-fit: contain;\n max-height: 38px;\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: 17%;\n }\n }\n @media screen and (max-width: 420px) {\n .site-logo-wrapper img {\n max-width: 200px;\n }\n }\n '
378
+ )
379
+ ),
380
+ socialSearchComponent('mobile'),
381
+ subNav && React__default['default'].createElement(
382
+ Navbar__default['default'].Collapse,
383
+ { id: 'basic-navbar-sub' },
384
+ React__default['default'].createElement(
385
+ Nav__default['default'],
386
+ { className: 'mr-auto' },
387
+ subNav && subNav.map(function (row, index) {
388
+ if (row.subQuery && row.subQuery.length > 0) {
389
+ return row.name ? React__default['default'].createElement(
390
+ 'div',
391
+ { key: index },
392
+ React__default['default'].createElement(
393
+ NavDropdown__default['default'],
394
+ { title: row.name, id: 'basic-nav-dropdown', renderMenuOnMount: true },
395
+ row.url && React__default['default'].createElement(
396
+ 'a',
397
+ {
398
+ className: 'dropdownlist-expand-btn',
399
+ href: row.url,
400
+ style: {
401
+ position: 'absolute',
402
+ top: '0px',
403
+ right: '0px',
404
+ cursor: 'pointer',
405
+ color: socialIconVariant === 'dark' ? '#000' : '#ffffff',
406
+ padding: '5px 10px'
407
+ } },
408
+ 'View More'
409
+ ),
410
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
411
+ if (ddRow.type === 'divider') {
412
+ return React__default['default'].createElement(NavDropdown__default['default'].Divider, { key: subIndex });
413
+ } else {
414
+ if (ddRow.url && ddRow.name) {
415
+ return ddRow.url && ddRow.name ? React__default['default'].createElement(
416
+ 'a',
417
+ {
418
+ key: subIndex,
419
+ needsegmentsupport: ddRow && ddRow.needSegmentSupport ? 'true' : '',
420
+ href: ddRow.url,
421
+ target: ddRow.blank ? '_blank' : '_self',
422
+ className: 'dropdown-item' },
423
+ ddRow.name
424
+ ) : null;
425
+ } else return null;
426
+ }
427
+ })
428
+ ),
429
+ React__default['default'].createElement(
430
+ 'noscript',
431
+ null,
432
+ React__default['default'].createElement(
433
+ 'div',
434
+ null,
435
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
436
+ if (ddRow.type === 'divider') {
437
+ return React__default['default'].createElement(NavDropdown__default['default'].Divider, { key: subIndex });
438
+ } else {
439
+ if (ddRow.url && ddRow.name) {
440
+ return ddRow.url && ddRow.name ? React__default['default'].createElement(
441
+ 'a',
442
+ {
443
+ key: subIndex,
444
+ needsegmentsupport: ddRow && ddRow.needSegmentSupport ? 'true' : '',
445
+ href: ddRow.url,
446
+ target: ddRow.blank ? '_blank' : '_self',
447
+ className: 'dropdown-item' },
448
+ ddRow.name
449
+ ) : null;
450
+ } else return null;
451
+ }
452
+ })
453
+ )
454
+ )
455
+ ) : null;
456
+ } else {
457
+ return row.url && row.name ? React__default['default'].createElement(
458
+ 'a',
459
+ { key: index, needsegmentsupport: row && row.needSegmentSupport ? 'true' : '', href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
460
+ row.name
461
+ ) : null;
462
+ }
463
+ })
464
+ )
465
+ ),
466
+ React__default['default'].createElement(
467
+ Navbar__default['default'].Collapse,
468
+ { id: 'basic-navbar-nav' },
469
+ React__default['default'].createElement(
470
+ Nav__default['default'],
471
+ { className: 'mr-auto position-relative pmg-navs' },
472
+ dataObject && dataObject.map(function (row, index) {
473
+ if (row.subQuery && row.subQuery.length > 0) {
474
+ if (!row.name) return null;
475
+ return React__default['default'].createElement(
476
+ 'div',
477
+ { key: index },
478
+ props.megaNav ? React__default['default'].createElement(
479
+ NavDropdown__default['default'],
480
+ {
481
+ title: React__default['default'].createElement(
482
+ 'span',
483
+ null,
484
+ React__default['default'].createElement(
485
+ 'span',
486
+ null,
487
+ row.name
488
+ ),
489
+ React__default['default'].createElement(index_esm.IoIosArrowDropdownCircle, { color: 'var(--primary)' })
490
+ ),
491
+ className: 'pmg-dropdown',
492
+ id: 'basic-nav-dropdown',
493
+ renderMenuOnMount: true,
494
+ onClick: function onClick() {
495
+ return handleMegaMenuAlignment('mega-menu-' + index);
496
+ } },
497
+ React__default['default'].createElement(
498
+ 'div',
499
+ { id: 'mega-menu-' + index, className: 'mega-menu' },
500
+ chunk.chunk_1(row.subQuery, 10).map(function (items, colIndex) {
501
+ return React__default['default'].createElement(
502
+ 'div',
503
+ { key: colIndex, className: 'flex-fill' },
504
+ items && items.map(function (ddRow) {
505
+ if (ddRow.type === 'divider') {
506
+ return React__default['default'].createElement(NavDropdown__default['default'].Divider, { key: ddRow._id });
507
+ } else {
508
+ return ddRow.url && ddRow.name ? React__default['default'].createElement(
509
+ Nav__default['default'].Item,
510
+ { key: ddRow._id },
511
+ React__default['default'].createElement(
512
+ Nav__default['default'].Link,
513
+ {
514
+ needsegmentsupport: ddRow && ddRow.needSegmentSupport ? 'true' : '',
515
+ href: ddRow.url,
516
+ target: ddRow.blank ? '_blank' : '_self',
517
+ className: 'dropdown-item' },
518
+ ddRow.name
519
+ )
520
+ ) : null;
521
+ }
522
+ })
523
+ );
524
+ })
525
+ )
526
+ ) : React__default['default'].createElement(
527
+ NavDropdown__default['default'],
528
+ {
529
+ key: index,
530
+ title: React__default['default'].createElement(
531
+ 'span',
532
+ null,
533
+ React__default['default'].createElement(
534
+ 'span',
535
+ null,
536
+ row.name
537
+ ),
538
+ React__default['default'].createElement(index_esm.IoIosArrowDropdownCircle, { color: 'var(--primary)' })
539
+ ),
540
+ className: 'pmg-dropdown',
541
+ id: 'basic-nav-dropdown',
542
+ renderMenuOnMount: true },
543
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
544
+ if (ddRow.type === 'divider') {
545
+ return React__default['default'].createElement(NavDropdown__default['default'].Divider, { key: subIndex });
546
+ } else {
547
+ return ddRow.url && ddRow.name ? React__default['default'].createElement(
548
+ Nav__default['default'].Item,
549
+ { key: subIndex },
550
+ React__default['default'].createElement(
551
+ Nav__default['default'].Link,
552
+ {
553
+ needsegmentsupport: ddRow && ddRow.needSegmentSupport ? 'true' : '',
554
+ href: ddRow.url,
555
+ target: ddRow.blank ? '_blank' : '_self',
556
+ className: 'dropdown-item' },
557
+ ddRow.name
558
+ )
559
+ ) : null;
560
+ }
561
+ })
562
+ ),
563
+ React__default['default'].createElement(
564
+ 'noscript',
565
+ null,
566
+ React__default['default'].createElement(
567
+ 'div',
568
+ null,
569
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
570
+ if (ddRow.type === 'divider') {
571
+ return React__default['default'].createElement(NavDropdown__default['default'].Divider, { key: subIndex });
572
+ } else {
573
+ return ddRow.url && ddRow.name ? React__default['default'].createElement(
574
+ 'a',
575
+ {
576
+ key: subIndex,
577
+ needsegmentsupport: ddRow && ddRow.needSegmentSupport ? 'true' : '',
578
+ href: ddRow.url,
579
+ target: ddRow.blank ? '_blank' : '_self',
580
+ className: 'dropdown-item' },
581
+ ddRow.name
582
+ ) : null;
583
+ }
584
+ })
585
+ )
586
+ )
587
+ );
588
+ } else {
589
+ return row.url && row.name ? React__default['default'].createElement(
590
+ 'a',
591
+ { key: index, needsegmentsupport: row.needSegmentSupport ? 'true' : '', href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
592
+ row.name
593
+ ) : null;
594
+ }
595
+ })
596
+ )
597
+ ),
598
+ website && React__default['default'].createElement(
599
+ Navbar__default['default'].Collapse,
600
+ { id: 'basic-navbar-sub' },
601
+ React__default['default'].createElement(
602
+ Nav__default['default'],
603
+ { className: 'mr-auto' },
604
+ socialFooterNav ? React__default['default'].createElement(index_esm$1.SocialNavFooter, { website: website }) : React__default['default'].createElement(NavFooter.NavFooter, { website: website })
605
+ )
606
+ )
607
+ )
608
+ ),
609
+ React__default['default'].createElement(
610
+ 'noscript',
611
+ null,
612
+ React__default['default'].createElement(
613
+ 'style',
614
+ { jsx: 'true' },
615
+ '\n .navbar .collapse {\n display: block;\n }\n .mobile-nav {\n max-height: none !important;\n }\n @media screen and (min-width: 1200px) {\n .navbar #basic-navbar-nav .navbar-nav {\n position: static !important;\n }\n }\n '
616
+ )
617
+ ),
618
+ React__default['default'].createElement(
619
+ 'style',
620
+ { jsx: 'true' },
621
+ '\n .mega-menu {\n display: block;\n }\n @media screen and (min-width: 1192px) {\n .mega-menu {\n display: flex;\n }\n }\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 .pmg-dropdown svg {\n margin-left: 6px;\n font-size: 18px;\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 #nav-mobile-sm {\n display: none;\n }\n @media screen and (max-width: 1192px) {\n .mobile-nav .nav-toggle {\n display: flex;\n justify-content: space-between;\n }\n .nav-mobile-logo {\n margin-left: 1.5rem;\n }\n #nav-mobile-md {\n margin-right: auto;\n }\n .nav-mobile-logo img {\n height: 48px !important;\n }\n .nav-mobile-logo img {\n height: 38px !important;\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 .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 .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 #d0d0d0;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n padding-left: 0.5rem;\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: 0.25rem;\n padding: 0.25rem 0.5rem;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n direction: rtl;\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 @media screen and (min-width: 1200px) {\n #basic-navbar-nav .navbar-nav {\n position: fixed !important;\n }\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 flex: 1 1 auto;\n margin-left: 0.25rem;\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 #nav-mobile-md {\n display: none;\n }\n #nav-mobile-sm {\n display: inline-block;\n margin: 0 auto 0.5rem;\n }\n .nav-toggle {\n margin: 0.5rem 0;\n padding: 0 0.5rem;\n }\n }\n\n .pgm-nav-social {\n display: flex;\n justify-content: flex-end;\n position: relative;\n }\n @media screen and (min-width: 1192px) {\n #basic-navbar-nav > .pmg-navs {\n bottom: 14px;\n position: absolute !important;\n }\n }\n .pmg-dropdown > .dropdown-toggle::after {\n content: none !important;\n }\n .pmg-brand-logo {\n min-height: 81px;\n display: flex;\n align-items: flex-end;\n }\n .header-nav > .container {\n padding: 0;\n }\n #social-tab-desktop a {\n margin-right: 7px !important;\n }\n #social-tab-desktop a:last-of-type {\n margin-right: 0 !important;\n }\n #search-bar-desktop .form-control:focus {\n box-shadow: none !important;\n }\n #search-bar-desktop .form-inline {\n justify-content: flex-end;\n }\n #search-bar-desktop .form-control {\n animation-name: search-anim;\n animation-duration: 1s;\n }\n @keyframes search-anim {\n from {\n width: 0;\n }\n to {\n width: 78%;\n }\n }\n '
622
+ )
623
+ );
624
+ };
625
+
626
+ exports.NavPMG = NavPMG;
627
+ exports.default = NavPMG;