j1-template 2024.3.21 → 2024.3.22

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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/amplitude_app.html +60 -51
  3. data/assets/theme/j1/adapter/js/advertising.js +40 -38
  4. data/assets/theme/j1/adapter/js/algolia.js +13 -11
  5. data/assets/theme/j1/adapter/js/amplitude.js +504 -348
  6. data/assets/theme/j1/adapter/js/analytics.js +19 -17
  7. data/assets/theme/j1/adapter/js/asciidoctor.js +10 -8
  8. data/assets/theme/j1/adapter/js/attic.js +24 -22
  9. data/assets/theme/j1/adapter/js/bmd.js +10 -8
  10. data/assets/theme/j1/adapter/js/carousel.js +12 -9
  11. data/assets/theme/j1/adapter/js/chatbot.js +106 -104
  12. data/assets/theme/j1/adapter/js/clipboard.js +16 -14
  13. data/assets/theme/j1/adapter/js/comments.js +24 -22
  14. data/assets/theme/j1/adapter/js/cookieConsent.js +5 -1
  15. data/assets/theme/j1/adapter/js/customFunctions.js +12 -10
  16. data/assets/theme/j1/adapter/js/customModule.js +10 -8
  17. data/assets/theme/j1/adapter/js/docsearch.js +33 -31
  18. data/assets/theme/j1/adapter/js/dropdowns.js +16 -14
  19. data/assets/theme/j1/adapter/js/fab.js +34 -32
  20. data/assets/theme/j1/adapter/js/gallery.js +21 -19
  21. data/assets/theme/j1/adapter/js/gemini.js +66 -64
  22. data/assets/theme/j1/adapter/js/iconPicker.js +31 -29
  23. data/assets/theme/j1/adapter/js/iconPickerPage.js +11 -9
  24. data/assets/theme/j1/adapter/js/iframer.js +17 -15
  25. data/assets/theme/j1/adapter/js/j1.js +146 -143
  26. data/assets/theme/j1/adapter/js/lazyLoader.js +33 -31
  27. data/assets/theme/j1/adapter/js/lightbox.js +9 -7
  28. data/assets/theme/j1/adapter/js/logger.js +11 -9
  29. data/assets/theme/j1/adapter/js/lunr.js +37 -35
  30. data/assets/theme/j1/adapter/js/masonry.js +23 -21
  31. data/assets/theme/j1/adapter/js/masterslider.js +31 -29
  32. data/assets/theme/j1/adapter/js/mmenu.js +25 -23
  33. data/assets/theme/j1/adapter/js/navigator.js +43 -41
  34. data/assets/theme/j1/adapter/js/particles.js +12 -10
  35. data/assets/theme/j1/adapter/js/rangeSlider.js +21 -19
  36. data/assets/theme/j1/adapter/js/rouge.js +10 -8
  37. data/assets/theme/j1/adapter/js/rtable.js +14 -12
  38. data/assets/theme/j1/adapter/js/rtextResizer.js +10 -8
  39. data/assets/theme/j1/adapter/js/scroller.js +15 -13
  40. data/assets/theme/j1/adapter/js/slick.js +18 -16
  41. data/assets/theme/j1/adapter/js/slimSelect.js +30 -28
  42. data/assets/theme/j1/adapter/js/speak2me.js +25 -23
  43. data/assets/theme/j1/adapter/js/swiper.js +13 -11
  44. data/assets/theme/j1/adapter/js/themeToggler.js +11 -9
  45. data/assets/theme/j1/adapter/js/themes.js +25 -23
  46. data/assets/theme/j1/adapter/js/toccer.js +13 -11
  47. data/assets/theme/j1/adapter/js/translator.js +19 -16
  48. data/assets/theme/j1/adapter/js/videojs.js +9 -7
  49. data/assets/theme/j1/adapter/js/waves.js +18 -16
  50. data/assets/theme/j1/core/js/template.js +11180 -10968
  51. data/assets/theme/j1/core/js/template.min.js +13 -18
  52. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +10 -4
  53. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  54. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +15 -8
  55. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +2 -1
  56. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +35 -14
  57. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  58. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +475 -423
  59. data/assets/theme/j1/modules/backstretch/js/backstretch.js +2 -2
  60. data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
  61. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +11 -11
  62. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -1
  63. data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +2 -2
  64. data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  65. data/assets/theme/j1/modules/fab/js/fab.js +2 -2
  66. data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
  67. data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
  68. data/assets/theme/j1/modules/lunr/js/j1.min.js +2 -1
  69. data/assets/theme/j1/modules/rtable/js/rtable.js +2 -2
  70. data/assets/theme/j1/modules/rtable/js/rtable.min.js +2 -1
  71. data/assets/theme/j1/modules/scroller/js/scroller.js +31 -29
  72. data/assets/theme/j1/modules/scroller/js/scroller.min.js +2 -1
  73. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +26 -26
  74. data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +2 -1
  75. data/assets/theme/j1/modules/translator/js/translator.js +17 -17
  76. data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
  77. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js +10 -8
  78. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  79. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.js +9 -7
  80. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +1 -1
  81. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.js +13 -11
  82. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +1 -1
  83. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.js +10 -8
  84. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  85. data/lib/j1/version.rb +1 -1
  86. data/lib/starter_web/README.md +5 -5
  87. data/lib/starter_web/_config.yml +1 -1
  88. data/lib/starter_web/_data/modules/amplitude_playlists.yml +124 -79
  89. data/lib/starter_web/_data/modules/defaults/amplitude.yml +5 -3
  90. data/lib/starter_web/_data/templates/feed.xml +1 -1
  91. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +8 -0
  92. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +7 -0
  93. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  94. data/lib/starter_web/assets/audio/album/emancipator/Alligator.mp3 +0 -0
  95. data/lib/starter_web/assets/audio/album/emancipator/DabCity.mp3 +0 -0
  96. data/lib/starter_web/assets/audio/album/emancipator/SeaToSky.mp3 +0 -0
  97. data/lib/starter_web/assets/audio/album/emancipator/TimeForSpace.mp3 +0 -0
  98. data/lib/starter_web/assets/audio/cover/emancipator/alligator.jpg +0 -0
  99. data/lib/starter_web/assets/audio/cover/emancipator/anthem.jpg +0 -0
  100. data/lib/starter_web/assets/audio/cover/emancipator/dab-city.jpg +0 -0
  101. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn.jpg +0 -0
  102. data/lib/starter_web/assets/audio/cover/emancipator/safe-in-the-steep-cliffs.jpg +0 -0
  103. data/lib/starter_web/assets/audio/cover/emancipator/sea-to-sky.jpg +0 -0
  104. data/lib/starter_web/assets/audio/cover/emancipator/soon-it-will-be-cold-enough.jpg +0 -0
  105. data/lib/starter_web/assets/audio/cover/emancipator/tine-for-space.jpg +0 -0
  106. data/lib/starter_web/package.json +1 -1
  107. data/lib/starter_web/pages/public/tour/audio_data.adoc +11 -6
  108. metadata +19 -11
  109. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  110. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  111. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  112. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  113. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn → !info}/!sound.links.txt +0 -0
  114. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/Anthem.mp3 → Anthem.mp3} +0 -0
  115. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/DuskToDawn.mp3 → DuskToDawn.mp3} +0 -0
  116. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/FirstSnow.mp3 → FirstSnow.mp3} +0 -0
  117. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/SafeInTheSteepCliffs.mp3 → SafeInTheSteepCliffs.mp3} +0 -0
@@ -354,6 +354,9 @@ var j1 = ((options) => {
354
354
  generated: '{{site.time}}'
355
355
  }, options);
356
356
 
357
+ // save environment prod|dev in window for later access (e.g modules)
358
+ j1.env = environment;
359
+
357
360
  // create settings object from frontmatter options
358
361
  frontmatterOptions = options != null ? $.extend({}, options) : {};
359
362
 
@@ -451,7 +454,7 @@ var j1 = ((options) => {
451
454
  // add for compatibility reasons
452
455
  template_version_changed = true;
453
456
  user_state.template_version = template_version;
454
- logger.warn('\n' + 'template_version not found, set value to: ' + template_version);
457
+ logger.warn('template_version not found, set value to: ' + template_version);
455
458
  cookie_written = j1.writeCookie({
456
459
  name: cookie_names.user_state,
457
460
  data: user_state,
@@ -476,7 +479,7 @@ var j1 = ((options) => {
476
479
  }
477
480
  }
478
481
 
479
- // logger.info('\n' + 'register monitors');
482
+ // logger.info('register monitors');
480
483
  // j1.registerMonitors();
481
484
 
482
485
  // -----------------------------------------------------------------------
@@ -503,11 +506,11 @@ var j1 = ((options) => {
503
506
  user_session.requested_page = window.location.pathname;
504
507
  user_session.timestamp = timestamp_now;
505
508
  user_session = j1.mergeData(user_session, data);
506
- logText = '\n' + 'mode detected: ' + user_session.mode;
509
+ logText = 'mode detected: ' + user_session.mode;
507
510
 
508
511
  logger.info(logText);
509
- logger.info('\n' + 'update user session cookie');
510
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
512
+ logger.info('update user session cookie');
513
+ logger.debug('write to cookie : ' + cookie_names.user_session);
511
514
  cookie_written = j1.writeCookie({
512
515
  name: cookie_names.user_session,
513
516
  data: user_session,
@@ -516,23 +519,23 @@ var j1 = ((options) => {
516
519
  });
517
520
 
518
521
  j1.setState(curr_state);
519
- logger.debug('\n' + 'state: ' + j1.getState());
522
+ logger.debug('state: ' + j1.getState());
520
523
 
521
524
  if (j1.authEnabled()) {
522
525
  if (user_session.authenticated === 'true') {
523
526
  // set signout
524
- logger.info('\n' + 'show signout icon');
527
+ logger.info('show signout icon');
525
528
  $('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignOut');
526
529
  $('#iconSignInOut').removeClass('mdib-login').addClass('mdib-logout');
527
530
  } else {
528
531
  // set signin
529
- logger.info('\n' + 'show signin icon');
532
+ logger.info('show signin icon');
530
533
  $('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignIn');
531
534
  $('#iconSignInOut').removeClass('mdib-logout').addClass('mdib-login');
532
535
  }
533
- logger.info('\n' + 'authentication detected as: ' + user_session.authenticated);
536
+ logger.info('authentication detected as: ' + user_session.authenticated);
534
537
  $('#quickLinksSignInOutButton').css('display', 'block');
535
- logger.debug('\n' + 'met dependencies for: j1');
538
+ logger.debug('met dependencies for: j1');
536
539
  } // END if (j1.authEnabled
537
540
  }) // END all $ajax requests done
538
541
  .catch((error) => {
@@ -544,10 +547,10 @@ var j1 = ((options) => {
544
547
  user_session.mode = 'web';
545
548
  user_session.requested_page = window.location.pathname;
546
549
  user_session.timestamp = timestamp_now;
547
- logText = '\n' + 'mode detected: ' + user_session.mode;
550
+ logText = 'mode detected: ' + user_session.mode;
548
551
 
549
552
  logger.info(logText);
550
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
553
+ logger.debug('write to cookie : ' + cookie_names.user_session);
551
554
  cookie_written = j1.writeCookie({
552
555
  name: cookie_names.user_session,
553
556
  data: user_session,
@@ -576,7 +579,7 @@ var j1 = ((options) => {
576
579
  panels_exists = (panel_blocks > 0) ? true : false;
577
580
  footer_exists = (footer_blocks > 0) ? true : false;
578
581
 
579
- logger.info('\n' + 'load block elements');
582
+ logger.info('load block elements');
580
583
 
581
584
  if (banners_exits) {j1.initBanner(settings);}
582
585
  if (panels_exists) {j1.initPanel(settings)};
@@ -664,15 +667,15 @@ var j1 = ((options) => {
664
667
  }, 10); // END dependencies_met_page_ready
665
668
 
666
669
  j1.setState(curr_state);
667
- logger.debug('\n' + 'state: ' + j1.getState());
670
+ logger.debug('state: ' + j1.getState());
668
671
  }, detectTimeout);
669
672
  });
670
673
  // END app mode
671
674
  } else {
672
675
  // web mode
673
676
  state = 'started';
674
- logger.debug('\n' + 'state: ' + state);
675
- logger.info('\n' + 'page is being initialized');
677
+ logger.debug('state: ' + state);
678
+ logger.info('page is being initialized');
676
679
  }
677
680
 
678
681
  // ---------------------------------------------------------------------
@@ -683,7 +686,7 @@ var j1 = ((options) => {
683
686
  $('html').addClass('hide-scrollbar-moz');
684
687
  }
685
688
 
686
- logger.info('\n' + 'read user state from cookie');
689
+ logger.info('read user state from cookie');
687
690
  user_session = j1.readCookie(cookie_names.user_session);
688
691
 
689
692
  // process|update user state cookie
@@ -714,8 +717,8 @@ var j1 = ((options) => {
714
717
  last_pager = user_session.last_pager;
715
718
  }
716
719
 
717
- logger.info('\n' + 'update user session cookie');
718
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
720
+ logger.info('update user session cookie');
721
+ logger.debug('write to cookie : ' + cookie_names.user_session);
719
722
  cookie_written = j1.writeCookie({
720
723
  name: cookie_names.user_session,
721
724
  data: user_session,
@@ -737,9 +740,9 @@ var j1 = ((options) => {
737
740
  if (pageVisible) {
738
741
  startTimeModule = Date.now();
739
742
 
740
- logger.info('\n' + 'page is being initialized');
743
+ logger.info('page is being initialized');
741
744
 
742
- logger.info('\n' + 'register monitors');
745
+ logger.info('register monitors');
743
746
  j1.registerMonitors();
744
747
 
745
748
  banner_blocks = document.querySelectorAll('[id^="banner"]').length;
@@ -749,7 +752,7 @@ var j1 = ((options) => {
749
752
  panels_exists = (panel_blocks > 0) ? true : false;
750
753
  footer_exists = (footer_blocks > 0) ? true : false;
751
754
 
752
- logger.info('\n' + 'load block elements');
755
+ logger.info('load block elements');
753
756
 
754
757
  if (banners_exits) {j1.initBanner(settings);}
755
758
  if (panels_exists) {j1.initPanel(settings)};
@@ -839,18 +842,18 @@ var j1 = ((options) => {
839
842
  } // END pages w/o banners or panels
840
843
 
841
844
  endTimeModule = Date.now();
842
- logger.info('\n' + 'page finalized successfully');
843
- logger.info('\n' + 'page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
845
+ logger.info('page finalized successfully');
846
+ logger.info('page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
844
847
 
845
848
  clearInterval(dependencies_met_page_ready);
846
849
  } // END pageVisible
847
850
  }, 10); // END dependencies_met_page_ready
848
851
 
849
852
  state = 'running';
850
- logger.debug('\n' + 'state: ' + state);
853
+ logger.debug('state: ' + state);
851
854
 
852
855
  user_session.timestamp = timestamp_now;
853
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
856
+ logger.debug('write to cookie : ' + cookie_names.user_session);
854
857
  cookie_written = j1.writeCookie({
855
858
  name: cookie_names.user_session,
856
859
  data: user_session,
@@ -861,7 +864,7 @@ var j1 = ((options) => {
861
864
  // -----------------------------------------------------------------------
862
865
  // run additional helpers from j1.core
863
866
  // -----------------------------------------------------------------------
864
- j1.core.bsFormClearButton();
867
+ j1.api.bsFormClearButton();
865
868
 
866
869
  // -----------------------------------------------------------------------
867
870
  // finalize current page
@@ -887,19 +890,19 @@ var j1 = ((options) => {
887
890
  var cb_load_closure = (banner_id) => {
888
891
  return (responseTxt, statusTxt, xhr) => {
889
892
  if (statusTxt == 'success') {
890
- logger.debug('\n' + 'loading banner completed on id: ' + banner_id);
893
+ logger.debug('loading banner completed on id: ' + banner_id);
891
894
  j1.setXhrDataState(banner_id, statusTxt);
892
895
  j1.setXhrDomState(banner_id, statusTxt);
893
- logger.debug('\n' + 'XHR data loaded in the DOM: ' + banner_id);
896
+ logger.debug('XHR data loaded in the DOM: ' + banner_id);
894
897
  }
895
898
  if (statusTxt == 'error') {
896
- logText = '\n' + 'loading banner failed on id: ' +banner_id + ', error: ' + xhr.status + ': ' + xhr.statusText;
899
+ logText = 'loading banner failed on id: ' +banner_id + ', error: ' + xhr.status + ': ' + xhr.statusText;
897
900
  logger.error(logText);
898
901
  j1.setXhrDataState(banner_id, statusTxt);
899
902
  j1.setXhrDomState(banner_id, statusTxt);
900
903
 
901
904
  state = 'failed';
902
- logger.error('\n' + 'state: ' + state);
905
+ logger.error('state: ' + state);
903
906
  }
904
907
  };
905
908
  };
@@ -960,7 +963,7 @@ var j1 = ((options) => {
960
963
  var id = '#' + banner[i];
961
964
  var selector = $(id);
962
965
  if (selector.length) {
963
- logText = '\n' + 'loading banner on id: ' +banner[i];
966
+ logText = 'loading banner on id: ' +banner[i];
964
967
  logger.info(logText);
965
968
  var banner_data_path = '{{banner_data_path}} ' + id + '_content';
966
969
  selector.load(banner_data_path, cb_load_closure(id));
@@ -969,7 +972,7 @@ var j1 = ((options) => {
969
972
  }
970
973
  }
971
974
  } else {
972
- logText = '\n' + 'no banner found in site';
975
+ logText = 'no banner found in site';
973
976
  logger.debug(logText);
974
977
 
975
978
  return false;
@@ -998,19 +1001,19 @@ var j1 = ((options) => {
998
1001
  var cb_load_closure = (panel_id) => {
999
1002
  return (responseTxt, statusTxt, xhr) => {
1000
1003
  if (statusTxt == 'success') {
1001
- logger.debug('\n' + 'loading panel completed on id: ' + panel_id);
1004
+ logger.debug('loading panel completed on id: ' + panel_id);
1002
1005
  j1.setXhrDataState(panel_id, statusTxt);
1003
1006
  j1.setXhrDomState(panel_id, statusTxt);
1004
- logger.debug('\n' + 'XHR data loaded in the DOM: ' + panel_id);
1007
+ logger.debug('XHR data loaded in the DOM: ' + panel_id);
1005
1008
  }
1006
1009
  if (statusTxt == 'error') {
1007
- logText = '\n' + 'loading panel failed on id: ' + panel_id + ', error ' + xhr.status + ': ' + xhr.statusText;
1010
+ logText = 'loading panel failed on id: ' + panel_id + ', error ' + xhr.status + ': ' + xhr.statusText;
1008
1011
  logger.error(logText);
1009
1012
  j1.setXhrDataState(panel_id, statusTxt);
1010
1013
  j1.setXhrDomState(panel_id, statusTxt);
1011
1014
 
1012
1015
  state = 'error';
1013
- logger.error('\n' + 'state: ' + state);
1016
+ logger.error('state: ' + state);
1014
1017
  }
1015
1018
  };
1016
1019
  };
@@ -1064,7 +1067,7 @@ var j1 = ((options) => {
1064
1067
  var id = '#' + panel[i];
1065
1068
  var selector = $(id);
1066
1069
  if ( selector.length ) {
1067
- logText = '\n' + 'loading panel on id: ' +panel[i];
1070
+ logText = 'loading panel on id: ' +panel[i];
1068
1071
  logger.info(logText);
1069
1072
  var panel_data_path = '{{panel_data_path}} ' + id + '_content';
1070
1073
  selector.load(panel_data_path, cb_load_closure(id));
@@ -1073,7 +1076,7 @@ var j1 = ((options) => {
1073
1076
  }
1074
1077
  }
1075
1078
  } else {
1076
- logText = '\n' + 'no panel found in site';
1079
+ logText = 'no panel found in site';
1077
1080
  logger.debug(logText);
1078
1081
 
1079
1082
  return false;
@@ -1093,27 +1096,27 @@ var j1 = ((options) => {
1093
1096
  var cb_load_closure = (footer_id) => {
1094
1097
  return (responseTxt, statusTxt, xhr) => {
1095
1098
  if (statusTxt == 'success') {
1096
- logger.debug('\n' + 'footer loaded successfully on id: ' + footer_id);
1099
+ logger.debug('footer loaded successfully on id: ' + footer_id);
1097
1100
  j1.setXhrDataState(footer_id, statusTxt);
1098
1101
  j1.setXhrDomState(footer_id, statusTxt);
1099
- logger.debug('\n' + 'XHR data loaded in the DOM: ' + footer_id);
1100
- logger.debug('\n' + 'initialization footer finished');
1102
+ logger.debug('XHR data loaded in the DOM: ' + footer_id);
1103
+ logger.debug('initialization footer finished');
1101
1104
  }
1102
1105
  if (statusTxt == 'error') {
1103
- logText = '\n' + 'loading footer failed on id: ' + footer_id + ', error ' + xhr.status + ': ' + xhr.statusText;
1106
+ logText = 'loading footer failed on id: ' + footer_id + ', error ' + xhr.status + ': ' + xhr.statusText;
1104
1107
  logger.error(logText);
1105
1108
  j1.setXhrDataState(footer_id, statusTxt);
1106
1109
  j1.setXhrDomState(footer_id, statusTxt);
1107
1110
 
1108
1111
  // Set|Log status
1109
1112
  state = 'failed';
1110
- logger.error('\n' + 'state: ' + state);
1111
- logger.error('\n' + 'initialization footer failed');
1113
+ logger.error('state: ' + state);
1114
+ logger.error('initialization footer failed');
1112
1115
  }
1113
1116
  };
1114
1117
  };
1115
1118
 
1116
- logger.info('\n' + 'loading footer on id: {{footer_id}}');
1119
+ logger.info('loading footer on id: {{footer_id}}');
1117
1120
 
1118
1121
  var id = '#' + '{{footer_id}}';
1119
1122
  var selector = $(id);
@@ -1121,7 +1124,7 @@ var j1 = ((options) => {
1121
1124
  var footer_data_path = '{{footer_data_path}} ' + id;
1122
1125
  selector.load(footer_data_path, cb_load_closure(id));
1123
1126
  } else {
1124
- logger.debug('\n' + 'data not loaded');
1127
+ logger.debug('data not loaded');
1125
1128
  j1.setXhrDataState(id, 'not loaded');
1126
1129
  j1.setXhrDomState(id, 'pending');
1127
1130
 
@@ -1188,15 +1191,15 @@ var j1 = ((options) => {
1188
1191
  window.location.href = '/444.html';
1189
1192
  }
1190
1193
 
1191
- logger.info('\n' + 'finalize page');
1192
- logText= '\n' + 'loading page partials: started';
1194
+ logger.info('finalize page');
1195
+ logText= 'loading page partials: started';
1193
1196
  logger.info(logText);
1194
1197
 
1195
1198
  if (j1.appDetected()) {
1196
1199
  // ---------------------------------------------------------------------
1197
1200
  // APP mode
1198
1201
  // ---------------------------------------------------------------------
1199
- logger.info('\n' + 'mode detected: app');
1202
+ logger.info('mode detected: app');
1200
1203
 
1201
1204
  $.when ($.ajax(ep_status))
1202
1205
  .then(function(data) {
@@ -1205,7 +1208,7 @@ var j1 = ((options) => {
1205
1208
  user_session = j1.mergeData(user_session, data);
1206
1209
 
1207
1210
  user_session.current_page = current_url.pathname;
1208
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
1211
+ logger.debug('write to cookie : ' + cookie_names.user_session);
1209
1212
  cookie_written = j1.writeCookie({
1210
1213
  name: cookie_names.user_session,
1211
1214
  data: user_session,
@@ -1265,35 +1268,35 @@ var j1 = ((options) => {
1265
1268
  if (checkCookies) {
1266
1269
  var j1Cookies = j1.findCookie('j1');
1267
1270
  if (!j1.existsCookie(cookie_names.user_state)) {
1268
- logger.error('\n' + 'Access to cookie failed or cookie not found: ' + cookie_names.user_state);
1269
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
1271
+ logger.error('Access to cookie failed or cookie not found: ' + cookie_names.user_state);
1272
+ logger.info('j1 cookies found:' + j1Cookies.length);
1270
1273
  // redirect to error page: blocked content
1271
1274
  window.location.href = '/446.html';
1272
1275
  } else {
1273
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
1276
+ logger.info('j1 cookies found:' + j1Cookies.length);
1274
1277
  }
1275
1278
  }
1276
1279
 
1277
1280
  // manage Dropcaps if translation is enabled|disabled
1278
1281
  // -----------------------------------------------------------------
1279
1282
  if (user_translate.translationEnabled) {
1280
- logger.info('\n' + 'translation enabled: ' + user_translate.translationEnabled);
1281
- logger.debug('\n' + 'skipped processing of dropcaps');
1283
+ logger.info('translation enabled: ' + user_translate.translationEnabled);
1284
+ logger.debug('skipped processing of dropcaps');
1282
1285
  } else {
1283
1286
  // initialize dropcaps
1284
- logger.info('\n' + 'post processing: createDropCap');
1285
- j1.core.createDropCap();
1287
+ logger.info('post processing: createDropCap');
1288
+ j1.api.createDropCap();
1286
1289
  }
1287
1290
 
1288
1291
  // TODO: should MOVED to Cookiebar ???
1289
1292
  // show|hide cookie icon
1290
1293
  if (j1.existsCookie(cookie_names.user_consent)) {
1291
1294
  // Display cookie icon
1292
- logText = '\n' + 'show cookie icon';
1295
+ logText = 'show cookie icon';
1293
1296
  logger.info(logText);
1294
1297
  $('#quickLinksCookieButton').css('display', 'block');
1295
1298
  } else {
1296
- logText = '\n' + 'hide cookie icon';
1299
+ logText = 'hide cookie icon';
1297
1300
  logger.info(logText);
1298
1301
  // Display cookie icon
1299
1302
  $('#quickLinksCookieButton').css('display', 'none');
@@ -1307,16 +1310,16 @@ var j1 = ((options) => {
1307
1310
  if (j1.authEnabled()) {
1308
1311
  if (user_session.authenticated === 'true') {
1309
1312
  // set signout
1310
- logger.info('\n' + 'show signout icon');
1313
+ logger.info('show signout icon');
1311
1314
  $('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignOut');
1312
1315
  $('#iconSignInOut').removeClass('mdib-login').addClass('mdib-logout');
1313
1316
  } else {
1314
1317
  // set signin
1315
- logger.info('\n' + 'show signin icon');
1318
+ logger.info('show signin icon');
1316
1319
  $('#navLinkSignInOut').attr('data-bs-target','#modalOmniSignIn');
1317
1320
  $('#iconSignInOut').removeClass('mdib-logout').addClass('mdib-login');
1318
1321
  }
1319
- logger.info('\n' + 'authentication detected as: ' + user_session.authenticated);
1322
+ logger.info('authentication detected as: ' + user_session.authenticated);
1320
1323
  $('#quickLinksSignInOutButton').css('display', 'block');
1321
1324
  }
1322
1325
 
@@ -1327,8 +1330,8 @@ var j1 = ((options) => {
1327
1330
  // for GDPR compliance, themes feature may disabled on
1328
1331
  // privacy settings
1329
1332
  if (!user_consent.personalization) {
1330
- logger.debug('\n' + 'disable themes feature because of privacy settings');
1331
- logger.debug('\n' + 'personalization not allowed, privacy settings for personalization: ' + user_consent.personalization);
1333
+ logger.debug('disable themes feature because of privacy settings');
1334
+ logger.debug('personalization not allowed, privacy settings for personalization: ' + user_consent.personalization);
1332
1335
  $("#themes_menu").hide();
1333
1336
  } else {
1334
1337
  $("#themes_menu").show();
@@ -1336,19 +1339,19 @@ var j1 = ((options) => {
1336
1339
 
1337
1340
  // detect if a loaded page has been chenged
1338
1341
  if (user_session.previous_page !== user_session.current_page) {
1339
- logText = '\n' + 'page change detected';
1342
+ logText = 'page change detected';
1340
1343
  logger.info(logText);
1341
- logText = '\n' + 'previous page: ' + user_session.previous_page;
1344
+ logText = 'previous page: ' + user_session.previous_page;
1342
1345
  logger.info(logText);
1343
- logText = '\n' + 'current page: ' + user_session.current_page;
1346
+ logText = 'current page: ' + user_session.current_page;
1344
1347
  logger.info(logText);
1345
1348
  }
1346
1349
 
1347
1350
  // update sidebar for changed theme data
1348
- logger.info('\n' + 'update sidebar');
1351
+ logger.info('update sidebar');
1349
1352
  user_state = j1.readCookie(cookie_names.user_state);
1350
1353
  current_user_data = j1.mergeData(user_session, user_state);
1351
- j1.core.navigator.updateSidebar(current_user_data);
1354
+ j1.api.navigator.updateSidebar(current_user_data);
1352
1355
 
1353
1356
  // initiate smooth scroller if page is ready and visible
1354
1357
  var dependencies_met_page_ready = setInterval (() => {
@@ -1370,21 +1373,21 @@ var j1 = ((options) => {
1370
1373
  // set|log status
1371
1374
  state = 'finished';
1372
1375
  j1.setState(state);
1373
- logText = '\n' + 'state: ' + state;
1376
+ logText = 'state: ' + state;
1374
1377
  logger.info(logText);
1375
- logText = '\n' + 'page finalized successfully';
1378
+ logText = 'page finalized successfully';
1376
1379
  logger.info(logText);
1377
1380
 
1378
1381
  endTimeModule = Date.now();
1379
- logger.info('\n' + 'page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
1382
+ logger.info('page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
1380
1383
 
1381
1384
  });
1382
1385
  } else {
1383
1386
  // ---------------------------------------------------------------------
1384
1387
  // WEB mode
1385
1388
  // ---------------------------------------------------------------------
1386
- logger.info('\n' + 'state: finished');
1387
- logger.info('\n' + 'page initialization: finished');
1389
+ logger.info('state: finished');
1390
+ logger.info('page initialization: finished');
1388
1391
 
1389
1392
  // enable (body) animation on page load if enabled
1390
1393
  if (bodyAnimation) {
@@ -1416,13 +1419,13 @@ var j1 = ((options) => {
1416
1419
  if (checkCookies) {
1417
1420
  var j1Cookies = j1.findCookie('j1');
1418
1421
  if (!j1.existsCookie(cookie_names.user_state)) {
1419
- logger.error('\n' + 'Access to cookie failed or cookie not found: ' + cookie_names.user_state);
1420
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
1422
+ logger.error('Access to cookie failed or cookie not found: ' + cookie_names.user_state);
1423
+ logger.info('j1 cookies found:' + j1Cookies.length);
1421
1424
  // redirect to error page: blocked content
1422
1425
  window.location.href = '/446.html';
1423
1426
  } else {
1424
1427
 
1425
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
1428
+ logger.info('j1 cookies found:' + j1Cookies.length);
1426
1429
  }
1427
1430
  }
1428
1431
 
@@ -1432,7 +1435,7 @@ var j1 = ((options) => {
1432
1435
  // -------------------------------------------------------------------
1433
1436
  // $('#features').tapTarget();
1434
1437
  // $('#features').click(function(e) {
1435
- // logger.info('\n' + 'call default action');
1438
+ // logger.info('call default action');
1436
1439
  // $('#features').tapTarget('open');
1437
1440
  // });
1438
1441
 
@@ -1453,20 +1456,20 @@ var j1 = ((options) => {
1453
1456
  // manage Dropcaps if translation is enabled|disabled
1454
1457
  // -------------------------------------------------------------------
1455
1458
  if (user_translate.translationEnabled) {
1456
- logger.info('\n' + 'translation enabled: ' + user_translate.translationEnabled);
1457
- logger.debug('\n' + 'skipped processing of dropcaps');
1459
+ logger.info('translation enabled: ' + user_translate.translationEnabled);
1460
+ logger.debug('skipped processing of dropcaps');
1458
1461
  } else {
1459
1462
  // initialize dropcaps
1460
- logger.info('\n' + 'post processing: createDropCap');
1461
- j1.core.createDropCap();
1463
+ logger.info('post processing: createDropCap');
1464
+ j1.api.createDropCap();
1462
1465
  }
1463
1466
 
1464
- logger.info('\n' + 'mode detected: web');
1465
- logger.info('\n' + 'hide signin icon');
1467
+ logger.info('mode detected: web');
1468
+ logger.info('hide signin icon');
1466
1469
  $('#quickLinksSignInOutButton').css('display', 'none');
1467
1470
 
1468
1471
  user_session.current_page = current_url.pathname;
1469
- logger.debug('\n' + 'write to cookie : ' + cookie_names.user_session);
1472
+ logger.debug('write to cookie : ' + cookie_names.user_session);
1470
1473
  cookie_written = j1.writeCookie({
1471
1474
  name: cookie_names.user_session,
1472
1475
  data: user_session,
@@ -1483,11 +1486,11 @@ var j1 = ((options) => {
1483
1486
  // show|hide cookie icon
1484
1487
  if (j1.existsCookie(cookie_names.user_consent)) {
1485
1488
  // Display cookie icon
1486
- logText = '\n' + 'show cookie icon';
1489
+ logText = 'show cookie icon';
1487
1490
  logger.info(logText);
1488
1491
  $('#quickLinksCookieButton').css('display', 'block');
1489
1492
  } else {
1490
- logText = '\n' + 'hide cookie icon';
1493
+ logText = 'hide cookie icon';
1491
1494
  logger.info(logText);
1492
1495
  // Display cookie icon
1493
1496
  $('#quickLinksCookieButton').css('display', 'none');
@@ -1500,8 +1503,8 @@ var j1 = ((options) => {
1500
1503
  // for GDPR compliance, themes feature may disabled on
1501
1504
  // privacy settings
1502
1505
  if (!user_consent.personalization) {
1503
- logger.debug('\n' + 'disable themes feature because of privacy settings');
1504
- logger.debug('\n' + 'personalization not allowed, privacy settings for personalization: ' + user_consent.personalization);
1506
+ logger.debug('disable themes feature because of privacy settings');
1507
+ logger.debug('personalization not allowed, privacy settings for personalization: ' + user_consent.personalization);
1505
1508
  $("#themes_menu").hide();
1506
1509
  } else {
1507
1510
  $("#themes_menu").show();
@@ -1509,22 +1512,22 @@ var j1 = ((options) => {
1509
1512
 
1510
1513
  // detect if a loaded page has been chenged
1511
1514
  if (user_session.previous_page !== user_session.current_page) {
1512
- logText = '\n' + 'page change detected';
1515
+ logText = 'page change detected';
1513
1516
  logger.info(logText);
1514
- logText = '\n' + 'previous page: ' + user_session.previous_page;
1517
+ logText = 'previous page: ' + user_session.previous_page;
1515
1518
  logger.info(logText);
1516
- logText = '\n' + 'current page: ' + user_session.current_page;
1519
+ logText = 'current page: ' + user_session.current_page;
1517
1520
  logger.info(logText);
1518
1521
  }
1519
1522
 
1520
1523
  // update sidebar for changed theme data
1521
- logger.info('\n' + 'update sidebar');
1524
+ logger.info('update sidebar');
1522
1525
  user_state = j1.readCookie(cookie_names.user_state);
1523
1526
 
1524
1527
  if (template_version_changed) {
1525
1528
  if (typeof template_previous_version == 'undefined') template_previous_version = 'na';
1526
- logger.warn('\n' + 'template version detected as changed');
1527
- logger.warn('\n' + 'template version previous|current: ' + template_previous_version + '|' + template_version);
1529
+ logger.warn('template version detected as changed');
1530
+ logger.warn('template version previous|current: ' + template_previous_version + '|' + template_version);
1528
1531
 
1529
1532
  // Update the user_state cookie
1530
1533
  // TODO: replace theme_version by template_version as they
@@ -1538,14 +1541,14 @@ var j1 = ((options) => {
1538
1541
  secure: secure,
1539
1542
  expires: 365
1540
1543
  });
1541
- logger.warn('\n' + 'template version updated to: ' + template_version);
1544
+ logger.warn('template version updated to: ' + template_version);
1542
1545
  } else {
1543
- logger.info('\n' + 'template version detected: ' + user_state.template_version);
1546
+ logger.info('template version detected: ' + user_state.template_version);
1544
1547
  }
1545
1548
 
1546
1549
  // set current user data
1547
1550
  current_user_data = j1.mergeData(user_session, user_state);
1548
- j1.core.navigator.updateSidebar(current_user_data);
1551
+ j1.api.navigator.updateSidebar(current_user_data);
1549
1552
 
1550
1553
  // initiate smooth scroller if page is ready and visible
1551
1554
  var dependencies_met_page_ready = setInterval (() => {
@@ -1567,13 +1570,13 @@ var j1 = ((options) => {
1567
1570
  // set|log status
1568
1571
  state = 'finished';
1569
1572
  j1.setState(state);
1570
- logText = '\n' + 'state: ' + state;
1573
+ logText = 'state: ' + state;
1571
1574
  logger.info(logText);
1572
- logText = '\n' + 'page finalized successfully';
1575
+ logText = 'page finalized successfully';
1573
1576
  logger.info(logText);
1574
1577
 
1575
1578
  endTimeModule = Date.now();
1576
- logger.info('\n' + 'page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
1579
+ logger.info('page initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
1577
1580
  }
1578
1581
  }, // END finalizePage
1579
1582
 
@@ -1681,8 +1684,8 @@ var j1 = ((options) => {
1681
1684
  // scroll only, if an anchor is given with an URL
1682
1685
  selector = $(anchor_id);
1683
1686
  if (selector.length) {
1684
- logger.info('\n' + 'scrollTo header: ' + anchor_id);
1685
- j1.core.scrollSmooth.scroll(anchor_id, {
1687
+ logger.info('scrollTo header: ' + anchor_id);
1688
+ j1.api.scrollSmooth.scroll(anchor_id, {
1686
1689
  duration: scrollDuration,
1687
1690
  offset: scrollOffset,
1688
1691
  callback: false
@@ -1696,7 +1699,7 @@ var j1 = ((options) => {
1696
1699
  $(window).scrollTop($(window).scrollTop()-1);
1697
1700
  }
1698
1701
  } else if (anchor_id === '#') {
1699
- logger.info('\n' + 'bound click event to "#", suppress default action');
1702
+ logger.info('bound click event to "#", suppress default action');
1700
1703
  $(window).scrollTop($(window).scrollTop()+1);
1701
1704
  $(window).scrollTop($(window).scrollTop()-1);
1702
1705
 
@@ -1758,7 +1761,7 @@ var j1 = ((options) => {
1758
1761
  j1.setXhrDataState(id, statusTxt);
1759
1762
  j1.setXhrDomState(id, 'pending');
1760
1763
 
1761
- logger.debug('\n' + 'data loaded successfully on id: ' +id);
1764
+ logger.debug('data loaded successfully on id: ' +id);
1762
1765
 
1763
1766
  state = true;
1764
1767
  }
@@ -1766,12 +1769,12 @@ var j1 = ((options) => {
1766
1769
  // jadams, 2020-07-21: to be checked why id could be UNDEFINED
1767
1770
  if (typeof(id) != "undefined") {
1768
1771
  state = 'failed';
1769
- logger.debug('\n' + 'set state for ' +mod+ ' to: ' + state);
1772
+ logger.debug('set state for ' +mod+ ' to: ' + state);
1770
1773
  // jadams, 2020-07-21: intermediate state should DISABLED
1771
1774
  // executeFunctionByName(mod + '.setState', window, state);
1772
1775
  j1.setXhrDataState(id, statusTxt);
1773
1776
  j1.setXhrDomState(id, 'pending');
1774
- logText = '\n' + 'loading data failed on id: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1777
+ logText = 'loading data failed on id: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1775
1778
  logger.error(logText);
1776
1779
 
1777
1780
  state = false;
@@ -1793,9 +1796,9 @@ var j1 = ((options) => {
1793
1796
 
1794
1797
  // failsafe - prevent XHR load errors
1795
1798
  if (options.xhr_data_element !== '') {
1796
- logger.debug('\n' + 'XHR data element found: ' + options.xhr_data_element);
1799
+ logger.debug('XHR data element found: ' + options.xhr_data_element);
1797
1800
  } else {
1798
- logger.debug('\n' + 'no XHR data element found, loading data aborted');
1801
+ logger.debug('no XHR data element found, loading data aborted');
1799
1802
  return;
1800
1803
  }
1801
1804
 
@@ -1817,7 +1820,7 @@ var j1 = ((options) => {
1817
1820
  function mutationHandler (mutationRecords) {
1818
1821
  mutationRecords.forEach ( function (mutation) {
1819
1822
  if (mutation.addedNodes.length) {
1820
- logger.debug('\n' + 'XHR data loaded in the DOM: ' + id);
1823
+ logger.debug('XHR data loaded in the DOM: ' + id);
1821
1824
  j1.setXhrDomState(id, 'success');
1822
1825
  }
1823
1826
  });
@@ -1853,16 +1856,16 @@ var j1 = ((options) => {
1853
1856
  if ( statusTxt === 'success' ) {
1854
1857
  j1.setXhrDataState(id, statusTxt);
1855
1858
 
1856
- logText = '\n' + 'data loaded successfully for: ' +id;
1859
+ logText = 'data loaded successfully for: ' +id;
1857
1860
  logger.info(logText);
1858
1861
 
1859
1862
  state = true;
1860
1863
  }
1861
1864
  if ( statusTxt === 'error' ) {
1862
1865
  state = 'failed';
1863
- logger.info('\n' + 'set state for ' +mod+ ' to: ' + state);
1866
+ logger.info('set state for ' +mod+ ' to: ' + state);
1864
1867
  j1.setXhrDataState(id, statusTxt);
1865
- logText = '\n' + 'loading data failed for: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1868
+ logText = 'loading data failed for: ' +id+ ', error ' + xhr.status + ': ' + xhr.statusText;
1866
1869
  logger.error(logText);
1867
1870
 
1868
1871
  state = false;
@@ -2346,11 +2349,11 @@ var j1 = ((options) => {
2346
2349
  });
2347
2350
 
2348
2351
  });
2349
- logger.debug('\n' + 'met dependencies for: sidebarLoaded');
2352
+ logger.debug('met dependencies for: sidebarLoaded');
2350
2353
  clearInterval(sidebarLoaded);
2351
2354
  return true;
2352
2355
  } else {
2353
- logger.error('\n' + 'no user data provided');
2356
+ logger.error('no user data provided');
2354
2357
  clearInterval(sidebarLoaded);
2355
2358
  return false;
2356
2359
  }
@@ -2404,11 +2407,11 @@ var j1 = ((options) => {
2404
2407
  });
2405
2408
 
2406
2409
  });
2407
- logger.debug('\n' + 'met dependencies for: sidebarLoaded');
2410
+ logger.debug('met dependencies for: sidebarLoaded');
2408
2411
  clearInterval(sidebarLoaded);
2409
2412
  return true;
2410
2413
  } else {
2411
- logger.error('\n' + 'no user data provided');
2414
+ logger.error('no user data provided');
2412
2415
  clearInterval(sidebarLoaded);
2413
2416
  return false;
2414
2417
  }
@@ -2480,7 +2483,7 @@ var j1 = ((options) => {
2480
2483
  // var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
2481
2484
  // var bg_secondary = j1.getStyleValue('bg-secondary', 'background-color');
2482
2485
  //
2483
- // logger.info('\n' + 'set color scheme for selected theme');
2486
+ // logger.info('set color scheme for selected theme');
2484
2487
  //
2485
2488
  // // globals
2486
2489
  // // -----------------------------------------------------------------------
@@ -2688,15 +2691,15 @@ var j1 = ((options) => {
2688
2691
  var scrollOffsetCorrection = -93;
2689
2692
  var scrollDuration = 300;
2690
2693
 
2691
- logger.debug('\n' + 'scrollToAnchor: scroll page of type: static');
2694
+ logger.debug('scrollToAnchor: scroll page of type: static');
2692
2695
 
2693
2696
  // scroll if headingId
2694
2697
  //
2695
2698
  if (headingHash === '') {
2696
- logger.debug('\n' + 'scrollToAnchor: top position detected');
2699
+ logger.debug('scrollToAnchor: top position detected');
2697
2700
  } else {
2698
- logger.debug('\n' + 'scrollToAnchor: scroll to headline by id: ' + headingHash);
2699
- j1.core.scrollSmooth.scroll(headingHash, {
2701
+ logger.debug('scrollToAnchor: scroll to headline by id: ' + headingHash);
2702
+ j1.api.scrollSmooth.scroll(headingHash, {
2700
2703
  duration: scrollDuration,
2701
2704
  offset: scrollOffsetCorrection,
2702
2705
  callback: false
@@ -2708,7 +2711,7 @@ var j1 = ((options) => {
2708
2711
  } else if (j1['pageMonitor'].pageType === 'dynamic') {
2709
2712
  // page type dynamic
2710
2713
  setTimeout(() => {
2711
- var headingArray = j1.core.parseHeadings(); // collect all headings in page
2714
+ var headingArray = j1.api.parseHeadings(); // collect all headings in page
2712
2715
  var headingUrl = new URL(window.location.href);
2713
2716
  var headingHash = headingUrl.hash;
2714
2717
  var headingId = headingHash.replace(/#/g, '');
@@ -2722,7 +2725,7 @@ var j1 = ((options) => {
2722
2725
  // var scrollOffsetCorrection = -93;
2723
2726
  // var scrollDuration = 300;
2724
2727
 
2725
- logger.debug('\n' + 'scrollToAnchor: scroll page of type: dynamic');
2728
+ logger.debug('scrollToAnchor: scroll page of type: dynamic');
2726
2729
 
2727
2730
  // collect top position for the active headline
2728
2731
  //
@@ -2766,9 +2769,9 @@ var j1 = ((options) => {
2766
2769
  //
2767
2770
  if (headingHash === '') {
2768
2771
  headingHash = '#';
2769
- logger.debug('\n' + 'scrollToAnchor: top position detected');
2772
+ logger.debug('scrollToAnchor: top position detected');
2770
2773
  } else {
2771
- logger.debug('\n' + 'scrollToAnchor: headline|no: ' + headingHash + '|' + headlineNo);
2774
+ logger.debug('scrollToAnchor: headline|no: ' + headingHash + '|' + headlineNo);
2772
2775
 
2773
2776
  // build-in scroller
2774
2777
  //
@@ -2785,7 +2788,7 @@ var j1 = ((options) => {
2785
2788
  } else {
2786
2789
  // page type unknown (failsave fallback)
2787
2790
  setTimeout(() => {
2788
- logger.debug('\n' + 'scrollToAnchor: scroll page of type: unknown');
2791
+ logger.debug('scrollToAnchor: scroll page of type: unknown');
2789
2792
 
2790
2793
  scrollOffset = scrollOffsetCorrection - scrollOffsetBase;
2791
2794
  j1.scrollTo(scrollOffset);
@@ -2916,16 +2919,16 @@ var j1 = ((options) => {
2916
2919
  var pathname = url.replace( /^[a-zA-Z]{3,5}\:\/{2}[a-zA-Z0-9_.:-]+\//, '' );
2917
2920
 
2918
2921
  if (development && lastEntry.url !== '') {
2919
- logger.debug('\n' + 'Largest Contentful Paint (LCP), url:', pathname);
2922
+ logger.debug('Largest Contentful Paint (LCP), url:', pathname);
2920
2923
  } else {
2921
2924
  console.debug(`Largest Contentful Paint (LCP), url: ${pathname}`);
2922
2925
  }
2923
2926
 
2924
2927
  if (development) {
2925
2928
  if (lcp > 2.5) {
2926
- logger.warn('\n' + 'Largest Contentful Paint (LCP), cumulated:', lcp);
2929
+ logger.warn('Largest Contentful Paint (LCP), cumulated:', lcp);
2927
2930
  } else {
2928
- logger.info('\n' + 'Largest Contentful Paint (LCP), cumulated:', lcp);
2931
+ logger.info('Largest Contentful Paint (LCP), cumulated:', lcp);
2929
2932
  }
2930
2933
  } else {
2931
2934
  if (lcp > 2.5) {
@@ -2976,11 +2979,11 @@ var j1 = ((options) => {
2976
2979
 
2977
2980
  if (development && id !== 'missing' && id !== '' && cls > 0.01) {
2978
2981
  if (cls > 0.1) {
2979
- logger.warn('\n' + 'Cumulative Layout Shift (CLS), entry id: ', id);
2980
- logger.warn('\n' + 'Cumulative Layout Shift (CLS): ', cls);
2982
+ logger.warn('Cumulative Layout Shift (CLS), entry id: ', id);
2983
+ logger.warn('Cumulative Layout Shift (CLS): ', cls);
2981
2984
  } else {
2982
- logger.info('\n' + 'Cumulative Layout Shift (CLS), entry id: ', id);
2983
- logger.info('\n' + 'Cumulative Layout Shift (CLS): ', cls);
2985
+ logger.info('Cumulative Layout Shift (CLS), entry id: ', id);
2986
+ logger.info('Cumulative Layout Shift (CLS): ', cls);
2984
2987
  }
2985
2988
  }
2986
2989
  } // END if typeof
@@ -3083,8 +3086,8 @@ var j1 = ((options) => {
3083
3086
  j1['pageMonitor'].pageType = 'dynamic';
3084
3087
 
3085
3088
  if (development) {
3086
- logger.debug('\n' + 'growthRatio: ' + j1['pageMonitor'].growthRatio + '%');
3087
- logger.debug('\n' + 'page detected as: dynamic');
3089
+ logger.debug('growthRatio: ' + j1['pageMonitor'].growthRatio + '%');
3090
+ logger.debug('page detected as: dynamic');
3088
3091
  }
3089
3092
  } else {
3090
3093
  // set the page type to 'static' if low growth detected
@@ -3092,8 +3095,8 @@ var j1 = ((options) => {
3092
3095
  if (typeof j1['pageMonitor'].growthRatio != 'undefined' && j1['pageMonitor'].growthRatio == 0) {
3093
3096
  j1['pageMonitor'].pageType = 'static';
3094
3097
  if (development) {
3095
- logger.debug('\n' + 'growthRatio: ' + j1['pageMonitor'].growthRatio + '%');
3096
- logger.debug('\n' + 'page detected as: static');
3098
+ logger.debug('growthRatio: ' + j1['pageMonitor'].growthRatio + '%');
3099
+ logger.debug('page detected as: static');
3097
3100
  }
3098
3101
  }
3099
3102
  } // END if growthRatio
@@ -3220,11 +3223,11 @@ var j1 = ((options) => {
3220
3223
  var json_message = JSON.stringify(message);
3221
3224
 
3222
3225
  if (receiver === 'j1') {
3223
- logText = '\n' + 'send message from ' + sender + ' to' + receiver + ': ' + json_message;
3226
+ logText = 'send message from ' + sender + ' to' + receiver + ': ' + json_message;
3224
3227
  logger.debug(logText);
3225
3228
  executeFunctionByName('j1' + '.messageHandler', window, sender, message);
3226
3229
  } else {
3227
- logText = '\n' + 'send message from ' + sender + ' to ' + receiver + ': ' + json_message;
3230
+ logText = 'send message from ' + sender + ' to ' + receiver + ': ' + json_message;
3228
3231
  logger.debug(logText);
3229
3232
  //executeFunctionByName('j1.' + receiver + '.messageHandler', window, sender, message)
3230
3233
  executeFunctionByName(receiver + '.messageHandler', window, sender, message);
@@ -3239,7 +3242,7 @@ var j1 = ((options) => {
3239
3242
  // var json_message = JSON.stringify(message, undefined, 2); // multiline
3240
3243
  var json_message = JSON.stringify(message);
3241
3244
 
3242
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
3245
+ logText = 'received message from ' + sender + ': ' + json_message;
3243
3246
  logger.debug(logText);
3244
3247
 
3245
3248
  // -----------------------------------------------------------------------
@@ -3247,7 +3250,7 @@ var j1 = ((options) => {
3247
3250
  // -----------------------------------------------------------------------
3248
3251
  if ( message.type === 'command' && message.action === 'module_initialized' ) {
3249
3252
  _this.setState('finished');
3250
- logger.info('\n' + message.text);
3253
+ logger.info(message.text);
3251
3254
  }
3252
3255
 
3253
3256
  //