@mjhls/mjh-framework 1.0.445 → 1.0.446

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 (238) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +32 -0
  3. package/dist/cjs/AD300x250.js +60 -0
  4. package/dist/cjs/AD300x250x600.js +60 -0
  5. package/dist/cjs/AD728x90.js +134 -0
  6. package/dist/cjs/ADFloatingFooter.js +139 -0
  7. package/dist/cjs/ADFooter.js +45 -0
  8. package/dist/cjs/ADGutter.js +88 -0
  9. package/dist/cjs/{ADInfeed-ae1f348d.js → ADInfeed-7609d929.js} +2 -2
  10. package/dist/cjs/ADSponsoredResources.js +106 -0
  11. package/dist/cjs/ADWelcome.js +150 -0
  12. package/dist/cjs/{ADlgInfeed-f4c4a1bf.js → ADlgInfeed-700551ef.js} +2 -2
  13. package/dist/cjs/AccordionPanel.js +95 -0
  14. package/dist/cjs/AdSlot.js +166 -0
  15. package/dist/cjs/AdSlotsProvider.js +31 -0
  16. package/dist/cjs/AlphabeticList.js +137 -0
  17. package/dist/cjs/ArticleQueue.js +863 -0
  18. package/dist/cjs/Auth.js +3950 -0
  19. package/dist/cjs/{AuthorComponent-b44bb44e.js → AuthorComponent-5bb8f868.js} +1 -1
  20. package/dist/cjs/Beam.js +347 -0
  21. package/dist/cjs/{TaxonomyCard-fa09aac1.js → BlockContent-80608595.js} +0 -236
  22. package/dist/cjs/Breadcrumbs.js +108 -0
  23. package/dist/cjs/CMEDeck.js +454 -0
  24. package/dist/cjs/Column1.js +39 -0
  25. package/dist/cjs/Column2.js +67 -0
  26. package/dist/cjs/Column3.js +141 -0
  27. package/dist/cjs/ConferenceArticleCard.js +91 -0
  28. package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
  29. package/dist/cjs/DeckContent.js +24 -13
  30. package/dist/cjs/DeckQueue.js +17 -10
  31. package/dist/cjs/{Dfp-d7639f4c.js → Dfp-19f10ad4.js} +8 -5
  32. package/dist/cjs/EventsDeck.js +1999 -0
  33. package/dist/cjs/Feature.js +120 -0
  34. package/dist/cjs/{Figure-cc919c38.js → Figure-ce37247b.js} +3 -2
  35. package/dist/cjs/ForbesHero.js +140 -0
  36. package/dist/cjs/GridContent.js +721 -33
  37. package/dist/cjs/GridHero.js +145 -0
  38. package/dist/cjs/GroupDeck.js +5 -3
  39. package/dist/cjs/HamMagazine.js +477 -0
  40. package/dist/cjs/Header.js +37 -0
  41. package/dist/cjs/Hero.js +56 -0
  42. package/dist/cjs/HighlightenVideo.js +69 -0
  43. package/dist/cjs/HorizontalHero.js +109 -0
  44. package/dist/cjs/InscreenSensor-04a70c60.js +864 -0
  45. package/dist/cjs/IssueContentDeck.js +4 -3
  46. package/dist/cjs/IssueDeck.js +6 -4
  47. package/dist/cjs/IssueLanding.js +115 -0
  48. package/dist/cjs/KMTracker.js +27 -0
  49. package/dist/cjs/LeftNav.js +99 -0
  50. package/dist/cjs/MasterDeck.js +15 -8
  51. package/dist/cjs/NavDvm.js +223 -0
  52. package/dist/cjs/NavFooter-3dcd99a8.js +66 -0
  53. package/dist/cjs/NavMagazine.js +436 -0
  54. package/dist/cjs/NavNative.js +278 -0
  55. package/dist/cjs/NavNormal.js +109 -0
  56. package/dist/cjs/OncliveHero.js +78 -0
  57. package/dist/cjs/OncliveLargeHero.js +243 -0
  58. package/dist/cjs/PageFilter.js +73 -0
  59. package/dist/cjs/PdfDownload.js +28 -0
  60. package/dist/cjs/PopUpModal.js +59 -0
  61. package/dist/cjs/PublicationLanding.js +556 -0
  62. package/dist/cjs/QueueDeckExpanded.js +20 -11
  63. package/dist/cjs/RelatedContent.js +107 -0
  64. package/dist/cjs/RelatedTopicsDropdown.js +90 -0
  65. package/dist/cjs/Search.js +67 -0
  66. package/dist/cjs/Segment.js +225 -0
  67. package/dist/cjs/SetCookie.js +10 -0
  68. package/dist/cjs/SideFooter.js +103 -0
  69. package/dist/cjs/SocialNavFooter-d9ab4d17.js +83 -0
  70. package/dist/cjs/SocialShare.js +72 -0
  71. package/dist/cjs/TaxonomyCard.js +241 -11
  72. package/dist/cjs/TemplateNormal.js +175 -13
  73. package/dist/cjs/Ustream.js +107 -6
  74. package/dist/cjs/VerticalHero.js +75 -0
  75. package/dist/cjs/VideoSeriesFilter.js +133 -0
  76. package/dist/cjs/VideoSeriesListing.js +13 -7
  77. package/dist/cjs/View.js +1156 -0
  78. package/dist/cjs/YahooHero.js +129 -0
  79. package/dist/cjs/YoutubeGroup.js +5 -3
  80. package/dist/cjs/_arrayMap-3b4a0f75.js +91 -0
  81. package/dist/cjs/_is-array-754e012d.js +74 -0
  82. package/dist/cjs/{_iter-detect-234453c3.js → _iter-detect-4d0352f8.js} +4 -4
  83. package/dist/cjs/_object-sap-5e74ba08.js +16 -0
  84. package/dist/cjs/_set-species-4458e975.js +56 -0
  85. package/dist/cjs/{AdSlot-257d8d4e.js → asyncToGenerator-db08763c.js} +1 -710
  86. package/dist/cjs/brightcove-react-player-loader.es-4ba0d3d5.js +2231 -0
  87. package/dist/cjs/{web.dom.iterable-5c889cf1.js → core.get-iterator-method-41e87ec1.js} +0 -46
  88. package/dist/cjs/debounce-32e57002.js +280 -0
  89. package/dist/cjs/{toConsumableArray-25d0e2a3.js → from-ea347372.js} +4 -29
  90. package/dist/cjs/{get-7a75c563.js → get-5dfcdc33.js} +14 -100
  91. package/dist/cjs/getKeywords.js +31 -0
  92. package/dist/cjs/getQuery.js +20 -0
  93. package/dist/cjs/getSerializers.js +8032 -0
  94. package/dist/cjs/getSeriesDetail.js +38 -0
  95. package/dist/cjs/getTargeting-3ced038f.js +108 -0
  96. package/dist/cjs/getTargeting.js +15 -0
  97. package/dist/cjs/iconBase-637d3f1e.js +83 -0
  98. package/dist/cjs/{debounce-420ff8a8.js → index-b2448ff6.js} +0 -483
  99. package/dist/cjs/index.esm-25423c2f.js +16 -0
  100. package/dist/cjs/index.esm-c0d8b44b.js +21 -0
  101. package/dist/cjs/index.esm-fcdbd2c6.js +31 -0
  102. package/dist/cjs/index.js +190 -23088
  103. package/dist/cjs/{inherits-b4036c94.js → inherits-4a2f1cc3.js} +6 -17
  104. package/dist/cjs/isSymbol-488934a7.js +211 -0
  105. package/dist/cjs/js.cookie-a511c430.js +160 -0
  106. package/dist/cjs/keys-a586b7a0.js +25 -0
  107. package/dist/cjs/{promise-0a493c7a.js → promise-074978a7.js} +15 -62
  108. package/dist/cjs/{slicedToArray-419d467a.js → slicedToArray-8063ee51.js} +5 -4
  109. package/dist/cjs/stringify-7c5aff47.js +17 -0
  110. package/dist/cjs/toConsumableArray-ca04303b.js +31 -0
  111. package/dist/cjs/{typeof-0d86b91c.js → typeof-583cdc4b.js} +20 -87
  112. package/dist/cjs/urlFor.js +10 -0
  113. package/dist/cjs/util-f2c1b65b.js +576 -0
  114. package/dist/cjs/web.dom.iterable-43c3e277.js +51 -0
  115. package/dist/esm/AD.js +26 -0
  116. package/dist/esm/AD300x250.js +54 -0
  117. package/dist/esm/AD300x250x600.js +54 -0
  118. package/dist/esm/AD728x90.js +128 -0
  119. package/dist/esm/ADFloatingFooter.js +133 -0
  120. package/dist/esm/ADFooter.js +39 -0
  121. package/dist/esm/ADGutter.js +82 -0
  122. package/dist/esm/{ADInfeed-dff74bbe.js → ADInfeed-1c17dc0e.js} +1 -1
  123. package/dist/esm/ADSponsoredResources.js +100 -0
  124. package/dist/esm/ADWelcome.js +144 -0
  125. package/dist/esm/{ADlgInfeed-7b29db85.js → ADlgInfeed-94d7f5dd.js} +1 -1
  126. package/dist/esm/AccordionPanel.js +88 -0
  127. package/dist/esm/AdSlot.js +159 -0
  128. package/dist/esm/AdSlotsProvider.js +25 -0
  129. package/dist/esm/AlphabeticList.js +131 -0
  130. package/dist/esm/ArticleQueue.js +855 -0
  131. package/dist/esm/Auth.js +3930 -0
  132. package/dist/esm/{AuthorComponent-4f5f15ed.js → AuthorComponent-f67cb027.js} +1 -1
  133. package/dist/esm/Beam.js +345 -0
  134. package/dist/esm/{TaxonomyCard-b22a742f.js → BlockContent-4af2feb9.js} +2 -233
  135. package/dist/esm/Breadcrumbs.js +101 -0
  136. package/dist/esm/CMEDeck.js +448 -0
  137. package/dist/esm/Column1.js +29 -0
  138. package/dist/esm/Column2.js +57 -0
  139. package/dist/esm/Column3.js +131 -0
  140. package/dist/esm/ConferenceArticleCard.js +85 -0
  141. package/dist/esm/ConferenceBanner-9162d0ca.js +18 -0
  142. package/dist/esm/DeckContent.js +24 -13
  143. package/dist/esm/DeckQueue.js +17 -10
  144. package/dist/esm/{Dfp-994cd0ab.js → Dfp-7addbfb1.js} +7 -4
  145. package/dist/esm/EventsDeck.js +1987 -0
  146. package/dist/esm/Feature.js +113 -0
  147. package/dist/esm/{Figure-1c55ebf0.js → Figure-408929f3.js} +4 -3
  148. package/dist/esm/ForbesHero.js +134 -0
  149. package/dist/esm/GridContent.js +714 -30
  150. package/dist/esm/GridHero.js +139 -0
  151. package/dist/esm/GroupDeck.js +6 -4
  152. package/dist/esm/HamMagazine.js +465 -0
  153. package/dist/esm/Header.js +28 -0
  154. package/dist/esm/Hero.js +50 -0
  155. package/dist/esm/HighlightenVideo.js +63 -0
  156. package/dist/esm/HorizontalHero.js +103 -0
  157. package/dist/esm/InscreenSensor-b7f931bf.js +857 -0
  158. package/dist/esm/IssueContentDeck.js +5 -4
  159. package/dist/esm/IssueDeck.js +8 -6
  160. package/dist/esm/IssueLanding.js +109 -0
  161. package/dist/esm/KMTracker.js +25 -0
  162. package/dist/esm/LeftNav.js +90 -0
  163. package/dist/esm/MasterDeck.js +17 -10
  164. package/dist/esm/NavDvm.js +211 -0
  165. package/dist/esm/NavFooter-c29526b7.js +60 -0
  166. package/dist/esm/NavMagazine.js +424 -0
  167. package/dist/esm/NavNative.js +266 -0
  168. package/dist/esm/NavNormal.js +97 -0
  169. package/dist/esm/OncliveHero.js +72 -0
  170. package/dist/esm/OncliveLargeHero.js +237 -0
  171. package/dist/esm/PageFilter.js +67 -0
  172. package/dist/esm/PdfDownload.js +22 -0
  173. package/dist/esm/PopUpModal.js +52 -0
  174. package/dist/esm/PublicationLanding.js +546 -0
  175. package/dist/esm/QueueDeckExpanded.js +22 -13
  176. package/dist/esm/RelatedContent.js +101 -0
  177. package/dist/esm/RelatedTopicsDropdown.js +82 -0
  178. package/dist/esm/Search.js +58 -0
  179. package/dist/esm/Segment.js +223 -0
  180. package/dist/esm/SetCookie.js +8 -0
  181. package/dist/esm/SideFooter.js +97 -0
  182. package/dist/esm/SocialNavFooter-1a531144.js +77 -0
  183. package/dist/esm/SocialShare.js +65 -0
  184. package/dist/esm/TaxonomyCard.js +237 -11
  185. package/dist/esm/TemplateNormal.js +175 -14
  186. package/dist/esm/Ustream.js +107 -6
  187. package/dist/esm/VerticalHero.js +69 -0
  188. package/dist/esm/VideoSeriesFilter.js +127 -0
  189. package/dist/esm/VideoSeriesListing.js +14 -8
  190. package/dist/esm/View.js +1145 -0
  191. package/dist/esm/YahooHero.js +123 -0
  192. package/dist/esm/YoutubeGroup.js +6 -4
  193. package/dist/esm/_arrayMap-a8dd2b2c.js +87 -0
  194. package/dist/esm/_is-array-dd5523d6.js +71 -0
  195. package/dist/esm/{_iter-detect-7c281f0a.js → _iter-detect-6e099a34.js} +2 -2
  196. package/dist/esm/_object-sap-56bb8073.js +14 -0
  197. package/dist/esm/_set-species-6f64f1c1.js +51 -0
  198. package/dist/esm/{_to-object-1b1f7766.js → _to-object-16fd8b46.js} +1 -1
  199. package/dist/esm/{AdSlot-362a1c30.js → asyncToGenerator-204b5a5c.js} +3 -703
  200. package/dist/esm/brightcove-react-player-loader.es-e1c6b0f2.js +2225 -0
  201. package/dist/esm/{web.dom.iterable-e6bf2bf6.js → core.get-iterator-method-f5c0d66a.js} +2 -47
  202. package/dist/esm/debounce-8cd9e09c.js +277 -0
  203. package/dist/esm/{extends-92072fff.js → extends-6e00b262.js} +1 -1
  204. package/dist/esm/{toConsumableArray-c5e2fde8.js → from-2c0a5f49.js} +4 -29
  205. package/dist/esm/{get-bc6cf9fb.js → get-ae817b75.js} +3 -86
  206. package/dist/esm/getKeywords.js +29 -0
  207. package/dist/esm/getQuery.js +18 -0
  208. package/dist/esm/getSerializers.js +8021 -0
  209. package/dist/esm/getSeriesDetail.js +36 -0
  210. package/dist/esm/getTargeting-8f4bd5db.js +105 -0
  211. package/dist/esm/getTargeting.js +9 -0
  212. package/dist/esm/iconBase-6ee2f2fb.js +81 -0
  213. package/dist/esm/{debounce-42a7f724.js → index-fb49124c.js} +2 -476
  214. package/dist/esm/index.esm-9d6faf80.js +17 -0
  215. package/dist/esm/index.esm-a7ad65ba.js +13 -0
  216. package/dist/esm/{index.esm-536609db.js → index.esm-b97cf389.js} +2 -80
  217. package/dist/esm/index.js +137 -23019
  218. package/dist/esm/{inherits-bbec2f34.js → inherits-2758cc14.js} +5 -15
  219. package/dist/esm/isSymbol-c1b9be80.js +203 -0
  220. package/dist/esm/js.cookie-6874175c.js +158 -0
  221. package/dist/esm/keys-04cdec91.js +23 -0
  222. package/dist/esm/{main-cf4930f0.js → main-8c8784b8.js} +1 -1
  223. package/dist/esm/{promise-2592a80a.js → promise-53143c9a.js} +6 -49
  224. package/dist/esm/{slicedToArray-04e02710.js → slicedToArray-f1e40361.js} +3 -2
  225. package/dist/esm/stringify-e30bc114.js +15 -0
  226. package/dist/esm/toConsumableArray-8712d678.js +29 -0
  227. package/dist/esm/{typeof-09bf9211.js → typeof-7e72fee0.js} +5 -70
  228. package/dist/esm/urlFor.js +8 -0
  229. package/dist/esm/util-7700fc59.js +574 -0
  230. package/dist/esm/web.dom.iterable-46c95e52.js +49 -0
  231. package/package.json +1 -1
  232. package/dist/cjs/GridContent-6a0216fb.js +0 -728
  233. package/dist/cjs/Normal-430e8e61.js +0 -2315
  234. package/dist/cjs/Ustream-46288bdf.js +0 -119
  235. package/dist/cjs/index.esm-340d3792.js +0 -110
  236. package/dist/esm/GridContent-7e11f013.js +0 -717
  237. package/dist/esm/Normal-6efd92da.js +0 -2282
  238. package/dist/esm/Ustream-c4f281a3.js +0 -112
@@ -1,2282 +0,0 @@
1
- import React, { useState, useEffect, useRef } from 'react';
2
- import Container from 'react-bootstrap/Container';
3
- import Row from 'react-bootstrap/Row';
4
- import Col from 'react-bootstrap/Col';
5
- import { useRouter } from 'next/router';
6
- import { m as main_36, c as main_37 } from './main-cf4930f0.js';
7
- import { _ as _slicedToArray } from './slicedToArray-04e02710.js';
8
- import { D as DFPAdSlot } from './AdSlot-362a1c30.js';
9
- import { g as get_1 } from './get-bc6cf9fb.js';
10
- import { r as reactSocialIcons_1 } from './react-social-icons-3822f1ce.js';
11
- import { Dropdown } from 'react-bootstrap';
12
- import { G as GenIcon, b as IoMdLogIn, c as IoIosHome } from './index.esm-536609db.js';
13
- import Button from 'react-bootstrap/Button';
14
- import ListGroup from 'react-bootstrap/ListGroup';
15
- import Head from 'next/head';
16
- import Nav from 'react-bootstrap/Nav';
17
- import Navbar from 'react-bootstrap/Navbar';
18
- import NavDropdown from 'react-bootstrap/NavDropdown';
19
- import Form from 'react-bootstrap/Form';
20
- import FormControl from 'react-bootstrap/FormControl';
21
-
22
- var Column1 = function Column1(props) {
23
- var title = props.title;
24
-
25
- return React.createElement(
26
- 'section',
27
- null,
28
- React.createElement(
29
- Row,
30
- { className: 'justify-content-md-center' },
31
- React.createElement(
32
- Col,
33
- { className: 'middleCol', style: { marginTop: !title && '10px' } },
34
- title && React.createElement(
35
- 'h1',
36
- null,
37
- title
38
- ),
39
- props.children
40
- )
41
- )
42
- );
43
- };
44
-
45
- var year = new Date().getFullYear();
46
-
47
- var renderLink = function renderLink(row) {
48
- if (row.blank) {
49
- return React.createElement(
50
- 'a',
51
- { href: row.url, target: '_blank', rel: 'noopener noreferrer' },
52
- row.title
53
- );
54
- }
55
- return React.createElement(
56
- 'a',
57
- { href: row.url },
58
- row.title
59
- );
60
- };
61
-
62
- var SideFooter = function SideFooter(props) {
63
- /*
64
- useage example: <SideFooter cache={props.cache} logo='https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' />
65
- */
66
- var _get = get_1(props, 'cache.siteSettingCache', {}),
67
- socialLinks = _get.socialLinks,
68
- footerLinks = _get.footerLinks,
69
- name = _get.name;
70
-
71
- var logo = props.logo;
72
-
73
- return React.createElement(
74
- 'div',
75
- { className: 'side-footer' },
76
- React.createElement(
77
- 'ul',
78
- null,
79
- footerLinks && footerLinks.map(function (row, index) {
80
- return React.createElement(
81
- 'li',
82
- { key: index },
83
- renderLink(row)
84
- );
85
- }),
86
- React.createElement(
87
- 'li',
88
- { style: { marginTop: '10px' } },
89
- socialLinks && socialLinks.map(function (row, index) {
90
- return React.createElement(reactSocialIcons_1, {
91
- target: row.blank ? '_blank' : '_self',
92
- rel: 'noopener noreferrer',
93
- key: index,
94
- index: index,
95
- url: row.url,
96
- style: { width: 30, height: 30, marginRight: 5 }
97
- });
98
- })
99
- )
100
- ),
101
- logo && React.createElement(
102
- 'ul',
103
- null,
104
- React.createElement(
105
- 'li',
106
- { className: 'pt-2' },
107
- React.createElement(
108
- 'a',
109
- { href: 'https://www.mjhlifesciences.com' },
110
- React.createElement('img', { style: { maxWidth: '100%' }, alt: 'MJHLS Brand Logo', src: logo })
111
- )
112
- )
113
- ),
114
- React.createElement(
115
- 'p',
116
- null,
117
- '\xA9 ',
118
- year,
119
- ' MJH Life Sciences',
120
- React.createElement(
121
- 'sup',
122
- null,
123
- '\u2122'
124
- ),
125
- ' ',
126
- name && name.toLowerCase().includes(' and ') ? ', ' : ' and ',
127
- name,
128
- '. All rights reserved.'
129
- )
130
- );
131
- };
132
-
133
- var ConferenceBanner = function ConferenceBanner(props) {
134
- var website = props.website;
135
-
136
-
137
- return React.createElement(
138
- "div",
139
- { className: "conf-img" },
140
- React.createElement(
141
- "a",
142
- { href: website.conferenceBannerContent.href },
143
- React.createElement("img", { src: website.conferenceBannerContent.src, alt: website.conferenceBannerContent.alt })
144
- )
145
- );
146
- };
147
-
148
- var Column2 = function Column2(props) {
149
- var rightItems = props.rightItems,
150
- title = props.title,
151
- website = props.website;
152
-
153
-
154
- return React.createElement(
155
- 'section',
156
- null,
157
- React.createElement(
158
- Row,
159
- { className: 'justify-content-md-center' },
160
- React.createElement(
161
- Col,
162
- { md: true, className: 'middleCol', style: { marginTop: !title && '10px' } },
163
- title && React.createElement(
164
- 'h1',
165
- null,
166
- title
167
- ),
168
- props.children
169
- ),
170
- React.createElement(
171
- Col,
172
- { xs: 12, className: 'rightCol' },
173
- website && website.conferenceBannerContent && React.createElement(ConferenceBanner, { website: website }),
174
- React.createElement(
175
- 'div',
176
- { className: 'sticky-top', style: { top: '60px' } },
177
- rightItems && rightItems.map(function (row, index) {
178
- return React.createElement(
179
- 'div',
180
- { key: index },
181
- row.component
182
- );
183
- }),
184
- website && website.sideFooterContent && website.sideFooterContent.length && !website.showFooterOnLeftSide && React.createElement(SideFooter, { website: website })
185
- )
186
- )
187
- )
188
- );
189
- };
190
-
191
- var ADSponsoredResources = function ADSponsoredResources(_ref) {
192
- var sponsoredAd = _ref.sponsoredAd,
193
- _ref$minScreenWidth = _ref.minScreenWidth,
194
- minScreenWidth = _ref$minScreenWidth === undefined ? 1200 : _ref$minScreenWidth;
195
- var className = sponsoredAd.className,
196
- slotId = sponsoredAd.slotId,
197
- adUnit = sponsoredAd.adUnit,
198
- _sponsoredAd$targetin = sponsoredAd.targeting,
199
- targeting = _sponsoredAd$targetin === undefined ? {} : _sponsoredAd$targetin,
200
- _sponsoredAd$position = sponsoredAd.position,
201
- position = _sponsoredAd$position === undefined ? 'sponsor' : _sponsoredAd$position,
202
- networkID = sponsoredAd.networkID,
203
- sizes = sponsoredAd.sizes;
204
-
205
-
206
- var adTargeting = {
207
- content_placement: targeting.content_placement,
208
- tags: targeting.tags,
209
- document_group: targeting.document_group,
210
- document_url: targeting.document_url,
211
- pos: position,
212
- campaign_id: targeting.campaign_id,
213
- issue_url: targeting.issue_url,
214
- publication_url: targeting.publication_url
215
- };
216
-
217
- var _useState = useState(false),
218
- _useState2 = _slicedToArray(_useState, 2),
219
- widthFlag = _useState2[0],
220
- setWidthFlag = _useState2[1];
221
-
222
- useEffect(function () {
223
- if (window && window.innerWidth >= minScreenWidth) {
224
- setWidthFlag(true);
225
- }
226
- }, [minScreenWidth]);
227
-
228
- var collapseAd = function collapseAd() {
229
- var parent = document.getElementById('sponsored-ad-wrapper');
230
- parent.style.height = '0%';
231
- parent.style.width = '0%';
232
- parent.style.display = 'none';
233
- };
234
-
235
- var checkIsAdFound = function checkIsAdFound(isFound) {
236
- if (isFound) {
237
- var parent = document.getElementById('sponsored-ad-wrapper');
238
- parent.style.display = 'block';
239
- } else {
240
- collapseAd();
241
- }
242
- };
243
- if (widthFlag) {
244
- return React.createElement(
245
- React.Fragment,
246
- null,
247
- React.createElement(
248
- 'div',
249
- { id: 'sponsored-ad-wrapper', className: 'sponsored-ad-wrapper' },
250
- React.createElement(
251
- 'div',
252
- { className: 'sponsored-ad' },
253
- React.createElement(DFPAdSlot, {
254
- className: className,
255
- slotId: slotId,
256
- networkID: networkID,
257
- sizes: sizes,
258
- adUnit: adUnit,
259
- targeting: adTargeting,
260
- refreshFlag: false,
261
- checkIsAdFound: checkIsAdFound
262
- })
263
- )
264
- )
265
- );
266
- } else return null;
267
- };
268
-
269
- var LeftNav = function LeftNav(props) {
270
- var leftItems = props.leftItems,
271
- _props$fixedHeight = props.fixedHeight,
272
- fixedHeight = _props$fixedHeight === undefined ? false : _props$fixedHeight,
273
- _props$SeeAll = props.SeeAll,
274
- SeeAll = _props$SeeAll === undefined ? true : _props$SeeAll;
275
-
276
- var sideNavStyles = void 0;
277
- if (fixedHeight) {
278
- sideNavStyles = {
279
- maxHeight: '194px',
280
- overflowY: 'scroll',
281
- paddingLeft: '0'
282
- };
283
- } else {
284
- sideNavStyles = {
285
- paddingLeft: '0'
286
- };
287
- }
288
-
289
- var checkUrlIsExternal = function checkUrlIsExternal(url) {
290
- if (/(http|https?)([^\s]+)/g.test(url)) {
291
- return true;
292
- }
293
- return false;
294
- };
295
-
296
- var renderListGroupItem = function renderListGroupItem(subRow) {
297
- if (checkUrlIsExternal(subRow.url)) {
298
- return React.createElement(
299
- 'a',
300
- { target: subRow.blank ? '_blank' : '_self', href: subRow.url },
301
- subRow.name
302
- );
303
- }
304
- return React.createElement(
305
- 'a',
306
- { href: subRow.url || '#', target: subRow.blank ? '_blank' : '_self' },
307
- subRow.name
308
- );
309
- };
310
-
311
- return React.createElement(
312
- 'section',
313
- null,
314
- leftItems && leftItems.map(function (row, index) {
315
- return React.createElement(
316
- 'nav',
317
- { key: index, 'aria-label': 'Secondary' },
318
- React.createElement(
319
- 'div',
320
- { style: { display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap' }, className: 'secondary-nav-title list-group-item active' },
321
- React.createElement(
322
- 'span',
323
- { className: 'mr-1', style: { display: 'inline-block', fontWeight: 'bold', fontSize: '1rem' } },
324
- row.name
325
- ),
326
- row.url && SeeAll && React.createElement(
327
- 'span',
328
- { style: { marginLeft: 'auto', display: 'inline-block' } },
329
- React.createElement(
330
- 'a',
331
- { style: { color: 'white', fontSize: '.6rem' }, href: row.url },
332
- 'See All >'
333
- )
334
- )
335
- ),
336
- React.createElement(
337
- 'ul',
338
- { style: sideNavStyles },
339
- row.subQuery && row.subQuery.map(function (subRow, subIndex) {
340
- return React.createElement(
341
- ListGroup.Item,
342
- { as: 'li', key: subIndex + '_2' },
343
- renderListGroupItem(subRow)
344
- );
345
- })
346
- )
347
- );
348
- })
349
- );
350
- };
351
-
352
- var LeftNav$1 = React.memo(LeftNav);
353
-
354
- var PageFilter = function PageFilter(props) {
355
- var getParams = props.getParams,
356
- filters = props.filters,
357
- defaultFilter = props.defaultFilter;
358
-
359
- var _useState = useState(''),
360
- _useState2 = _slicedToArray(_useState, 2),
361
- filter = _useState2[0],
362
- setFilter = _useState2[1];
363
-
364
- var usePrevious = function usePrevious(value) {
365
- var ref = useRef();
366
- useEffect(function () {
367
- ref.current = value;
368
- });
369
- return ref.current;
370
- };
371
-
372
- var sortAttr = usePrevious({ filter: filter });
373
-
374
- useEffect(function () {
375
- if (sortAttr && sortAttr.filter !== filter) {
376
- getParams(filter);
377
- }
378
- }, [filter, sortAttr, getParams]);
379
-
380
- if (filters.length) {
381
- return React.createElement(
382
- Dropdown,
383
- { alignRight: true },
384
- React.createElement(
385
- Dropdown.Toggle,
386
- { className: 'filter-dropdown', id: 'filter-dropdown' },
387
- filter || defaultFilter
388
- ),
389
- React.createElement(
390
- Dropdown.Menu,
391
- { className: 'select-dropdown' },
392
- filters.map(function (filter, index) {
393
- return React.createElement(
394
- Dropdown.Item,
395
- { key: index, onClick: function onClick() {
396
- return setFilter(filter);
397
- } },
398
- filter
399
- );
400
- })
401
- ),
402
- React.createElement(
403
- 'style',
404
- { jsx: 'true' },
405
- '\n .filter-dropdown {\n float: right;\n }\n .select-dropdown > a {\n color: #8e8c84;\n }\n '
406
- )
407
- );
408
- }
409
- return null;
410
- };
411
-
412
- var Column3 = function Column3(props) {
413
- var leftItems = props.leftItems,
414
- rightItems = props.rightItems,
415
- title = props.title,
416
- website = props.website,
417
- showFilter = props.showFilter,
418
- getParams = props.getParams,
419
- filters = props.filters,
420
- defaultFilter = props.defaultFilter,
421
- showRightAd = props.showRightAd,
422
- logo = props.logo;
423
-
424
- var adRef = useRef(null);
425
-
426
- useEffect(function () {
427
- if (!main_36 && window.innerWidth >= 768) {
428
- var navbar = document.querySelector('.navbar');
429
- var AdOffsetTop = adRef.current.getBoundingClientRect().top;
430
- window.addEventListener('scroll', function () {
431
- if (window.pageYOffset + (AdOffsetTop - navbar.offsetHeight) > AdOffsetTop) {
432
- if (adRef.current && adRef.current.style) {
433
- adRef.current.style.position = 'fixed';
434
- adRef.current.style.top = '60px';
435
- }
436
- } else {
437
- if (adRef.current && adRef.current.style) {
438
- adRef.current.style.position = 'relative';
439
- adRef.current.style.top = '';
440
- }
441
- }
442
- });
443
- }
444
- }, []);
445
-
446
- return React.createElement(
447
- 'section',
448
- null,
449
- React.createElement(
450
- Row,
451
- { className: 'justify-content-md-center' },
452
- React.createElement(
453
- Col,
454
- { md: true, className: 'leftCol', style: { width: '200px' } },
455
- React.createElement(LeftNav$1, { leftItems: leftItems }),
456
- website && website.sponsoredAd && React.createElement(ADSponsoredResources, { sponsoredAd: website.sponsoredAd }),
457
- website && website.sideFooterContent && website.sideFooterContent.length && website.showFooterOnLeftSide && React.createElement(SideFooter, { website: website, cache: website.cache, logo: logo })
458
- ),
459
- React.createElement(
460
- Col,
461
- { md: true, className: 'middleCol', style: { maxWidth: '640px', marginTop: !title && '10px' } },
462
- showFilter ? React.createElement(
463
- 'div',
464
- { className: 'title-wrap' },
465
- React.createElement(
466
- 'h1',
467
- { className: 'title' },
468
- title
469
- ),
470
- React.createElement(
471
- 'div',
472
- { className: 'filter-box' },
473
- React.createElement(PageFilter, { getParams: getParams, filters: filters, defaultFilter: defaultFilter })
474
- )
475
- ) : title && React.createElement(
476
- 'h1',
477
- { className: 'title' },
478
- title
479
- ),
480
- props.children
481
- ),
482
- React.createElement(
483
- 'style',
484
- { jsx: 'true' },
485
- '\n .filter-box {\n float: right;\n padding-top: 6px;\n padding-right: 18px;\n }\n @media only screen and (min-width: 768px) {\n .title-wrap {\n display: flex;\n justify-content: space-between;\n }\n }\n @media only screen and (max-width: 767px) {\n /* .filter-box {\n float: right;\n display: flex;\n justify-content: flex-end;\n } */\n .title-wrap {\n display: flex;\n flex-direction: column;\n margin-bottom: 10px;\n }\n }\n '
486
- ),
487
- (!main_36 || showRightAd) && React.createElement(
488
- Col,
489
- { xs: 12, className: 'rightCol' },
490
- website && website.conferenceBannerContent && React.createElement(ConferenceBanner, { website: website }),
491
- React.createElement(
492
- 'div',
493
- { ref: adRef },
494
- rightItems && rightItems.map(function (row, index) {
495
- return React.createElement(
496
- 'div',
497
- { key: index },
498
- row.component
499
- );
500
- }),
501
- website && website.sideFooterContent && website.sideFooterContent.length && !website.showFooterOnLeftSide && React.createElement(SideFooter, { website: website, cache: website.cache, logo: logo })
502
- )
503
- )
504
- )
505
- );
506
- };
507
-
508
- var Header = function Header(props) {
509
- var title = props.title,
510
- keyword = props.keyword,
511
- description = props.description,
512
- isLiveSite = props.isLiveSite;
513
-
514
-
515
- return React.createElement(
516
- Head,
517
- null,
518
- title && React.createElement(
519
- 'title',
520
- null,
521
- title
522
- ),
523
- keyword && React.createElement('meta', { name: 'keywords', content: keyword }),
524
- description && React.createElement('meta', { name: 'description', content: description }),
525
- !isLiveSite && React.createElement('meta', { name: 'robots', content: 'noindex, nofollow' })
526
- );
527
- };
528
-
529
- var Header$1 = React.memo(Header);
530
-
531
- // THIS FILE IS AUTO GENERATED
532
- var MdEmail = function (props) {
533
- return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"d":"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"}}]})(props);
534
- };
535
- MdEmail.displayName = "MdEmail";
536
- var MdMouse = function (props) {
537
- return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"d":"M13 1.07V9h7c0-4.08-3.05-7.44-7-7.93zM4 15c0 4.42 3.58 8 8 8s8-3.58 8-8v-4H4v4zm7-13.93C7.05 1.56 4 4.92 4 9h7V1.07z"}}]})(props);
538
- };
539
- MdMouse.displayName = "MdMouse";
540
- var MdPictureAsPdf = function (props) {
541
- return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"d":"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z"}}]})(props);
542
- };
543
- MdPictureAsPdf.displayName = "MdPictureAsPdf";
544
-
545
- var Search = function Search(props) {
546
- var _props$placeholder = props.placeholder,
547
- placeholder = _props$placeholder === undefined ? 'Search' : _props$placeholder,
548
- _props$btnText = props.btnText,
549
- btnText = _props$btnText === undefined ? 'Search' : _props$btnText,
550
- _props$device = props.device,
551
- device = _props$device === undefined ? 'desktop' : _props$device;
552
-
553
- var _useState = useState(''),
554
- _useState2 = _slicedToArray(_useState, 2),
555
- searchKey = _useState2[0],
556
- setSearchKey = _useState2[1];
557
-
558
- var submitSearch = function submitSearch(e) {
559
- e.preventDefault();
560
- window.location.href = '/search?searchTerm=' + searchKey;
561
- };
562
-
563
- return React.createElement(
564
- Form,
565
- { inline: true, onSubmit: function onSubmit(e) {
566
- return submitSearch(e);
567
- } },
568
- React.createElement(FormControl, {
569
- className: device === 'mobile' ? 'mobile-search mr-sm-2' : 'mr-sm-2',
570
- type: 'text',
571
- placeholder: placeholder,
572
- value: searchKey,
573
- onChange: function onChange(e) {
574
- return setSearchKey(e.target.value);
575
- }
576
- }),
577
- React.createElement(
578
- Button,
579
- { variant: 'secondary', onClick: function onClick(e) {
580
- return submitSearch(e);
581
- } },
582
- btnText
583
- ),
584
- React.createElement(
585
- 'style',
586
- { jsx: 'true' },
587
- '\n .mobile-search {\n width: 75%;\n margin-right: 15px;\n }\n '
588
- )
589
- );
590
- };
591
-
592
- var year$1 = new Date().getFullYear();
593
-
594
- var NavFooter = function NavFooter(props) {
595
- var website = props.website,
596
- showLogo = props.showLogo;
597
-
598
- return React.createElement(
599
- 'div',
600
- { className: 'nav-footer' },
601
- website && React.createElement(
602
- 'ul',
603
- null,
604
- website && website.sideFooterContent && website.sideFooterContent.length && website.sideFooterContent.map(function (content, index) {
605
- if (content.url && content.title) {
606
- return content.blank ? React.createElement(
607
- 'li',
608
- { key: index },
609
- React.createElement(
610
- 'a',
611
- { target: '_blank', rel: 'noopener noreferrer', href: content.url, className: 'nav-link' },
612
- content.title
613
- )
614
- ) : React.createElement(
615
- 'li',
616
- { key: index },
617
- React.createElement(
618
- 'a',
619
- { href: content.url, className: 'nav-link' },
620
- content.title
621
- )
622
- );
623
- } else return null;
624
- }),
625
- showLogo && React.createElement(
626
- 'li',
627
- null,
628
- React.createElement(
629
- 'a',
630
- { href: 'https://www.mjhlifesciences.com' },
631
- React.createElement('img', { style: { maxWidth: '100%', height: '50px', margin: ' 10px 0', objectFit: 'contain' }, alt: 'MJHLS Brand Logo', src: 'https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' })
632
- )
633
- )
634
- ),
635
- website && website.title && React.createElement(
636
- 'p',
637
- { className: 'nav-link' },
638
- '\xA9 ',
639
- year$1,
640
- ' MJH Life Sciences and ',
641
- website.title,
642
- '. All rights reserved.'
643
- )
644
- );
645
- };
646
-
647
- var NavFooter$1 = React.memo(NavFooter);
648
-
649
- var year$2 = new Date().getFullYear();
650
-
651
- var SocialNavFooter = function SocialNavFooter(props) {
652
- var website = props.website,
653
- showLogo = props.showLogo;
654
-
655
- return React.createElement(
656
- 'div',
657
- { className: 'nav-footer' },
658
- website && website.footerLinks && website.footerLinks.length && React.createElement(
659
- 'ul',
660
- null,
661
- website && website.footerLinks.map(function (content, index) {
662
- if (content.url && content.title) {
663
- return content.blank ? React.createElement(
664
- 'li',
665
- { key: index },
666
- React.createElement(
667
- 'a',
668
- { target: '_blank', rel: 'noopener noreferrer', href: content.url, className: 'nav-link' },
669
- content.title
670
- )
671
- ) : React.createElement(
672
- 'li',
673
- { key: index },
674
- React.createElement(
675
- 'a',
676
- { href: content.url, className: 'nav-link' },
677
- content.title
678
- )
679
- );
680
- } else return null;
681
- })
682
- ),
683
- React.createElement(
684
- 'ul',
685
- null,
686
- React.createElement(
687
- 'li',
688
- { style: { marginTop: '10px' }, key: website.footerLinks ? website.footerLinks.length + 1 : 1 },
689
- website.socialLinks && website.socialLinks.map(function (row, index) {
690
- return React.createElement(reactSocialIcons_1, {
691
- target: row.blank ? '_blank' : '_self',
692
- rel: 'noopener noreferrer',
693
- key: index,
694
- index: index,
695
- url: row.url,
696
- style: { width: 30, height: 30, marginRight: 5 }
697
- });
698
- })
699
- ),
700
- showLogo && React.createElement(
701
- 'li',
702
- null,
703
- React.createElement(
704
- 'a',
705
- { href: 'https://www.mjhlifesciences.com' },
706
- React.createElement('img', { style: { maxWidth: '100%', height: '50px', margin: ' 10px 0', objectFit: 'contain' }, alt: 'MJHLS Brand Logo', src: 'https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' })
707
- )
708
- )
709
- ),
710
- website && website.name && React.createElement(
711
- 'p',
712
- { className: 'nav-link' },
713
- '\xA9 ',
714
- year$2,
715
- ' MJH Life Sciences and ',
716
- website.name,
717
- '. All rights reserved.'
718
- )
719
- );
720
- };
721
-
722
- var NavMagazine = function NavMagazine(props) {
723
- /*
724
- Example Nav with acceptable props
725
- <MagazineNav
726
- showLogin
727
- user={props.cache.user}
728
- logo={props.settings.logo}
729
- dataObject={props.cache.mainNavCache}
730
- website={website}
731
- subNav={props.cache.subNavCache}
732
- />
733
- */
734
-
735
- var logo = props.logo,
736
- mobileLogo = props.mobileLogo,
737
- dataObject = props.dataObject,
738
- subNav = props.subNav,
739
- website = props.website,
740
- _props$showLogin = props.showLogin,
741
- showLogin = _props$showLogin === undefined ? false : _props$showLogin,
742
- _props$userData = props.userData,
743
- _props$socialFooterNa = props.socialFooterNav,
744
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
745
-
746
- var navRef = useRef(null);
747
- var topNavRef = useRef(null);
748
-
749
- var _useState = useState(false),
750
- _useState2 = _slicedToArray(_useState, 2),
751
- isSticky = _useState2[0],
752
- setIsSticky = _useState2[1];
753
-
754
- var _useState3 = useState(0),
755
- _useState4 = _slicedToArray(_useState3, 2),
756
- screenWidth = _useState4[0],
757
- setScreenWidth = _useState4[1];
758
-
759
- useEffect(function () {
760
- document.addEventListener('scroll', trackScrolling);
761
- return function () {
762
- document.removeEventListener('scroll', trackScrolling);
763
- };
764
- // eslint-disable-next-line react-hooks/exhaustive-deps
765
- }, []);
766
-
767
- useEffect(function () {
768
- setScreenWidth(parseInt(window.innerWidth));
769
- }, []);
770
-
771
- useEffect(function () {
772
- var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
773
- var adSection = document.querySelector('.AD728x90');
774
- if (window.pageYOffset > navOffsetTop) {
775
- if (navRef.current && navRef.current.style) {
776
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
777
- navRef.current.style.position = 'fixed';
778
- navRef.current.style.top = 0;
779
- navRef.current.style.width = '100%';
780
- navRef.current.style.zIndex = '99999';
781
- }
782
- }
783
- var stickyNav = window.addEventListener('scroll', function () {
784
- if (window.pageYOffset > navOffsetTop) {
785
- if (navRef.current && navRef.current.style) {
786
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
787
- navRef.current.style.position = 'fixed';
788
- navRef.current.style.top = 0;
789
- navRef.current.style.width = '100%';
790
- navRef.current.style.zIndex = '99999';
791
- }
792
- } else {
793
- if (navRef.current && navRef.current.style) {
794
- topNavRef.current.style.paddingBottom = '0';
795
- navRef.current.style.position = 'relative';
796
- navRef.current.style.top = '';
797
- if (adSection) adSection.style.marginTop = '';
798
- }
799
- }
800
- });
801
- return function () {
802
- window.removeEventListener('scroll', stickyNav);
803
- };
804
- }, []);
805
-
806
- var trackScrolling = function trackScrolling() {
807
- var offsetTop = navRef.current.getBoundingClientRect().top;
808
-
809
- if (offsetTop === 0) {
810
- setIsSticky(true);
811
- } else {
812
- setIsSticky(false);
813
- }
814
- };
815
-
816
- //const userLoggedIn = props.user ? true : false
817
-
818
- var _useState5 = useState(false),
819
- _useState6 = _slicedToArray(_useState5, 2),
820
- userLoggedIn = _useState6[0],
821
- setUserLoggedIn = _useState6[1];
822
-
823
- var _useState7 = useState(false),
824
- _useState8 = _slicedToArray(_useState7, 2),
825
- userChecked = _useState8[0],
826
- setUserChecked = _useState8[1];
827
-
828
- useEffect(function () {
829
- setUserLoggedIn(props.user ? true : false);
830
- if (!userChecked) {
831
- setUserChecked(true);
832
- }
833
- }, [props.user, userChecked]);
834
-
835
- return React.createElement(
836
- React.Fragment,
837
- null,
838
- React.createElement(
839
- Navbar,
840
- { expand: 'xl', ref: topNavRef },
841
- React.createElement(
842
- Container,
843
- { style: { position: 'relative' } },
844
- React.createElement(
845
- Nav,
846
- { id: 'navbar-top', className: 'justify-content-center navbar-top', style: { margin: '0 auto' } },
847
- React.createElement(
848
- Nav.Item,
849
- { className: 'nav-mobile-logo' },
850
- React.createElement(
851
- 'a',
852
- { href: '/' },
853
- mobileLogo && screenWidth < 776 ? React.createElement('img', { src: mobileLogo }) : React.createElement('img', { src: logo, className: 'logo', style: { height: '55px' } })
854
- )
855
- ),
856
- false ,
857
- false
858
- ),
859
- React.createElement(
860
- Nav,
861
- { style: { position: 'absolute', right: '15px' }, className: 'justify-content-end rightHeader' },
862
- showLogin && userChecked && !userLoggedIn && React.createElement(
863
- React.Fragment,
864
- null,
865
- React.createElement(
866
- Nav.Item,
867
- null,
868
- React.createElement(
869
- 'a',
870
- { href: '/auth/signup' },
871
- React.createElement(
872
- 'div',
873
- { className: 'px-2 py-2 mr-2', id: 'nav-register' },
874
- React.createElement(MdEmail, null),
875
- ' Sign Up'
876
- )
877
- )
878
- ),
879
- React.createElement(
880
- Nav.Item,
881
- null,
882
- React.createElement(
883
- 'a',
884
- { href: '/auth/login' },
885
- React.createElement(
886
- 'div',
887
- { className: 'px-2 py-2', id: 'nav-login' },
888
- React.createElement(IoMdLogIn, null),
889
- ' Login'
890
- )
891
- )
892
- )
893
- ),
894
- showLogin && userChecked && userLoggedIn && React.createElement(
895
- React.Fragment,
896
- null,
897
- React.createElement(
898
- Nav.Item,
899
- null,
900
- React.createElement(
901
- 'a',
902
- { href: '/auth/profile' },
903
- React.createElement(
904
- 'div',
905
- { className: 'px-2 py-2', id: 'nav-profile' },
906
- React.createElement(MdEmail, null),
907
- ' Profile'
908
- )
909
- )
910
- ),
911
- React.createElement(
912
- Nav.Item,
913
- null,
914
- React.createElement(
915
- 'a',
916
- { href: '/api/auth/logout' },
917
- React.createElement(
918
- 'div',
919
- { className: 'px-2 py-2', id: 'nav-logout' },
920
- React.createElement(IoMdLogIn, null),
921
- ' Logout'
922
- )
923
- )
924
- )
925
- )
926
- )
927
- )
928
- ),
929
- React.createElement(
930
- Navbar,
931
- { id: 'navbar-ham', className: main_37 ? 'bottom-nav ios-nav' : 'bottom-nav ', variant: 'dark', expand: 'xl', bg: 'primary', sticky: 'top', ref: navRef },
932
- React.createElement(
933
- Container,
934
- { className: 'mobile-nav android-nav' },
935
- React.createElement(
936
- 'div',
937
- { className: 'nav-toggle' },
938
- React.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
939
- React.createElement(Search, { device: 'mobile' })
940
- ),
941
- subNav && React.createElement(
942
- Navbar.Collapse,
943
- { id: 'basic-navbar-sub' },
944
- React.createElement(
945
- Nav,
946
- { className: 'mr-auto' },
947
- showLogin && userChecked && userLoggedIn && React.createElement(
948
- React.Fragment,
949
- null,
950
- React.createElement(
951
- 'a',
952
- { key: 'mobile-profile', href: '/auth/profile', className: 'nav-link' },
953
- 'Profile'
954
- ),
955
- React.createElement(
956
- 'a',
957
- { key: 'mobile-logout', href: '/api/auth/logout', className: 'nav-link' },
958
- 'Log Out'
959
- )
960
- ),
961
- showLogin && userChecked && !userLoggedIn && React.createElement(
962
- React.Fragment,
963
- null,
964
- React.createElement(
965
- 'a',
966
- { key: 'mobile-signup', href: '/auth/signup', className: 'nav-link' },
967
- 'Sign Up'
968
- ),
969
- React.createElement(
970
- 'a',
971
- { key: 'mobile-login', href: '/auth/login', className: 'nav-link' },
972
- 'Log In'
973
- )
974
- ),
975
- subNav && subNav.map(function (row, index) {
976
- if (row.subQuery && row.subQuery.length > 0) {
977
- return row.name ? React.createElement(
978
- 'div',
979
- null,
980
- React.createElement(
981
- NavDropdown,
982
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
983
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
984
- if (ddRow.type === 'divider') {
985
- return React.createElement(NavDropdown.Divider, { key: subIndex });
986
- } else {
987
- if (ddRow.url && ddRow.name) {
988
- return ddRow.url && ddRow.name ? React.createElement(
989
- 'a',
990
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
991
- ddRow.name
992
- ) : null;
993
- } else return null;
994
- }
995
- })
996
- ),
997
- React.createElement(
998
- 'noscript',
999
- null,
1000
- React.createElement(
1001
- 'div',
1002
- null,
1003
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1004
- if (ddRow.type === 'divider') {
1005
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1006
- } else {
1007
- if (ddRow.url && ddRow.name) {
1008
- return ddRow.url && ddRow.name ? React.createElement(
1009
- 'a',
1010
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1011
- ddRow.name
1012
- ) : null;
1013
- } else return null;
1014
- }
1015
- })
1016
- )
1017
- )
1018
- ) : null;
1019
- } else {
1020
- return row.url && row.name ? React.createElement(
1021
- 'a',
1022
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
1023
- row.name
1024
- ) : null;
1025
- }
1026
- })
1027
- )
1028
- ),
1029
- React.createElement(
1030
- Navbar.Collapse,
1031
- { id: 'basic-navbar-nav' },
1032
- isSticky && React.createElement(
1033
- 'a',
1034
- { href: '/' },
1035
- React.createElement(IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
1036
- ),
1037
- React.createElement(
1038
- Nav,
1039
- { className: 'mr-auto' },
1040
- dataObject && dataObject.map(function (row, index) {
1041
- if (row.subQuery && row.subQuery.length > 0) {
1042
- return row.name ? React.createElement(
1043
- 'div',
1044
- null,
1045
- React.createElement(
1046
- NavDropdown,
1047
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
1048
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1049
- if (ddRow.type === 'divider') {
1050
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1051
- } else {
1052
- return ddRow.url && ddRow.name ? React.createElement(
1053
- 'a',
1054
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1055
- ddRow.name
1056
- ) : null;
1057
- }
1058
- })
1059
- ),
1060
- React.createElement(
1061
- 'noscript',
1062
- null,
1063
- React.createElement(
1064
- 'div',
1065
- null,
1066
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1067
- if (ddRow.type === 'divider') {
1068
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1069
- } else {
1070
- return ddRow.url && ddRow.name ? React.createElement(
1071
- 'a',
1072
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1073
- ddRow.name
1074
- ) : null;
1075
- }
1076
- })
1077
- )
1078
- )
1079
- ) : null;
1080
- } else {
1081
- return row.url && row.name ? React.createElement(
1082
- 'a',
1083
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
1084
- row.name
1085
- ) : null;
1086
- }
1087
- })
1088
- ),
1089
- React.createElement(Search, { device: 'mobile' })
1090
- ),
1091
- website && React.createElement(
1092
- Navbar.Collapse,
1093
- { id: 'basic-navbar-sub' },
1094
- React.createElement(
1095
- Nav,
1096
- { className: 'mr-auto' },
1097
- socialFooterNav ? React.createElement(SocialNavFooter, { website: website, showLogo: true }) : React.createElement(NavFooter$1, { website: website, showLogo: true })
1098
- )
1099
- )
1100
- )
1101
- ),
1102
- React.createElement(
1103
- 'noscript',
1104
- null,
1105
- React.createElement(
1106
- 'style',
1107
- { jsx: 'true' },
1108
- '\n .navbar .collapse {\n display: block;\n }\n '
1109
- )
1110
- ),
1111
- React.createElement(
1112
- 'style',
1113
- { jsx: 'true' },
1114
- '\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: 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\n @media screen and (max-width: 1192px) {\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-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 }\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 #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\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 '
1115
- )
1116
- );
1117
- };
1118
-
1119
- var MagazineNav = React.memo(NavMagazine);
1120
-
1121
- var NavNative = function NavNative(props) {
1122
- /*
1123
- Example Nav with acceptable props
1124
- <MagazineNav
1125
- showLogin
1126
- logo={props.settings.logo}
1127
- dataObject={props.cache.mainNavCache}
1128
- website={website}
1129
- subNav={props.cache.subNavCache}
1130
- />
1131
- */
1132
-
1133
- var logo = props.logo,
1134
- mobileLogo = props.mobileLogo,
1135
- dataObject = props.dataObject,
1136
- subNav = props.subNav,
1137
- website = props.website,
1138
- _props$showLogin = props.showLogin,
1139
- _props$userData = props.userData,
1140
- _props$socialFooterNa = props.socialFooterNav,
1141
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
1142
-
1143
- var navRef = useRef(null);
1144
-
1145
- var _useState = useState(false),
1146
- _useState2 = _slicedToArray(_useState, 2),
1147
- isSticky = _useState2[0],
1148
- setIsSticky = _useState2[1];
1149
-
1150
- var _useState3 = useState(0),
1151
- _useState4 = _slicedToArray(_useState3, 2),
1152
- screenWidth = _useState4[0],
1153
- setScreenWidth = _useState4[1];
1154
-
1155
- useEffect(function () {
1156
- document.addEventListener('scroll', trackScrolling);
1157
- return function () {
1158
- document.removeEventListener('scroll', trackScrolling);
1159
- };
1160
- // eslint-disable-next-line react-hooks/exhaustive-deps
1161
- }, []);
1162
-
1163
- useEffect(function () {
1164
- setScreenWidth(parseInt(window.innerWidth));
1165
- }, []);
1166
-
1167
- var trackScrolling = function trackScrolling() {
1168
- var offsetTop = navRef.current.getBoundingClientRect().top;
1169
-
1170
- if (offsetTop === 0) {
1171
- setIsSticky(true);
1172
- } else {
1173
- setIsSticky(false);
1174
- }
1175
- };
1176
-
1177
- return React.createElement(
1178
- React.Fragment,
1179
- null,
1180
- React.createElement(
1181
- Navbar,
1182
- {
1183
- className: main_37 ? 'bottom-nav ios-nav' : 'bottom-nav android-nav',
1184
- variant: 'dark',
1185
- expand: 'lg',
1186
- bg: 'primary',
1187
- sticky: 'top',
1188
- ref: navRef,
1189
- style: { minHeight: '61px' } },
1190
- React.createElement(
1191
- Container,
1192
- { style: { maxHeight: '80vh' }, className: 'mobile-nav' },
1193
- React.createElement(
1194
- Navbar.Brand,
1195
- { id: 'nav-mobile-sm', className: 'nav-mobile-logo' },
1196
- React.createElement(
1197
- 'a',
1198
- { href: '/' },
1199
- mobileLogo && screenWidth < 1200 ? React.createElement('img', { src: mobileLogo }) : React.createElement('img', { src: logo, className: 'logo', style: { height: '50px' } })
1200
- )
1201
- ),
1202
- React.createElement(
1203
- 'div',
1204
- { className: 'nav-toggle' },
1205
- React.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
1206
- React.createElement(
1207
- Navbar.Brand,
1208
- { id: 'nav-mobile-md', className: 'nav-mobile-logo' },
1209
- React.createElement(
1210
- 'a',
1211
- { href: '/' },
1212
- mobileLogo && screenWidth < 1200 ? React.createElement('img', { src: mobileLogo }) : React.createElement('img', { src: logo, className: 'logo', style: { height: '50px' } })
1213
- )
1214
- ),
1215
- React.createElement(Search, { device: 'mobile' })
1216
- ),
1217
- subNav && React.createElement(
1218
- Navbar.Collapse,
1219
- { id: 'basic-navbar-sub' },
1220
- React.createElement(
1221
- Nav,
1222
- { className: 'mr-auto' },
1223
- subNav && subNav.map(function (row, index) {
1224
- if (row.subQuery && row.subQuery.length > 0) {
1225
- return row.name ? React.createElement(
1226
- 'div',
1227
- { key: index },
1228
- React.createElement(
1229
- NavDropdown,
1230
- { title: row.name, id: 'basic-nav-dropdown' },
1231
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1232
- if (ddRow.type === 'divider') {
1233
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1234
- } else {
1235
- if (ddRow.url && ddRow.name) {
1236
- return ddRow.url && ddRow.name ? React.createElement(
1237
- 'a',
1238
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1239
- ddRow.name
1240
- ) : null;
1241
- } else return null;
1242
- }
1243
- })
1244
- ),
1245
- React.createElement(
1246
- 'noscript',
1247
- null,
1248
- React.createElement(
1249
- 'div',
1250
- null,
1251
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1252
- if (ddRow.type === 'divider') {
1253
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1254
- } else {
1255
- if (ddRow.url && ddRow.name) {
1256
- return ddRow.url && ddRow.name ? React.createElement(
1257
- 'a',
1258
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1259
- ddRow.name
1260
- ) : null;
1261
- } else return null;
1262
- }
1263
- })
1264
- )
1265
- )
1266
- ) : null;
1267
- } else {
1268
- return row.url && row.name ? React.createElement(
1269
- 'a',
1270
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
1271
- row.name
1272
- ) : null;
1273
- }
1274
- })
1275
- )
1276
- ),
1277
- React.createElement(
1278
- Navbar.Collapse,
1279
- { id: 'basic-navbar-nav' },
1280
- React.createElement(
1281
- Nav,
1282
- { className: 'mr-auto' },
1283
- dataObject && dataObject.map(function (row, index) {
1284
- if (row.subQuery && row.subQuery.length > 0) {
1285
- return row.name ? React.createElement(
1286
- 'div',
1287
- { key: 'subnav-' + index },
1288
- React.createElement(
1289
- NavDropdown,
1290
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
1291
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1292
- if (ddRow.type === 'divider') {
1293
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1294
- } else {
1295
- return ddRow.url && ddRow.name ? React.createElement(
1296
- 'a',
1297
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1298
- ddRow.name
1299
- ) : null;
1300
- }
1301
- })
1302
- ),
1303
- React.createElement(
1304
- 'noscript',
1305
- null,
1306
- React.createElement(
1307
- 'div',
1308
- null,
1309
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1310
- if (ddRow.type === 'divider') {
1311
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1312
- } else {
1313
- return ddRow.url && ddRow.name ? React.createElement(
1314
- 'a',
1315
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1316
- ddRow.name
1317
- ) : null;
1318
- }
1319
- })
1320
- )
1321
- )
1322
- ) : null;
1323
- } else {
1324
- return row.url && row.name ? React.createElement(
1325
- 'a',
1326
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
1327
- row.name
1328
- ) : null;
1329
- }
1330
- })
1331
- ),
1332
- React.createElement(Search, { device: 'mobile' })
1333
- ),
1334
- website && React.createElement(
1335
- Navbar.Collapse,
1336
- { id: 'basic-navbar-sub' },
1337
- React.createElement(
1338
- Nav,
1339
- { className: 'mr-auto' },
1340
- socialFooterNav ? React.createElement(SocialNavFooter, { website: website }) : React.createElement(NavFooter$1, { website: website })
1341
- )
1342
- )
1343
- )
1344
- ),
1345
- React.createElement(
1346
- 'noscript',
1347
- null,
1348
- React.createElement(
1349
- 'style',
1350
- { jsx: 'true' },
1351
- '\n .navbar .collapse {\n display: block;\n }\n '
1352
- )
1353
- ),
1354
- React.createElement(
1355
- 'style',
1356
- { jsx: 'true' },
1357
- '\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 #nav-mobile-sm {\n display: none;\n }\n\n @media screen and (max-width: 1191px) {\n .mobile-nav .nav-toggle {\n width: 100%;\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\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\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 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 }\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\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\n @media screen and (min-width: 1191px) {\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\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 '
1358
- )
1359
- );
1360
- };
1361
-
1362
- var NavNormal = function NavNormal(props) {
1363
- var logo = props.logo,
1364
- dataObject = props.dataObject;
1365
-
1366
-
1367
- return React.createElement(
1368
- 'section',
1369
- null,
1370
- React.createElement(
1371
- Navbar,
1372
- { expand: 'lg' },
1373
- React.createElement(
1374
- Container,
1375
- null,
1376
- React.createElement('img', { src: logo, style: { height: '50px' } }),
1377
- React.createElement(
1378
- 'div',
1379
- null,
1380
- React.createElement(MdEmail, null),
1381
- ' Subscribe',
1382
- React.createElement('br', null),
1383
- React.createElement(MdMouse, null),
1384
- ' Login'
1385
- )
1386
- )
1387
- ),
1388
- React.createElement(
1389
- Navbar,
1390
- { variant: 'dark', expand: 'lg', bg: 'primary' },
1391
- React.createElement(
1392
- Container,
1393
- null,
1394
- React.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
1395
- React.createElement(
1396
- Navbar.Collapse,
1397
- { id: 'basic-navbar-nav' },
1398
- React.createElement(
1399
- Nav,
1400
- { className: 'mr-auto' },
1401
- dataObject && dataObject.map(function (row) {
1402
- if (row.type === 'dropdown') {
1403
- return React.createElement(
1404
- NavDropdown,
1405
- { title: row.name, id: 'basic-nav-dropdown' },
1406
- row.dropdown && row.dropdown.map(function (ddRow, ddItems) {
1407
- if (ddRow.type === 'divider') {
1408
- return React.createElement(NavDropdown.Divider, null);
1409
- } else {
1410
- return React.createElement(
1411
- NavDropdown.Item,
1412
- { href: ddRow.url, target: ddRow.blank ? '_blank' : '_self' },
1413
- ddRow.name
1414
- );
1415
- }
1416
- })
1417
- );
1418
- } else {
1419
- // Link default
1420
- return React.createElement(
1421
- Nav.Link,
1422
- { href: row.url, target: row.blank ? '_blank' : '_self' },
1423
- row.name
1424
- );
1425
- }
1426
- })
1427
- )
1428
- ),
1429
- React.createElement(Search, null)
1430
- )
1431
- ),
1432
- React.createElement(
1433
- 'style',
1434
- { jsx: 'true' },
1435
- '\n @media screen and (max-width: 991px) {\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 }\n '
1436
- )
1437
- );
1438
- };
1439
-
1440
- var NavDvm = function NavDvm(props) {
1441
- var logo = props.logo,
1442
- mobileLogo = props.mobileLogo,
1443
- dataObject = props.dataObject,
1444
- subNav = props.subNav,
1445
- website = props.website;
1446
-
1447
-
1448
- var getLink = function getLink(url, className, name, key, blank) {
1449
- if (url && (url.includes('https://') || url.includes('http://'))) {
1450
- return React.createElement(
1451
- 'a',
1452
- { target: blank ? '_blank' : '_self', key: key, href: url || '#', className: className },
1453
- name
1454
- );
1455
- }
1456
-
1457
- return React.createElement(
1458
- 'a',
1459
- { key: key, href: url || '#', target: blank ? '_blank' : '_self', className: className },
1460
- name
1461
- );
1462
- };
1463
-
1464
- return React.createElement(
1465
- React.Fragment,
1466
- null,
1467
- React.createElement(
1468
- Navbar,
1469
- { className: 'top-nav', expand: 'xl' },
1470
- React.createElement(
1471
- Container,
1472
- null,
1473
- React.createElement(
1474
- Nav,
1475
- { className: 'justify-content-center', style: { margin: '0 auto' } },
1476
- React.createElement(
1477
- Nav.Item,
1478
- null,
1479
- React.createElement(
1480
- 'a',
1481
- { href: '/' },
1482
- React.createElement('img', { src: logo, style: { height: '55px' } })
1483
- )
1484
- )
1485
- )
1486
- )
1487
- ),
1488
- React.createElement(
1489
- Navbar,
1490
- { className: 'bottom-nav', variant: 'dark', expand: 'xl', bg: 'primary', sticky: 'top' },
1491
- React.createElement(
1492
- Container,
1493
- { className: 'mobile-nav position-relative' },
1494
- mobileLogo && React.createElement(
1495
- 'a',
1496
- { href: '/', className: 'mobile-logo' },
1497
- React.createElement('img', { src: mobileLogo })
1498
- ),
1499
- React.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
1500
- React.createElement(
1501
- Navbar.Collapse,
1502
- { id: 'basic-navbar-nav' },
1503
- React.createElement(
1504
- Nav,
1505
- { className: 'mr-auto' },
1506
- dataObject && dataObject.map(function (row, index) {
1507
- if (row.subQuery.length > 0) {
1508
- return React.createElement(
1509
- 'div',
1510
- null,
1511
- React.createElement(
1512
- NavDropdown,
1513
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
1514
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1515
- if (ddRow.type === 'divider') {
1516
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1517
- } else {
1518
- return getLink(ddRow.url, 'dropdown-item', ddRow.name, subIndex, ddRow.blank);
1519
- }
1520
- })
1521
- ),
1522
- React.createElement(
1523
- 'noscript',
1524
- null,
1525
- React.createElement(
1526
- 'div',
1527
- null,
1528
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1529
- if (ddRow.type === 'divider') {
1530
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1531
- } else {
1532
- return getLink(ddRow.url, 'dropdown-item', ddRow.name, subIndex, ddRow.blank);
1533
- }
1534
- })
1535
- )
1536
- )
1537
- );
1538
- } else {
1539
- return getLink(row.url, 'nav-link', row.name, index, row.blank);
1540
- }
1541
- })
1542
- ),
1543
- React.createElement(Search, null)
1544
- ),
1545
- subNav && React.createElement(
1546
- Navbar.Collapse,
1547
- { id: 'basic-navbar-sub' },
1548
- React.createElement(
1549
- Nav,
1550
- { className: 'mr-auto' },
1551
- subNav && subNav.map(function (row, index) {
1552
- if (row.subQuery && row.subQuery.length > 0) {
1553
- return row.name ? React.createElement(
1554
- 'div',
1555
- null,
1556
- React.createElement(
1557
- NavDropdown,
1558
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
1559
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1560
- if (ddRow.type === 'divider') {
1561
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1562
- } else {
1563
- if (ddRow.url && ddRow.name) {
1564
- return ddRow.url && ddRow.name ? React.createElement(
1565
- 'a',
1566
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1567
- ddRow.name
1568
- ) : null;
1569
- } else return null;
1570
- }
1571
- })
1572
- ),
1573
- React.createElement(
1574
- 'noscript',
1575
- null,
1576
- React.createElement(
1577
- 'div',
1578
- null,
1579
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1580
- if (ddRow.type === 'divider') {
1581
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1582
- } else {
1583
- if (ddRow.url && ddRow.name) {
1584
- return ddRow.url && ddRow.name ? React.createElement(
1585
- 'a',
1586
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
1587
- ddRow.name
1588
- ) : null;
1589
- } else return null;
1590
- }
1591
- })
1592
- )
1593
- )
1594
- ) : null;
1595
- } else {
1596
- return row.url && row.name ? React.createElement(
1597
- 'a',
1598
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
1599
- row.name
1600
- ) : null;
1601
- }
1602
- })
1603
- )
1604
- ),
1605
- website && React.createElement(
1606
- Navbar.Collapse,
1607
- { id: 'basic-navbar-sub' },
1608
- React.createElement(
1609
- Nav,
1610
- { className: 'mr-auto' },
1611
- React.createElement(NavFooter$1, { website: website })
1612
- )
1613
- )
1614
- )
1615
- ),
1616
- React.createElement(
1617
- 'noscript',
1618
- null,
1619
- React.createElement(
1620
- 'style',
1621
- { jsx: 'true' },
1622
- '\n .navbar .collapse {\n display: block;\n }\n '
1623
- )
1624
- ),
1625
- React.createElement(
1626
- 'style',
1627
- { jsx: 'true' },
1628
- '\n .mobile-logo {\n display: none;\n position: absolute;\n left: 50%;\n top: 0;\n height: 40px;\n transform: translateX(-50%);\n }\n .mobile-logo img {\n height: 100%;\n }\n @media screen and (max-width: 1192px) {\n .mobile-logo {\n display: block;\n }\n .top-nav {\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: 20px;\n border-bottom: 0.5px solid white;\n margin-bottom: 15px;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n margin: 5px 0px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\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 }\n @media screen and (max-width: 991px) {\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 }\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 }\n '
1629
- )
1630
- );
1631
- };
1632
-
1633
- var HamMagazine = function HamMagazine(props) {
1634
- /*
1635
- Example Nav with acceptable props
1636
- <MagazineNav
1637
- showLogin
1638
- logo={props.settings.logo}
1639
- dataObject={props.cache.mainNavCache}
1640
- website={website}
1641
- subNav={props.cache.subNavCache}
1642
- />
1643
- */
1644
-
1645
- var logo = props.logo,
1646
- mobileLogo = props.mobileLogo,
1647
- dataObject = props.dataObject,
1648
- subNav = props.subNav,
1649
- website = props.website,
1650
- _props$showLogin = props.showLogin,
1651
- showLogin = _props$showLogin === undefined ? false : _props$showLogin,
1652
- _props$socialFooterNa = props.socialFooterNav,
1653
- socialFooterNav = _props$socialFooterNa === undefined ? false : _props$socialFooterNa;
1654
-
1655
- var navRef = useRef(null);
1656
- var topNavRef = useRef(null);
1657
-
1658
- var _useState = useState(false),
1659
- _useState2 = _slicedToArray(_useState, 2),
1660
- isSticky = _useState2[0],
1661
- setIsSticky = _useState2[1];
1662
-
1663
- var _useState3 = useState(0),
1664
- _useState4 = _slicedToArray(_useState3, 2),
1665
- screenWidth = _useState4[0],
1666
- setScreenWidth = _useState4[1];
1667
-
1668
- var _useState5 = useState(null),
1669
- _useState6 = _slicedToArray(_useState5, 2),
1670
- userAgent = _useState6[0],
1671
- setUserAgent = _useState6[1];
1672
-
1673
- var _useState7 = useState(false),
1674
- _useState8 = _slicedToArray(_useState7, 2),
1675
- isOpen = _useState8[0],
1676
- setIsOpen = _useState8[1];
1677
-
1678
- var _useState9 = useState(0),
1679
- _useState10 = _slicedToArray(_useState9, 2),
1680
- resolution = _useState10[0],
1681
- setResolution = _useState10[1];
1682
-
1683
- useEffect(function () {
1684
- document.addEventListener('scroll', trackScrolling);
1685
- return function () {
1686
- document.removeEventListener('scroll', trackScrolling);
1687
- };
1688
- // eslint-disable-next-line react-hooks/exhaustive-deps
1689
- }, []);
1690
-
1691
- // Initial User agent setup on refresh or on load
1692
- useEffect(function () {
1693
- setUserAgent(navigator.userAgent.toString());
1694
- }, []);
1695
-
1696
- useEffect(function () {
1697
- if (resolution === 0) {
1698
- setResolution(window.innerWidth);
1699
- }
1700
- var handleResize = function handleResize() {
1701
- if (resolution === 0) {
1702
- setResolution(window.innerWidth);
1703
- } else {
1704
- if (window.innerWidth < 768 && resolution >= 768) {
1705
- console.log('Detected Mobile Resolution');
1706
- window.location.reload();
1707
- } else if (window.innerWidth >= 768 && resolution < 768) {
1708
- console.log('Detected Tablet/Desktop Resolution');
1709
- window.location.reload();
1710
- }
1711
- }
1712
- };
1713
- window.addEventListener('resize', handleResize);
1714
- }, [resolution]);
1715
-
1716
- useEffect(function () {
1717
- setScreenWidth(parseInt(window.innerWidth));
1718
- }, []);
1719
-
1720
- // Check for change in useragent with change in screen resolution
1721
- useEffect(function () {
1722
- var handleResize = function handleResize() {
1723
- if (userAgent && userAgent !== navigator.userAgent.toString()) {
1724
- console.log('Browser change detected, refreshing');
1725
- window.location.reload();
1726
- }
1727
- };
1728
- window.addEventListener('resize', handleResize);
1729
- }, [userAgent]);
1730
-
1731
- useEffect(function () {
1732
- var navOffsetTop = document.getElementById('navbar-ham').offsetTop;
1733
- var adSection = document.querySelector('.AD728x90');
1734
- if (window.pageYOffset > navOffsetTop) {
1735
- if (navRef.current && navRef.current.style) {
1736
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
1737
- navRef.current.style.position = 'fixed';
1738
- navRef.current.style.top = 0;
1739
- navRef.current.style.width = '100%';
1740
- navRef.current.style.zIndex = '99999';
1741
- }
1742
- }
1743
- var stickyNav = window.addEventListener('scroll', function () {
1744
- if (window.pageYOffset > navOffsetTop) {
1745
- if (navRef.current && navRef.current.style) {
1746
- topNavRef.current.style.paddingBottom = navRef.current.offsetHeight + 'px';
1747
- navRef.current.style.position = 'fixed';
1748
- navRef.current.style.top = 0;
1749
- navRef.current.style.width = '100%';
1750
- navRef.current.style.zIndex = '99999';
1751
- }
1752
- } else {
1753
- if (navRef.current && navRef.current.style) {
1754
- topNavRef.current.style.paddingBottom = '0';
1755
- navRef.current.style.position = 'relative';
1756
- navRef.current.style.top = '';
1757
- if (adSection) adSection.style.marginTop = '';
1758
- }
1759
- }
1760
- });
1761
- return function () {
1762
- window.removeEventListener('scroll', stickyNav);
1763
- };
1764
- }, []);
1765
-
1766
- var trackScrolling = function trackScrolling() {
1767
- var offsetTop = navRef.current.getBoundingClientRect().top;
1768
-
1769
- if (offsetTop <= 0) {
1770
- setIsSticky(true);
1771
- } else {
1772
- setIsSticky(false);
1773
- }
1774
- };
1775
-
1776
- var handleLogin = function handleLogin(e) {
1777
- if (typeof GCN !== 'undefined' && GCN && GCN.onecount) {
1778
- GCN.onecount.login();
1779
- } else {
1780
- console.error('GCN not defined');
1781
- }
1782
- };
1783
-
1784
- var handleLogout = function handleLogout(e) {
1785
- if (typeof GCN !== 'undefined' && GCN && GCN.onecount) {
1786
- GCN.onecount.logout();
1787
- } else {
1788
- console.error('GCN not defined');
1789
- }
1790
- };
1791
-
1792
- return React.createElement(
1793
- 'header',
1794
- { className: !main_36 && isOpen ? 'nav-open' : 'nav-close', style: { zIndex: '99999' } },
1795
- React.createElement(
1796
- Navbar,
1797
- { expand: 'md', ref: topNavRef },
1798
- React.createElement(
1799
- Container,
1800
- { style: { position: 'relative' } },
1801
- React.createElement(
1802
- Nav,
1803
- { id: 'navbar-top', className: 'justify-content-center navbar-top', style: { margin: '0 auto' } },
1804
- showLogin && React.createElement(
1805
- Nav.Item,
1806
- { id: 'nav-mobile-register', className: 'hide-on-login', style: { display: 'none' } },
1807
- React.createElement(
1808
- 'a',
1809
- { href: '/register' },
1810
- React.createElement(
1811
- 'div',
1812
- { className: 'px-2 py-2' },
1813
- React.createElement(MdEmail, null),
1814
- ' Register'
1815
- )
1816
- )
1817
- ),
1818
- React.createElement(
1819
- Nav.Item,
1820
- { className: 'nav-mobile-logo' },
1821
- React.createElement(
1822
- 'a',
1823
- { href: '/' },
1824
- mobileLogo && screenWidth < 776 ? React.createElement('img', { src: mobileLogo }) : React.createElement('img', { src: logo, className: 'logo', style: { height: '55px' } })
1825
- )
1826
- ),
1827
- showLogin && React.createElement(
1828
- Nav.Item,
1829
- { id: 'nav-mobile-login', className: 'hide-on-login', style: { display: 'none' } },
1830
- React.createElement(
1831
- 'div',
1832
- { className: 'px-2 py-2 ', onClick: function onClick(e) {
1833
- return handleLogin();
1834
- } },
1835
- React.createElement(IoMdLogIn, null),
1836
- ' Login'
1837
- )
1838
- ),
1839
- showLogin && React.createElement(
1840
- React.Fragment,
1841
- null,
1842
- React.createElement(
1843
- Nav.Item,
1844
- { id: 'nav-mobile-logout', className: 'hide-on-logout', style: { display: 'none' } },
1845
- React.createElement(
1846
- 'div',
1847
- { className: 'pl-2 pr-3 py-2 text-right', onClick: function onClick(e) {
1848
- return handleLogout();
1849
- } },
1850
- React.createElement(IoMdLogIn, null),
1851
- ' Logout'
1852
- )
1853
- )
1854
- )
1855
- ),
1856
- React.createElement(
1857
- Nav,
1858
- { style: { position: 'absolute', right: '15px' }, className: 'justify-content-end rightHeader' },
1859
- showLogin && React.createElement(
1860
- React.Fragment,
1861
- null,
1862
- React.createElement(
1863
- Nav.Item,
1864
- { className: 'hide-on-login', style: { display: 'none' } },
1865
- React.createElement(
1866
- 'a',
1867
- { href: '/register' },
1868
- React.createElement(
1869
- 'div',
1870
- { className: 'px-2 py-2 mr-2', id: 'nav-register' },
1871
- React.createElement(MdEmail, null),
1872
- ' Register'
1873
- )
1874
- )
1875
- ),
1876
- React.createElement(
1877
- Nav.Item,
1878
- { className: 'hide-on-login', style: { display: 'none' } },
1879
- React.createElement(
1880
- 'div',
1881
- { className: 'px-2 py-2', id: 'nav-login', onClick: function onClick(e) {
1882
- return handleLogin();
1883
- } },
1884
- React.createElement(IoMdLogIn, null),
1885
- ' Login'
1886
- )
1887
- )
1888
- ),
1889
- showLogin && React.createElement(
1890
- React.Fragment,
1891
- null,
1892
- React.createElement(
1893
- Nav.Item,
1894
- { className: 'hide-on-logout', style: { display: 'none' } },
1895
- React.createElement(
1896
- 'div',
1897
- { className: 'px-2 py-2', id: 'nav-logout', onClick: function onClick(e) {
1898
- return handleLogout();
1899
- } },
1900
- React.createElement(IoMdLogIn, null),
1901
- ' Logout'
1902
- )
1903
- )
1904
- )
1905
- )
1906
- )
1907
- ),
1908
- React.createElement(
1909
- Navbar,
1910
- { id: 'navbar-ham', variant: 'dark', expand: 'xl', bg: 'primary', ref: navRef, style: { width: '100%' } },
1911
- React.createElement(
1912
- Container,
1913
- { className: 'mobile-nav' },
1914
- React.createElement(
1915
- 'div',
1916
- { className: 'nav-toggle' },
1917
- React.createElement(Navbar.Toggle, {
1918
- 'aria-controls': 'basic-navbar-nav',
1919
- onClick: function onClick() {
1920
- setIsOpen(!isOpen);
1921
- }
1922
- }),
1923
- React.createElement(Search, { device: 'mobile' })
1924
- ),
1925
- React.createElement(
1926
- 'div',
1927
- { className: 'hamburger-menu-list', style: { width: '100%', maxHeight: '80vh' } },
1928
- subNav && React.createElement(
1929
- Navbar.Collapse,
1930
- { id: 'basic-navbar-sub' },
1931
- React.createElement(
1932
- Nav,
1933
- { className: 'mr-auto' },
1934
- subNav && subNav.map(function (row, index) {
1935
- if (row.subQuery && row.subQuery.length > 0) {
1936
- return row.name ? React.createElement(
1937
- 'div',
1938
- null,
1939
- React.createElement(
1940
- NavDropdown,
1941
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
1942
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1943
- if (ddRow.type === 'divider') {
1944
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1945
- } else {
1946
- if (ddRow.url && ddRow.name) {
1947
- return ddRow.url && ddRow.name ? React.createElement(
1948
- 'a',
1949
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item' },
1950
- ddRow.name
1951
- ) : null;
1952
- } else return null;
1953
- }
1954
- })
1955
- ),
1956
- React.createElement(
1957
- 'noscript',
1958
- null,
1959
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1960
- if (ddRow.type === 'divider') {
1961
- return React.createElement(NavDropdown.Divider, { key: subIndex });
1962
- } else {
1963
- if (ddRow.url && ddRow.name) {
1964
- return ddRow.url && ddRow.name ? React.createElement(
1965
- 'a',
1966
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item' },
1967
- ddRow.name
1968
- ) : null;
1969
- } else return null;
1970
- }
1971
- })
1972
- )
1973
- ) : null;
1974
- } else {
1975
- return row.url && row.name ? React.createElement(
1976
- 'a',
1977
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
1978
- row.name
1979
- ) : null;
1980
- }
1981
- })
1982
- )
1983
- ),
1984
- React.createElement(
1985
- Navbar.Collapse,
1986
- { id: 'basic-navbar-nav' },
1987
- isSticky && React.createElement(
1988
- 'a',
1989
- { href: '/' },
1990
- React.createElement(IoIosHome, { size: 20, className: 'sticky-home', color: '#fff' })
1991
- ),
1992
- React.createElement(
1993
- Nav,
1994
- { className: 'mr-auto web-nav' },
1995
- dataObject && dataObject.map(function (row, index) {
1996
- if (row.subQuery && row.subQuery.length > 0) {
1997
- return row.name ? React.createElement(
1998
- 'div',
1999
- null,
2000
- React.createElement(
2001
- NavDropdown,
2002
- { key: index, title: row.name, id: 'basic-nav-dropdown' },
2003
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
2004
- if (ddRow.type === 'divider') {
2005
- return React.createElement(NavDropdown.Divider, { key: subIndex });
2006
- } else {
2007
- return ddRow.url && ddRow.name ? React.createElement(
2008
- 'a',
2009
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item nav-link' },
2010
- ddRow.name
2011
- ) : null;
2012
- }
2013
- })
2014
- ),
2015
- React.createElement(
2016
- 'noscript',
2017
- null,
2018
- row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
2019
- if (ddRow.type === 'divider') {
2020
- return React.createElement(NavDropdown.Divider, { key: subIndex });
2021
- } else {
2022
- if (ddRow.url && ddRow.name) {
2023
- return ddRow.url && ddRow.name ? React.createElement(
2024
- 'a',
2025
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item' },
2026
- ddRow.name
2027
- ) : null;
2028
- } else return null;
2029
- }
2030
- })
2031
- )
2032
- ) : null;
2033
- } else {
2034
- return row.url && row.name ? React.createElement(
2035
- 'a',
2036
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
2037
- row.name
2038
- ) : null;
2039
- }
2040
- })
2041
- ),
2042
- React.createElement(Search, { device: 'mobile' })
2043
- ),
2044
- website && React.createElement(
2045
- Navbar.Collapse,
2046
- { id: 'basic-navbar-sub' },
2047
- React.createElement(
2048
- Nav,
2049
- { className: 'mr-auto' },
2050
- socialFooterNav ? React.createElement(SocialNavFooter, { website: website, showLogo: true }) : React.createElement(NavFooter$1, { website: website, showLogo: true })
2051
- )
2052
- )
2053
- )
2054
- )
2055
- ),
2056
- React.createElement(
2057
- 'noscript',
2058
- null,
2059
- React.createElement(
2060
- 'style',
2061
- { jsx: 'true' },
2062
- '\n .navbar .collapse {\n display: block;\n }\n '
2063
- )
2064
- ),
2065
- React.createElement(
2066
- 'style',
2067
- { jsx: 'true' },
2068
- '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n .nav-item svg {\n margin-bottom: 2px;\n }\n #nav-login,\n #nav-logout,\n #nav-register {\n padding: 0.5rem;\n cursor: pointer;\n }\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: none;\n }\n #nav-mobile-logout,\n #nav-mobile-login {\n position: absolute;\n right: 1rem;\n }\n #nav-mobile-register {\n position: absolute;\n left: 1rem;\n }\n @media screen and (max-width: 376px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px;\n }\n }\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n @media screen and (max-width: 1199px) {\n .nav-open {\n position: relative;\n }\n\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n\n .android-nav {\n max-height: 80vh;\n }\n\n .ios-nav {\n max-height: none;\n }\n\n .navbar.bg-primary {\n overflow: auto;\n }\n\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-xl .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 10px;\n border-bottom: 0.5px solid white;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n padding-top: 10px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 1200px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n }\n @media screen and (max-width: 1199px) {\n #nav-mobile-login,\n #nav-mobile-logout,\n #nav-mobile-register {\n display: block;\n }\n .navbar-top {\n flex-direction: row;\n justify-content: space-around !important;\n align-items: center;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n width: 100%;\n }\n }\n '
2069
- )
2070
- );
2071
- };
2072
-
2073
- var AD728x90 = function AD728x90(_ref) {
2074
- var networkID = _ref.networkID,
2075
- adUnit = _ref.adUnit,
2076
- slotId = _ref.slotId,
2077
- _ref$targeting = _ref.targeting,
2078
- targeting = _ref$targeting === undefined ? {} : _ref$targeting,
2079
- _ref$pos = _ref.pos,
2080
- pos = _ref$pos === undefined ? 'top' : _ref$pos,
2081
- _ref$fixedPos = _ref.fixedPos,
2082
- fixedPos = _ref$fixedPos === undefined ? '60px' : _ref$fixedPos;
2083
-
2084
- var mobileView = false;
2085
- if (main_36) {
2086
- pos = 'top-mobile';
2087
- mobileView = true;
2088
- }
2089
-
2090
- var adTargeting = {
2091
- content_placement: targeting.content_placement,
2092
- tags: targeting.tags,
2093
- document_group: targeting.document_group,
2094
- document_url: targeting.document_url,
2095
- pos: pos,
2096
- campaign_id: targeting.campaign_id,
2097
- issue_url: targeting.issue_url,
2098
- publication_url: targeting.publication_url
2099
- };
2100
-
2101
- var adRef = useRef(null);
2102
-
2103
- useEffect(function () {
2104
- if (window && window.innerWidth && window.innerWidth < 768) {
2105
- var navbar = document.querySelector('.navbar');
2106
- var AdOffsetTop = adRef.current.getBoundingClientRect().top;
2107
- window.addEventListener('scroll', function () {
2108
- if (window.pageYOffset + (AdOffsetTop - navbar.offsetHeight) > AdOffsetTop) {
2109
- if (adRef.current && adRef.current.style) {
2110
- adRef.current.style.position = 'fixed';
2111
- adRef.current.style.top = fixedPos;
2112
- adRef.current.style.left = '0px';
2113
- adRef.current.style.zIndex = '9999';
2114
- adRef.current.style.width = '100%';
2115
- adRef.current.style.marginTop = '2px';
2116
- }
2117
- } else {
2118
- if (adRef.current && adRef.current.style) {
2119
- adRef.current.style.position = 'relative';
2120
- adRef.current.style.top = '';
2121
- }
2122
- }
2123
- });
2124
- }
2125
- }, []);
2126
-
2127
- var browserSizes = [[728, 90], [970, 90], [320, 50], [300, 50]];
2128
- var mobileSizes = [[320, 50], [300, 50]];
2129
-
2130
- return React.createElement(
2131
- 'div',
2132
- { className: 'leaderboard-ad-wrapper', ref: adRef, style: { backgroundColor: '#fff' } },
2133
- React.createElement(DFPAdSlot, {
2134
- slotId: slotId,
2135
- networkID: networkID,
2136
- adUnit: adUnit,
2137
- targeting: adTargeting,
2138
- className: 'AD728x90',
2139
- sizes: mobileView ? mobileSizes : browserSizes,
2140
- sizeMapping: [{
2141
- viewport: [768, 1],
2142
- sizes: [[728, 90], [970, 90]]
2143
- }, {
2144
- viewport: [1, 1],
2145
- sizes: [[320, 50], [300, 50]]
2146
- }]
2147
- })
2148
- );
2149
- };
2150
-
2151
- // Main
2152
- var TemplateNormal = function TemplateNormal(props) {
2153
- var config = props.config,
2154
- title = props.title,
2155
- keywords = props.keywords,
2156
- description = props.description,
2157
- website = props.website,
2158
- horizontalAD = props.config.horizontalAD,
2159
- showFilter = props.showFilter,
2160
- filterParams = props.filterParams,
2161
- filters = props.filters,
2162
- defaultFilter = props.defaultFilter,
2163
- showRightAd = props.showRightAd,
2164
- sponsoredFlag = props.sponsoredFlag,
2165
- _props$noTitle = props.noTitle,
2166
- noTitle = _props$noTitle === undefined ? false : _props$noTitle;
2167
-
2168
- var router = useRouter();
2169
-
2170
- var _useState = useState(0),
2171
- _useState2 = _slicedToArray(_useState, 2),
2172
- currentPage = _useState2[0],
2173
- setCurrentPage = _useState2[1];
2174
-
2175
- useEffect(function () {
2176
- router.asPath && router.asPath.split('?').forEach(function (item) {
2177
- if (item.includes('page=')) {
2178
- setCurrentPage(item.split('=')[1]);
2179
- } else {
2180
- setCurrentPage(0);
2181
- }
2182
- });
2183
- }, [router]);
2184
- var navigation = function navigation() {
2185
- switch (config.navComponent) {
2186
- case 'normal':
2187
- return React.createElement(NavNormal, { logo: website.logo, dataObject: config.navItems });
2188
- case 'magazine':
2189
- return React.createElement(MagazineNav, { logo: website.logo, mobileLogo: website.mobileLogo, dataObject: config.navItems, subNav: config.leftItems, website: website });
2190
- case 'native':
2191
- return React.createElement(NavNative, { logo: website.logo, dataObject: config.navItems, subNav: config.leftItems, website: website });
2192
- case 'dvm':
2193
- return React.createElement(NavDvm, { logo: website.logo, dataObject: config.navItems, mobileLogo: website.logo, subNav: config.leftItems, website: website });
2194
- case 'hamburgerNav':
2195
- return React.createElement(HamMagazine, {
2196
- socialFooterNav: true,
2197
- logo: website.logo,
2198
- dataObject: config.navItems,
2199
- mobileLogo: website.logo,
2200
- subNav: config.leftItems,
2201
- website: website.siteSettingCache,
2202
- showLogin: website.showLogin
2203
- });
2204
- default:
2205
- return React.createElement('noNav', null);
2206
- }
2207
- };
2208
-
2209
- var adTargeting = { desktop: {}, mobile: {} };
2210
- if (horizontalAD.targeting) {
2211
- adTargeting = horizontalAD.targeting;
2212
- }
2213
- if (website.sponsoredAd) {
2214
- website.sponsoredAd['targeting'] = adTargeting;
2215
- }
2216
- function layout() {
2217
- switch (config.columns) {
2218
- case '1':
2219
- return React.createElement(
2220
- Column1,
2221
- { title: title },
2222
- props.children
2223
- );
2224
- case '2':
2225
- return React.createElement(
2226
- Column2,
2227
- { title: title, rightItems: config.rightItems, website: website },
2228
- props.children
2229
- );
2230
- case '3':
2231
- return React.createElement(
2232
- Column3,
2233
- {
2234
- title: title,
2235
- leftItems: config.leftItems,
2236
- rightItems: config.rightItems,
2237
- website: website,
2238
- showFilter: showFilter,
2239
- getParams: filterParams,
2240
- filters: filters,
2241
- defaultFilter: defaultFilter,
2242
- showRightAd: showRightAd,
2243
- logo: website.brandLogo },
2244
- props.children
2245
- );
2246
- default:
2247
- return React.createElement('noLayout', null);
2248
- }
2249
- }
2250
-
2251
- return React.createElement(
2252
- 'section',
2253
- null,
2254
- noTitle ? React.createElement(Header$1, {
2255
- isLiveSite: config.isLiveSite,
2256
- keyword: keywords,
2257
- description: description + ('' + (router && router.query && router.query.page ? '| Page ' + router.query.page : ''))
2258
- }) : React.createElement(Header$1, {
2259
- title: title ? title + ' ' + (currentPage !== 0 ? '| Page ' + currentPage + ' ' : router && router.query && router.query.page ? '| Page ' + router.query.page + ' ' : '') + '| ' + website.title : website.title + ' ' + (currentPage !== 0 ? '| Page ' + currentPage + ' ' : router && router.query && router.query.page ? '| Page ' + router.query.page + ' ' : ''),
2260
- isLiveSite: config.isLiveSite,
2261
- keyword: keywords,
2262
- description: description + ('' + (router && router.query && router.query.page ? '| Page ' + router.query.page : ''))
2263
- }),
2264
- navigation(),
2265
- sponsoredFlag ? React.createElement('div', { style: { height: '50px' } }) : React.createElement(
2266
- React.Fragment,
2267
- null,
2268
- horizontalAD && horizontalAD.networkID && horizontalAD.adUnit && React.createElement(
2269
- Container,
2270
- null,
2271
- React.createElement(AD728x90, { networkID: horizontalAD.networkID, adUnit: horizontalAD.adUnit, targeting: adTargeting })
2272
- )
2273
- ),
2274
- React.createElement(
2275
- Container,
2276
- null,
2277
- layout()
2278
- )
2279
- );
2280
- };
2281
-
2282
- export { AD728x90 as A, Column1 as C, Header$1 as H, LeftNav$1 as L, MdPictureAsPdf as M, NavNative as N, PageFilter as P, Search as S, TemplateNormal as T, Column2 as a, Column3 as b, MagazineNav as c, NavNormal as d, NavDvm as e, HamMagazine as f, ADSponsoredResources as g, SideFooter as h };