@internetstiftelsen/styleguide 5.0.19 → 5.1.1

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 (92) hide show
  1. package/dist/app.js +71 -0
  2. package/dist/assets/js/Events.js +43 -77
  3. package/dist/assets/js/RequestError.js +16 -31
  4. package/dist/assets/js/anchorScroll.js +22 -15
  5. package/dist/assets/js/charCounter.js +100 -142
  6. package/dist/assets/js/className.js +19 -20
  7. package/dist/assets/js/conditional.js +96 -152
  8. package/dist/assets/js/debounce.js +15 -22
  9. package/dist/assets/js/el.js +108 -159
  10. package/dist/assets/js/getCookieByName.js +13 -11
  11. package/dist/assets/js/hasCookieConsent.js +30 -40
  12. package/dist/assets/js/htmlTextLength.js +12 -10
  13. package/dist/assets/js/iconToggle.js +16 -20
  14. package/dist/assets/js/nodeAdded.js +40 -53
  15. package/dist/assets/js/objToQuery.js +25 -41
  16. package/dist/assets/js/offset.js +29 -25
  17. package/dist/assets/js/ot.js +10 -13
  18. package/dist/assets/js/parallax.js +23 -23
  19. package/dist/assets/js/queryToObj.js +16 -22
  20. package/dist/assets/js/readSpeakerHandling.js +26 -28
  21. package/dist/assets/js/request.js +43 -52
  22. package/dist/assets/js/responsivePosition.js +46 -74
  23. package/dist/assets/js/stringToNode.js +11 -10
  24. package/dist/assets/js/template.js +15 -21
  25. package/dist/assets/js/textToggle.js +19 -24
  26. package/dist/assets/js/track.js +14 -12
  27. package/dist/assets/js/uid.js +10 -6
  28. package/dist/assets/js/utmGenerator.js +27 -33
  29. package/dist/assets/js/validationMessage.js +18 -25
  30. package/dist/assets/js/youtube.js +134 -170
  31. package/dist/atoms/button/Button.js +42 -55
  32. package/dist/atoms/file/file.js +25 -29
  33. package/dist/atoms/file/filePreview.js +27 -31
  34. package/dist/atoms/grid-toggle/grid-toggle.js +6 -9
  35. package/dist/atoms/height-limiter/height-limiter.js +37 -50
  36. package/dist/atoms/password-toggle/password-toggle.js +9 -11
  37. package/dist/atoms/range/range.js +32 -39
  38. package/dist/atoms/textarea/rich-text.js +221 -251
  39. package/dist/atoms/tooltip/tooltip.js +13 -17
  40. package/dist/components.js +42 -77
  41. package/dist/focusTrap.js +66 -77
  42. package/dist/molecules/alert/alert.js +15 -20
  43. package/dist/molecules/context-menu/context-menu.js +11 -16
  44. package/dist/molecules/continue-video-guide/continue-video-guide.js +90 -101
  45. package/dist/molecules/cookie-disclaimer/cookie-disclaimer.js +24 -33
  46. package/dist/molecules/form/Form.js +242 -352
  47. package/dist/molecules/form/index.js +15 -14
  48. package/dist/molecules/glider/glider-course.js +62 -75
  49. package/dist/molecules/glider/glider-hero.js +88 -101
  50. package/dist/molecules/glider/glider.js +49 -45
  51. package/dist/molecules/modal/modal.js +256 -325
  52. package/dist/molecules/multi-select/multi-select.js +198 -304
  53. package/dist/molecules/natural-language-form/natural-language-form.js +32 -46
  54. package/dist/molecules/overview-navigation/overview-navigation.js +90 -141
  55. package/dist/molecules/share/share.js +15 -20
  56. package/dist/molecules/system-error/system-error.js +6 -9
  57. package/dist/organisms/accordion/accordion.js +44 -50
  58. package/dist/organisms/footer/footer.js +1 -1
  59. package/dist/organisms/haveibeenpwned/haveibeenpwned.js +17 -16
  60. package/dist/organisms/mailchimp/mailchimp.js +72 -89
  61. package/dist/organisms/map-box/map-box.js +3 -4
  62. package/dist/organisms/mega-menu/mega-menu.js +177 -212
  63. package/dist/organisms/podcast/podcast.js +192 -215
  64. package/dist/organisms/schedule/schedule-filter.js +9 -15
  65. package/dist/organisms/tabs/tabs.js +194 -253
  66. package/dist/organisms/timeline/openTimelineItem.js +38 -51
  67. package/dist/organisms/timeline/timeline.js +111 -128
  68. package/dist/organisms/video-guide/VideoGuidePlayback.js +210 -286
  69. package/dist/organisms/video-guide/VideoGuideSubtitles.js +57 -80
  70. package/dist/organisms/video-guide/VideoGuideTimeline.js +74 -108
  71. package/dist/organisms/video-guide/getCurrentCueIndex.js +11 -9
  72. package/dist/organisms/video-guide/video-guide.js +66 -103
  73. package/dist/utilities/tab-highlighting/tab-highlighting.js +14 -22
  74. package/dist/vendor/toggle/a11y.toggle-switcher.js +10 -16
  75. package/package.json +78 -99
  76. package/src/app.js +5 -5
  77. package/src/assets/js/anchorScroll.js +1 -1
  78. package/src/assets/js/offset.js +1 -1
  79. package/src/atoms/button/Button.js +1 -1
  80. package/src/atoms/icon/richtext-ordered-list.svg +1 -1
  81. package/src/atoms/icon/sprite.svg +6 -5
  82. package/src/molecules/glider/glider-course.js +0 -2
  83. package/src/molecules/glider/glider.js +2 -2
  84. package/src/organisms/accordion/accordion.js +1 -2
  85. package/src/organisms/timeline/timeline.js +2 -3
  86. package/dist/atoms/timeline/anchorScroll.js +0 -13
  87. package/dist/atoms/toggle-high-contrast/toggle-high-contrast.js +0 -12
  88. package/dist/molecules/glider/glider-single.js +0 -68
  89. package/dist/molecules/modal/modal-graph.js +0 -40
  90. package/dist/molecules/timeline-navigation/timeline-navigation.js +0 -34
  91. /package/src/atoms/icon/{heading-3.svg → richtext-heading-3.svg} +0 -0
  92. /package/src/molecules/alert/{_alert.scss → alert.scss} +0 -0
@@ -1,142 +1,125 @@
1
- 'use strict';
2
-
3
- require('../../assets/js/parallax');
4
-
5
- var _require = require('../../assets/js/offset'),
6
- offsetTop = _require.offsetTop,
7
- offsetBottom = _require.offsetBottom,
8
- offsetLeft = _require.offsetLeft;
9
-
10
- var dataLayer = window._mtm || [];
11
- var progressBar = document.querySelector('.js-progress-bar');
12
- var decadeContainer = document.querySelector('.js-decade-container');
13
- var decadeSections = document.querySelectorAll('.js-timeline-decade');
14
- var firstDecade = document.querySelector('h2.godzilla');
15
- var decades = document.querySelectorAll('h2.godzilla');
16
- var triggerPoint = 0;
17
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ require("../../assets/js/parallax");
6
+ const _offset = /*#__PURE__*/ _interop_require_default(require("../../assets/js/offset"));
7
+ function _interop_require_default(obj) {
8
+ return obj && obj.__esModule ? obj : {
9
+ default: obj
10
+ };
11
+ }
12
+ const { offsetTop, offsetBottom, offsetLeft } = _offset.default;
13
+ const dataLayer = window._mtm || [];
14
+ const progressBar = document.querySelector('.js-progress-bar');
15
+ const decadeContainer = document.querySelector('.js-decade-container');
16
+ const decadeSections = document.querySelectorAll('.js-timeline-decade');
17
+ const firstDecade = document.querySelector('h2.godzilla');
18
+ const decades = document.querySelectorAll('h2.godzilla');
19
+ let triggerPoint = 0;
18
20
  // Create decade links in timeline
19
21
  function buildTimelineNavigation() {
20
- [].forEach.call(decades, function (decade) {
21
- var decadeLink = document.createElement('a');
22
- var textContent = decade.textContent;
23
-
24
- decadeLink.setAttribute('href', '#' + textContent);
25
- decadeLink.innerText = textContent;
26
- decadeContainer.appendChild(decadeLink);
27
- });
22
+ [].forEach.call(decades, (decade)=>{
23
+ const decadeLink = document.createElement('a');
24
+ const { textContent } = decade;
25
+ decadeLink.setAttribute('href', `#${textContent}`);
26
+ decadeLink.innerText = textContent;
27
+ decadeContainer.appendChild(decadeLink);
28
+ });
28
29
  }
29
-
30
30
  /* Set trigger point (vertical position in viewport)
31
- for when a new decade should start being "active" */
32
- function setTriggerPoint() {
33
- triggerPoint = window.innerHeight * 0.5;
31
+ for when a new decade should start being "active" */ function setTriggerPoint() {
32
+ triggerPoint = window.innerHeight * 0.5;
34
33
  }
35
-
36
34
  // Animate progress bar when user is scolling within the timeline
37
35
  function animateProgressBar() {
38
- var currentSection = 0;
39
- var sectionIndex = 0;
40
- var currentPosition = document.documentElement.scrollTop + triggerPoint;
41
- var decadeLinks = document.querySelectorAll('.js-decade-container a');
42
- var progressBarWidth = 0;
43
-
44
- // Check if we are above the first section
45
- if (currentPosition < offsetTop(firstDecade)) {
46
- currentSection = 0;
47
- progressBarWidth = 0;
48
- progressBar.style.width = '0';
49
-
50
- [].forEach.call(decadeLinks, function (decadeLink) {
51
- decadeLink.classList.remove('is-reading');
52
- });
53
- } else {
54
- // Otherwise add 1 to sectionIndex while scrolling;
55
- [].forEach.call(decades, function (decade) {
56
- var sectionTop = offsetTop(decade);
57
-
58
- if (currentPosition >= sectionTop) {
59
- currentSection = sectionIndex;
60
-
61
- [].forEach.call(decadeLinks, function (decadeLink) {
62
- decadeLink.classList.remove('is-reading');
63
- });
64
-
65
- decadeLinks[sectionIndex].classList.add('is-reading');
66
- }
67
-
68
- sectionIndex += 1;
69
- });
70
- }
71
-
72
- // Calculate speed of the progressBar width while scrolling based on section height
73
- var startPoint = decadeLinks[currentSection];
74
- var startPointX = offsetLeft(startPoint);
75
- var startPointWidth = startPoint.offsetWidth;
76
- var startSection = decadeSections[currentSection];
77
- var startSectionY = offsetTop(startSection);
78
- var endSectionY = offsetBottom(startSection);
79
- var sectionLength = endSectionY - startSectionY;
80
- var scrollY = currentPosition - startSectionY;
81
- var sectionProgress = scrollY / sectionLength;
82
- progressBarWidth = startPointX + startPointWidth * sectionProgress;
83
-
84
- // Use result to animate progressbar
85
- progressBar.style.width = progressBarWidth + 'px';
36
+ let currentSection = 0;
37
+ let sectionIndex = 0;
38
+ const currentPosition = document.documentElement.scrollTop + triggerPoint;
39
+ const decadeLinks = document.querySelectorAll('.js-decade-container a');
40
+ let progressBarWidth = 0;
41
+ // Check if we are above the first section
42
+ if (currentPosition < offsetTop(firstDecade)) {
43
+ currentSection = 0;
44
+ progressBarWidth = 0;
45
+ progressBar.style.width = '0';
46
+ [].forEach.call(decadeLinks, (decadeLink)=>{
47
+ decadeLink.classList.remove('is-reading');
48
+ });
49
+ } else {
50
+ // Otherwise add 1 to sectionIndex while scrolling;
51
+ [].forEach.call(decades, (decade)=>{
52
+ const sectionTop = offsetTop(decade);
53
+ if (currentPosition >= sectionTop) {
54
+ currentSection = sectionIndex;
55
+ [].forEach.call(decadeLinks, (decadeLink)=>{
56
+ decadeLink.classList.remove('is-reading');
57
+ });
58
+ decadeLinks[sectionIndex].classList.add('is-reading');
59
+ }
60
+ sectionIndex += 1;
61
+ });
62
+ }
63
+ // Calculate speed of the progressBar width while scrolling based on section height
64
+ const startPoint = decadeLinks[currentSection];
65
+ const startPointX = offsetLeft(startPoint);
66
+ const startPointWidth = startPoint.offsetWidth;
67
+ const startSection = decadeSections[currentSection];
68
+ const startSectionY = offsetTop(startSection);
69
+ const endSectionY = offsetBottom(startSection);
70
+ const sectionLength = endSectionY - startSectionY;
71
+ const scrollY = currentPosition - startSectionY;
72
+ const sectionProgress = scrollY / sectionLength;
73
+ progressBarWidth = startPointX + startPointWidth * sectionProgress;
74
+ // Use result to animate progressbar
75
+ progressBar.style.width = `${progressBarWidth}px`;
86
76
  }
87
-
88
77
  function isInViewport(element) {
89
- var top = element.offsetTop;
90
- var height = element.offsetHeight;
91
-
92
- while (element.offsetParent) {
93
- // eslint-disable-next-line no-param-reassign
94
- element = element.offsetParent;
95
- top += element.offsetTop;
96
- }
97
-
98
- return top < window.scrollY + window.innerHeight && top + height / 4 > window.scrollY;
78
+ let top = element.offsetTop;
79
+ const height = element.offsetHeight;
80
+ while(element.offsetParent){
81
+ // eslint-disable-next-line no-param-reassign
82
+ element = element.offsetParent;
83
+ top += element.offsetTop;
84
+ }
85
+ return top < window.scrollY + window.innerHeight && top + height / 4 > window.scrollY;
99
86
  }
100
-
101
87
  function decadeIsVisible() {
102
- [].forEach.call(decadeSections, function (decadeSection) {
103
- // Don't trigger Decade Visible too fast to prevent dataLayer.push
104
- // to trigger while user is scrolled past a decade.
105
- var timeOut = 1000;
106
- var viewTimeout = setTimeout(function () {
107
- if (isInViewport(decadeSection) && !decadeSection.classList.contains('is-in-view')) {
108
- decadeSection.classList.add('is-in-view');
109
- var decadeId = decadeSection.id;
110
-
111
- dataLayer.push({
112
- event: 'timeline',
113
- eventInfo: {
114
- category: 'timeline',
115
- action: 'active_year',
116
- label: decadeId
117
- }
118
- });
119
- } else if (!isInViewport(decadeSection)) {
120
- decadeSection.classList.remove('is-in-view');
121
- clearTimeout(viewTimeout);
122
- }
123
- }, timeOut);
124
- });
88
+ [].forEach.call(decadeSections, (decadeSection)=>{
89
+ // Don't trigger Decade Visible too fast to prevent dataLayer.push
90
+ // to trigger while user is scrolled past a decade.
91
+ const timeOut = 1000;
92
+ const viewTimeout = setTimeout(()=>{
93
+ if (isInViewport(decadeSection) && !decadeSection.classList.contains('is-in-view')) {
94
+ decadeSection.classList.add('is-in-view');
95
+ const decadeId = decadeSection.id;
96
+ dataLayer.push({
97
+ event: 'timeline',
98
+ eventInfo: {
99
+ category: 'timeline',
100
+ action: 'active_year',
101
+ label: decadeId
102
+ }
103
+ });
104
+ } else if (!isInViewport(decadeSection)) {
105
+ decadeSection.classList.remove('is-in-view');
106
+ clearTimeout(viewTimeout);
107
+ }
108
+ }, timeOut);
109
+ });
125
110
  }
126
-
127
111
  // Run functions on page load
128
112
  if (progressBar) {
129
- buildTimelineNavigation();
130
- setTriggerPoint();
131
- animateProgressBar();
132
-
133
- // Re-run functions on window events
134
- window.addEventListener('resize', function () {
135
- setTriggerPoint();
136
- animateProgressBar();
137
- });
138
- window.addEventListener('scroll', function () {
139
- animateProgressBar();
140
- decadeIsVisible();
141
- });
142
- }
113
+ buildTimelineNavigation();
114
+ setTriggerPoint();
115
+ animateProgressBar();
116
+ // Re-run functions on window events
117
+ window.addEventListener('resize', ()=>{
118
+ setTriggerPoint();
119
+ animateProgressBar();
120
+ });
121
+ window.addEventListener('scroll', ()=>{
122
+ animateProgressBar();
123
+ decadeIsVisible();
124
+ });
125
+ }