@mjhls/mjh-framework 1.0.966-reference-serializer-v3 → 1.0.966-test-D4S-1873

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 (165) hide show
  1. package/README.md +168 -168
  2. package/dist/cjs/AlgoliaSearch.js +13 -5
  3. package/dist/cjs/ArticleProgramLandingPage.js +2 -1
  4. package/dist/cjs/Auth.js +20 -17
  5. package/dist/cjs/AuthWrapper.js +19 -13
  6. package/dist/cjs/CMEDeck.js +5 -1
  7. package/dist/cjs/Column1.js +1 -1
  8. package/dist/cjs/Column2.js +1 -1
  9. package/dist/cjs/Column3.js +1 -1
  10. package/dist/cjs/ConferenceArticleCard.js +15 -15
  11. package/dist/cjs/DeckContent.js +8 -8
  12. package/dist/cjs/Dfp-9be904d5.js +1 -1
  13. package/dist/cjs/EventsDeck.js +17 -17
  14. package/dist/cjs/ExternalResources.js +2 -1
  15. package/dist/cjs/HamMagazine.js +10 -10
  16. package/dist/cjs/Header.js +1 -1
  17. package/dist/cjs/HealthCareProfessionalModal.js +1 -1
  18. package/dist/cjs/HorizontalArticleListing.js +2 -1
  19. package/dist/cjs/IssueLanding.js +31 -30
  20. package/dist/cjs/KMTracker.js +15 -15
  21. package/dist/cjs/LeftNav.js +1 -1
  22. package/dist/cjs/MasterDeck.js +8 -8
  23. package/dist/cjs/MasterDeckPaginated.js +8 -8
  24. package/dist/cjs/{MediaSeriesCard-1420d4f2.js → MediaSeriesCard-200d270d.js} +66 -44
  25. package/dist/cjs/MediaSeriesLanding.js +8 -7
  26. package/dist/cjs/MediaSeriesLandingPaginated.js +8 -7
  27. package/dist/cjs/NavDvm.js +1 -1
  28. package/dist/cjs/NavMagazine.js +11 -11
  29. package/dist/cjs/NavNative.js +10 -10
  30. package/dist/cjs/PartnerDetailListing.js +2 -1
  31. package/dist/cjs/PartnerDetailListingPaginated.js +2 -1
  32. package/dist/cjs/PublicationLanding.js +26 -26
  33. package/dist/cjs/RelatedContent.js +28 -28
  34. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  35. package/dist/cjs/SeriesListingDeck.js +1 -1
  36. package/dist/cjs/{SeriesSlider-74546d19.js → SeriesSlider-594b19eb.js} +4 -4
  37. package/dist/cjs/SideFooter.js +2 -2
  38. package/dist/cjs/TaxonomyDescription.js +2 -1
  39. package/dist/cjs/VideoProgramLandingPage.js +2 -1
  40. package/dist/cjs/VideoSeriesCard.js +1 -1
  41. package/dist/cjs/View.js +6 -5
  42. package/dist/cjs/YoutubeGroup.js +4 -4
  43. package/dist/cjs/getSerializers.js +2 -1
  44. package/dist/cjs/{getTargeting-dab97fe1.js → getTargeting-3c5754ac.js} +9 -9
  45. package/dist/cjs/getTargeting.js +1 -1
  46. package/dist/cjs/{index-3927ac32.js → index-6bab3b25.js} +91 -556
  47. package/dist/cjs/index.js +3 -3
  48. package/dist/cjs/ustream-api-3819e4aa.js +1 -1
  49. package/dist/esm/AD.js +1 -1
  50. package/dist/esm/AD300x250.js +1 -1
  51. package/dist/esm/AD300x250x600.js +1 -1
  52. package/dist/esm/AD728x90.js +1 -1
  53. package/dist/esm/ADFloatingFooter.js +1 -1
  54. package/dist/esm/ADFooter.js +1 -1
  55. package/dist/esm/ADGutter.js +1 -1
  56. package/dist/esm/ADSkyscraper.js +1 -1
  57. package/dist/esm/ADSponsoredResources.js +1 -1
  58. package/dist/esm/ADWebcast.js +1 -1
  59. package/dist/esm/ADWelcome.js +1 -1
  60. package/dist/esm/AccordionPanel.js +1 -1
  61. package/dist/esm/AdSlot.js +1 -1
  62. package/dist/esm/AdSlotsProvider.js +1 -1
  63. package/dist/esm/AlgoliaSearch.js +14 -6
  64. package/dist/esm/AlphabeticList.js +1 -1
  65. package/dist/esm/ArticleCarousel.js +1 -1
  66. package/dist/esm/ArticleProgramLandingPage.js +3 -2
  67. package/dist/esm/ArticleSeriesLandingPage.js +1 -1
  68. package/dist/esm/ArticleSeriesListing.js +1 -1
  69. package/dist/esm/Auth.js +20 -18
  70. package/dist/esm/AuthWrapper.js +20 -14
  71. package/dist/esm/Beam.js +1 -1
  72. package/dist/esm/Breadcrumbs.js +1 -1
  73. package/dist/esm/CMEDeck.js +6 -2
  74. package/dist/esm/Column1.js +1 -2
  75. package/dist/esm/Column2.js +1 -2
  76. package/dist/esm/Column3.js +1 -2
  77. package/dist/esm/ConferenceArticleCard.js +16 -16
  78. package/dist/esm/ContentCardPaginated.js +1 -1
  79. package/dist/esm/DeckContent.js +9 -9
  80. package/dist/esm/DeckQueue.js +1 -1
  81. package/dist/esm/DeckQueuePaginated.js +1 -1
  82. package/dist/esm/Dfp-102f0beb.js +1 -1
  83. package/dist/esm/EventsDeck.js +18 -18
  84. package/dist/esm/ExternalResources.js +3 -2
  85. package/dist/esm/Feature.js +1 -1
  86. package/dist/esm/ForbesHero.js +1 -1
  87. package/dist/esm/GridContent.js +1 -1
  88. package/dist/esm/GridContentPaginated.js +1 -1
  89. package/dist/esm/GridHero.js +1 -1
  90. package/dist/esm/GroupDeck.js +1 -1
  91. package/dist/esm/HamMagazine.js +10 -11
  92. package/dist/esm/Header.js +1 -2
  93. package/dist/esm/HealthCareProfessionalModal.js +2 -2
  94. package/dist/esm/Hero.js +1 -1
  95. package/dist/esm/HighlightenVideo.js +1 -1
  96. package/dist/esm/HorizontalArticleListing.js +3 -2
  97. package/dist/esm/HorizontalHero.js +1 -1
  98. package/dist/esm/IssueContentDeck.js +1 -1
  99. package/dist/esm/IssueDeck.js +1 -1
  100. package/dist/esm/IssueLanding.js +32 -31
  101. package/dist/esm/KMTracker.js +16 -16
  102. package/dist/esm/LeftNav.js +1 -2
  103. package/dist/esm/MasterDeck.js +9 -9
  104. package/dist/esm/MasterDeckPaginated.js +9 -9
  105. package/dist/esm/{MediaSeriesCard-ae1d3c37.js → MediaSeriesCard-0f93cf68.js} +66 -44
  106. package/dist/esm/MediaSeriesLanding.js +9 -8
  107. package/dist/esm/MediaSeriesLandingPaginated.js +9 -8
  108. package/dist/esm/NavDvm.js +1 -2
  109. package/dist/esm/NavMagazine.js +11 -12
  110. package/dist/esm/NavNative.js +10 -11
  111. package/dist/esm/OncliveHero.js +1 -1
  112. package/dist/esm/OncliveLargeHero.js +1 -1
  113. package/dist/esm/PageFilter.js +1 -1
  114. package/dist/esm/PartnerDetailListing.js +3 -2
  115. package/dist/esm/PartnerDetailListingPaginated.js +3 -2
  116. package/dist/esm/PdfDownload.js +1 -1
  117. package/dist/esm/PopUpModal.js +1 -1
  118. package/dist/esm/PubSection.js +1 -1
  119. package/dist/esm/PubToc.js +1 -1
  120. package/dist/esm/PublicationDeck.js +1 -1
  121. package/dist/esm/PublicationLanding.js +27 -27
  122. package/dist/esm/QueueDeckExpanded.js +1 -1
  123. package/dist/esm/QueueDeckExpandedPaginated.js +1 -1
  124. package/dist/esm/RecentNews.js +1 -1
  125. package/dist/esm/RelatedContent.js +29 -29
  126. package/dist/esm/RelatedTopicsDropdown.js +11 -11
  127. package/dist/esm/RolesDeck.js +1 -1
  128. package/dist/esm/Schema.js +1 -1
  129. package/dist/esm/Search.js +1 -1
  130. package/dist/esm/Segment.js +1 -1
  131. package/dist/esm/SeriesListingDeck.js +2 -2
  132. package/dist/esm/{SeriesSlider-e495571f.js → SeriesSlider-f771e20d.js} +4 -4
  133. package/dist/esm/SetCookie.js +1 -1
  134. package/dist/esm/SideFooter.js +3 -3
  135. package/dist/esm/SocialIcons.js +1 -1
  136. package/dist/esm/SocialShare.js +1 -1
  137. package/dist/esm/TaxonomyCard.js +1 -1
  138. package/dist/esm/TaxonomyDescription.js +3 -2
  139. package/dist/esm/TemplateNormal.js +1 -1
  140. package/dist/esm/ThumbnailCard.js +1 -1
  141. package/dist/esm/Ustream.js +1 -1
  142. package/dist/esm/VerticalHero.js +1 -1
  143. package/dist/esm/VideoProgramLandingPage.js +3 -2
  144. package/dist/esm/VideoSeriesCard.js +2 -2
  145. package/dist/esm/VideoSeriesFilter.js +1 -1
  146. package/dist/esm/VideoSeriesLandingPage.js +1 -1
  147. package/dist/esm/VideoSeriesListing.js +1 -1
  148. package/dist/esm/View.js +7 -6
  149. package/dist/esm/YahooHero.js +1 -1
  150. package/dist/esm/YoutubeGroup.js +5 -5
  151. package/dist/esm/getKeywords.js +1 -1
  152. package/dist/esm/getQuery.js +1 -1
  153. package/dist/esm/getRelatedArticle.js +1 -1
  154. package/dist/esm/getRootDocGroup.js +1 -1
  155. package/dist/esm/getSerializers.js +2 -1
  156. package/dist/esm/getSeriesDetail.js +1 -1
  157. package/dist/esm/{getTargeting-04d979c9.js → getTargeting-42f9b439.js} +9 -9
  158. package/dist/esm/getTargeting.js +1 -1
  159. package/dist/esm/{index-e6489945.js → index-0074586c.js} +90 -556
  160. package/dist/esm/index.js +3 -3
  161. package/dist/esm/stringify-2b084bee.js +1 -1
  162. package/dist/esm/timeDifferenceCalc.js +1 -1
  163. package/dist/esm/urlFor.js +1 -1
  164. package/dist/esm/ustream-api-d3714624.js +1 -1
  165. package/package.json +115 -116
@@ -24,6 +24,7 @@ var stringify = require('./stringify-f7a37a8d.js');
24
24
  var Modal = require('react-bootstrap/Modal');
25
25
  var Button = require('react-bootstrap/Button');
26
26
  var Form = require('react-bootstrap/Form');
27
+ var ReactGA = require('react-ga');
27
28
  var GroupDeck = require('./GroupDeck.js');
28
29
  var moment = require('./moment-aca40de1.js');
29
30
  var SocialShare = require('./SocialShare.js');
@@ -51,6 +52,7 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
51
52
  var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
52
53
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
53
54
  var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
55
+ var ReactGA__default = /*#__PURE__*/_interopDefaultLegacy(ReactGA);
54
56
  var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
55
57
  var Row__default = /*#__PURE__*/_interopDefaultLegacy(Row);
56
58
  var Col__default = /*#__PURE__*/_interopDefaultLegacy(Col);
@@ -7502,17 +7504,52 @@ _defineProperty(ReactPlayer, "canEnablePIP", function (url) {
7502
7504
  var ReactPlayer = _commonjsHelpers.unwrapExports(ReactPlayer_1);
7503
7505
 
7504
7506
  var Audio = function Audio(_ref) {
7505
- var node = _ref.node,
7506
- _ref$audioAutoplay = _ref.audioAutoplay,
7507
- audioAutoplay = _ref$audioAutoplay === undefined ? false : _ref$audioAutoplay;
7507
+ var node = _ref.node;
7508
7508
 
7509
+ var audioSource = node.uploadAudio.asset.url;
7510
+ var reportPlay = function reportPlay() {
7511
+ console.log('Reporting audio playback play to GA');
7512
+ ReactGA__default['default'].event({
7513
+ category: 'User',
7514
+ action: 'Audio Play',
7515
+ label: 'Play: ' + audioSource
7516
+ }, window.sessionStorage.GA_TRACKING_ID.split(',').map(function (id, index) {
7517
+ return 'ga_id_' + ++index;
7518
+ }));
7519
+ };
7520
+ var reportPause = function reportPause() {
7521
+ console.log('Reporting audio playback pause to GA');
7522
+ ReactGA__default['default'].event({
7523
+ category: 'User',
7524
+ action: 'Audio Pause',
7525
+ label: 'Pause: ' + audioSource
7526
+ }, window.sessionStorage.GA_TRACKING_ID.split(',').map(function (id, index) {
7527
+ return 'ga_id_' + ++index;
7528
+ }));
7529
+ };
7530
+ var reportEnd = function reportEnd() {
7531
+ console.log('Reporting audio playback end to GA');
7532
+ ReactGA__default['default'].event({
7533
+ category: 'User',
7534
+ action: 'Audio Playback End',
7535
+ label: 'Playback End: ' + audioSource
7536
+ }, window.sessionStorage.GA_TRACKING_ID.split(',').map(function (id, index) {
7537
+ return 'ga_id_' + ++index;
7538
+ }));
7539
+ };
7509
7540
  if (node.uploadAudio) {
7510
7541
  return React__default['default'].createElement(
7511
7542
  'div',
7512
7543
  { className: 'audio d-block text-center mb-3' },
7513
7544
  React__default['default'].createElement(
7514
7545
  'audio',
7515
- { controls: true, controlsList: 'nodownload', className: 'audio', autoPlay: audioAutoplay },
7546
+ {
7547
+ controls: true, controlsList: 'nodownload',
7548
+ className: 'audio',
7549
+ onPlay: reportPlay,
7550
+ onPause: reportPause,
7551
+ onEnded: reportEnd
7552
+ },
7516
7553
  React__default['default'].createElement('source', { src: node.uploadAudio.asset.url, type: 'audio/ogg' }),
7517
7554
  React__default['default'].createElement('source', { src: node.uploadAudio.asset.url, type: 'audio/mpeg' }),
7518
7555
  'Your browser does not support the audio element.'
@@ -7549,7 +7586,14 @@ var Audio = function Audio(_ref) {
7549
7586
  return React__default['default'].createElement(
7550
7587
  'div',
7551
7588
  { className: 'audio' },
7552
- React__default['default'].createElement(ReactPlayer, { url: node.audioFilePth, controls: true, width: '100%', height: '100%' }),
7589
+ React__default['default'].createElement(ReactPlayer, { url: node.audioFilePth,
7590
+ onPlay: reportPlay,
7591
+ onPause: reportPause,
7592
+ onEnded: reportEnd,
7593
+ controls: true,
7594
+ width: '100%',
7595
+ height: '100%'
7596
+ }),
7553
7597
  node.caption && React__default['default'].createElement(
7554
7598
  'p',
7555
7599
  { style: { fontSize: '.9rem' } },
@@ -10338,504 +10382,6 @@ var BlockTable = function BlockTable(props) {
10338
10382
  );
10339
10383
  };
10340
10384
 
10341
- var bibtexParse = _commonjsHelpers.createCommonjsModule(function (module, exports) {
10342
- /* start bibtexParse 0.0.24 */
10343
-
10344
- //Original work by Henrik Muehe (c) 2010
10345
- //
10346
- //CommonJS port by Mikola Lysenko 2013
10347
- //
10348
- //Port to Browser lib by ORCID / RCPETERS
10349
- //
10350
- //Issues:
10351
- //no comment handling within strings
10352
- //no string concatenation
10353
- //no variable values yet
10354
- //Grammar implemented here:
10355
- //bibtex -> (string | preamble | comment | entry)*;
10356
- //string -> '@STRING' '{' key_equals_value '}';
10357
- //preamble -> '@PREAMBLE' '{' value '}';
10358
- //comment -> '@COMMENT' '{' value '}';
10359
- //entry -> '@' key '{' key ',' key_value_list '}';
10360
- //key_value_list -> key_equals_value (',' key_equals_value)*;
10361
- //key_equals_value -> key '=' value;
10362
- //value -> value_quotes | value_braces | key;
10363
- //value_quotes -> '"' .*? '"'; // not quite
10364
- //value_braces -> '{' .*? '"'; // not quite
10365
- (function(exports) {
10366
-
10367
- function BibtexParser() {
10368
-
10369
- this.months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
10370
- this.notKey = [',','{','}',' ','='];
10371
- this.pos = 0;
10372
- this.input = "";
10373
- this.entries = new Array();
10374
-
10375
- this.currentEntry = "";
10376
-
10377
- this.setInput = function(t) {
10378
- this.input = t;
10379
- };
10380
-
10381
- this.getEntries = function() {
10382
- return this.entries;
10383
- };
10384
-
10385
- this.isWhitespace = function(s) {
10386
- return (s == ' ' || s == '\r' || s == '\t' || s == '\n');
10387
- };
10388
-
10389
- this.match = function(s, canCommentOut) {
10390
- if (canCommentOut == undefined || canCommentOut == null)
10391
- canCommentOut = true;
10392
- this.skipWhitespace(canCommentOut);
10393
- if (this.input.substring(this.pos, this.pos + s.length) == s) {
10394
- this.pos += s.length;
10395
- } else {
10396
- throw "Token mismatch, expected " + s + ", found "
10397
- + this.input.substring(this.pos);
10398
- } this.skipWhitespace(canCommentOut);
10399
- };
10400
-
10401
- this.tryMatch = function(s, canCommentOut) {
10402
- if (canCommentOut == undefined || canCommentOut == null)
10403
- canCommentOut = true;
10404
- this.skipWhitespace(canCommentOut);
10405
- if (this.input.substring(this.pos, this.pos + s.length) == s) {
10406
- return true;
10407
- } else {
10408
- return false;
10409
- } };
10410
-
10411
- /* when search for a match all text can be ignored, not just white space */
10412
- this.matchAt = function() {
10413
- while (this.input.length > this.pos && this.input[this.pos] != '@') {
10414
- this.pos++;
10415
- }
10416
- if (this.input[this.pos] == '@') {
10417
- return true;
10418
- } return false;
10419
- };
10420
-
10421
- this.skipWhitespace = function(canCommentOut) {
10422
- while (this.isWhitespace(this.input[this.pos])) {
10423
- this.pos++;
10424
- } if (this.input[this.pos] == "%" && canCommentOut == true) {
10425
- while (this.input[this.pos] != "\n") {
10426
- this.pos++;
10427
- } this.skipWhitespace(canCommentOut);
10428
- } };
10429
-
10430
- this.value_braces = function() {
10431
- var bracecount = 0;
10432
- this.match("{", false);
10433
- var start = this.pos;
10434
- var escaped = false;
10435
- while (true) {
10436
- if (!escaped) {
10437
- if (this.input[this.pos] == '}') {
10438
- if (bracecount > 0) {
10439
- bracecount--;
10440
- } else {
10441
- var end = this.pos;
10442
- this.match("}", false);
10443
- return this.input.substring(start, end);
10444
- } } else if (this.input[this.pos] == '{') {
10445
- bracecount++;
10446
- } else if (this.pos >= this.input.length - 1) {
10447
- throw "Unterminated value";
10448
- } } if (this.input[this.pos] == '\\' && escaped == false)
10449
- escaped = true;
10450
- else
10451
- escaped = false;
10452
- this.pos++;
10453
- } };
10454
-
10455
- this.value_comment = function() {
10456
- var str = '';
10457
- var brcktCnt = 0;
10458
- while (!(this.tryMatch("}", false) && brcktCnt == 0)) {
10459
- str = str + this.input[this.pos];
10460
- if (this.input[this.pos] == '{')
10461
- brcktCnt++;
10462
- if (this.input[this.pos] == '}')
10463
- brcktCnt--;
10464
- if (this.pos >= this.input.length - 1) {
10465
- throw "Unterminated value:" + this.input.substring(start);
10466
- } this.pos++;
10467
- } return str;
10468
- };
10469
-
10470
- this.value_quotes = function() {
10471
- this.match('"', false);
10472
- var start = this.pos;
10473
- var escaped = false;
10474
- while (true) {
10475
- if (!escaped) {
10476
- if (this.input[this.pos] == '"') {
10477
- var end = this.pos;
10478
- this.match('"', false);
10479
- return this.input.substring(start, end);
10480
- } else if (this.pos >= this.input.length - 1) {
10481
- throw "Unterminated value:" + this.input.substring(start);
10482
- } }
10483
- if (this.input[this.pos] == '\\' && escaped == false)
10484
- escaped = true;
10485
- else
10486
- escaped = false;
10487
- this.pos++;
10488
- } };
10489
-
10490
- this.single_value = function() {
10491
- var start = this.pos;
10492
- if (this.tryMatch("{")) {
10493
- return this.value_braces();
10494
- } else if (this.tryMatch('"')) {
10495
- return this.value_quotes();
10496
- } else {
10497
- var k = this.key();
10498
- if (k.match("^[0-9]+$"))
10499
- return k;
10500
- else if (this.months.indexOf(k.toLowerCase()) >= 0)
10501
- return k.toLowerCase();
10502
- else
10503
- throw "Value expected:" + this.input.substring(start) + ' for key: ' + k;
10504
-
10505
- } };
10506
-
10507
- this.value = function() {
10508
- var values = [];
10509
- values.push(this.single_value());
10510
- while (this.tryMatch("#")) {
10511
- this.match("#");
10512
- values.push(this.single_value());
10513
- } return values.join("");
10514
- };
10515
-
10516
- this.key = function(optional) {
10517
- var start = this.pos;
10518
- while (true) {
10519
- if (this.pos >= this.input.length) {
10520
- throw "Runaway key";
10521
- } // а-яА-Я is Cyrillic
10522
- //console.log(this.input[this.pos]);
10523
- if (this.notKey.indexOf(this.input[this.pos]) >= 0) {
10524
- if (optional && this.input[this.pos] != ',') {
10525
- this.pos = start;
10526
- return null;
10527
- } return this.input.substring(start, this.pos);
10528
- } else {
10529
- this.pos++;
10530
-
10531
- } } };
10532
-
10533
- this.key_equals_value = function() {
10534
- var key = this.key();
10535
- if (this.tryMatch("=")) {
10536
- this.match("=");
10537
- var val = this.value();
10538
- key = key.trim();
10539
- return [ key, val ];
10540
- } else {
10541
- throw "... = value expected, equals sign missing:"
10542
- + this.input.substring(this.pos);
10543
- } };
10544
-
10545
- this.key_value_list = function() {
10546
- var kv = this.key_equals_value();
10547
- this.currentEntry['entryTags'] = {};
10548
- this.currentEntry['entryTags'][kv[0]] = kv[1];
10549
- while (this.tryMatch(",")) {
10550
- this.match(",");
10551
- // fixes problems with commas at the end of a list
10552
- if (this.tryMatch("}")) {
10553
- break;
10554
- }
10555
- kv = this.key_equals_value();
10556
- this.currentEntry['entryTags'][kv[0]] = kv[1];
10557
- } };
10558
-
10559
- this.entry_body = function(d) {
10560
- this.currentEntry = {};
10561
- this.currentEntry['citationKey'] = this.key(true);
10562
- this.currentEntry['entryType'] = d.substring(1);
10563
- if (this.currentEntry['citationKey'] != null) {
10564
- this.match(",");
10565
- }
10566
- this.key_value_list();
10567
- this.entries.push(this.currentEntry);
10568
- };
10569
-
10570
- this.directive = function() {
10571
- this.match("@");
10572
- return "@" + this.key();
10573
- };
10574
-
10575
- this.preamble = function() {
10576
- this.currentEntry = {};
10577
- this.currentEntry['entryType'] = 'PREAMBLE';
10578
- this.currentEntry['entry'] = this.value_comment();
10579
- this.entries.push(this.currentEntry);
10580
- };
10581
-
10582
- this.comment = function() {
10583
- this.currentEntry = {};
10584
- this.currentEntry['entryType'] = 'COMMENT';
10585
- this.currentEntry['entry'] = this.value_comment();
10586
- this.entries.push(this.currentEntry);
10587
- };
10588
-
10589
- this.entry = function(d) {
10590
- this.entry_body(d);
10591
- };
10592
-
10593
- this.alernativeCitationKey = function () {
10594
- this.entries.forEach(function (entry) {
10595
- if (!entry.citationKey && entry.entryTags) {
10596
- entry.citationKey = '';
10597
- if (entry.entryTags.author) {
10598
- entry.citationKey += entry.entryTags.author.split(',')[0] += ', ';
10599
- }
10600
- entry.citationKey += entry.entryTags.year;
10601
- }
10602
- });
10603
- };
10604
-
10605
- this.bibtex = function() {
10606
- while (this.matchAt()) {
10607
- var d = this.directive();
10608
- this.match("{");
10609
- if (d.toUpperCase() == "@STRING") {
10610
- this.string();
10611
- } else if (d.toUpperCase() == "@PREAMBLE") {
10612
- this.preamble();
10613
- } else if (d.toUpperCase() == "@COMMENT") {
10614
- this.comment();
10615
- } else {
10616
- this.entry(d);
10617
- }
10618
- this.match("}");
10619
- }
10620
- this.alernativeCitationKey();
10621
- };
10622
- }
10623
- exports.toJSON = function(bibtex) {
10624
- var b = new BibtexParser();
10625
- b.setInput(bibtex);
10626
- b.bibtex();
10627
- return b.entries;
10628
- };
10629
-
10630
- /* added during hackathon don't hate on me */
10631
- exports.toBibtex = function(json) {
10632
- var out = '';
10633
- for ( var i in json) {
10634
- out += "@" + json[i].entryType;
10635
- out += '{';
10636
- if (json[i].citationKey)
10637
- out += json[i].citationKey + ', ';
10638
- if (json[i].entry)
10639
- out += json[i].entry ;
10640
- if (json[i].entryTags) {
10641
- var tags = '';
10642
- for (var jdx in json[i].entryTags) {
10643
- if (tags.length != 0)
10644
- tags += ', ';
10645
- tags += jdx + '= {' + json[i].entryTags[jdx] + '}';
10646
- }
10647
- out += tags;
10648
- }
10649
- out += '}\n\n';
10650
- }
10651
- return out;
10652
-
10653
- };
10654
-
10655
- })(exports);
10656
-
10657
- /* end bibtexParse */
10658
- });
10659
-
10660
- var References = function References(_ref) {
10661
- var node = _ref.node,
10662
- getSerializers = _ref.getSerializers;
10663
- var referenceslist = node.referenceslist;
10664
-
10665
- var getGoogleScholarUrl = function getGoogleScholarUrl(citationText, citationReferenceFormat) {
10666
- if (citationReferenceFormat == 'Bibtex' && citationText.length > 0 && citationText[0].children && citationText[0].children.length > 0 && citationText[0].children[0].text) {
10667
- var url = 'https://scholar.google.com/scholar_lookup?';
10668
- var bibtexJson = bibtexParse.toJSON(citationText[0].children[0].text)[0];
10669
- if (bibtexJson.entryTags) {
10670
- if (bibtexJson.entryTags.title) url += 'title=' + bibtexJson.entryTags.title;
10671
- if (bibtexJson.entryTags.author) {
10672
- bibtexJson.entryTags.author.split(',').map(function (authorName) {
10673
- return url += '&author=' + authorName;
10674
- });
10675
- }
10676
- if (bibtexJson.entryTags.year) {
10677
- url += '&publication_year=' + bibtexJson.entryTags.year;
10678
- }
10679
- if (bibtexJson.entryTags.journal) {
10680
- url += '&journal=' + bibtexJson.entryTags.journal;
10681
- }
10682
- if (bibtexJson.entryTags.volume) {
10683
- url += '&volume=' + bibtexJson.entryTags.volume;
10684
- }
10685
- if (bibtexJson.entryTags.pages) {
10686
- url += '&pages=' + bibtexJson.entryTags.pages.replace('--', '-');
10687
- }
10688
- }
10689
- return url;
10690
- }
10691
- };
10692
- var getPubmedUrl = function getPubmedUrl(citationText, citationReferenceFormat) {
10693
- if (citationReferenceFormat == 'URL' && citationText.length > 0 && citationText[0].children && citationText[0].children.length > 0 && citationText[0].children[0].text) {
10694
- return citationText[0].children[0].text;
10695
- }
10696
- };
10697
- var getCrossrefUrl = function getCrossrefUrl(citationText, citationReferenceFormat) {
10698
- if (citationReferenceFormat == 'URL' && citationText.length > 0 && citationText[0].children && citationText[0].children.length > 0 && citationText[0].children[0].text) {
10699
- if (citationText[0].children[0].text.includes('dx.doi.org')) {
10700
- return citationText[0].children[0].text;
10701
- } else {
10702
- return 'http://dx.doi.org/' + citationText[0].children[0].text;
10703
- }
10704
- }
10705
- };
10706
- return React__default['default'].createElement(
10707
- 'div',
10708
- { className: 'references-list' },
10709
- React__default['default'].createElement(
10710
- Head__default['default'],
10711
- null,
10712
- React__default['default'].createElement('script', { src: 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js' }),
10713
- React__default['default'].createElement('script', { src: 'https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js' })
10714
- ),
10715
- React__default['default'].createElement(
10716
- 'p',
10717
- { className: 'reference-title' },
10718
- React__default['default'].createElement(
10719
- 'strong',
10720
- null,
10721
- 'REFERENCES'
10722
- )
10723
- ),
10724
- referenceslist && referenceslist.map(function (reference, ref_index) {
10725
- return React__default['default'].createElement(
10726
- 'div',
10727
- { key: reference._key, id: reference.referenceID, className: 'reference-container' },
10728
- React__default['default'].createElement(
10729
- 'div',
10730
- { className: 'reference-details', style: { display: 'flex', flexDirection: 'row' } },
10731
- React__default['default'].createElement(
10732
- 'span',
10733
- null,
10734
- ref_index + 1,
10735
- '.\xA0'
10736
- ),
10737
- React__default['default'].createElement(BlockContent.BlockContent, { blocks: reference.referenceTitle, serializers: getSerializers })
10738
- ),
10739
- reference.citations && reference.citations.length > 0 && React__default['default'].createElement(
10740
- 'div',
10741
- { className: 'row citations-container ml-3 mr-3 mb-2' },
10742
- reference.citations.map(function (citation, cit_index) {
10743
- return React__default['default'].createElement(
10744
- 'div',
10745
- { key: 'citation_' + cit_index, className: 'mr-3 citation-link' },
10746
- citation.citationName === 'googleScholar' ? React__default['default'].createElement(
10747
- 'a',
10748
- { target: '_blank', href: getGoogleScholarUrl(citation.citationText, citation.citationReferenceFormat) },
10749
- 'Google Scholar'
10750
- ) : citation.citationName === 'pubMed' ? React__default['default'].createElement(
10751
- 'a',
10752
- { target: '_blank', href: getPubmedUrl(citation.citationText, citation.citationReferenceFormat) },
10753
- 'PubMed'
10754
- ) : React__default['default'].createElement(
10755
- 'a',
10756
- { target: '_blank', href: getCrossrefUrl(citation.citationText, citation.citationReferenceFormat) },
10757
- 'Crossref'
10758
- )
10759
- );
10760
- })
10761
- ),
10762
- React__default['default'].createElement(
10763
- 'div',
10764
- {
10765
- className: 'modal fade',
10766
- id: 'reference_' + reference.referenceID,
10767
- tabindex: '-1',
10768
- role: 'dialog',
10769
- 'aria-labelledby': 'reference-modal-' + reference.referenceID,
10770
- 'aria-hidden': 'true' },
10771
- React__default['default'].createElement(
10772
- 'div',
10773
- { className: 'modal-dialog modal-dialog-centered', role: 'document' },
10774
- React__default['default'].createElement(
10775
- 'div',
10776
- { className: 'modal-content' },
10777
- React__default['default'].createElement(
10778
- 'div',
10779
- { className: 'modal-body' },
10780
- React__default['default'].createElement(
10781
- 'button',
10782
- { type: 'button', className: 'close', 'data-dismiss': 'modal', 'aria-label': 'Close' },
10783
- React__default['default'].createElement(
10784
- 'span',
10785
- { 'aria-hidden': 'true' },
10786
- '\xD7'
10787
- )
10788
- ),
10789
- React__default['default'].createElement(
10790
- 'div',
10791
- { className: 'reference-details', style: { display: 'flex', flexDirection: 'row' } },
10792
- React__default['default'].createElement(
10793
- 'span',
10794
- null,
10795
- ref_index + 1,
10796
- '.\xA0'
10797
- ),
10798
- React__default['default'].createElement(BlockContent.BlockContent, { blocks: reference.referenceTitle, serializers: getSerializers })
10799
- ),
10800
- reference.citations && reference.citations.length > 0 && React__default['default'].createElement(
10801
- 'div',
10802
- { className: 'row citations-container ml-3 mr-3 mb-2' },
10803
- reference.citations.map(function (citation, cit_index) {
10804
- return React__default['default'].createElement(
10805
- 'div',
10806
- { key: 'citation_' + cit_index, className: 'mr-3 citation-link' },
10807
- citation.citationName === 'googleScholar' ? React__default['default'].createElement(
10808
- 'a',
10809
- { target: '_blank', href: getGoogleScholarUrl(citation.citationText, citation.citationReferenceFormat) },
10810
- 'Google Scholar'
10811
- ) : citation.citationName === 'pubMed' ? React__default['default'].createElement(
10812
- 'a',
10813
- { target: '_blank', href: getPubmedUrl(citation.citationText, citation.citationReferenceFormat) },
10814
- 'PubMed'
10815
- ) : React__default['default'].createElement(
10816
- 'a',
10817
- { target: '_blank', href: getCrossrefUrl(citation.citationText, citation.citationReferenceFormat) },
10818
- 'Crossref'
10819
- )
10820
- );
10821
- })
10822
- )
10823
- )
10824
- )
10825
- )
10826
- )
10827
- );
10828
- }),
10829
- React__default['default'].createElement(
10830
- 'style',
10831
- { jsx: 'true' },
10832
- '\n .reference-details p {\n margin-bottom: 0.5rem;\n }\n .citation-link a {\n text-decoration: none;\n color: var(--primary);\n padding: 0.25rem 0.5rem;\n }\n .citation-link a:hover {\n color: #ffffff;\n background-color: var(--primary);\n border-radius: 15px;\n }\n '
10833
- )
10834
- );
10835
- };
10836
-
10837
- var References$1 = React__default['default'].memo(References);
10838
-
10839
10385
  var ScrollToElement = function ScrollToElement(elementId) {
10840
10386
  var element = document.getElementById(elementId);
10841
10387
  if (element) {
@@ -10954,57 +10500,52 @@ var getSerializers = function getSerializers() {
10954
10500
 
10955
10501
  return React__default['default'].createElement(MultiFigure, { node: node, client: client, getSerializers: getSerializers.apply(undefined, props) });
10956
10502
  },
10957
- referencesList: function referencesList(_ref6) {
10503
+ slideshow: function slideshow(_ref6) {
10958
10504
  var node = _ref6.node;
10959
-
10960
- return React__default['default'].createElement(References$1, { node: node, client: client, getSerializers: getSerializers.apply(undefined, props) });
10961
- },
10962
- slideshow: function slideshow(_ref7) {
10963
- var node = _ref7.node;
10964
10505
  var slides = node.slides;
10965
10506
 
10966
10507
  return React__default['default'].createElement(Slideshow$1, { slides: slides, client: client, pageview: pageview });
10967
10508
  },
10968
- sidebar: function sidebar(_ref8) {
10969
- var node = _ref8.node;
10509
+ sidebar: function sidebar(_ref7) {
10510
+ var node = _ref7.node;
10970
10511
  var caption = node.caption,
10971
10512
  content = node.content;
10972
10513
 
10973
10514
  return React__default['default'].createElement(Sidebar, { caption: caption, content: content, getSerializers: getSerializers.apply(undefined, props) });
10974
10515
  },
10975
- datatable: function datatable(_ref9) {
10976
- var node = _ref9.node;
10516
+ datatable: function datatable(_ref8) {
10517
+ var node = _ref8.node;
10977
10518
  var table = node.table;
10978
10519
 
10979
10520
  return React__default['default'].createElement(TableShow, { rows: table.rows });
10980
10521
  },
10981
- media: function media(_ref10) {
10982
- var node = _ref10.node;
10522
+ media: function media(_ref9) {
10523
+ var node = _ref9.node;
10983
10524
 
10984
10525
  return React__default['default'].createElement(Media, { node: node, client: client });
10985
10526
  },
10986
- iframe: function iframe(_ref11) {
10987
- var node = _ref11.node;
10527
+ iframe: function iframe(_ref10) {
10528
+ var node = _ref10.node;
10988
10529
 
10989
10530
  return React__default['default'].createElement(IFrame, { url: node.url, needSegmentSupport: node.needSegmentSupport });
10990
10531
  },
10991
- video: function video(_ref12) {
10992
- var node = _ref12.node;
10532
+ video: function video(_ref11) {
10533
+ var node = _ref11.node;
10993
10534
 
10994
10535
  return React__default['default'].createElement(Video, { node: node, autoplay: autoplay, accountIDs: videoAccountIDs || {}, targeting: targeting, nextVideo: nextVideo });
10995
10536
  },
10996
- audio: function audio(_ref13) {
10997
- var node = _ref13.node;
10537
+ audio: function audio(_ref12) {
10538
+ var node = _ref12.node;
10998
10539
 
10999
10540
  return React__default['default'].createElement(Audio, { node: node, audioAutoplay: audioAutoplay });
11000
10541
  },
11001
- poll: function poll(_ref14) {
11002
- var node = _ref14.node;
10542
+ poll: function poll(_ref13) {
10543
+ var node = _ref13.node;
11003
10544
 
11004
10545
  return React__default['default'].createElement(Poll$1, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, showVotes: showVotes, onVote: onVote, getSerializers: getSerializers.apply(undefined, props) });
11005
10546
  },
11006
- pollMultiChoice: function pollMultiChoice(_ref15) {
11007
- var node = _ref15.node;
10547
+ pollMultiChoice: function pollMultiChoice(_ref14) {
10548
+ var node = _ref14.node;
11008
10549
 
11009
10550
  return React__default['default'].createElement(Poll, {
11010
10551
  node: node,
@@ -11016,31 +10557,31 @@ var getSerializers = function getSerializers() {
11016
10557
  getSerializers: getSerializers.apply(undefined, props)
11017
10558
  });
11018
10559
  },
11019
- quiz: function quiz(_ref16) {
11020
- var node = _ref16.node;
10560
+ quiz: function quiz(_ref15) {
10561
+ var node = _ref15.node;
11021
10562
  var quizzes = node.quizzes;
11022
10563
 
11023
10564
  return React__default['default'].createElement(Quiz, { quizzes: quizzes, getSerializers: getSerializers.apply(undefined, props), pageview: pageview, currentPage: currentPage });
11024
10565
  },
11025
- leads: function leads(_ref17) {
11026
- var node = _ref17.node;
10566
+ leads: function leads(_ref16) {
10567
+ var node = _ref16.node;
11027
10568
  var leadID = node.leadID;
11028
10569
 
11029
10570
  var url = '' + drupalLeadSettings.baseUrl + leadID;
11030
10571
  return React__default['default'].createElement(Leads, { url: url });
11031
10572
  },
11032
- slideshows: function slideshows(_ref18) {
11033
- var node = _ref18.node;
10573
+ slideshows: function slideshows(_ref17) {
10574
+ var node = _ref17.node;
11034
10575
 
11035
10576
  return React__default['default'].createElement(Slideshow, { node: node, client: client, pageview: pageview, getSerializers: getSerializers.apply(undefined, props) });
11036
10577
  },
11037
- nativeAd: function nativeAd(_ref19) {
11038
- var node = _ref19.node;
10578
+ nativeAd: function nativeAd(_ref18) {
10579
+ var node = _ref18.node;
11039
10580
 
11040
10581
  return React__default['default'].createElement(NativeAd, { node: node });
11041
10582
  },
11042
- html_anchor_links: function html_anchor_links(_ref20) {
11043
- var node = _ref20.node;
10583
+ html_anchor_links: function html_anchor_links(_ref19) {
10584
+ var node = _ref19.node;
11044
10585
 
11045
10586
  return React__default['default'].createElement(AnchorLinkElement, { node: node, getSerializers: getSerializers.apply(undefined, props), articleId: articleId });
11046
10587
  },
@@ -11050,8 +10591,8 @@ var getSerializers = function getSerializers() {
11050
10591
  brtag: function brtag() {
11051
10592
  return React__default['default'].createElement('br', { className: 'line-break' });
11052
10593
  },
11053
- formstack: function formstack(_ref21) {
11054
- var node = _ref21.node;
10594
+ formstack: function formstack(_ref20) {
10595
+ var node = _ref20.node;
11055
10596
  var FormID = node.FormID,
11056
10597
  Caption = node.Caption,
11057
10598
  needSegmentSupport = node.needSegmentSupport;
@@ -11059,13 +10600,13 @@ var getSerializers = function getSerializers() {
11059
10600
  return React__default['default'].createElement(Formstack, { FormID: FormID, Caption: Caption, needSegmentSupport: needSegmentSupport });
11060
10601
  },
11061
10602
  formassembly: FormAssembly,
11062
- multimedia: function multimedia(_ref22) {
11063
- var node = _ref22.node;
10603
+ multimedia: function multimedia(_ref21) {
10604
+ var node = _ref21.node;
11064
10605
 
11065
10606
  return React__default['default'].createElement(MultiMedia, { node: node, client: client });
11066
10607
  },
11067
- blockTable: function blockTable(_ref23) {
11068
- var node = _ref23.node;
10608
+ blockTable: function blockTable(_ref22) {
10609
+ var node = _ref22.node;
11069
10610
  return React__default['default'].createElement(BlockTable, { node: node, client: client, getSerializers: getSerializers.apply(undefined, props) });
11070
10611
  }
11071
10612
  },
@@ -11091,13 +10632,7 @@ var getSerializers = function getSerializers() {
11091
10632
  blank = _props$mark.blank,
11092
10633
  color = _props$mark.color;
11093
10634
 
11094
- if (href && href.charAt(0) === '#' && href.includes('#reference_')) {
11095
- return React__default['default'].createElement(
11096
- 'a',
11097
- { 'data-toggle': 'modal', 'data-target': href },
11098
- children
11099
- );
11100
- }
10635
+
11101
10636
  if (href && href.charAt(0) === '#') {
11102
10637
  var elementId = href.slice(1);
11103
10638
  if (articleId) elementId = elementId + '-' + articleId;
@@ -11117,32 +10652,32 @@ var getSerializers = function getSerializers() {
11117
10652
  children
11118
10653
  ) : children;
11119
10654
  },
11120
- alignleft: function alignleft(_ref24) {
11121
- var children = _ref24.children;
10655
+ alignleft: function alignleft(_ref23) {
10656
+ var children = _ref23.children;
11122
10657
  return React__default['default'].createElement(
11123
10658
  'div',
11124
10659
  { style: { textAlign: 'left' } },
11125
10660
  children
11126
10661
  );
11127
10662
  },
11128
- alignright: function alignright(_ref25) {
11129
- var children = _ref25.children;
10663
+ alignright: function alignright(_ref24) {
10664
+ var children = _ref24.children;
11130
10665
  return React__default['default'].createElement(
11131
10666
  'div',
11132
10667
  { style: { textAlign: 'right' } },
11133
10668
  children
11134
10669
  );
11135
10670
  },
11136
- aligncenter: function aligncenter(_ref26) {
11137
- var children = _ref26.children;
10671
+ aligncenter: function aligncenter(_ref25) {
10672
+ var children = _ref25.children;
11138
10673
  return React__default['default'].createElement(
11139
10674
  'div',
11140
10675
  { style: { textAlign: 'center' } },
11141
10676
  children
11142
10677
  );
11143
10678
  },
11144
- alignjustify: function alignjustify(_ref27) {
11145
- var children = _ref27.children;
10679
+ alignjustify: function alignjustify(_ref26) {
10680
+ var children = _ref26.children;
11146
10681
  return React__default['default'].createElement(
11147
10682
  'div',
11148
10683
  { style: { textAlign: 'justify' } },