@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,55 +1,42 @@
1
- 'use strict';
2
-
3
- var elements = document.querySelectorAll('.js-height-limit');
1
+ "use strict";
2
+ const elements = document.querySelectorAll('.js-height-limit');
4
3
  function update(innerContainer, button, height) {
5
- if (button.classList.contains('is-clicked')) {
6
- return;
7
- }
8
-
9
- if (innerContainer.offsetHeight >= height) {
10
- innerContainer.setAttribute('style', 'max-height:' + height + 'px;');
11
- innerContainer.classList.add('is-limited');
12
- button.classList.remove('is-hidden');
13
- } else {
14
- innerContainer.removeAttribute('style');
15
- innerContainer.classList.remove('is-limited');
16
- button.classList.add('is-hidden');
17
- }
4
+ if (button.classList.contains('is-clicked')) {
5
+ return;
6
+ }
7
+ if (innerContainer.offsetHeight >= height) {
8
+ innerContainer.setAttribute('style', `max-height:${height}px;`);
9
+ innerContainer.classList.add('is-limited');
10
+ button.classList.remove('is-hidden');
11
+ } else {
12
+ innerContainer.removeAttribute('style');
13
+ innerContainer.classList.remove('is-limited');
14
+ button.classList.add('is-hidden');
15
+ }
18
16
  }
19
-
20
17
  function setup(element) {
21
- var height = element.getAttribute('data-height');
22
- var innerContainer = element.querySelector('[class*="inner"]');
23
- var button = element.querySelector('.js-toggle-height');
24
- var buttonTextElement = button.querySelector('span');
25
- var buttonText = buttonTextElement.innerText;
26
- var toggleText = element.getAttribute('data-toggle-text');
27
- var topPosition = void 0;
28
-
29
- update(innerContainer, button, height);
30
-
31
- button.addEventListener('click', function () {
32
- innerContainer.classList.toggle('is-limited');
33
- innerContainer.setAttribute('style', innerContainer.style.maxHeight === height + 'px' ? 'max-height:none' : 'max-height:' + height + 'px');
34
- buttonTextElement.innerText = buttonTextElement.innerText === buttonText ? toggleText : buttonText;
35
- button.classList.toggle('is-clicked');
36
-
37
- if (!innerContainer.classList.contains('is-limited')) {
38
- topPosition = document.documentElement.scrollTop;
39
- } else {
40
- window.scroll(0, topPosition);
41
- }
42
-
43
- setTimeout(function () {
44
- return update(innerContainer, button, height);
45
- }, 1);
46
- });
47
-
48
- window.addEventListener('resize', function () {
49
- return update(innerContainer, button, height);
50
- });
18
+ const height = element.getAttribute('data-height');
19
+ const innerContainer = element.querySelector('[class*="inner"]');
20
+ const button = element.querySelector('.js-toggle-height');
21
+ const buttonTextElement = button.querySelector('span');
22
+ const buttonText = buttonTextElement.innerText;
23
+ const toggleText = element.getAttribute('data-toggle-text');
24
+ let topPosition;
25
+ update(innerContainer, button, height);
26
+ button.addEventListener('click', ()=>{
27
+ innerContainer.classList.toggle('is-limited');
28
+ innerContainer.setAttribute('style', innerContainer.style.maxHeight === `${height}px` ? 'max-height:none' : `max-height:${height}px`);
29
+ buttonTextElement.innerText = buttonTextElement.innerText === buttonText ? toggleText : buttonText;
30
+ button.classList.toggle('is-clicked');
31
+ if (!innerContainer.classList.contains('is-limited')) {
32
+ topPosition = document.documentElement.scrollTop;
33
+ } else {
34
+ window.scroll(0, topPosition);
35
+ }
36
+ setTimeout(()=>update(innerContainer, button, height), 1);
37
+ });
38
+ window.addEventListener('resize', ()=>update(innerContainer, button, height));
51
39
  }
52
-
53
40
  if (elements) {
54
- [].forEach.call(elements, setup);
55
- }
41
+ [].forEach.call(elements, setup);
42
+ }
@@ -1,12 +1,10 @@
1
- 'use strict';
2
-
3
- var elements = document.querySelectorAll('.js-toggle-input-type');
4
-
1
+ "use strict";
2
+ const elements = document.querySelectorAll('.js-toggle-input-type');
5
3
  if (elements) {
6
- [].forEach.call(elements, function (element) {
7
- element.addEventListener('click', function () {
8
- var input = element.previousElementSibling;
9
- input.type = input.type === 'password' ? 'text' : 'password';
10
- });
11
- });
12
- }
4
+ [].forEach.call(elements, (element)=>{
5
+ element.addEventListener('click', ()=>{
6
+ const input = element.previousElementSibling;
7
+ input.type = input.type === 'password' ? 'text' : 'password';
8
+ });
9
+ });
10
+ }
@@ -1,41 +1,34 @@
1
- 'use strict';
2
-
3
- var ranges = document.querySelectorAll('.js-range-wrapper');
1
+ "use strict";
2
+ const ranges = document.querySelectorAll('.js-range-wrapper');
4
3
  function setValue(range, rangeValue, rangeInput) {
5
- var val = range.value;
6
- var min = range.min ? range.min : 0;
7
- var max = range.max ? range.max : 100;
8
- var newVal = Number((val - min) * 100 / (max - min));
9
- rangeValue.innerHTML = val;
10
-
11
- if (rangeInput) {
12
- rangeInput.value = val;
13
- }
14
-
15
- // Sorta magic numbers based on size of the native UI thumb
16
- rangeValue.style.left = 'calc(' + newVal + '% + (' + (8 - newVal * 0.15) + 'px))';
4
+ const val = range.value;
5
+ const min = range.min ? range.min : 0;
6
+ const max = range.max ? range.max : 100;
7
+ const newVal = Number((val - min) * 100 / (max - min));
8
+ rangeValue.innerHTML = val;
9
+ if (rangeInput) {
10
+ rangeInput.value = val;
11
+ }
12
+ // Sorta magic numbers based on size of the native UI thumb
13
+ rangeValue.style.left = `calc(${newVal}% + (${8 - newVal * 0.15}px))`;
17
14
  }
18
-
19
- ranges.forEach(function (wrap) {
20
- var range = wrap.querySelector('.js-range');
21
- var rangeValue = wrap.querySelector('.js-range-value');
22
- var rangeInput = wrap.querySelector('.js-range-input');
23
-
24
- range.addEventListener('input', function () {
25
- setValue(range, rangeValue, rangeInput);
26
- range.focus();
27
- });
28
-
29
- if (rangeInput) {
30
- rangeInput.addEventListener('input', function () {
31
- if (rangeInput.value !== '') {
32
- range.value = rangeInput.value;
33
- rangeValue.innerHTML = rangeInput.value;
34
- setValue(range, rangeValue, rangeInput);
35
- }
36
- rangeInput.focus();
37
- });
38
- }
39
-
40
- setValue(range, rangeValue, rangeInput);
41
- });
15
+ ranges.forEach((wrap)=>{
16
+ const range = wrap.querySelector('.js-range');
17
+ const rangeValue = wrap.querySelector('.js-range-value');
18
+ const rangeInput = wrap.querySelector('.js-range-input');
19
+ range.addEventListener('input', ()=>{
20
+ setValue(range, rangeValue, rangeInput);
21
+ range.focus();
22
+ });
23
+ if (rangeInput) {
24
+ rangeInput.addEventListener('input', ()=>{
25
+ if (rangeInput.value !== '') {
26
+ range.value = rangeInput.value;
27
+ rangeValue.innerHTML = rangeInput.value;
28
+ setValue(range, rangeValue, rangeInput);
29
+ }
30
+ rangeInput.focus();
31
+ });
32
+ }
33
+ setValue(range, rangeValue, rangeInput);
34
+ });