@internetstiftelsen/styleguide 5.0.18 → 5.1.0

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 +223 -205
  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,245 +1,222 @@
1
- 'use strict';
2
-
3
- var namespace = void 0;
4
- var namespaceElement = document.querySelector('#site');
5
- var podCast = document.querySelector('.js-podcast');
6
- var audio = document.getElementById('podcastPlayer');
7
- var jsTrackList = document.querySelector('.js-track-list');
8
- var title = document.querySelector('.js-title');
9
- var description = document.querySelector('.js-description');
10
- var image = document.querySelector('.js-image');
11
- var progress = document.querySelector('.js-progress');
12
- var durationElement = document.querySelector('.js-duration');
13
- var timeleftElement = document.querySelector('.js-timeleft');
14
- var stepForward = document.querySelector('.js-step-forward');
15
- var stepBackward = document.querySelector('.js-step-backward');
16
- var playButton = document.querySelector('.js-play-button');
17
- var playIcon = document.querySelector('.js-play-icon');
18
- var pauseIcon = document.querySelector('.js-pause-icon');
19
- var closeButton = document.querySelector('.js-close-player');
20
- var rssURL = '';
21
-
1
+ "use strict";
2
+ let namespace;
3
+ const namespaceElement = document.querySelector('#site');
4
+ const podCast = document.querySelector('.js-podcast');
5
+ const audio = document.getElementById('podcastPlayer');
6
+ const jsTrackList = document.querySelector('.js-track-list');
7
+ const title = document.querySelector('.js-title');
8
+ const description = document.querySelector('.js-description');
9
+ const image = document.querySelector('.js-image');
10
+ const progress = document.querySelector('.js-progress');
11
+ const durationElement = document.querySelector('.js-duration');
12
+ const timeleftElement = document.querySelector('.js-timeleft');
13
+ const stepForward = document.querySelector('.js-step-forward');
14
+ const stepBackward = document.querySelector('.js-step-backward');
15
+ const playButton = document.querySelector('.js-play-button');
16
+ const playIcon = document.querySelector('.js-play-icon');
17
+ const pauseIcon = document.querySelector('.js-pause-icon');
18
+ const closeButton = document.querySelector('.js-close-player');
19
+ let rssURL = '';
22
20
  if (podCast) {
23
- rssURL = podCast.dataset.rss;
21
+ rssURL = podCast.dataset.rss;
24
22
  }
25
-
26
23
  if (!namespaceElement) {
27
- namespace = '';
24
+ namespace = '';
28
25
  } else {
29
- namespace = namespaceElement.dataset.namespace;
26
+ namespace = namespaceElement.dataset.namespace;
30
27
  }
31
-
32
28
  function timeupdate() {
33
- audio.addEventListener('timeupdate', function () {
34
- var duration = parseInt(audio.duration, 10);
35
- var currentTime = parseInt(audio.currentTime, 10);
36
- var timeLeft = duration - currentTime;
37
- var s = void 0;var m = void 0;
38
-
39
- s = timeLeft % 60;
40
- m = Math.floor(timeLeft / 60) % 60;
41
-
42
- s = s < 10 ? '0' + s : s;
43
- m = m < 10 ? '0' + m : m;
44
-
45
- if (timeLeft > 0) {
46
- timeleftElement.classList.remove('u-visibility-hidden');
47
- timeleftElement.innerHTML = m + ':' + s;
48
- }
49
- }, false);
29
+ audio.addEventListener('timeupdate', ()=>{
30
+ const duration = parseInt(audio.duration, 10);
31
+ const currentTime = parseInt(audio.currentTime, 10);
32
+ const timeLeft = duration - currentTime;
33
+ let s;
34
+ let m;
35
+ s = timeLeft % 60;
36
+ m = Math.floor(timeLeft / 60) % 60;
37
+ s = s < 10 ? `0${s}` : s;
38
+ m = m < 10 ? `0${m}` : m;
39
+ if (timeLeft > 0) {
40
+ timeleftElement.classList.remove('u-visibility-hidden');
41
+ timeleftElement.innerHTML = `${m}:${s}`;
42
+ }
43
+ }, false);
50
44
  }
51
-
52
- var html = '';
53
-
45
+ let html = '';
54
46
  function getItems(el) {
55
- html += '\n\t<li>\n\t\t<button\n\t\t\tclass="' + namespace + 'o-podcast-player__button display-flex js-play-episode"\n\t\t\tdata-src="' + el.querySelector('enclosure').getAttribute('url') + '"\n\t\t\tdata-title="' + el.querySelector('title').innerHTML + '"\n\t\t\tdata-description="' + el.querySelector('description').innerHTML.replace(/(<([^>]+)>)/gi, '').replace('<![CDATA[', '').replace(']]>', '') + '"\n\t\t\tdata-image="' + el.querySelector('image').getAttribute('href') + '"\n\t\t\tdata-duration="' + el.querySelector('duration').innerHTML + '"\n\t\t\ttype="button"><svg class="icon ' + namespace + 'o-podcast-player__play-icon u-m-r-2"><use xlink:href="#icon-play"></use></svg></div><div class="u-visuallyhidden">Spela avsnittet ' + el.querySelector('title').innerHTML + '</div></button>\n\t\t<div class="' + namespace + 'o-podcast-player__show-info">\n\t\t\t<div class="' + namespace + 'o-podcast-player__title">' + el.querySelector('title').innerHTML + '</div>\n\t\t\t<div class="' + namespace + 'o-podcast-player__description js-description">' + el.querySelector('description').innerHTML + '</div>\n\t\t</div>\n\t</li>\n';
56
-
57
- if (jsTrackList) {
58
- jsTrackList.innerHTML = html;
59
- }
47
+ html += `
48
+ <li>
49
+ <button
50
+ class="${namespace}o-podcast-player__button display-flex js-play-episode"
51
+ data-src="${el.querySelector('enclosure').getAttribute('url')}"
52
+ data-title="${el.querySelector('title').innerHTML}"
53
+ data-description="${el.querySelector('description').innerHTML.replace(/(<([^>]+)>)/gi, '').replace('<![CDATA[', '').replace(']]>', '')}"
54
+ data-image="${el.querySelector('image').getAttribute('href')}"
55
+ data-duration="${el.querySelector('duration').innerHTML}"
56
+ type="button"><svg class="icon ${namespace}o-podcast-player__play-icon u-m-r-2"><use xlink:href="#icon-play"></use></svg></div><div class="u-visuallyhidden">Spela avsnittet ${el.querySelector('title').innerHTML}</div></button>
57
+ <div class="${namespace}o-podcast-player__show-info">
58
+ <div class="${namespace}o-podcast-player__title">${el.querySelector('title').innerHTML}</div>
59
+ <div class="${namespace}o-podcast-player__description js-description">${el.querySelector('description').innerHTML}</div>
60
+ </div>
61
+ </li>
62
+ `;
63
+ if (jsTrackList) {
64
+ jsTrackList.innerHTML = html;
65
+ }
60
66
  }
61
-
62
67
  if (rssURL) {
63
- fetch(rssURL).then(function (response) {
64
- return response.text();
65
- }).then(function (str) {
66
- return new window.DOMParser().parseFromString(str, 'text/xml');
67
- }).then(function (data) {
68
- var items = data.querySelectorAll('item');
69
-
70
- items.forEach(getItems);
71
- });
68
+ fetch(rssURL).then((response)=>response.text()).then((str)=>new window.DOMParser().parseFromString(str, 'text/xml')).then((data)=>{
69
+ const items = data.querySelectorAll('item');
70
+ items.forEach(getItems);
71
+ });
72
72
  }
73
-
74
73
  function playEpisode(playBtn) {
75
- audio.src = playBtn.dataset.src;
76
- durationElement.innerHTML = playBtn.dataset.duration;
77
- title.innerHTML = playBtn.dataset.title;
78
- description.innerHTML = playBtn.dataset.description;
79
- image.src = playBtn.dataset.image;
80
- podCast.classList.remove(namespace + 'o-podcast-player--hidden');
81
- timeleftElement.classList.add('u-visibility-hidden');
82
-
83
- if (audio.play) {
84
- audio.pause();
85
- pauseIcon.classList.remove('is-hidden');
86
- playIcon.classList.add('is-hidden');
87
-
88
- audio.currentTime = 0;
89
- }
90
-
91
- audio.play();
92
- timeupdate();
93
-
94
- setTimeout(function () {
95
- timeleftElement.classList.remove('u-visibility-hidden');
96
- }, 1000);
74
+ audio.src = playBtn.dataset.src;
75
+ durationElement.innerHTML = playBtn.dataset.duration;
76
+ title.innerHTML = playBtn.dataset.title;
77
+ description.innerHTML = playBtn.dataset.description;
78
+ image.src = playBtn.dataset.image;
79
+ podCast.classList.remove(`${namespace}o-podcast-player--hidden`);
80
+ timeleftElement.classList.add('u-visibility-hidden');
81
+ if (audio.play) {
82
+ audio.pause();
83
+ pauseIcon.classList.remove('is-hidden');
84
+ playIcon.classList.add('is-hidden');
85
+ audio.currentTime = 0;
86
+ }
87
+ audio.play();
88
+ timeupdate();
89
+ setTimeout(()=>{
90
+ timeleftElement.classList.remove('u-visibility-hidden');
91
+ }, 1000);
97
92
  }
98
-
99
- document.body.addEventListener('click', function (e) {
100
- var playBtn = e.target.closest('.js-play-episode');
101
- if (playBtn) {
102
- e.preventDefault();
103
-
104
- // Clear old episodedata
105
- audio.currentTime = 0;
106
- timeupdate();
107
- audio.pause();
108
- sessionStorage.removeItem('episodeData');
109
-
110
- // Play new episode
111
- playEpisode(playBtn);
112
- }
93
+ document.body.addEventListener('click', (e)=>{
94
+ const playBtn = e.target.closest('.js-play-episode');
95
+ if (playBtn) {
96
+ e.preventDefault();
97
+ // Clear old episodedata
98
+ audio.currentTime = 0;
99
+ timeupdate();
100
+ audio.pause();
101
+ sessionStorage.removeItem('episodeData');
102
+ // Play new episode
103
+ playEpisode(playBtn);
104
+ }
113
105
  });
114
-
115
106
  if (playButton) {
116
- playButton.addEventListener('click', function () {
117
- if (audio.paused) {
118
- audio.muted = false;
119
- audio.play();
120
- pauseIcon.classList.remove('is-hidden');
121
- playIcon.classList.add('is-hidden');
122
- timeleftElement.classList.add('u-visibility-hidden');
123
- timeupdate();
124
- timeleftElement.classList.remove('u-visibility-hidden');
125
- } else {
126
- audio.pause();
127
- pauseIcon.classList.add('is-hidden');
128
- playIcon.classList.remove('is-hidden');
129
- }
130
- });
107
+ playButton.addEventListener('click', ()=>{
108
+ if (audio.paused) {
109
+ audio.muted = false;
110
+ audio.play();
111
+ pauseIcon.classList.remove('is-hidden');
112
+ playIcon.classList.add('is-hidden');
113
+ timeleftElement.classList.add('u-visibility-hidden');
114
+ timeupdate();
115
+ timeleftElement.classList.remove('u-visibility-hidden');
116
+ } else {
117
+ audio.pause();
118
+ pauseIcon.classList.add('is-hidden');
119
+ playIcon.classList.remove('is-hidden');
120
+ }
121
+ });
131
122
  }
132
-
133
123
  if (audio) {
134
- audio.onended = function () {
135
- pauseIcon.classList.add('is-hidden');
136
- playIcon.classList.remove('is-hidden');
137
- timeleftElement.classList.add('u-visibility-hidden');
138
- };
139
-
140
- audio.ontimeupdate = function () {
141
- var timer = audio.currentTime / audio.duration * 100 + '%';
142
- progress.style.width = timer;
143
- };
124
+ audio.onended = ()=>{
125
+ pauseIcon.classList.add('is-hidden');
126
+ playIcon.classList.remove('is-hidden');
127
+ timeleftElement.classList.add('u-visibility-hidden');
128
+ };
129
+ audio.ontimeupdate = ()=>{
130
+ const timer = `${audio.currentTime / audio.duration * 100}%`;
131
+ progress.style.width = timer;
132
+ };
144
133
  }
145
-
146
134
  if (stepForward) {
147
- stepForward.addEventListener('click', function () {
148
- audio.currentTime += 60;
149
- timeupdate();
150
- });
135
+ stepForward.addEventListener('click', ()=>{
136
+ audio.currentTime += 60;
137
+ timeupdate();
138
+ });
151
139
  }
152
-
153
140
  if (stepBackward) {
154
- stepBackward.addEventListener('click', function () {
155
- audio.currentTime -= 15;
156
- timeupdate();
157
- });
141
+ stepBackward.addEventListener('click', ()=>{
142
+ audio.currentTime -= 15;
143
+ timeupdate();
144
+ });
158
145
  }
159
-
160
146
  function saveState() {
161
- var podcastData = {
162
- podCastTitle: title.innerHTML,
163
- episodeDescription: description.innerHTML,
164
- episodeSrc: audio.src,
165
- episodeCurrentTime: audio.currentTime,
166
- episodeDuration: durationElement.innerHTML,
167
- episodeImage: image.src
168
- };
169
-
170
- sessionStorage.setItem('episodeData', JSON.stringify(podcastData));
171
-
172
- if (!audio.paused) {
173
- var existing = sessionStorage.getItem('episodeData');
174
- existing = existing ? JSON.parse(existing) : {};
175
- existing.podcastWasPlaying = true;
176
- sessionStorage.setItem('episodeData', JSON.stringify(existing));
177
- } else {
178
- var _existing = sessionStorage.getItem('episodeData');
179
- _existing = _existing ? JSON.parse(_existing) : {};
180
- _existing.podcastWasPlaying = false;
181
- sessionStorage.setItem('episodeData', JSON.stringify(_existing));
182
- }
147
+ const podcastData = {
148
+ podCastTitle: title.innerHTML,
149
+ episodeDescription: description.innerHTML,
150
+ episodeSrc: audio.src,
151
+ episodeCurrentTime: audio.currentTime,
152
+ episodeDuration: durationElement.innerHTML,
153
+ episodeImage: image.src
154
+ };
155
+ sessionStorage.setItem('episodeData', JSON.stringify(podcastData));
156
+ if (!audio.paused) {
157
+ let existing = sessionStorage.getItem('episodeData');
158
+ existing = existing ? JSON.parse(existing) : {};
159
+ existing.podcastWasPlaying = true;
160
+ sessionStorage.setItem('episodeData', JSON.stringify(existing));
161
+ } else {
162
+ let existing = sessionStorage.getItem('episodeData');
163
+ existing = existing ? JSON.parse(existing) : {};
164
+ existing.podcastWasPlaying = false;
165
+ sessionStorage.setItem('episodeData', JSON.stringify(existing));
166
+ }
183
167
  }
184
-
185
168
  // Handle continous play when user leaves the page
186
169
  if (podCast) {
187
- window.addEventListener('visibilitychange', saveState);
188
- window.addEventListener('beforeunload', saveState);
170
+ window.addEventListener('visibilitychange', saveState);
171
+ window.addEventListener('beforeunload', saveState);
189
172
  }
190
-
191
173
  if (sessionStorage.getItem('episodeData') && podCast) {
192
- var arr = JSON.parse(sessionStorage.getItem('episodeData'));
193
-
194
- if (arr.episodeCurrentTime) {
195
- podCast.classList.remove(namespace + 'o-podcast-player--hidden');
196
- audio.src = arr.episodeSrc;
197
- image.src = arr.episodeImage;
198
- title.innerHTML = arr.podCastTitle;
199
- description.innerHTML = arr.episodeDescription;
200
- durationElement.innerHTML = arr.episodeDuration;
201
-
202
- if (arr.podcastWasPlaying === true) {
203
- var playPromise = audio.play();
204
-
205
- if (playPromise !== undefined) {
206
- playPromise.then(function () {
207
- // Continue playing audio on reload
208
- audio.currentTime = arr.episodeCurrentTime;
209
- timeupdate();
210
- audio.play();
211
- pauseIcon.classList.remove('is-hidden');
212
- playIcon.classList.add('is-hidden');
213
- }).catch(function () {
214
- // User reloaded page manually. Cannot play audio
215
- audio.addEventListener('loadedmetadata', function () {
216
- audio.currentTime = arr.episodeCurrentTime;
217
- timeupdate();
218
- });
219
-
220
- pauseIcon.classList.add('is-hidden');
221
- playIcon.classList.remove('is-hidden');
222
- audio.pause();
223
- });
224
- }
225
- } else {
226
- audio.addEventListener('loadedmetadata', function () {
227
- audio.currentTime = arr.episodeCurrentTime;
228
- timeupdate();
229
- });
230
- pauseIcon.classList.add('is-hidden');
231
- playIcon.classList.remove('is-hidden');
232
- audio.pause();
233
- }
234
- }
174
+ const arr = JSON.parse(sessionStorage.getItem('episodeData'));
175
+ if (arr.episodeCurrentTime) {
176
+ podCast.classList.remove(`${namespace}o-podcast-player--hidden`);
177
+ audio.src = arr.episodeSrc;
178
+ image.src = arr.episodeImage;
179
+ title.innerHTML = arr.podCastTitle;
180
+ description.innerHTML = arr.episodeDescription;
181
+ durationElement.innerHTML = arr.episodeDuration;
182
+ if (arr.podcastWasPlaying === true) {
183
+ const playPromise = audio.play();
184
+ if (playPromise !== undefined) {
185
+ playPromise.then(()=>{
186
+ // Continue playing audio on reload
187
+ audio.currentTime = arr.episodeCurrentTime;
188
+ timeupdate();
189
+ audio.play();
190
+ pauseIcon.classList.remove('is-hidden');
191
+ playIcon.classList.add('is-hidden');
192
+ }).catch(()=>{
193
+ // User reloaded page manually. Cannot play audio
194
+ audio.addEventListener('loadedmetadata', ()=>{
195
+ audio.currentTime = arr.episodeCurrentTime;
196
+ timeupdate();
197
+ });
198
+ pauseIcon.classList.add('is-hidden');
199
+ playIcon.classList.remove('is-hidden');
200
+ audio.pause();
201
+ });
202
+ }
203
+ } else {
204
+ audio.addEventListener('loadedmetadata', ()=>{
205
+ audio.currentTime = arr.episodeCurrentTime;
206
+ timeupdate();
207
+ });
208
+ pauseIcon.classList.add('is-hidden');
209
+ playIcon.classList.remove('is-hidden');
210
+ audio.pause();
211
+ }
212
+ }
235
213
  }
236
-
237
214
  if (closeButton) {
238
- closeButton.addEventListener('click', function () {
239
- audio.currentTime = 0;
240
- timeupdate();
241
- audio.pause();
242
- sessionStorage.removeItem('episodeData');
243
- podCast.classList.add(namespace + 'o-podcast-player--hidden');
244
- });
245
- }
215
+ closeButton.addEventListener('click', ()=>{
216
+ audio.currentTime = 0;
217
+ timeupdate();
218
+ audio.pause();
219
+ sessionStorage.removeItem('episodeData');
220
+ podCast.classList.add(`${namespace}o-podcast-player--hidden`);
221
+ });
222
+ }
@@ -1,16 +1,10 @@
1
- 'use strict';
2
-
3
- var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
4
-
5
- var el = document.querySelector('.js-filter');
6
-
1
+ "use strict";
2
+ const el = document.querySelector('.js-filter');
7
3
  if (el) {
8
- var observer = new IntersectionObserver(function (_ref) {
9
- var _ref2 = _slicedToArray(_ref, 1),
10
- e = _ref2[0];
11
-
12
- return el.classList.toggle('is-sticky', e.intersectionRatio < 1);
13
- }, { threshold: [1] });
14
-
15
- observer.observe(el);
16
- }
4
+ const observer = new IntersectionObserver(([e])=>el.classList.toggle('is-sticky', e.intersectionRatio < 1), {
5
+ threshold: [
6
+ 1
7
+ ]
8
+ });
9
+ observer.observe(el);
10
+ }