@mjhls/mjh-framework 1.0.687 → 1.0.689-segment

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/Auth.js +6 -206
  3. package/dist/cjs/DeckContent.js +1 -1
  4. package/dist/cjs/ExternalResources.js +1 -1
  5. package/dist/cjs/GridContent.js +2 -2
  6. package/dist/cjs/HamMagazine.js +32 -6
  7. package/dist/cjs/IssueLanding.js +2 -2
  8. package/dist/cjs/LeftNav.js +9 -7
  9. package/dist/cjs/MasterDeck.js +2 -2
  10. package/dist/cjs/NavDvm.js +22 -7
  11. package/dist/cjs/NavMagazine.js +16 -6
  12. package/dist/cjs/NavNative.js +33 -9
  13. package/dist/cjs/NavNormal.js +10 -7
  14. package/dist/cjs/PartnerDetailListing.js +1204 -7
  15. package/dist/cjs/QueueDeckExpanded.js +2 -2
  16. package/dist/cjs/Segment.js +5 -0
  17. package/dist/cjs/SideFooter.js +9 -7
  18. package/dist/cjs/View.js +3 -3
  19. package/dist/cjs/getRelatedArticle.js +416 -5
  20. package/dist/cjs/getSerializers.js +1 -1
  21. package/dist/cjs/index-bd6c9f56.js +211 -0
  22. package/dist/cjs/index.js +6 -7
  23. package/dist/esm/Auth.js +1 -201
  24. package/dist/esm/DeckContent.js +1 -1
  25. package/dist/esm/ExternalResources.js +1 -1
  26. package/dist/esm/GridContent.js +2 -2
  27. package/dist/esm/HamMagazine.js +32 -6
  28. package/dist/esm/IssueLanding.js +2 -2
  29. package/dist/esm/LeftNav.js +9 -7
  30. package/dist/esm/MasterDeck.js +2 -2
  31. package/dist/esm/NavDvm.js +23 -8
  32. package/dist/esm/NavMagazine.js +16 -6
  33. package/dist/esm/NavNative.js +33 -9
  34. package/dist/esm/NavNormal.js +10 -7
  35. package/dist/esm/PartnerDetailListing.js +1203 -7
  36. package/dist/esm/QueueDeckExpanded.js +2 -2
  37. package/dist/esm/Segment.js +5 -0
  38. package/dist/esm/SideFooter.js +9 -7
  39. package/dist/esm/View.js +3 -3
  40. package/dist/esm/getRelatedArticle.js +416 -5
  41. package/dist/esm/getSerializers.js +1 -1
  42. package/dist/esm/index-db3bb315.js +207 -0
  43. package/dist/esm/index.js +5 -6
  44. package/package.json +2 -2
  45. /package/dist/cjs/{ADInfeed-cf81b7aa.js → ADInfeed-3410ab3c.js} +0 -0
  46. /package/dist/cjs/{ADlgInfeed-ebc1bf56.js → ADlgInfeed-845aac15.js} +0 -0
  47. /package/dist/cjs/{index-a1090dcd.js → index-44c25825.js} +0 -0
  48. /package/dist/esm/{ADInfeed-898b9c8f.js → ADInfeed-205cb7a9.js} +0 -0
  49. /package/dist/esm/{ADlgInfeed-a747451b.js → ADlgInfeed-e538f17a.js} +0 -0
  50. /package/dist/esm/{index-a3da0503.js → index-8a757d91.js} +0 -0
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ /*!
4
+ * cookie
5
+ * Copyright(c) 2012-2014 Roman Shtylman
6
+ * Copyright(c) 2015 Douglas Christopher Wilson
7
+ * MIT Licensed
8
+ */
9
+
10
+ /**
11
+ * Module exports.
12
+ * @public
13
+ */
14
+
15
+ var parse_1 = parse;
16
+ var serialize_1 = serialize;
17
+
18
+ /**
19
+ * Module variables.
20
+ * @private
21
+ */
22
+
23
+ var decode = decodeURIComponent;
24
+ var encode = encodeURIComponent;
25
+ var pairSplitRegExp = /; */;
26
+
27
+ /**
28
+ * RegExp to match field-content in RFC 7230 sec 3.2
29
+ *
30
+ * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
31
+ * field-vchar = VCHAR / obs-text
32
+ * obs-text = %x80-FF
33
+ */
34
+
35
+ var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
36
+
37
+ /**
38
+ * Parse a cookie header.
39
+ *
40
+ * Parse the given cookie header string into an object
41
+ * The object has the various cookies as keys(names) => values
42
+ *
43
+ * @param {string} str
44
+ * @param {object} [options]
45
+ * @return {object}
46
+ * @public
47
+ */
48
+
49
+ function parse(str, options) {
50
+ if (typeof str !== 'string') {
51
+ throw new TypeError('argument str must be a string');
52
+ }
53
+
54
+ var obj = {};
55
+ var opt = options || {};
56
+ var pairs = str.split(pairSplitRegExp);
57
+ var dec = opt.decode || decode;
58
+
59
+ for (var i = 0; i < pairs.length; i++) {
60
+ var pair = pairs[i];
61
+ var eq_idx = pair.indexOf('=');
62
+
63
+ // skip things that don't look like key=value
64
+ if (eq_idx < 0) {
65
+ continue;
66
+ }
67
+
68
+ var key = pair.substr(0, eq_idx).trim();
69
+ var val = pair.substr(++eq_idx, pair.length).trim();
70
+
71
+ // quoted values
72
+ if ('"' == val[0]) {
73
+ val = val.slice(1, -1);
74
+ }
75
+
76
+ // only assign once
77
+ if (undefined == obj[key]) {
78
+ obj[key] = tryDecode(val, dec);
79
+ }
80
+ }
81
+
82
+ return obj;
83
+ }
84
+
85
+ /**
86
+ * Serialize data into a cookie header.
87
+ *
88
+ * Serialize the a name value pair into a cookie string suitable for
89
+ * http headers. An optional options object specified cookie parameters.
90
+ *
91
+ * serialize('foo', 'bar', { httpOnly: true })
92
+ * => "foo=bar; httpOnly"
93
+ *
94
+ * @param {string} name
95
+ * @param {string} val
96
+ * @param {object} [options]
97
+ * @return {string}
98
+ * @public
99
+ */
100
+
101
+ function serialize(name, val, options) {
102
+ var opt = options || {};
103
+ var enc = opt.encode || encode;
104
+
105
+ if (typeof enc !== 'function') {
106
+ throw new TypeError('option encode is invalid');
107
+ }
108
+
109
+ if (!fieldContentRegExp.test(name)) {
110
+ throw new TypeError('argument name is invalid');
111
+ }
112
+
113
+ var value = enc(val);
114
+
115
+ if (value && !fieldContentRegExp.test(value)) {
116
+ throw new TypeError('argument val is invalid');
117
+ }
118
+
119
+ var str = name + '=' + value;
120
+
121
+ if (null != opt.maxAge) {
122
+ var maxAge = opt.maxAge - 0;
123
+
124
+ if (isNaN(maxAge) || !isFinite(maxAge)) {
125
+ throw new TypeError('option maxAge is invalid')
126
+ }
127
+
128
+ str += '; Max-Age=' + Math.floor(maxAge);
129
+ }
130
+
131
+ if (opt.domain) {
132
+ if (!fieldContentRegExp.test(opt.domain)) {
133
+ throw new TypeError('option domain is invalid');
134
+ }
135
+
136
+ str += '; Domain=' + opt.domain;
137
+ }
138
+
139
+ if (opt.path) {
140
+ if (!fieldContentRegExp.test(opt.path)) {
141
+ throw new TypeError('option path is invalid');
142
+ }
143
+
144
+ str += '; Path=' + opt.path;
145
+ }
146
+
147
+ if (opt.expires) {
148
+ if (typeof opt.expires.toUTCString !== 'function') {
149
+ throw new TypeError('option expires is invalid');
150
+ }
151
+
152
+ str += '; Expires=' + opt.expires.toUTCString();
153
+ }
154
+
155
+ if (opt.httpOnly) {
156
+ str += '; HttpOnly';
157
+ }
158
+
159
+ if (opt.secure) {
160
+ str += '; Secure';
161
+ }
162
+
163
+ if (opt.sameSite) {
164
+ var sameSite = typeof opt.sameSite === 'string'
165
+ ? opt.sameSite.toLowerCase() : opt.sameSite;
166
+
167
+ switch (sameSite) {
168
+ case true:
169
+ str += '; SameSite=Strict';
170
+ break;
171
+ case 'lax':
172
+ str += '; SameSite=Lax';
173
+ break;
174
+ case 'strict':
175
+ str += '; SameSite=Strict';
176
+ break;
177
+ case 'none':
178
+ str += '; SameSite=None';
179
+ break;
180
+ default:
181
+ throw new TypeError('option sameSite is invalid');
182
+ }
183
+ }
184
+
185
+ return str;
186
+ }
187
+
188
+ /**
189
+ * Try decoding a string using a decoding function.
190
+ *
191
+ * @param {string} str
192
+ * @param {function} decode
193
+ * @private
194
+ */
195
+
196
+ function tryDecode(str, decode) {
197
+ try {
198
+ return decode(str);
199
+ } catch (e) {
200
+ return str;
201
+ }
202
+ }
203
+
204
+ var cookie = {
205
+ parse: parse_1,
206
+ serialize: serialize_1
207
+ };
208
+
209
+ exports.cookie = cookie;
210
+ exports.parse_1 = parse_1;
211
+ exports.serialize_1 = serialize_1;
package/dist/cjs/index.js CHANGED
@@ -42,10 +42,10 @@ require('./_set-species-f92c67c5.js');
42
42
  var Segment = require('./Segment.js');
43
43
  var Beam = require('./Beam.js');
44
44
  var AdSlot = require('./AdSlot.js');
45
- require('./ADInfeed-cf81b7aa.js');
45
+ require('./ADInfeed-3410ab3c.js');
46
46
  var DeckContent = require('./DeckContent.js');
47
47
  require('./lodash-fc2922d0.js');
48
- require('./ADlgInfeed-ebc1bf56.js');
48
+ require('./ADlgInfeed-845aac15.js');
49
49
  require('./getContentCategory-f38a4c00.js');
50
50
  require('./get-68c52cb1.js');
51
51
  var AD = require('./AD.js');
@@ -83,7 +83,7 @@ require('react-bootstrap/Form');
83
83
  require('./index-5be2866f.js');
84
84
  require('./js.cookie-a511c430.js');
85
85
  var CMEDeck = require('./CMEDeck.js');
86
- var getSerializers = require('./index-a1090dcd.js');
86
+ var getSerializers = require('./index-44c25825.js');
87
87
  require('./util-f2c1b65b.js');
88
88
  require('./brightcove-react-player-loader.es-156bd4d6.js');
89
89
  require('react-bootstrap/Pagination');
@@ -161,9 +161,9 @@ var ConferenceArticleCard = require('./ConferenceArticleCard.js');
161
161
  var KMTracker = require('./KMTracker.js');
162
162
  var getSeriesDetail = require('./getSeriesDetail.js');
163
163
  var SetCookie = require('./SetCookie.js');
164
- require('nookies');
165
- var getQuery = require('./getQuery.js');
164
+ require('./index-bd6c9f56.js');
166
165
  var getRelatedArticle = require('./getRelatedArticle.js');
166
+ var getQuery = require('./getQuery.js');
167
167
  var Auth = require('./Auth.js');
168
168
  require('swr');
169
169
  require('passport-local');
@@ -173,7 +173,6 @@ var View = require('./View.js');
173
173
  var getKeywords = require('./getKeywords.js');
174
174
  var urlFor = require('./urlFor.js');
175
175
  require('./style-inject.es-dcee06b6.js');
176
- require('react-twitter-embed');
177
176
  var PartnerDetailListing = require('./PartnerDetailListing.js');
178
177
 
179
178
 
@@ -255,8 +254,8 @@ exports.ConferenceArticleCard = ConferenceArticleCard;
255
254
  exports.KMTracker = KMTracker;
256
255
  exports.getSeriesDetail = getSeriesDetail;
257
256
  exports.SetCookie = SetCookie;
258
- exports.getQuery = getQuery;
259
257
  exports.getRelatedArticle = getRelatedArticle;
258
+ exports.getQuery = getQuery;
260
259
  exports.Auth = Auth.default;
261
260
  exports.getTargeting = getTargeting.getTargeting;
262
261
  exports.View = View;
package/dist/esm/Auth.js CHANGED
@@ -15,6 +15,7 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-7c6
15
15
  import './_set-species-cede29f8.js';
16
16
  import { Col, Form, Button, Spinner } from 'react-bootstrap';
17
17
  import { u as util } from './util-7700fc59.js';
18
+ import { s as serialize_1, p as parse_1 } from './index-db3bb315.js';
18
19
  import useSWR from 'swr';
19
20
  import Local from 'passport-local';
20
21
  import mysql from 'mysql';
@@ -1202,207 +1203,6 @@ var SignupForm$1 = function SignupForm(props) {
1202
1203
  );
1203
1204
  };
1204
1205
 
1205
- /*!
1206
- * cookie
1207
- * Copyright(c) 2012-2014 Roman Shtylman
1208
- * Copyright(c) 2015 Douglas Christopher Wilson
1209
- * MIT Licensed
1210
- */
1211
-
1212
- /**
1213
- * Module exports.
1214
- * @public
1215
- */
1216
-
1217
- var parse_1 = parse;
1218
- var serialize_1 = serialize;
1219
-
1220
- /**
1221
- * Module variables.
1222
- * @private
1223
- */
1224
-
1225
- var decode = decodeURIComponent;
1226
- var encode = encodeURIComponent;
1227
- var pairSplitRegExp = /; */;
1228
-
1229
- /**
1230
- * RegExp to match field-content in RFC 7230 sec 3.2
1231
- *
1232
- * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
1233
- * field-vchar = VCHAR / obs-text
1234
- * obs-text = %x80-FF
1235
- */
1236
-
1237
- var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
1238
-
1239
- /**
1240
- * Parse a cookie header.
1241
- *
1242
- * Parse the given cookie header string into an object
1243
- * The object has the various cookies as keys(names) => values
1244
- *
1245
- * @param {string} str
1246
- * @param {object} [options]
1247
- * @return {object}
1248
- * @public
1249
- */
1250
-
1251
- function parse(str, options) {
1252
- if (typeof str !== 'string') {
1253
- throw new TypeError('argument str must be a string');
1254
- }
1255
-
1256
- var obj = {};
1257
- var opt = options || {};
1258
- var pairs = str.split(pairSplitRegExp);
1259
- var dec = opt.decode || decode;
1260
-
1261
- for (var i = 0; i < pairs.length; i++) {
1262
- var pair = pairs[i];
1263
- var eq_idx = pair.indexOf('=');
1264
-
1265
- // skip things that don't look like key=value
1266
- if (eq_idx < 0) {
1267
- continue;
1268
- }
1269
-
1270
- var key = pair.substr(0, eq_idx).trim();
1271
- var val = pair.substr(++eq_idx, pair.length).trim();
1272
-
1273
- // quoted values
1274
- if ('"' == val[0]) {
1275
- val = val.slice(1, -1);
1276
- }
1277
-
1278
- // only assign once
1279
- if (undefined == obj[key]) {
1280
- obj[key] = tryDecode(val, dec);
1281
- }
1282
- }
1283
-
1284
- return obj;
1285
- }
1286
-
1287
- /**
1288
- * Serialize data into a cookie header.
1289
- *
1290
- * Serialize the a name value pair into a cookie string suitable for
1291
- * http headers. An optional options object specified cookie parameters.
1292
- *
1293
- * serialize('foo', 'bar', { httpOnly: true })
1294
- * => "foo=bar; httpOnly"
1295
- *
1296
- * @param {string} name
1297
- * @param {string} val
1298
- * @param {object} [options]
1299
- * @return {string}
1300
- * @public
1301
- */
1302
-
1303
- function serialize(name, val, options) {
1304
- var opt = options || {};
1305
- var enc = opt.encode || encode;
1306
-
1307
- if (typeof enc !== 'function') {
1308
- throw new TypeError('option encode is invalid');
1309
- }
1310
-
1311
- if (!fieldContentRegExp.test(name)) {
1312
- throw new TypeError('argument name is invalid');
1313
- }
1314
-
1315
- var value = enc(val);
1316
-
1317
- if (value && !fieldContentRegExp.test(value)) {
1318
- throw new TypeError('argument val is invalid');
1319
- }
1320
-
1321
- var str = name + '=' + value;
1322
-
1323
- if (null != opt.maxAge) {
1324
- var maxAge = opt.maxAge - 0;
1325
-
1326
- if (isNaN(maxAge) || !isFinite(maxAge)) {
1327
- throw new TypeError('option maxAge is invalid')
1328
- }
1329
-
1330
- str += '; Max-Age=' + Math.floor(maxAge);
1331
- }
1332
-
1333
- if (opt.domain) {
1334
- if (!fieldContentRegExp.test(opt.domain)) {
1335
- throw new TypeError('option domain is invalid');
1336
- }
1337
-
1338
- str += '; Domain=' + opt.domain;
1339
- }
1340
-
1341
- if (opt.path) {
1342
- if (!fieldContentRegExp.test(opt.path)) {
1343
- throw new TypeError('option path is invalid');
1344
- }
1345
-
1346
- str += '; Path=' + opt.path;
1347
- }
1348
-
1349
- if (opt.expires) {
1350
- if (typeof opt.expires.toUTCString !== 'function') {
1351
- throw new TypeError('option expires is invalid');
1352
- }
1353
-
1354
- str += '; Expires=' + opt.expires.toUTCString();
1355
- }
1356
-
1357
- if (opt.httpOnly) {
1358
- str += '; HttpOnly';
1359
- }
1360
-
1361
- if (opt.secure) {
1362
- str += '; Secure';
1363
- }
1364
-
1365
- if (opt.sameSite) {
1366
- var sameSite = typeof opt.sameSite === 'string'
1367
- ? opt.sameSite.toLowerCase() : opt.sameSite;
1368
-
1369
- switch (sameSite) {
1370
- case true:
1371
- str += '; SameSite=Strict';
1372
- break;
1373
- case 'lax':
1374
- str += '; SameSite=Lax';
1375
- break;
1376
- case 'strict':
1377
- str += '; SameSite=Strict';
1378
- break;
1379
- case 'none':
1380
- str += '; SameSite=None';
1381
- break;
1382
- default:
1383
- throw new TypeError('option sameSite is invalid');
1384
- }
1385
- }
1386
-
1387
- return str;
1388
- }
1389
-
1390
- /**
1391
- * Try decoding a string using a decoding function.
1392
- *
1393
- * @param {string} str
1394
- * @param {function} decode
1395
- * @private
1396
- */
1397
-
1398
- function tryDecode(str, decode) {
1399
- try {
1400
- return decode(str);
1401
- } catch (e) {
1402
- return str;
1403
- }
1404
- }
1405
-
1406
1206
  var TOKEN_NAME = 'token';
1407
1207
  var MAX_AGE = 60 * 60 * 8; // 8 hours
1408
1208
 
@@ -38,7 +38,7 @@ import './_set-species-cede29f8.js';
38
38
  import './Segment.js';
39
39
  import './Beam.js';
40
40
  import './AdSlot.js';
41
- import { A as ADInfeed } from './ADInfeed-898b9c8f.js';
41
+ import { A as ADInfeed } from './ADInfeed-205cb7a9.js';
42
42
 
43
43
  var DeckContent = function (_React$Component) {
44
44
  _inherits(DeckContent, _React$Component);
@@ -40,7 +40,7 @@ import './GroupDeck.js';
40
40
  import 'react-bootstrap';
41
41
  import Button from 'react-bootstrap/Button';
42
42
  import { m as momentTimezone } from './index-d2f90501.js';
43
- import { g as getSerializers } from './index-a3da0503.js';
43
+ import { g as getSerializers } from './index-8a757d91.js';
44
44
  import './util-7700fc59.js';
45
45
  import './brightcove-react-player-loader.es-83f53e4e.js';
46
46
  import 'react-bootstrap/Pagination';
@@ -38,9 +38,9 @@ import './_set-species-cede29f8.js';
38
38
  import './Segment.js';
39
39
  import './Beam.js';
40
40
  import './AdSlot.js';
41
- import { A as ADInfeed } from './ADInfeed-898b9c8f.js';
41
+ import { A as ADInfeed } from './ADInfeed-205cb7a9.js';
42
42
  import { l as lodash } from './lodash-17fdfebb.js';
43
- import { A as ADlgInfeed } from './ADlgInfeed-a747451b.js';
43
+ import { A as ADlgInfeed } from './ADlgInfeed-e538f17a.js';
44
44
  import { g as getContentCategory } from './getContentCategory-15dcc413.js';
45
45
  import { g as get_1 } from './get-5ee14cda.js';
46
46
  import './AD.js';
@@ -106,6 +106,16 @@ var HamMagazine = function HamMagazine(props) {
106
106
 
107
107
  // Initial screenwidth setup on refresh or on load
108
108
  setScreenWidth(parseInt(window.innerWidth));
109
+
110
+ setTimeout(function () {
111
+ var segmentLinks = navRef.current.querySelectorAll('a[needsegmentsupport="true"]');
112
+ for (var i = 0; i < segmentLinks.length; i++) {
113
+ var link = segmentLinks[i];
114
+ var href = link.getAttribute('href');
115
+ var newRef = Segment.getURL(href, { needSegmentSupport: true });
116
+ link.setAttribute('href', newRef);
117
+ }
118
+ }, 1000);
109
119
  }, []);
110
120
 
111
121
  // Check for browser resize
@@ -395,7 +405,8 @@ var HamMagazine = function HamMagazine(props) {
395
405
  'a',
396
406
  {
397
407
  key: subIndex,
398
- href: Segment.getURL(ddRow.url, ddRow),
408
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
409
+ href: ddRow.url,
399
410
  target: ddRow.blank ? '_blank' : '_self',
400
411
  rel: 'noopener noreferrer',
401
412
  className: 'dropdown-item' },
@@ -417,7 +428,8 @@ var HamMagazine = function HamMagazine(props) {
417
428
  'a',
418
429
  {
419
430
  key: subIndex,
420
- href: Segment.getURL(ddRow.url, ddRow),
431
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
432
+ href: ddRow.url,
421
433
  target: ddRow.blank ? '_blank' : '_self',
422
434
  rel: 'noopener noreferrer',
423
435
  className: 'dropdown-item' },
@@ -431,7 +443,13 @@ var HamMagazine = function HamMagazine(props) {
431
443
  } else {
432
444
  return row.url && row.name ? React__default.createElement(
433
445
  'a',
434
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
446
+ { key: index,
447
+ needsegmentsupport: row.needSegmentSupport ? 'true' : '',
448
+ href: row.url,
449
+ target: row.blank ? '_blank' : '_self',
450
+ rel: 'noopener noreferrer',
451
+ className: 'nav-link'
452
+ },
435
453
  row.name
436
454
  ) : null;
437
455
  }
@@ -469,7 +487,8 @@ var HamMagazine = function HamMagazine(props) {
469
487
  'a',
470
488
  {
471
489
  key: subIndex,
472
- href: Segment.getURL(ddRow.url, ddRow),
490
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
491
+ href: ddRow.url,
473
492
  target: ddRow.blank ? '_blank' : '_self',
474
493
  rel: 'noopener noreferrer',
475
494
  className: 'dropdown-item nav-link' },
@@ -490,7 +509,8 @@ var HamMagazine = function HamMagazine(props) {
490
509
  'a',
491
510
  {
492
511
  key: subIndex,
493
- href: Segment.getURL(ddRow.url, ddRow),
512
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
513
+ href: ddRow.url,
494
514
  target: ddRow.blank ? '_blank' : '_self',
495
515
  rel: 'noopener noreferrer',
496
516
  className: 'dropdown-item' },
@@ -504,7 +524,13 @@ var HamMagazine = function HamMagazine(props) {
504
524
  } else {
505
525
  return row.url && row.name ? React__default.createElement(
506
526
  'a',
507
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
527
+ { key: index,
528
+ needsegmentsupport: row.needSegmentSupport ? 'true' : '',
529
+ href: row.url,
530
+ target: row.blank ? '_blank' : '_self',
531
+ rel: 'noopener noreferrer',
532
+ className: 'nav-link'
533
+ },
508
534
  row.name
509
535
  ) : null;
510
536
  }
@@ -30,9 +30,9 @@ import './_set-species-cede29f8.js';
30
30
  import './Segment.js';
31
31
  import './Beam.js';
32
32
  import './AdSlot.js';
33
- import './ADInfeed-898b9c8f.js';
33
+ import './ADInfeed-205cb7a9.js';
34
34
  import './lodash-17fdfebb.js';
35
- import './ADlgInfeed-a747451b.js';
35
+ import './ADlgInfeed-e538f17a.js';
36
36
  import './getContentCategory-15dcc413.js';
37
37
  import './AuthorComponent-00f13201.js';
38
38
  import 'react-bootstrap';
@@ -50,13 +50,15 @@ var LeftNav = function LeftNav(props) {
50
50
 
51
51
  var leftNavRef = useRef(null);
52
52
  useEffect(function () {
53
- var segmentLinks = leftNavRef.current.querySelectorAll('a[needsegmentsupport="true"]');
54
- for (var i = 0; i < segmentLinks.length; i++) {
55
- var link = segmentLinks[i];
56
- var href = link.getAttribute('href');
57
- var newHref = Segment.getURL(href, { needSegmentSupport: true });
58
- link.setAttribute('href', newHref);
59
- }
53
+ setTimeout(function () {
54
+ var segmentLinks = leftNavRef.current.querySelectorAll('a[needsegmentsupport="true"]');
55
+ for (var i = 0; i < segmentLinks.length; i++) {
56
+ var link = segmentLinks[i];
57
+ var href = link.getAttribute('href');
58
+ var newHref = Segment.getURL(href, { needSegmentSupport: true });
59
+ link.setAttribute('href', newHref);
60
+ }
61
+ }, 1000);
60
62
  }, []);
61
63
 
62
64
  var renderListGroupItem = function renderListGroupItem(subRow) {
@@ -36,9 +36,9 @@ import './_set-species-cede29f8.js';
36
36
  import './Segment.js';
37
37
  import './Beam.js';
38
38
  import './AdSlot.js';
39
- import { A as ADInfeed } from './ADInfeed-898b9c8f.js';
39
+ import { A as ADInfeed } from './ADInfeed-205cb7a9.js';
40
40
  import { l as lodash } from './lodash-17fdfebb.js';
41
- import { A as ADlgInfeed } from './ADlgInfeed-a747451b.js';
41
+ import { A as ADlgInfeed } from './ADlgInfeed-e538f17a.js';
42
42
 
43
43
  var MasterDeck = function (_React$Component) {
44
44
  _inherits(MasterDeck, _React$Component);