@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
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.687
2
+ # mjh-framework v. 1.0.689-segment
3
3
 
4
4
  > Foundation Framework
5
5
 
package/dist/cjs/Auth.js CHANGED
@@ -23,6 +23,7 @@ var asyncToGenerator = require('./asyncToGenerator-533d476a.js');
23
23
  require('./_set-species-f92c67c5.js');
24
24
  var reactBootstrap = require('react-bootstrap');
25
25
  var util = require('./util-f2c1b65b.js');
26
+ var index$4 = require('./index-bd6c9f56.js');
26
27
  var useSWR = _interopDefault(require('swr'));
27
28
  var Local = _interopDefault(require('passport-local'));
28
29
  var mysql = _interopDefault(require('mysql'));
@@ -1210,213 +1211,12 @@ var SignupForm$1 = function SignupForm(props) {
1210
1211
  );
1211
1212
  };
1212
1213
 
1213
- /*!
1214
- * cookie
1215
- * Copyright(c) 2012-2014 Roman Shtylman
1216
- * Copyright(c) 2015 Douglas Christopher Wilson
1217
- * MIT Licensed
1218
- */
1219
-
1220
- /**
1221
- * Module exports.
1222
- * @public
1223
- */
1224
-
1225
- var parse_1 = parse;
1226
- var serialize_1 = serialize;
1227
-
1228
- /**
1229
- * Module variables.
1230
- * @private
1231
- */
1232
-
1233
- var decode = decodeURIComponent;
1234
- var encode = encodeURIComponent;
1235
- var pairSplitRegExp = /; */;
1236
-
1237
- /**
1238
- * RegExp to match field-content in RFC 7230 sec 3.2
1239
- *
1240
- * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
1241
- * field-vchar = VCHAR / obs-text
1242
- * obs-text = %x80-FF
1243
- */
1244
-
1245
- var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
1246
-
1247
- /**
1248
- * Parse a cookie header.
1249
- *
1250
- * Parse the given cookie header string into an object
1251
- * The object has the various cookies as keys(names) => values
1252
- *
1253
- * @param {string} str
1254
- * @param {object} [options]
1255
- * @return {object}
1256
- * @public
1257
- */
1258
-
1259
- function parse(str, options) {
1260
- if (typeof str !== 'string') {
1261
- throw new TypeError('argument str must be a string');
1262
- }
1263
-
1264
- var obj = {};
1265
- var opt = options || {};
1266
- var pairs = str.split(pairSplitRegExp);
1267
- var dec = opt.decode || decode;
1268
-
1269
- for (var i = 0; i < pairs.length; i++) {
1270
- var pair = pairs[i];
1271
- var eq_idx = pair.indexOf('=');
1272
-
1273
- // skip things that don't look like key=value
1274
- if (eq_idx < 0) {
1275
- continue;
1276
- }
1277
-
1278
- var key = pair.substr(0, eq_idx).trim();
1279
- var val = pair.substr(++eq_idx, pair.length).trim();
1280
-
1281
- // quoted values
1282
- if ('"' == val[0]) {
1283
- val = val.slice(1, -1);
1284
- }
1285
-
1286
- // only assign once
1287
- if (undefined == obj[key]) {
1288
- obj[key] = tryDecode(val, dec);
1289
- }
1290
- }
1291
-
1292
- return obj;
1293
- }
1294
-
1295
- /**
1296
- * Serialize data into a cookie header.
1297
- *
1298
- * Serialize the a name value pair into a cookie string suitable for
1299
- * http headers. An optional options object specified cookie parameters.
1300
- *
1301
- * serialize('foo', 'bar', { httpOnly: true })
1302
- * => "foo=bar; httpOnly"
1303
- *
1304
- * @param {string} name
1305
- * @param {string} val
1306
- * @param {object} [options]
1307
- * @return {string}
1308
- * @public
1309
- */
1310
-
1311
- function serialize(name, val, options) {
1312
- var opt = options || {};
1313
- var enc = opt.encode || encode;
1314
-
1315
- if (typeof enc !== 'function') {
1316
- throw new TypeError('option encode is invalid');
1317
- }
1318
-
1319
- if (!fieldContentRegExp.test(name)) {
1320
- throw new TypeError('argument name is invalid');
1321
- }
1322
-
1323
- var value = enc(val);
1324
-
1325
- if (value && !fieldContentRegExp.test(value)) {
1326
- throw new TypeError('argument val is invalid');
1327
- }
1328
-
1329
- var str = name + '=' + value;
1330
-
1331
- if (null != opt.maxAge) {
1332
- var maxAge = opt.maxAge - 0;
1333
-
1334
- if (isNaN(maxAge) || !isFinite(maxAge)) {
1335
- throw new TypeError('option maxAge is invalid')
1336
- }
1337
-
1338
- str += '; Max-Age=' + Math.floor(maxAge);
1339
- }
1340
-
1341
- if (opt.domain) {
1342
- if (!fieldContentRegExp.test(opt.domain)) {
1343
- throw new TypeError('option domain is invalid');
1344
- }
1345
-
1346
- str += '; Domain=' + opt.domain;
1347
- }
1348
-
1349
- if (opt.path) {
1350
- if (!fieldContentRegExp.test(opt.path)) {
1351
- throw new TypeError('option path is invalid');
1352
- }
1353
-
1354
- str += '; Path=' + opt.path;
1355
- }
1356
-
1357
- if (opt.expires) {
1358
- if (typeof opt.expires.toUTCString !== 'function') {
1359
- throw new TypeError('option expires is invalid');
1360
- }
1361
-
1362
- str += '; Expires=' + opt.expires.toUTCString();
1363
- }
1364
-
1365
- if (opt.httpOnly) {
1366
- str += '; HttpOnly';
1367
- }
1368
-
1369
- if (opt.secure) {
1370
- str += '; Secure';
1371
- }
1372
-
1373
- if (opt.sameSite) {
1374
- var sameSite = typeof opt.sameSite === 'string'
1375
- ? opt.sameSite.toLowerCase() : opt.sameSite;
1376
-
1377
- switch (sameSite) {
1378
- case true:
1379
- str += '; SameSite=Strict';
1380
- break;
1381
- case 'lax':
1382
- str += '; SameSite=Lax';
1383
- break;
1384
- case 'strict':
1385
- str += '; SameSite=Strict';
1386
- break;
1387
- case 'none':
1388
- str += '; SameSite=None';
1389
- break;
1390
- default:
1391
- throw new TypeError('option sameSite is invalid');
1392
- }
1393
- }
1394
-
1395
- return str;
1396
- }
1397
-
1398
- /**
1399
- * Try decoding a string using a decoding function.
1400
- *
1401
- * @param {string} str
1402
- * @param {function} decode
1403
- * @private
1404
- */
1405
-
1406
- function tryDecode(str, decode) {
1407
- try {
1408
- return decode(str);
1409
- } catch (e) {
1410
- return str;
1411
- }
1412
- }
1413
-
1414
1214
  var TOKEN_NAME = 'token';
1415
1215
  var MAX_AGE = 60 * 60 * 8; // 8 hours
1416
1216
 
1417
1217
  function setTokenCookie(res, token, eKey) {
1418
1218
  var cookies_serailized = [];
1419
- cookies_serailized.push(serialize_1(TOKEN_NAME, token, {
1219
+ cookies_serailized.push(index$4.serialize_1(TOKEN_NAME, token, {
1420
1220
  //maxAge: MAX_AGE, // we want login cookie to expire when browser
1421
1221
  //expires: new Date(Date.now() + MAX_AGE * 1000),
1422
1222
  //httpOnly: true,
@@ -1425,7 +1225,7 @@ function setTokenCookie(res, token, eKey) {
1425
1225
  //sameSite: 'lax',
1426
1226
  }));
1427
1227
 
1428
- cookies_serailized.push(serialize_1('eKey', eKey, {
1228
+ cookies_serailized.push(index$4.serialize_1('eKey', eKey, {
1429
1229
  //maxAge: MAX_AGE, // we want login cookie to expire when browser
1430
1230
  //expires: new Date(Date.now() + MAX_AGE * 1000),
1431
1231
  //httpOnly: true,
@@ -1439,12 +1239,12 @@ function setTokenCookie(res, token, eKey) {
1439
1239
 
1440
1240
  function removeTokenCookie(res) {
1441
1241
  var cookies_serailized = [];
1442
- cookies_serailized.push(serialize_1(TOKEN_NAME, '', {
1242
+ cookies_serailized.push(index$4.serialize_1(TOKEN_NAME, '', {
1443
1243
  maxAge: -1,
1444
1244
  expires: new Date(Date.now() - MAX_AGE * 1000),
1445
1245
  path: '/'
1446
1246
  }));
1447
- cookies_serailized.push(serialize_1('eKey', '', {
1247
+ cookies_serailized.push(index$4.serialize_1('eKey', '', {
1448
1248
  maxAge: -1,
1449
1249
  expires: new Date(Date.now() - MAX_AGE * 1000),
1450
1250
  path: '/'
@@ -1459,7 +1259,7 @@ function parseCookies(req) {
1459
1259
 
1460
1260
  // For pages we do need to parse the cookies.
1461
1261
  var cookie = req.headers ? req.headers.cookie : null;
1462
- return parse_1(cookie || '');
1262
+ return index$4.parse_1(cookie || '');
1463
1263
  }
1464
1264
 
1465
1265
  function getTokenCookie(req) {
@@ -44,7 +44,7 @@ require('./_set-species-f92c67c5.js');
44
44
  require('./Segment.js');
45
45
  require('./Beam.js');
46
46
  require('./AdSlot.js');
47
- var ADInfeed = require('./ADInfeed-cf81b7aa.js');
47
+ var ADInfeed = require('./ADInfeed-3410ab3c.js');
48
48
 
49
49
  var DeckContent = function (_React$Component) {
50
50
  inherits._inherits(DeckContent, _React$Component);
@@ -46,7 +46,7 @@ require('./GroupDeck.js');
46
46
  require('react-bootstrap');
47
47
  var Button = _interopDefault(require('react-bootstrap/Button'));
48
48
  var index$3 = require('./index-5be2866f.js');
49
- var getSerializers = require('./index-a1090dcd.js');
49
+ var getSerializers = require('./index-44c25825.js');
50
50
  require('./util-f2c1b65b.js');
51
51
  require('./brightcove-react-player-loader.es-156bd4d6.js');
52
52
  require('react-bootstrap/Pagination');
@@ -44,9 +44,9 @@ require('./_set-species-f92c67c5.js');
44
44
  require('./Segment.js');
45
45
  require('./Beam.js');
46
46
  require('./AdSlot.js');
47
- var ADInfeed = require('./ADInfeed-cf81b7aa.js');
47
+ var ADInfeed = require('./ADInfeed-3410ab3c.js');
48
48
  var lodash = require('./lodash-fc2922d0.js');
49
- var ADlgInfeed = require('./ADlgInfeed-ebc1bf56.js');
49
+ var ADlgInfeed = require('./ADlgInfeed-845aac15.js');
50
50
  var getContentCategory = require('./getContentCategory-f38a4c00.js');
51
51
  var get = require('./get-68c52cb1.js');
52
52
  require('./AD.js');
@@ -113,6 +113,16 @@ var HamMagazine = function HamMagazine(props) {
113
113
 
114
114
  // Initial screenwidth setup on refresh or on load
115
115
  setScreenWidth(parseInt(window.innerWidth));
116
+
117
+ setTimeout(function () {
118
+ var segmentLinks = navRef.current.querySelectorAll('a[needsegmentsupport="true"]');
119
+ for (var i = 0; i < segmentLinks.length; i++) {
120
+ var link = segmentLinks[i];
121
+ var href = link.getAttribute('href');
122
+ var newRef = Segment.getURL(href, { needSegmentSupport: true });
123
+ link.setAttribute('href', newRef);
124
+ }
125
+ }, 1000);
116
126
  }, []);
117
127
 
118
128
  // Check for browser resize
@@ -402,7 +412,8 @@ var HamMagazine = function HamMagazine(props) {
402
412
  'a',
403
413
  {
404
414
  key: subIndex,
405
- href: Segment.getURL(ddRow.url, ddRow),
415
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
416
+ href: ddRow.url,
406
417
  target: ddRow.blank ? '_blank' : '_self',
407
418
  rel: 'noopener noreferrer',
408
419
  className: 'dropdown-item' },
@@ -424,7 +435,8 @@ var HamMagazine = function HamMagazine(props) {
424
435
  'a',
425
436
  {
426
437
  key: subIndex,
427
- href: Segment.getURL(ddRow.url, ddRow),
438
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
439
+ href: ddRow.url,
428
440
  target: ddRow.blank ? '_blank' : '_self',
429
441
  rel: 'noopener noreferrer',
430
442
  className: 'dropdown-item' },
@@ -438,7 +450,13 @@ var HamMagazine = function HamMagazine(props) {
438
450
  } else {
439
451
  return row.url && row.name ? React__default.createElement(
440
452
  'a',
441
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
453
+ { key: index,
454
+ needsegmentsupport: row.needSegmentSupport ? 'true' : '',
455
+ href: row.url,
456
+ target: row.blank ? '_blank' : '_self',
457
+ rel: 'noopener noreferrer',
458
+ className: 'nav-link'
459
+ },
442
460
  row.name
443
461
  ) : null;
444
462
  }
@@ -476,7 +494,8 @@ var HamMagazine = function HamMagazine(props) {
476
494
  'a',
477
495
  {
478
496
  key: subIndex,
479
- href: Segment.getURL(ddRow.url, ddRow),
497
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
498
+ href: ddRow.url,
480
499
  target: ddRow.blank ? '_blank' : '_self',
481
500
  rel: 'noopener noreferrer',
482
501
  className: 'dropdown-item nav-link' },
@@ -497,7 +516,8 @@ var HamMagazine = function HamMagazine(props) {
497
516
  'a',
498
517
  {
499
518
  key: subIndex,
500
- href: Segment.getURL(ddRow.url, ddRow),
519
+ needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '',
520
+ href: ddRow.url,
501
521
  target: ddRow.blank ? '_blank' : '_self',
502
522
  rel: 'noopener noreferrer',
503
523
  className: 'dropdown-item' },
@@ -511,7 +531,13 @@ var HamMagazine = function HamMagazine(props) {
511
531
  } else {
512
532
  return row.url && row.name ? React__default.createElement(
513
533
  'a',
514
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
534
+ { key: index,
535
+ needsegmentsupport: row.needSegmentSupport ? 'true' : '',
536
+ href: row.url,
537
+ target: row.blank ? '_blank' : '_self',
538
+ rel: 'noopener noreferrer',
539
+ className: 'nav-link'
540
+ },
515
541
  row.name
516
542
  ) : null;
517
543
  }
@@ -35,9 +35,9 @@ require('./_set-species-f92c67c5.js');
35
35
  require('./Segment.js');
36
36
  require('./Beam.js');
37
37
  require('./AdSlot.js');
38
- require('./ADInfeed-cf81b7aa.js');
38
+ require('./ADInfeed-3410ab3c.js');
39
39
  require('./lodash-fc2922d0.js');
40
- require('./ADlgInfeed-ebc1bf56.js');
40
+ require('./ADlgInfeed-845aac15.js');
41
41
  require('./getContentCategory-f38a4c00.js');
42
42
  require('./AuthorComponent-bb831b74.js');
43
43
  require('react-bootstrap');
@@ -57,13 +57,15 @@ var LeftNav = function LeftNav(props) {
57
57
 
58
58
  var leftNavRef = React.useRef(null);
59
59
  React.useEffect(function () {
60
- var segmentLinks = leftNavRef.current.querySelectorAll('a[needsegmentsupport="true"]');
61
- for (var i = 0; i < segmentLinks.length; i++) {
62
- var link = segmentLinks[i];
63
- var href = link.getAttribute('href');
64
- var newHref = Segment.getURL(href, { needSegmentSupport: true });
65
- link.setAttribute('href', newHref);
66
- }
60
+ setTimeout(function () {
61
+ var segmentLinks = leftNavRef.current.querySelectorAll('a[needsegmentsupport="true"]');
62
+ for (var i = 0; i < segmentLinks.length; i++) {
63
+ var link = segmentLinks[i];
64
+ var href = link.getAttribute('href');
65
+ var newHref = Segment.getURL(href, { needSegmentSupport: true });
66
+ link.setAttribute('href', newHref);
67
+ }
68
+ }, 1000);
67
69
  }, []);
68
70
 
69
71
  var renderListGroupItem = function renderListGroupItem(subRow) {
@@ -42,9 +42,9 @@ require('./_set-species-f92c67c5.js');
42
42
  require('./Segment.js');
43
43
  require('./Beam.js');
44
44
  require('./AdSlot.js');
45
- var ADInfeed = require('./ADInfeed-cf81b7aa.js');
45
+ var ADInfeed = require('./ADInfeed-3410ab3c.js');
46
46
  var lodash = require('./lodash-fc2922d0.js');
47
- var ADlgInfeed = require('./ADlgInfeed-ebc1bf56.js');
47
+ var ADlgInfeed = require('./ADlgInfeed-845aac15.js');
48
48
 
49
49
  var MasterDeck = function (_React$Component) {
50
50
  inherits._inherits(MasterDeck, _React$Component);
@@ -36,28 +36,43 @@ var NavDvm = function NavDvm(props) {
36
36
  website = _props$website === undefined ? {} : _props$website;
37
37
 
38
38
 
39
+ var sfRef = React.useRef(null);
40
+
41
+ React.useEffect(function () {
42
+ // this adds ?eKey=xxx or ?anonymousid=xxx for forms that's outside - eg) formstack forms
43
+ // for tracking same user
44
+ setTimeout(function () {
45
+ var segmentLinks = sfRef.current.querySelectorAll('a[needsegmentsupport="true"]');
46
+ for (var i = 0; i < segmentLinks.length; i++) {
47
+ var link = segmentLinks[i];
48
+ var href = link.getAttribute('href');
49
+ var newRef = Segment.getURL(href, { needSegmentSupport: true });
50
+ link.setAttribute('href', newRef);
51
+ }
52
+ }, 1000);
53
+ }, []);
54
+
39
55
  var getLink = function getLink(url, className, name, key, blank) {
40
56
  var needSegmentSupport = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
41
57
 
42
- url = Segment.getURL(url, { needSegmentSupport: needSegmentSupport });
43
58
  if (url && (url.includes('https://') || url.includes('http://'))) {
44
59
  return React__default.createElement(
45
60
  'a',
46
- { target: blank ? '_blank' : '_self', key: key, href: url || '#', className: className },
61
+ { target: blank ? '_blank' : '_self', needsegmentsupport: needSegmentSupport ? 'true' : '', key: key, href: url || '#', className: className },
47
62
  name
48
63
  );
49
64
  }
50
65
 
51
66
  return React__default.createElement(
52
67
  'a',
53
- { key: key, href: url || '#', target: blank ? '_blank' : '_self', className: className },
68
+ { key: key, href: url || '#', needsegmentsupport: needSegmentSupport ? 'true' : '', target: blank ? '_blank' : '_self', className: className },
54
69
  name
55
70
  );
56
71
  };
57
72
 
58
73
  return React__default.createElement(
59
74
  React__default.Fragment,
60
- null,
75
+ { ref: sfRef },
61
76
  React__default.createElement(
62
77
  Navbar,
63
78
  { className: 'top-nav', expand: 'xl' },
@@ -157,7 +172,7 @@ var NavDvm = function NavDvm(props) {
157
172
  if (ddRow.url && ddRow.name) {
158
173
  return ddRow.url && ddRow.name ? React__default.createElement(
159
174
  'a',
160
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
175
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
161
176
  ddRow.name
162
177
  ) : null;
163
178
  } else return null;
@@ -177,7 +192,7 @@ var NavDvm = function NavDvm(props) {
177
192
  if (ddRow.url && ddRow.name) {
178
193
  return ddRow.url && ddRow.name ? React__default.createElement(
179
194
  'a',
180
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
195
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
181
196
  ddRow.name
182
197
  ) : null;
183
198
  } else return null;
@@ -189,7 +204,7 @@ var NavDvm = function NavDvm(props) {
189
204
  } else {
190
205
  return row.url && row.name ? React__default.createElement(
191
206
  'a',
192
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
207
+ { key: index, needsegmentsupport: row.needSegmentSupport ? 'true' : '', href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
193
208
  row.name
194
209
  ) : null;
195
210
  }
@@ -115,6 +115,16 @@ var NavMagazine = function NavMagazine(props) {
115
115
 
116
116
  // Initial screenwidth setup on refresh or on load
117
117
  setScreenWidth(parseInt(window.innerWidth));
118
+
119
+ setTimeout(function () {
120
+ var segmentLinks = navRef.current.querySelectorAll('a[needsegmentsupport="true"]');
121
+ for (var i = 0; i < segmentLinks.length; i++) {
122
+ var link = segmentLinks[i];
123
+ var href = link.getAttribute('href');
124
+ var newRef = Segment.getURL(href, { needSegmentSupport: true });
125
+ link.setAttribute('href', newRef);
126
+ }
127
+ }, 1000);
118
128
  }, []);
119
129
 
120
130
  // Check for browser resize
@@ -423,7 +433,7 @@ var NavMagazine = function NavMagazine(props) {
423
433
  if (ddRow.url && ddRow.name) {
424
434
  return ddRow.url && ddRow.name ? React__default.createElement(
425
435
  'a',
426
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
436
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
427
437
  ddRow.name
428
438
  ) : null;
429
439
  } else return null;
@@ -443,7 +453,7 @@ var NavMagazine = function NavMagazine(props) {
443
453
  if (ddRow.url && ddRow.name) {
444
454
  return ddRow.url && ddRow.name ? React__default.createElement(
445
455
  'a',
446
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
456
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
447
457
  ddRow.name
448
458
  ) : null;
449
459
  } else return null;
@@ -455,7 +465,7 @@ var NavMagazine = function NavMagazine(props) {
455
465
  } else {
456
466
  return row.url && row.name ? React__default.createElement(
457
467
  'a',
458
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
468
+ { key: index, needsegmentsupport: row.needSegmentSupport ? 'true' : '', href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
459
469
  row.name
460
470
  ) : null;
461
471
  }
@@ -491,7 +501,7 @@ var NavMagazine = function NavMagazine(props) {
491
501
  } else {
492
502
  return ddRow.url && ddRow.name ? React__default.createElement(
493
503
  'a',
494
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
504
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
495
505
  ddRow.name
496
506
  ) : null;
497
507
  }
@@ -509,7 +519,7 @@ var NavMagazine = function NavMagazine(props) {
509
519
  } else {
510
520
  return ddRow.url && ddRow.name ? React__default.createElement(
511
521
  'a',
512
- { key: subIndex, href: Segment.getURL(ddRow.url, ddRow), target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
522
+ { key: subIndex, needsegmentsupport: ddRow.needSegmentSupport ? 'true' : '', href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
513
523
  ddRow.name
514
524
  ) : null;
515
525
  }
@@ -520,7 +530,7 @@ var NavMagazine = function NavMagazine(props) {
520
530
  } else {
521
531
  return row.url && row.name ? React__default.createElement(
522
532
  'a',
523
- { key: index, href: Segment.getURL(row.url, row), target: row.blank ? '_blank' : '_self', className: 'nav-link' },
533
+ { key: index, needsegmentsupport: row.needSegmentSupport ? 'true' : '', href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
524
534
  row.name
525
535
  ) : null;
526
536
  }