@internetstiftelsen/styleguide 4.1.13 → 5.0.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 (248) hide show
  1. package/dist/assets/js/iconToggle.js +1 -2
  2. package/dist/assets/js/parallax.js +0 -2
  3. package/dist/assets/js/textToggle.js +0 -1
  4. package/dist/assets/js/track.js +2 -2
  5. package/dist/assets/js/youtube.js +2 -1
  6. package/dist/components.js +0 -4
  7. package/dist/molecules/glider/glider-hero.js +1 -2
  8. package/dist/molecules/modal/modal.js +2 -2
  9. package/dist/molecules/overview-navigation/overview-navigation.js +1 -2
  10. package/dist/organisms/mailchimp/mailchimp.js +2 -1
  11. package/dist/organisms/tabs/tabs.js +3 -2
  12. package/dist/organisms/timeline/timeline.js +2 -4
  13. package/package.json +23 -18
  14. package/src/app.js +1 -15
  15. package/src/app.scss +85 -88
  16. package/src/assets/js/iconToggle.js +2 -2
  17. package/src/assets/js/parallax.js +0 -2
  18. package/src/assets/js/textToggle.js +1 -1
  19. package/src/assets/js/track.js +2 -2
  20. package/src/assets/js/youtube.js +2 -1
  21. package/src/atoms/archive-link/archive-link.config.js +1 -1
  22. package/src/atoms/archive-link/archive-link.scss +24 -17
  23. package/src/atoms/button/_button.scss +216 -210
  24. package/src/atoms/checkbox/_checkbox.scss +33 -26
  25. package/src/atoms/checkbox/checkbox.config.js +1 -1
  26. package/src/atoms/file/_file.scss +23 -13
  27. package/src/atoms/file/file.config.js +1 -1
  28. package/src/atoms/grid-toggle/_grid-toggle.scss +11 -6
  29. package/src/atoms/grid-toggle/grid-toggle.config.js +1 -1
  30. package/src/atoms/height-limiter/_height-limiter.scss +21 -14
  31. package/src/atoms/height-limiter/height-limiter.config.js +1 -1
  32. package/src/atoms/hr/hr.config.js +1 -1
  33. package/src/atoms/icon/icon.config.js +2 -2
  34. package/src/atoms/input/_input.scss +23 -16
  35. package/src/atoms/input/input.config.js +1 -1
  36. package/src/atoms/label/label.config.js +1 -1
  37. package/src/atoms/label/label.scss +11 -5
  38. package/src/atoms/logotype/_logotype.scss +3 -2
  39. package/src/atoms/logotype/logotype.config.js +3 -3
  40. package/src/atoms/main-menu/_main-menu.scss +67 -60
  41. package/src/atoms/main-menu/main-menu.config.js +1 -1
  42. package/src/atoms/meta/_meta.scss +44 -33
  43. package/src/atoms/meta/meta.config.js +2 -2
  44. package/src/atoms/paging/_paging.scss +27 -21
  45. package/src/atoms/paging/paging.config.js +1 -1
  46. package/src/atoms/password-toggle/_password-toggle.scss +9 -6
  47. package/src/atoms/password-toggle/password-toggle.config.js +1 -1
  48. package/src/atoms/progress/_progress.scss +19 -11
  49. package/src/atoms/progress/progress.config.js +1 -1
  50. package/src/atoms/quote/_quote.scss +17 -10
  51. package/src/atoms/quote/quote.config.js +1 -1
  52. package/src/atoms/radiobutton/_radiobutton.scss +33 -26
  53. package/src/atoms/radiobutton/radiobutton.config.js +1 -1
  54. package/src/atoms/range/_range.scss +46 -39
  55. package/src/atoms/range/range.config.js +1 -1
  56. package/src/atoms/rating/_rating.scss +11 -4
  57. package/src/atoms/rating/rating.config.js +1 -1
  58. package/src/atoms/ribbon/_ribbon.scss +17 -10
  59. package/src/atoms/ribbon/ribbon.config.js +1 -1
  60. package/src/atoms/select/_select.scss +18 -10
  61. package/src/atoms/select/select.config.js +1 -1
  62. package/src/atoms/skip/_skip.scss +9 -6
  63. package/src/atoms/skip/skip.config.js +1 -1
  64. package/src/atoms/spinner/_spinner.scss +4 -3
  65. package/src/atoms/spinner/spinner.config.js +1 -1
  66. package/src/atoms/tag/_tag.scss +26 -19
  67. package/src/atoms/tag/tag.config.js +1 -1
  68. package/src/atoms/textarea/_textarea.scss +22 -13
  69. package/src/atoms/textarea/textarea.config.js +1 -1
  70. package/src/atoms/toggle-button/toggle-button.config.js +1 -1
  71. package/src/atoms/tooltip/_tooltip.scss +28 -21
  72. package/src/atoms/tooltip/tooltip.config.js +1 -1
  73. package/src/base/_grid.scss +4 -4
  74. package/src/base/_normalize.scss +122 -120
  75. package/src/base/fonts/_fonts.scss +1 -1
  76. package/src/brandbook/goto10/goto10.config.js +1 -1
  77. package/src/brandbook/internetstiftelsen/bildman/303/251r/bildman/303/251r.config.js +1 -1
  78. package/src/brandbook/internetstiftelsen/identitet/identitet.config.js +1 -1
  79. package/src/brandbook/internetstiftelsen/tonalitet och spr/303/245kbruk/tonalitet och spr/303/245kbruk.config.js" +1 -1
  80. package/src/components.js +0 -2
  81. package/src/configurations/_bem.scss +30 -27
  82. package/src/configurations/_config.scss +24 -23
  83. package/src/configurations/_extends.scss +38 -34
  84. package/src/configurations/_functions.scss +25 -9
  85. package/src/configurations/_mixins.scss +23 -19
  86. package/src/configurations/_recaptcha.scss +2 -2
  87. package/src/configurations/_variables.scss +40 -46
  88. package/src/configurations/_wordpress.scss +69 -62
  89. package/src/configurations/colors/_background-colors.scss +3 -2
  90. package/src/configurations/colors/_colors-functions.scss +41 -39
  91. package/src/configurations/colors/_colors.scss +4 -4
  92. package/src/configurations/colors/_text-colors.scss +3 -2
  93. package/src/configurations/colors/_wordpress-colors.scss +3 -2
  94. package/src/configurations/colors/colors.config.js +1 -1
  95. package/src/configurations/favicon/favicon.config.js +1 -1
  96. package/src/configurations/forms/_fields.scss +28 -23
  97. package/src/configurations/grid/_grid.scss +33 -28
  98. package/src/configurations/grid/grid.config.js +1 -1
  99. package/src/configurations/icons.json +1 -1
  100. package/src/configurations/typography/_typography.scss +113 -105
  101. package/src/configurations/typography/readme.md +1 -1
  102. package/src/configurations/typography/typography.config.js +1 -1
  103. package/src/globals.scss +16 -18
  104. package/src/isolated-footer.scss +25 -25
  105. package/src/molecules/alert/_alert.scss +44 -35
  106. package/src/molecules/alert/alert.config.js +1 -1
  107. package/src/molecules/breadcrumb/_breadcrumb.scss +43 -35
  108. package/src/molecules/breadcrumb/breadcrumb.config.js +1 -1
  109. package/src/molecules/byline/_byline.scss +30 -21
  110. package/src/molecules/byline/byline.config.js +1 -1
  111. package/src/molecules/card/_card.scss +87 -77
  112. package/src/molecules/context-menu/_context-menu.scss +32 -15
  113. package/src/molecules/context-menu/context-menu.config.js +11 -11
  114. package/src/molecules/continue-video-guide/continue-video-guide.config.js +1 -1
  115. package/src/molecules/continue-video-guide/continue-video-guide.scss +37 -28
  116. package/src/molecules/cookie-disclaimer/cookie-disclaimer.config.js +1 -1
  117. package/src/molecules/cookie-disclaimer/cookie-disclaimer.scss +32 -23
  118. package/src/molecules/download/_download.scss +38 -30
  119. package/src/molecules/download/download.config.js +1 -1
  120. package/src/molecules/form/form.config.js +1 -1
  121. package/src/molecules/form-control/_form-control.scss +66 -58
  122. package/src/molecules/form-control/form-control.config.js +1 -1
  123. package/src/molecules/glider/_glider-course.scss +29 -23
  124. package/src/molecules/glider/_glider-hero.scss +112 -104
  125. package/src/molecules/glider/_glider.scss +36 -30
  126. package/src/molecules/glider/glider-hero.js +1 -3
  127. package/src/molecules/glider/glider.config.js +1 -1
  128. package/src/molecules/icon-overlay/_icon-overlay.scss +29 -20
  129. package/src/molecules/icon-overlay/icon-overlay.config.js +1 -1
  130. package/src/molecules/info-box/_info-box.scss +31 -22
  131. package/src/molecules/info-box/info-box.config.js +1 -1
  132. package/src/molecules/input-group/_input-group.scss +23 -13
  133. package/src/molecules/input-group/input-group.config.js +1 -1
  134. package/src/molecules/modal/_modal.scss +77 -65
  135. package/src/molecules/modal/modal.js +2 -2
  136. package/src/molecules/multi-select/_multi-select.scss +44 -33
  137. package/src/molecules/multi-select/multi-select.js +3 -3
  138. package/src/molecules/natural-language-form/_natural-language-form.scss +33 -23
  139. package/src/molecules/natural-language-form/natural-language-form.config.js +4 -4
  140. package/src/molecules/overview-navigation/_overview-navigation.scss +54 -45
  141. package/src/molecules/overview-navigation/overview-navigation.js +2 -2
  142. package/src/molecules/readspeaker/_readspeaker.scss +1 -1
  143. package/src/molecules/share/_share.scss +23 -15
  144. package/src/molecules/share/share.config.js +1 -1
  145. package/src/molecules/submenu/_submenu.scss +77 -69
  146. package/src/molecules/submenu/submenu.config.js +1 -1
  147. package/src/molecules/system-error/_system-error.scss +26 -17
  148. package/src/molecules/system-error/system-error.config.js +1 -1
  149. package/src/molecules/table/_table.scss +50 -42
  150. package/src/molecules/table/table.config.js +1 -1
  151. package/src/molecules/teaser-news-list/_teaser-news-list.scss +21 -12
  152. package/src/molecules/teaser-news-list/teaser-news-list.config.js +1 -1
  153. package/src/organisms/accordion/_accordion.scss +64 -54
  154. package/src/organisms/accordion/accordion.config.js +1 -1
  155. package/src/organisms/domain-search/_domain-search.scss +54 -45
  156. package/src/organisms/domain-search/domain-search.config.js +1 -1
  157. package/src/organisms/event-listing-item/_event-listing-item.scss +36 -26
  158. package/src/organisms/features-box/_features-box.scss +30 -19
  159. package/src/organisms/filter/_filter.scss +15 -10
  160. package/src/organisms/filter/filter.config.js +1 -1
  161. package/src/organisms/footer/_footer.scss +121 -111
  162. package/src/organisms/footer/footer.config.js +1 -1
  163. package/src/organisms/header/_header.scss +24 -14
  164. package/src/organisms/header/header.config.js +1 -1
  165. package/src/organisms/hero/_hero--bbk.scss +50 -38
  166. package/src/organisms/hero/_hero--dynamic-headline.scss +49 -39
  167. package/src/organisms/hero/_hero.scss +222 -207
  168. package/src/organisms/hero/hero.config.js +37 -38
  169. package/src/organisms/mailchimp/_mailchimp.scss +53 -43
  170. package/src/organisms/mailchimp/mailchimp.config.js +1 -1
  171. package/src/organisms/mailchimp/mailchimp.js +2 -1
  172. package/src/organisms/mega-menu/_mega-menu.scss +55 -45
  173. package/src/organisms/mega-menu/mega-menu.config.js +1 -1
  174. package/src/organisms/members-service-product/_members-service-product.scss +29 -18
  175. package/src/organisms/members-service-product/members-service-product.config.js +6 -8
  176. package/src/organisms/podcast/_podcast-episodes.scss +85 -75
  177. package/src/organisms/podcast/_podcast-player.scss +73 -64
  178. package/src/organisms/podcast/podcast.config.js +1 -1
  179. package/src/organisms/schedule/_schedule.scss +92 -82
  180. package/src/organisms/search/_search.scss +68 -58
  181. package/src/organisms/search-result/_search-result.scss +50 -40
  182. package/src/organisms/search-result/search-result.config.js +1 -1
  183. package/src/organisms/sections/_sections.scss +41 -31
  184. package/src/organisms/sections/sections.config.js +1 -1
  185. package/src/organisms/tabs/_tabs.scss +58 -46
  186. package/src/organisms/tabs/tabs.config.js +1 -1
  187. package/src/organisms/tabs/tabs.js +3 -2
  188. package/src/organisms/timeline/_timeline.scss +92 -81
  189. package/src/organisms/timeline/timeline.config.js +1 -1
  190. package/src/organisms/timeline/timeline.js +3 -2
  191. package/src/organisms/video-guide/VideoGuidePlayback.js +1 -1
  192. package/src/organisms/video-guide/_video-guide.scss +148 -138
  193. package/src/organisms/video-guide/video-guide.config.js +1 -1
  194. package/src/organisms/video-guide/video-guide.js +2 -2
  195. package/src/pages/animate-footer/animate-footer.config.js +181 -2
  196. package/src/pages/bredbandskollen/bredbandskollen.config.js +1 -1
  197. package/src/pages/conditional/conditional.config.js +1 -1
  198. package/src/pages/dark-mode/dark-mode.config.js +1 -1
  199. package/src/pages/internetguider/internetguider.config.js +1 -1
  200. package/src/pages/magazine/magazine.config.js +1 -1
  201. package/src/pages/mailchimp-newsletter/mailchimp-newsletter.config.js +1 -1
  202. package/src/pages/responsive-position/responsive-position.config.js +1 -1
  203. package/src/pages/search/search.config.js +1 -1
  204. package/src/pages/wordpress-blocks/wordpress-blocks.config.js +1 -1
  205. package/src/print.scss +1 -1
  206. package/src/structures/_article.scss +39 -28
  207. package/src/structures/_core-values.scss +14 -2
  208. package/src/structures/_manifest.scss +4 -4
  209. package/src/structures/_section.scss +32 -20
  210. package/src/structures/_site.scss +19 -7
  211. package/src/theme/_dark-mode.scss +14 -13
  212. package/src/theme/_theme.scss +29 -26
  213. package/src/utilities/_align.scss +1 -1
  214. package/src/utilities/_border.scss +5 -3
  215. package/src/utilities/_box-shadow.scss +5 -2
  216. package/src/utilities/_display.scss +1 -1
  217. package/src/utilities/_fill.scss +5 -4
  218. package/src/utilities/_flex.scss +1 -1
  219. package/src/utilities/_font-size.scss +6 -5
  220. package/src/utilities/_fonts.scss +6 -5
  221. package/src/utilities/_gutter.scss +3 -2
  222. package/src/utilities/_hide.scss +17 -15
  223. package/src/utilities/_icons.scss +41 -37
  224. package/src/utilities/_indent.scss +8 -6
  225. package/src/utilities/_links.scss +22 -18
  226. package/src/utilities/_lists.scss +19 -14
  227. package/src/utilities/_manifest.scss +27 -27
  228. package/src/utilities/_margin.scss +28 -25
  229. package/src/utilities/_misc.scss +3 -2
  230. package/src/utilities/_padding.scss +26 -23
  231. package/src/utilities/_position.scss +3 -2
  232. package/src/utilities/_show.scss +7 -6
  233. package/src/utilities/_text.scss +1 -1
  234. package/src/utilities/_vertical-align.scss +1 -1
  235. package/src/utilities/_wrap.scss +1 -1
  236. package/src/utilities/_z-index.scss +7 -6
  237. package/src/utilities/tab-highlighting/_tab-highlighting.scss +6 -5
  238. package/src/vendor/baseline/_plumber.scss +14 -13
  239. package/src/vendor/grid/_breakpoints.scss +17 -13
  240. package/src/vendor/grid/_flex.scss +8 -4
  241. package/src/vendor/grid/_functions.scss +9 -6
  242. package/src/vendor/grid/_grid-framework.scss +14 -9
  243. package/src/vendor/grid/_grid.scss +19 -16
  244. package/src/vendor/grid/_spacing.scss +8 -3
  245. package/src/atoms/toggle-high-contrast/readme.md +0 -6
  246. package/src/atoms/toggle-high-contrast/toggle-high-contrast.config.js +0 -8
  247. package/src/atoms/toggle-high-contrast/toggle-high-contrast.js +0 -10
  248. package/src/molecules/modal/modal-graph.js +0 -40
@@ -5,7 +5,7 @@ function toggleIconOnClick(e) {
5
5
  e.preventDefault();
6
6
 
7
7
  var el = e.target;
8
- /* eslint-disable-next-line */
8
+
9
9
  var target = el.dataset.toggleIconTarget ? document.getElementById(el.dataset.toggleIconTarget) : el;
10
10
  var i = parseInt(el.dataset.iconIteration || 0, 10);
11
11
  var options = el.dataset.toggleIcon.split('|');
@@ -16,7 +16,6 @@ function toggleIconOnClick(e) {
16
16
  useElement.setAttribute('xlink:href', '#icon-' + options[nextIteration]);
17
17
  }
18
18
 
19
- /* eslint-disable */
20
19
  document.addEventListener('click', function (e) {
21
20
  if (e.target.closest('[data-toggle-icon]')) {
22
21
  toggleIconOnClick(e);
@@ -10,8 +10,6 @@ function isInView(el) {
10
10
  }
11
11
 
12
12
  var parallaxes = [];
13
-
14
- // eslint-disable-next-line import/prefer-default-export
15
13
  function cache() {
16
14
  parallaxes = document.querySelectorAll('.js-parallax');
17
15
  }
@@ -19,7 +19,6 @@ function toggleTextOnClick(e) {
19
19
  }
20
20
  }
21
21
 
22
- /* eslint-disable */
23
22
  document.addEventListener('click', function (e) {
24
23
  if (e.target.closest('[data-toggle-text]')) {
25
24
  toggleTextOnClick(e);
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = track;
7
7
  function track(data) {
8
- // eslint-disable-next-line no-underscore-dangle
8
+
9
9
  if (window._mtm) {
10
- // eslint-disable-next-line no-underscore-dangle
10
+
11
11
  window._mtm.push(data);
12
12
  } else {
13
13
  console.log('GTM not loaded', data);
@@ -18,6 +18,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
 
19
19
  // TODO: Should probably implement a way to localize texts in the styleguide
20
20
  var consent = (0, _hasCookieConsent2.default)('C0004');
21
+ var YT = void 0;
21
22
  var missingConsentMessage = 'För att spela Youtubefilmer krävs att "Riktade kakor" tillåts. Tryck för att "Anpassa kakor"';
22
23
 
23
24
  function loadYoutubeAPI() {
@@ -36,7 +37,7 @@ function loadYoutubeAPI() {
36
37
  firstScript.parentNode.insertBefore(tag, firstScript);
37
38
  }
38
39
 
39
- function onPlayerStateChange(el, e) {
40
+ function onPlayerStateChange(el, e, YT) {
40
41
  if (e.data === YT.PlayerState.PLAYING) {
41
42
  el.getElementsByTagName('img')[0].style.zIndex = '-1';
42
43
  el.getElementsByTagName('button')[0].style.display = 'none';
@@ -26,8 +26,6 @@ require('./molecules/natural-language-form/natural-language-form');
26
26
 
27
27
  require('./atoms/tooltip/tooltip');
28
28
 
29
- require('./atoms/toggle-high-contrast/toggle-high-contrast');
30
-
31
29
  require('./atoms/height-limiter/height-limiter');
32
30
 
33
31
  require('./atoms/file/file');
@@ -50,8 +48,6 @@ require('./molecules/context-menu/context-menu');
50
48
 
51
49
  require('./molecules/alert/alert');
52
50
 
53
- require('./molecules/modal/modal-graph');
54
-
55
51
  require('./molecules/continue-video-guide/continue-video-guide');
56
52
 
57
53
  require('./organisms/video-guide/video-guide');
@@ -15,12 +15,11 @@ var _nodeAdded2 = _interopRequireDefault(_nodeAdded);
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
- // eslint-disable-next-line import/prefer-default-export
19
18
  function initHeroGlider(node) {
20
19
  if (node.hasAttribute('data-glider-initialized')) {
21
20
  return;
22
21
  }
23
- // eslint-disable-next-line no-underscore-dangle
22
+
24
23
  var dataLayer = window._mtm || [];
25
24
  var gliderLinks = document.querySelectorAll('.glider-slide a');
26
25
 
@@ -124,7 +124,7 @@ function addAction(action) {
124
124
 
125
125
  if (action.onClick) {
126
126
  el.addEventListener('click', function (e) {
127
- // eslint-disable-next-line no-use-before-define
127
+
128
128
  action.onClick(e, modal, close);
129
129
  });
130
130
  }
@@ -137,7 +137,7 @@ function handleKeyUp(e) {
137
137
  handler = _ref6[1];
138
138
 
139
139
  if (e.key.toLowerCase() === key) {
140
- // eslint-disable-next-line no-use-before-define
140
+
141
141
  handler(e, modal, close);
142
142
  }
143
143
  });
@@ -96,7 +96,7 @@ var OverviewNavigation = function () {
96
96
 
97
97
  this.button.style.transition = 'none';
98
98
  this.updateButtonPosition();
99
- // eslint-disable-next-line no-unused-expressions
99
+
100
100
  this.element.offsetHeight; // force reflow
101
101
  this.button.style.transition = 'right 0.25s ease-out, bottom 0.25s ease-out, opacity 0.25s ease-out';
102
102
 
@@ -119,7 +119,6 @@ var OverviewNavigation = function () {
119
119
  this.element.setAttribute('aria-hidden', 'false');
120
120
  this.element.classList.remove('is-minimized');
121
121
 
122
- // eslint-disable-next-line no-unused-expressions
123
122
  this.element.offsetHeight; // force reflow
124
123
 
125
124
  this.updateButtonPosition();
@@ -55,7 +55,8 @@ function isInViewport(element) {
55
55
  var height = element.offsetHeight;
56
56
 
57
57
  while (element.offsetParent) {
58
- element = element.offsetParent; // eslint-disable-line
58
+ // eslint-disable-next-line no-param-reassign
59
+ element = element.offsetParent;
59
60
  top += element.offsetTop;
60
61
  }
61
62
 
@@ -69,7 +69,7 @@ window.a11yTabs = function tabsComponentIIFE(global, document) {
69
69
  }
70
70
  });
71
71
 
72
- this.eventCallback = handleEvents.bind(this); // eslint-disable-line
72
+ this.eventCallback = handleEvents.bind(this);
73
73
  this.tabList.addEventListener('click', this.eventCallback, false);
74
74
  this.tabList.addEventListener('keydown', this.eventCallback, false);
75
75
 
@@ -251,4 +251,5 @@ window.a11yTabs = function tabsComponentIIFE(global, document) {
251
251
  };
252
252
  }(window, document);
253
253
 
254
- var tabComponent = a11yTabs.create('[data-tab-component]'); // eslint-disable-line
254
+ // eslint-disable-next-line no-unused-vars,no-undef
255
+ var tabComponent = a11yTabs.create('[data-tab-component]');
@@ -7,9 +7,6 @@ var _require = require('../../assets/js/offset'),
7
7
  offsetBottom = _require.offsetBottom,
8
8
  offsetLeft = _require.offsetLeft;
9
9
 
10
- // eslint-disable-next-line no-underscore-dangle
11
-
12
-
13
10
  var dataLayer = window._mtm || [];
14
11
  var progressBar = document.querySelector('.js-progress-bar');
15
12
  var decadeContainer = document.querySelector('.js-decade-container');
@@ -93,7 +90,8 @@ function isInViewport(element) {
93
90
  var height = element.offsetHeight;
94
91
 
95
92
  while (element.offsetParent) {
96
- element = element.offsetParent; // eslint-disable-line
93
+ // eslint-disable-next-line no-param-reassign
94
+ element = element.offsetParent;
97
95
  top += element.offsetTop;
98
96
  }
99
97
 
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@internetstiftelsen/styleguide",
3
- "version": "4.1.13",
3
+ "version": "5.0.1",
4
4
  "main": "dist/components.js",
5
5
  "ports": {
6
6
  "fractal": "3000"
7
7
  },
8
8
  "scripts": {
9
- "start": "npm run dev",
9
+ "start": "npm run dev --trace-deprecation",
10
10
  "start:fractal": "fractal start -s",
11
11
  "build:fractal": "fractal build",
12
12
  "scss": "sass src/app.scss public/assets/css/app.css",
@@ -41,32 +41,37 @@
41
41
  "create-icons-config": "node ./createIconsJson"
42
42
  },
43
43
  "devDependencies": {
44
- "@frctl/fractal": "^1.5.14",
44
+ "@babel/core": "^7.26.0",
45
+ "@babel/eslint-parser": "^7.25.9",
46
+ "@eslint/eslintrc": "^3.1.0",
47
+ "@eslint/js": "^9.14.0",
48
+ "@frctl/fractal": "^1.5.15",
45
49
  "@frctl/mandelbrot": "^1.10.3",
46
- "@internetstiftelsen/eslint-config": "^0.0.5",
47
- "@internetstiftelsen/stylelint-config": "^1.0.0",
50
+ "@internetstiftelsen/eslint-config": "^4.0.3",
51
+ "@internetstiftelsen/stylelint-config": "^3.0.0",
48
52
  "babel-cli": "^6.26.0",
49
- "babel-eslint": "^10.0.3",
53
+ "babel-eslint": "^10.1.0",
50
54
  "babel-plugin-syntax-dynamic-import": "^6.18.0",
51
55
  "babel-plugin-transform-class-properties": "^6.24.1",
52
56
  "babel-plugin-transform-custom-element-classes": "^0.1.0",
53
57
  "babel-plugin-transform-es2015-classes": "^6.24.1",
54
58
  "babel-plugin-transform-object-rest-spread": "^6.26.0",
55
59
  "babel-preset-env": "^1.7.0",
56
- "browserify": "^16.5.0",
60
+ "browserify": "^17.0.1",
57
61
  "concat": "^1.0.3",
58
- "concurrently": "^5.2.0",
59
- "copyfiles": "^2.2.0",
60
- "css-loader": "^5.2.6",
61
- "cssnano": "^5.0.6",
62
- "eslint": "^7.28.0",
63
- "imagemin-cli": "^7.0.0",
64
- "onchange": "^6.1.0",
62
+ "concurrently": "^9.0.1",
63
+ "copyfiles": "^2.4.1",
64
+ "css-loader": "^7.1.2",
65
+ "cssnano": "^7.0.6",
66
+ "eslint": "^9.14.0",
67
+ "globals": "^15.12.0",
68
+ "imagemin-cli": "^8.0.0",
69
+ "onchange": "^7.1.0",
65
70
  "postcss-class-prefix": "^0.3.0",
66
- "postcss-cli": "^8.3.1",
67
- "replace": "^1.2.1",
68
- "sass": "^1.79.4",
69
- "stylelint": "^13.13.1",
71
+ "postcss-cli": "^11.0.0",
72
+ "replace": "^1.2.2",
73
+ "sass": "^1.80.3",
74
+ "stylelint": "^16.10.0",
70
75
  "uglify-es": "^3.3.9"
71
76
  },
72
77
  "dependencies": {
package/src/app.js CHANGED
@@ -6,7 +6,7 @@ require('./atoms/grid-toggle/grid-toggle');
6
6
  require('./components');
7
7
 
8
8
  const Button = require('./atoms/button/Button');
9
- const { open, onClose, onOpen } = require('./molecules/modal/modal');
9
+ const { open } = require('./molecules/modal/modal');
10
10
 
11
11
  const demoButtons = document.querySelectorAll('button.a-button.has-loader');
12
12
 
@@ -61,20 +61,6 @@ if (demoModal) {
61
61
  });
62
62
  }
63
63
 
64
- // eslint-disable-next-line no-unused-vars
65
- const unsubscribe = onClose((el, id) => {
66
- console.log('Global onClose', el, id);
67
- });
68
-
69
- // Call unsubscribe to remove callback
70
-
71
- // eslint-disable-next-line no-unused-vars
72
- const unsubscribeOpen = onOpen((el, id) => {
73
- console.log('Global onOpen', el, id);
74
- });
75
-
76
- // Call unsubscribe to remove callback
77
-
78
64
  const demoForms = document.querySelectorAll('[data-form]');
79
65
 
80
66
  [].forEach.call(demoForms, (el) => {
package/src/app.scss CHANGED
@@ -1,102 +1,99 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
2
 
3
3
  // Base
4
- @import 'globals';
5
-
6
- $namespace: '';
4
+ @use 'globals';
7
5
 
8
6
  // Configurations
9
- @import 'configurations/grid/grid';
10
- @import 'configurations/colors/colors';
11
- @import 'configurations/colors/wordpress-colors';
12
- @import 'configurations/colors/colors-functions';
13
- @import 'configurations/colors/text-colors';
14
- @import 'configurations/colors/background-colors';
15
- @import 'configurations/extends';
16
- @import 'configurations/typography/typography';
17
- @import 'configurations/forms/fields';
18
- @import 'configurations/wordpress';
7
+ @use 'configurations/grid/grid';
8
+ @use 'configurations/colors/colors';
9
+ @use 'configurations/colors/wordpress-colors';
10
+ @use 'configurations/colors/colors-functions';
11
+ @use 'configurations/colors/text-colors';
12
+ @use 'configurations/colors/background-colors';
13
+ @use 'configurations/extends';
14
+ @use 'configurations/typography/typography';
15
+ @use 'configurations/forms/fields';
16
+ @use 'configurations/wordpress';
19
17
 
20
18
  // Atoms
21
- @import 'atoms/skip/skip';
22
- @import 'atoms/meta/meta';
23
- @import 'atoms/tag/tag';
24
- @import 'atoms/logotype/logotype';
25
- @import 'atoms/main-menu/main-menu';
26
- @import 'atoms/button/button';
27
- @import 'atoms/paging/paging';
28
- @import 'atoms/grid-toggle/grid-toggle';
29
- @import 'atoms/archive-link/archive-link';
30
- @import 'atoms/label/label';
31
- @import 'atoms/input/input';
32
- @import 'atoms/password-toggle/password-toggle';
33
- @import 'atoms/radiobutton/radiobutton';
34
- @import 'atoms/checkbox/checkbox';
35
- @import 'atoms/textarea/textarea';
36
- @import 'atoms/select/select';
37
- @import 'atoms/spinner/spinner';
38
- @import 'atoms/tooltip/tooltip';
39
- @import 'atoms/height-limiter/height-limiter';
40
- @import 'atoms/file/file';
41
- @import 'atoms/ribbon/ribbon';
42
- @import 'atoms/quote/quote';
43
- @import 'atoms/rating/rating';
44
- @import 'atoms/progress/progress';
45
- @import 'atoms/range/range';
19
+ @use 'atoms/skip/skip';
20
+ @use 'atoms/meta/meta';
21
+ @use 'atoms/tag/tag';
22
+ @use 'atoms/logotype/logotype';
23
+ @use 'atoms/main-menu/main-menu';
24
+ @use 'atoms/button/button';
25
+ @use 'atoms/paging/paging';
26
+ @use 'atoms/grid-toggle/grid-toggle';
27
+ @use 'atoms/archive-link/archive-link';
28
+ @use 'atoms/label/label';
29
+ @use 'atoms/input/input';
30
+ @use 'atoms/password-toggle/password-toggle';
31
+ @use 'atoms/radiobutton/radiobutton';
32
+ @use 'atoms/checkbox/checkbox';
33
+ @use 'atoms/textarea/textarea';
34
+ @use 'atoms/select/select';
35
+ @use 'atoms/spinner/spinner';
36
+ @use 'atoms/tooltip/tooltip';
37
+ @use 'atoms/height-limiter/height-limiter';
38
+ @use 'atoms/file/file';
39
+ @use 'atoms/ribbon/ribbon';
40
+ @use 'atoms/quote/quote';
41
+ @use 'atoms/rating/rating';
42
+ @use 'atoms/progress/progress';
43
+ @use 'atoms/range/range';
46
44
 
47
45
  // Molecules
48
- @import 'molecules/breadcrumb/breadcrumb';
49
- @import 'molecules/card/card';
50
- @import 'molecules/download/download';
51
- @import 'molecules/teaser-news-list/teaser-news-list';
52
- @import 'molecules/form-control/form-control';
53
- @import 'molecules/alert/alert';
54
- @import 'molecules/table/table';
55
- @import 'molecules/system-error/system-error';
56
- @import 'molecules/info-box/info-box';
57
- @import 'molecules/share/share';
58
- @import 'molecules/cookie-disclaimer/cookie-disclaimer';
59
- @import 'molecules/byline/byline';
60
- @import 'molecules/context-menu/context-menu';
61
- @import 'molecules/modal/modal';
62
- @import 'molecules/readspeaker/readspeaker';
63
- @import 'molecules/natural-language-form/natural-language-form';
64
- @import 'molecules/icon-overlay/icon-overlay';
65
- @import 'molecules/submenu/submenu';
66
- @import 'molecules/glider/glider';
67
- @import 'molecules/glider/glider-course';
68
- @import 'molecules/glider/glider-hero';
69
- @import 'molecules/continue-video-guide/continue-video-guide';
70
- @import 'molecules/overview-navigation/overview-navigation';
71
- @import 'molecules/multi-select/multi-select';
72
- @import 'molecules/input-group/input-group';
46
+ @use 'molecules/breadcrumb/breadcrumb';
47
+ @use 'molecules/card/card';
48
+ @use 'molecules/download/download';
49
+ @use 'molecules/teaser-news-list/teaser-news-list';
50
+ @use 'molecules/form-control/form-control';
51
+ @use 'molecules/alert/alert';
52
+ @use 'molecules/table/table';
53
+ @use 'molecules/system-error/system-error';
54
+ @use 'molecules/info-box/info-box';
55
+ @use 'molecules/share/share';
56
+ @use 'molecules/cookie-disclaimer/cookie-disclaimer';
57
+ @use 'molecules/byline/byline';
58
+ @use 'molecules/context-menu/context-menu';
59
+ @use 'molecules/modal/modal';
60
+ @use 'molecules/natural-language-form/natural-language-form';
61
+ @use 'molecules/icon-overlay/icon-overlay';
62
+ @use 'molecules/submenu/submenu';
63
+ @use 'molecules/glider/glider';
64
+ @use 'molecules/glider/glider-course';
65
+ @use 'molecules/glider/glider-hero';
66
+ @use 'molecules/continue-video-guide/continue-video-guide';
67
+ @use 'molecules/overview-navigation/overview-navigation';
68
+ @use 'molecules/multi-select/multi-select';
69
+ @use 'molecules/input-group/input-group';
73
70
 
74
71
  // Organisms
75
- @import 'organisms/header/header';
76
- @import 'organisms/footer/footer';
77
- @import 'organisms/mega-menu/mega-menu';
78
- @import 'organisms/hero/hero';
79
- @import 'organisms/hero/hero--dynamic-headline';
80
- @import 'organisms/hero/hero--bbk';
81
- @import 'organisms/sections/sections';
82
- @import 'organisms/accordion/accordion';
83
- @import 'organisms/domain-search/domain-search';
84
- @import 'organisms/search-result/search-result';
85
- @import 'organisms/filter/filter';
86
- @import 'organisms/search/search';
87
- @import 'organisms/tabs/tabs';
88
- @import 'organisms/mailchimp/mailchimp';
89
- @import 'organisms/features-box/features-box';
90
- @import 'organisms/event-listing-item/event-listing-item';
91
- @import 'organisms/podcast/podcast-episodes';
92
- @import 'organisms/podcast/podcast-player';
93
- @import 'organisms/video-guide/video-guide';
94
- @import 'organisms/timeline/timeline';
95
- @import 'organisms/members-service-product/members-service-product';
96
- @import 'organisms/schedule/schedule';
72
+ @use 'organisms/header/header';
73
+ @use 'organisms/footer/footer';
74
+ @use 'organisms/mega-menu/mega-menu';
75
+ @use 'organisms/hero/hero';
76
+ @use 'organisms/hero/hero--dynamic-headline';
77
+ @use 'organisms/hero/hero--bbk';
78
+ @use 'organisms/sections/sections';
79
+ @use 'organisms/accordion/accordion';
80
+ @use 'organisms/domain-search/domain-search';
81
+ @use 'organisms/search-result/search-result';
82
+ @use 'organisms/filter/filter';
83
+ @use 'organisms/search/search';
84
+ @use 'organisms/tabs/tabs';
85
+ @use 'organisms/mailchimp/mailchimp';
86
+ @use 'organisms/features-box/features-box';
87
+ @use 'organisms/event-listing-item/event-listing-item';
88
+ @use 'organisms/podcast/podcast-episodes';
89
+ @use 'organisms/podcast/podcast-player';
90
+ @use 'organisms/video-guide/video-guide';
91
+ @use 'organisms/timeline/timeline';
92
+ @use 'organisms/members-service-product/members-service-product';
93
+ @use 'organisms/schedule/schedule';
97
94
 
98
95
  // Structures
99
- @import 'structures/manifest';
96
+ @use 'structures/manifest';
100
97
 
101
98
  // Dark mode
102
- @import 'theme/dark-mode';
99
+ @use 'theme/dark-mode';
@@ -3,7 +3,7 @@ function toggleIconOnClick(e) {
3
3
  e.preventDefault();
4
4
 
5
5
  const el = e.target;
6
- /* eslint-disable-next-line */
6
+
7
7
  const target = (el.dataset.toggleIconTarget) ? document.getElementById(el.dataset.toggleIconTarget) : el;
8
8
  const i = parseInt(el.dataset.iconIteration || 0, 10);
9
9
  const options = el.dataset.toggleIcon.split('|');
@@ -14,7 +14,7 @@ function toggleIconOnClick(e) {
14
14
  useElement.setAttribute('xlink:href', `#icon-${options[nextIteration]}`);
15
15
  }
16
16
 
17
- /* eslint-disable */
17
+
18
18
  document.addEventListener('click', (e) => {
19
19
  if (e.target.closest('[data-toggle-icon]')) {
20
20
  toggleIconOnClick(e);
@@ -4,8 +4,6 @@ function isInView(el) {
4
4
  }
5
5
 
6
6
  let parallaxes = [];
7
-
8
- // eslint-disable-next-line import/prefer-default-export
9
7
  export function cache() {
10
8
  parallaxes = document.querySelectorAll('.js-parallax');
11
9
  }
@@ -17,7 +17,7 @@ function toggleTextOnClick(e) {
17
17
  }
18
18
  }
19
19
 
20
- /* eslint-disable */
20
+
21
21
  document.addEventListener('click', (e) => {
22
22
  if (e.target.closest('[data-toggle-text]')) {
23
23
  toggleTextOnClick(e);
@@ -1,7 +1,7 @@
1
1
  export default function track(data) {
2
- // eslint-disable-next-line no-underscore-dangle
2
+
3
3
  if (window._mtm) {
4
- // eslint-disable-next-line no-underscore-dangle
4
+
5
5
  window._mtm.push(data);
6
6
  } else {
7
7
  console.log('GTM not loaded', data);
@@ -3,6 +3,7 @@ import className from './className';
3
3
  import hasCookieConsent from './hasCookieConsent';
4
4
 
5
5
  let consent = hasCookieConsent('C0004');
6
+ let YT;
6
7
  const missingConsentMessage = 'För att spela Youtubefilmer krävs att "Riktade kakor" tillåts. Tryck för att "Anpassa kakor"';
7
8
 
8
9
  function loadYoutubeAPI() {
@@ -21,7 +22,7 @@ function loadYoutubeAPI() {
21
22
  firstScript.parentNode.insertBefore(tag, firstScript);
22
23
  }
23
24
 
24
- function onPlayerStateChange(el, e) {
25
+ function onPlayerStateChange(el, e, YT) {
25
26
  if (e.data === YT.PlayerState.PLAYING) {
26
27
  el.getElementsByTagName('img')[0].style.zIndex = '-1';
27
28
  el.getElementsByTagName('button')[0].style.display = 'none';
@@ -6,4 +6,4 @@ module.exports = {
6
6
  url: '#',
7
7
  icon: 'arrow-forwards'
8
8
  }
9
- }
9
+ };
@@ -1,11 +1,18 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/bem' as bem;
4
+ @use '../../configurations/variables' as var;
5
+ @use '../../configurations/functions' as func;
6
+ @use '../../configurations/colors/colors' as colors;
7
+ @use '../../configurations/colors/colors-functions' as colorFunc;
8
+
2
9
 
3
10
  /// @group Links
4
- @include b(archive-link-wrapper) {
5
- padding: rhythm(2) 0;
6
- border-bottom: 1px solid $color-cyberspace;
11
+ @include bem.b(archive-link-wrapper) {
12
+ padding: func.rhythm(2) 0;
13
+ border-bottom: 1px solid colors.$color-cyberspace;
7
14
  }
8
- @include atom(archive-link) {
15
+ @include mixin.atom(archive-link) {
9
16
  display: inline-flex;
10
17
  position: relative;
11
18
  flex-wrap: nowrap;
@@ -13,7 +20,7 @@
13
20
  justify-content: center;
14
21
  border: 0;
15
22
  color: currentColor;
16
- font-family: $font-family-headings;
23
+ font-family: var.$font-family-headings;
17
24
  text-decoration: none;
18
25
  hyphens: auto;
19
26
 
@@ -22,24 +29,24 @@
22
29
  text-decoration: underline;
23
30
  }
24
31
 
25
- @include e(text) {
32
+ @include bem.e(text) {
26
33
  position: relative;
27
- top: -#{rhythm(0.2)};
28
- color: $color-cyberspace;
34
+ top: -#{func.rhythm(0.2)};
35
+ color: colors.$color-cyberspace;
29
36
  }
30
37
 
31
- @include m(icon) {
38
+ @include bem.m(icon) {
32
39
  justify-content: space-between;
33
- max-width: rhythm(50);
34
- padding-right: rhythm(5);
40
+ max-width: func.rhythm(50);
41
+ padding-right: func.rhythm(5);
35
42
  text-align: left;
36
43
  }
37
44
 
38
- @include e(icon) {
39
- width: $icon-size-small;
40
- height: $icon-size-small;
41
- margin-top: rem(3px);
42
- margin-left: rhythm(1);
45
+ @include bem.e(icon) {
46
+ width: var.$icon-size-small;
47
+ height: var.$icon-size-small;
48
+ margin-top: func.to_rem(3px);
49
+ margin-left: func.rhythm(1);
43
50
  fill: currentColor;
44
51
  }
45
52
  }