epfl-elements 5.1.0 → 5.2.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 (90) hide show
  1. package/assets/config/bootstrap-variables.scss +11 -7
  2. package/assets/config/colors.json +2 -1
  3. package/dist/components/atoms/button/button-tertiary-states.twig +4 -0
  4. package/dist/components/atoms/button/button-tertiary.twig +1 -0
  5. package/dist/components/atoms/button/button.yml +8 -0
  6. package/dist/components/atoms/picture/picture-avatar.twig +7 -6
  7. package/dist/components/atoms/picture/picture-cover.twig +6 -6
  8. package/dist/components/atoms/picture/picture-fullwidth-teaser.twig +7 -9
  9. package/dist/components/atoms/picture/picture-one-third-square.twig +7 -6
  10. package/dist/components/atoms/picture/picture-one-third.twig +7 -6
  11. package/dist/components/atoms/picture/picture-portrait.twig +7 -6
  12. package/dist/components/atoms/picture/picture-question.twig +7 -6
  13. package/dist/components/atoms/picture/picture-thumb-square.twig +17 -6
  14. package/dist/components/atoms/picture/picture.twig +7 -6
  15. package/dist/components/atoms/picture/picture.yml +3 -2
  16. package/dist/components/atoms/social-icon/social-icon-group.twig +3 -0
  17. package/dist/components/atoms/social-icon/social-icon-link-group.twig +17 -4
  18. package/dist/components/atoms/social-icon/social-icon.yml +4 -1
  19. package/dist/components/atoms/tag/tag.twig +6 -0
  20. package/dist/components/molecules/breadcrumb/breadcrumb-tagged.twig +1 -1
  21. package/dist/components/molecules/carousel/carousel.yml +1 -1
  22. package/dist/components/molecules/key-number/key-number-hn-link.twig +0 -1
  23. package/dist/components/molecules/key-number/key-number-hn.twig +0 -1
  24. package/dist/components/molecules/key-number/key-number-large.twig +0 -1
  25. package/dist/components/molecules/key-number/key-number.twig +0 -1
  26. package/dist/components/molecules/social/social-follow.twig +1 -1
  27. package/dist/components/molecules/social/social.twig +9 -0
  28. package/dist/components/molecules/sponsor/sponsor-link.twig +8 -0
  29. package/dist/components/molecules/sponsor/sponsor.twig +1 -1
  30. package/dist/components/molecules/sponsor/sponsor.yml +3 -0
  31. package/dist/components/organisms/footer/footer-legal.twig +3 -3
  32. package/dist/components/organisms/sponsor-list/sponsor-list-link.twig +14 -0
  33. package/dist/components/organisms/sponsor-list/sponsor-list.twig +14 -0
  34. package/dist/components/organisms/sponsor-list/sponsor-list.yml +5 -0
  35. package/dist/components/pages/basic-page/basic-page.twig +1 -0
  36. package/dist/components/pages/campus/campus.twig +1 -0
  37. package/dist/components/pages/education/education.twig +1 -0
  38. package/dist/components/pages/facultes/facultes.twig +1 -0
  39. package/dist/components/pages/innovation/innovation.twig +1 -0
  40. package/dist/components/pages/lab-homepage/lab-homepage.twig +1 -0
  41. package/dist/components/pages/programs/programs.twig +1 -0
  42. package/dist/components/pages/research/research.twig +1 -0
  43. package/dist/components/pages/study-plan/study-plan.twig +1 -1
  44. package/dist/components/pages/study-plan-course/study-plan-course.twig +1 -1
  45. package/dist/css/elements.css +204 -9
  46. package/dist/css/elements.min.css +1 -1
  47. package/dist/css/elements.min.css.map +1 -1
  48. package/dist/css/reader.min.css +1 -1
  49. package/dist/css/reader.min.css.map +1 -1
  50. package/dist/css/vendors.min.css +2 -2
  51. package/dist/icons/icons.svg +1 -1
  52. package/dist/images/styleguide/homepage/7-science-question/science-question-1080x608.jpg +0 -0
  53. package/dist/images/styleguide/homepage/7-science-question/science-question-1440x810.jpg +0 -0
  54. package/dist/images/styleguide/homepage/7-science-question/science-question-540x304.jpg +0 -0
  55. package/dist/images/styleguide/homepage/7-science-question/science-question-720x405.jpg +0 -0
  56. package/dist/images/styleguide/homepage/7-science-question/science-question-960x540.jpg +0 -0
  57. package/dist/images/styleguide/news-thumbs/news_thumb-1080x1080.jpg +0 -0
  58. package/dist/images/styleguide/news-thumbs/news_thumb-120x120.jpg +0 -0
  59. package/dist/images/styleguide/news-thumbs/news_thumb-160x160.jpg +0 -0
  60. package/dist/images/styleguide/news-thumbs/news_thumb-240x240.jpg +0 -0
  61. package/dist/images/styleguide/news-thumbs/news_thumb-540x540.jpg +0 -0
  62. package/dist/images/styleguide/news-thumbs/news_thumb-80x80.jpg +0 -0
  63. package/dist/images/styleguide/people/avatar-120x120.jpg +0 -0
  64. package/dist/images/styleguide/people/avatar-160x160.jpg +0 -0
  65. package/dist/images/styleguide/people/avatar-180x180.jpg +0 -0
  66. package/dist/images/styleguide/people/avatar-256x256.jpg +0 -0
  67. package/dist/images/styleguide/people/avatar-60x60.jpg +0 -0
  68. package/dist/images/styleguide/people/avatar-80x80.jpg +0 -0
  69. package/dist/images/styleguide/people/avatar-95x95.jpg +0 -0
  70. package/dist/images/styleguide/people/portrait-211x300.jpg +0 -0
  71. package/dist/images/styleguide/people/portrait-253x360.jpg +0 -0
  72. package/dist/images/styleguide/people/portrait-422x600.jpg +0 -0
  73. package/dist/images/styleguide/people/portrait-506x720.jpg +0 -0
  74. package/dist/images/styleguide/teaser/news-teaser-1080x1080.jpg +0 -0
  75. package/dist/images/styleguide/teaser/news-teaser-1080x608.jpg +0 -0
  76. package/dist/images/styleguide/teaser/news-teaser-1140x1140.jpg +0 -0
  77. package/dist/images/styleguide/teaser/news-teaser-280x280.jpg +0 -0
  78. package/dist/images/styleguide/teaser/news-teaser-320x180.jpg +0 -0
  79. package/dist/images/styleguide/teaser/news-teaser-360x360.jpg +0 -0
  80. package/dist/images/styleguide/teaser/news-teaser-380x214.jpg +0 -0
  81. package/dist/images/styleguide/teaser/news-teaser-480x480.jpg +0 -0
  82. package/dist/images/styleguide/teaser/news-teaser-640x360.jpg +0 -0
  83. package/dist/images/styleguide/teaser/news-teaser-640x640.jpg +0 -0
  84. package/dist/images/styleguide/teaser/news-teaser-780x780.jpg +0 -0
  85. package/dist/images/styleguide/teaser/news-teaser-960x960.jpg +0 -0
  86. package/dist/js/reader.js +166 -98
  87. package/dist/js/reader.min.js +2 -2
  88. package/dist/js/reader.min.js.map +1 -1
  89. package/dist/package.json +2 -2
  90. package/package.json +2 -2
@@ -10,13 +10,16 @@
10
10
  //
11
11
 
12
12
  // stylelint-disable
13
- $white: #fff !default;
14
- $gray-100: #e6e6e6 !default;
15
- $gray-200: #d5d5d5 !default;
16
- $gray-300: #c1c1c1 !default;
17
- $gray-500: #8e8e8e !default;
18
- $gray-600: #707070 !default;
19
- $black: #212121 !default;
13
+ $white: #fff !default;
14
+ $gray-100: #e6e6e6 !default;
15
+ $gray-200: #d5d5d5 !default;
16
+ $gray-300: #c1c1c1 !default;
17
+ $gray-500: #8e8e8e !default;
18
+ $gray-600: #707070 !default;
19
+ $black: #212121 !default;
20
+ $leman: #00A79F !default;
21
+ $canard: #007480 !default;
22
+ $canard-dark: #004248 !default;
20
23
 
21
24
  $grays: () !default;
22
25
  $grays: map-merge((
@@ -56,6 +59,7 @@ $theme-colors: () !default;
56
59
  $theme-colors: map-merge((
57
60
  "primary": $primary,
58
61
  "secondary": $secondary,
62
+ "tertiary": $canard,
59
63
  "success": $success,
60
64
  "info": $info,
61
65
  "warning": $warning,
@@ -9,5 +9,6 @@
9
9
  "$gray-600": "#707070",
10
10
  "$black": "#212121",
11
11
  "$leman": "#00A79F",
12
- "$canard": "#007480"
12
+ "$canard": "#007480",
13
+ "$canard-dark": "#004248"
13
14
  }
@@ -0,0 +1,4 @@
1
+ <button class="btn btn-tertiary hover">Tertiary hover</button>
2
+ <button class="btn btn-tertiary active">Tertiary active</button>
3
+ <button class="btn btn-tertiary focus">Tertiary focus</button>
4
+ <button class="btn btn-tertiary" disabled>Tertiary disabled</button>
@@ -0,0 +1 @@
1
+ <button class="btn btn-tertiary">Tertiary action</button>
@@ -22,6 +22,14 @@ variants:
22
22
  title: Secondary states preview
23
23
  notes: |
24
24
  *For previewing purposes only. **Do not use in production!***
25
+ - name: tertiary
26
+ title: Button tertiary
27
+ notes: |
28
+ For less aggressive buttons that are still in line with the EPFL graphic charter.
29
+ - name: tertiary-states
30
+ title: Tertiary states preview
31
+ notes: |
32
+ *For previewing purposes only. **Do not use in production!***
25
33
  notes: |
26
34
  Button is your interaction friend when you want people to complete an action. By clicking a button, people expect to trigger an event, confirm a form or load a new page. Don't put many buttons on one single page. The primary action should be obvious for people.
27
35
 
@@ -1,18 +1,19 @@
1
+ {% set avatar_path = avatar_path|default("./images/styleguide/people/avatar-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="https://via.placeholder.com/95x95.jpg 1x,https://via.placeholder.com/190x190.jpg 2x">
5
+ srcset="{{avatar_path}}120x120.jpg 1x, {{avatar_path}}256x256.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/95x95.jpg 1x,https://via.placeholder.com/190x190.jpg 2x">
8
+ srcset="{{avatar_path}}95x95.jpg 1x, {{avatar_path}}180x180.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/80x80.jpg 1x,https://via.placeholder.com/160x160.jpg 2x">
11
+ srcset="{{avatar_path}}80x80.jpg 1x, {{avatar_path}}160x160.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/60x60.jpg 1x,https://via.placeholder.com/120x120.jpg 2x">
14
+ srcset="{{avatar_path}}60x60.jpg 1x, {{avatar_path}}120x120.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/90x90.jpg 1x,https://via.placeholder.com/180x180.jpg 2x">
17
- <img src="https://via.placeholder.com/95x95.jpg" class="img-fluid rounded-circle" alt="ALT">
17
+ srcset="{{avatar_path}}95x95.jpg 1x, {{avatar_path}}180x180.jpg 2x">
18
+ <img src="{{avatar_path}}120x120.jpg" class="img-fluid rounded-circle" alt="ALT">
18
19
  </picture>
@@ -1,19 +1,19 @@
1
- {% set cover_path = cover_path|default("https://via.placeholder.com/") %}
1
+ {% set cover_path = cover_path|default("./images/styleguide/teaser/news-teaser-") %}
2
2
  <picture>
3
3
  <source
4
4
  media="(min-width: 1140px)"
5
- srcset="{{cover_path}}1920x1080.jpg 1x,{{cover_path}}2880x1620.jpg 2x">
5
+ srcset="{{cover_path}}1920x1080.jpg 1x,{{cover_path}}2240x1260.jpg 2x">
6
6
  <source
7
7
  media="(min-width: 960px)"
8
- srcset="{{cover_path}}1140x641.jpg 1x,{{cover_path}}2280x1283.jpg 2x">
8
+ srcset="{{cover_path}}1140x641.jpg 1x,{{cover_path}}2240x1260.jpg 2x">
9
9
  <source
10
10
  media="(min-width: 720px)"
11
- srcset="{{cover_path}}960x540.jpg 1x,{{cover_path}}1920x1080.jpg 2x">
11
+ srcset="{{cover_path}}928x520.jpg 1x,{{cover_path}}1920x1080.jpg 2x">
12
12
  <source
13
13
  media="(min-width: 541px)"
14
- srcset="{{cover_path}}720x405.jpg 1x,{{cover_path}}1440x810.jpg 2x">
14
+ srcset="{{cover_path}}768x432.jpg 1x,{{cover_path}}1440x810.jpg 2x">
15
15
  <source
16
16
  media="(max-width: 540px)"
17
- srcset="{{cover_path}}540x304.jpg 1x,{{cover_path}}1080x608.jpg 2x">
17
+ srcset="{{cover_path}}576x324.jpg 1x,{{cover_path}}1080x608.jpg 2x">
18
18
  <img src="{{cover_path}}1920x1080.jpg" class="img-fluid" alt="Cover description">
19
19
  </picture>
@@ -1,21 +1,19 @@
1
- {% if not img %}
2
- {% set img %}./images/styleguide/teaser/news-teaser{% endset %}
3
- {% endif %}
1
+ {% set cover_path = cover_path|default("./images/styleguide/teaser/news-teaser-") %}
4
2
  <picture>
5
3
  <source
6
4
  media="(min-width: 1920px)"
7
- srcset="{{img}}-1920x1080.jpg 1x, {{img}}-2240x1260.jpg 2x">
5
+ srcset="{{cover_path}}1920x1080.jpg 1x, {{cover_path}}2240x1260.jpg 2x">
8
6
  <source
9
7
  media="(min-width: 1366px)"
10
- srcset="{{img}}-1440x810.jpg 1x, {{img}}-1920x1080.jpg 2x">
8
+ srcset="{{cover_path}}1440x810.jpg 1x, {{cover_path}}1920x1080.jpg 2x">
11
9
  <source
12
10
  media="(min-width: 1200px)"
13
- srcset="{{img}}-1294x728.jpg 1x, {{img}}-1600x900.jpg 2x">
11
+ srcset="{{cover_path}}1294x728.jpg 1x, {{cover_path}}1600x900.jpg 2x">
14
12
  <source
15
13
  media="(min-width: 576px)"
16
- srcset="{{img}}-768x432.jpg 1x, {{img}}-1440x810.jpg 2x">
14
+ srcset="{{cover_path}}768x432.jpg 1x, {{cover_path}}1440x810.jpg 2x">
17
15
  <source
18
16
  media="(max-width: 575px)"
19
- srcset="{{img}}-576x324.jpg 1x, {{img}}-1140x641.jpg 2x">
20
- <img src="{{img}}-1440x810.jpg" class="img-fluid" alt="image description">
17
+ srcset="{{cover_path}}576x324.jpg 1x, {{cover_path}}1140x641.jpg 2x">
18
+ <img src="{{cover_path}}1440x810.jpg" class="img-fluid" alt="image description">
21
19
  </picture>
@@ -1,18 +1,19 @@
1
+ {% set img_path = img_path|default("./images/styleguide/teaser/news-teaser-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="https://via.placeholder.com/1140x1140.jpg 1x,https://via.placeholder.com/2280x2280.jpg 2x">
5
+ srcset="{{img_path}}480x480.jpg 1x, {{img_path}}780x780.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/1140x1140.jpg 1x,https://via.placeholder.com/2280x2280.jpg 2x">
8
+ srcset="{{img_path}}360x360.jpg 1x, {{img_path}}780x780.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/960x960.jpg 1x,https://via.placeholder.com/1920x1920.jpg 2x">
11
+ srcset="{{img_path}}360x360.jpg 1x, {{img_path}}640x640.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/240x240.jpg 1x,https://via.placeholder.com/480x480.jpg 2x">
14
+ srcset="{{img_path}}780x780.jpg 1x, {{img_path}}1440x1440.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/180x180.jpg 1x,https://via.placeholder.com/360x360.jpg 2x">
17
- <img src="https://via.placeholder.com/1140x1140.jpg" class="img-fluid" alt="ALT">
17
+ srcset="{{img_path}}640x640.jpg 1x, {{img_path}}1080x1080.jpg 2x">
18
+ <img src="{{img_path}}780x780.jpg" class="img-fluid" alt="ALT">
18
19
  </picture>
@@ -1,18 +1,19 @@
1
+ {% set img_path = img_path|default("./images/styleguide/teaser/news-teaser-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="https://via.placeholder.com/380x214.jpg 1x,https://via.placeholder.com/760x428.jpg 2x">
5
+ srcset="{{img_path}}380x214.jpg 1x, {{img_path}}768x432.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/380x214.jpg 1x,https://via.placeholder.com/760x428.jpg 2x">
8
+ srcset="{{img_path}}380x214.jpg 1x, {{img_path}}768x432.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/320x180.jpg 1x,https://via.placeholder.com/640x360.jpg 2x">
11
+ srcset="{{img_path}}320x180.jpg 1x, {{img_path}}640x360.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/720x405.jpg 1x,https://via.placeholder.com/1440x810.jpg 2x">
14
+ srcset="{{img_path}}768x432.jpg 1x, {{img_path}}1440x810.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/540x304.jpg 1x,https://via.placeholder.com/1080x608.jpg 2x">
17
- <img src="https://via.placeholder.com/380x214.jpg" class="img-fluid" alt="ALT">
17
+ srcset="{{img_path}}576x324.jpg 1x, {{img_path}}1080x608.jpg 2x">
18
+ <img src="{{img_path}}380x214.jpg" class="img-fluid" alt="ALT">
18
19
  </picture>
@@ -1,18 +1,19 @@
1
+ {% set portrait_path = portrait_path|default("./images/styleguide/people/portrait-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="https://via.placeholder.com/253x360.jpg 1x,https://via.placeholder.com/506x720.jpg 2x">
5
+ srcset="{{portrait_path}}253x360.jpg 1x, {{portrait_path}}506x720.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/211x300.jpg 1x,https://via.placeholder.com/422x600.jpg 2x">
8
+ srcset="{{portrait_path}}211x300.jpg 1x, {{portrait_path}}422x600.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/253x360.jpg 1x,https://via.placeholder.com/506x720.jpg 2x">
11
+ srcset="{{portrait_path}}253x360.jpg 1x, {{portrait_path}}506x720.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/253x360.jpg 1x,https://via.placeholder.com/506x720.jpg 2x">
14
+ srcset="{{portrait_path}}253x360.jpg 1x, {{portrait_path}}506x720.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/211x300.jpg 1x,https://via.placeholder.com/422x600.jpg 2x">
17
- <img src="https://via.placeholder.com/506x720.jpg" class="img-fluid" alt="ALT">
17
+ srcset="{{portrait_path}}211x300.jpg 1x, {{portrait_path}}422x600.jpg 2x">
18
+ <img src="{{portrait_path}}506x720.jpg" class="img-fluid" alt="ALT">
18
19
  </picture>
@@ -1,18 +1,19 @@
1
+ {% set img_question = img_question|default("./images/styleguide/homepage/7-science-question/science-question-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="./images/styleguide/homepage/7-science-question-SF.jpg 1x, ./images/styleguide/homepage/7-science-question-SF.jpg 2x">
5
+ srcset="{{img_question}}540x304.jpg 1x, {{img_question}}1080x608.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/475x267.jpg 1x,https://via.placeholder.com/950x534.jpg 2x">
8
+ srcset="{{img_question}}960x540.jpg 1x, {{img_question}}1440x810.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/400x225.jpg 1x,https://via.placeholder.com/800x450.jpg 2x">
11
+ srcset="{{img_question}}720x405.jpg 1x, {{img_question}}1080x608.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/720x405.jpg 1x,https://via.placeholder.com/1440x810.jpg 2x">
14
+ srcset="{{img_question}}540x304.jpg 1x, {{img_question}}1080x608.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/540x304.jpg 1x,https://via.placeholder.com/1080x608.jpg 2x">
17
- <img src="./images/styleguide/homepage/7-science-question-SF.jpg" class="img-fluid" alt="ALT">
17
+ srcset="{{img_question}}540x304.jpg 1x, {{img_question}}1080x608.jpg 2x">
18
+ <img src="{{img_question}}720x405.jpg" class="img-fluid" alt="ALT">
18
19
  </picture>
@@ -1,8 +1,19 @@
1
+ {% set thumb_path = thumb_path|default("./images/styleguide/news-thumbs/news_thumb-") %}
1
2
  <picture>
2
- <source media="(min-width: 1140px)" srcset="https://via.placeholder.com/95x95.jpg 1x,https://via.placeholder.com/190x190.jpg 2x">
3
- <source media="(min-width: 960px)" srcset="https://via.placeholder.com/95x95.jpg 1x,https://via.placeholder.com/190x190.jpg 2x">
4
- <source media="(min-width: 720px)" srcset="https://via.placeholder.com/80x80.jpg 1x,https://via.placeholder.com/160x160.jpg 2x">
5
- <source media="(min-width: 541px)" srcset="https://via.placeholder.com/120x120.jpg 1x,https://via.placeholder.com/240x240.jpg 2x">
6
- <source media="(max-width: 540px)" srcset="https://via.placeholder.com/540x540.jpg 1x,https://via.placeholder.com/1080x1080.jpg 2x">
7
- <img src="https://via.placeholder.com/95x95.jpg" class="img-fluid" alt="ALT">
3
+ <source
4
+ media="(min-width: 1140px)"
5
+ srcset="{{thumb_path}}120x120.jpg 1x, {{thumb_path}}240x240.jpg 2x">
6
+ <source
7
+ media="(min-width: 960px)"
8
+ srcset="{{thumb_path}}120x120.jpg 1x, {{thumb_path}}240x240.jpg 2x">
9
+ <source
10
+ media="(min-width: 720px)"
11
+ srcset="{{thumb_path}}80x80.jpg 1x, {{thumb_path}}160x160.jpg 2x">
12
+ <source
13
+ media="(min-width: 541px)"
14
+ srcset="{{thumb_path}}120x120.jpg 1x, {{thumb_path}}240x240.jpg 2x">
15
+ <source
16
+ media="(max-width: 540px)"
17
+ srcset="{{thumb_path}}540x540.jpg 1x, {{thumb_path}}1080x1080.jpg 2x">
18
+ <img src="{{thumb_path}}120x120.jpg" class="img-fluid" alt="ALT">
8
19
  </picture>
@@ -1,18 +1,19 @@
1
+ {% set img_path = img_path|default("./images/styleguide/teaser/news-teaser-") %}
1
2
  <picture>
2
3
  <source
3
4
  media="(min-width: 1140px)"
4
- srcset="https://via.placeholder.com/570x321.jpg 1x,https://via.placeholder.com/1140x641.jpg 2x">
5
+ srcset="{{img_path}}576x324.jpg 1x, {{img_path}}1140x641.jpg 2x">
5
6
  <source
6
7
  media="(min-width: 960px)"
7
- srcset="https://via.placeholder.com/570x321.jpg 1x,https://via.placeholder.com/1140x641.jpg 2x">
8
+ srcset="{{img_path}}576x324.jpg 1x, {{img_path}}1140x641.jpg 2x">
8
9
  <source
9
10
  media="(min-width: 720px)"
10
- srcset="https://via.placeholder.com/480x270.jpg 1x,https://via.placeholder.com/960x540.jpg 2x">
11
+ srcset="{{img_path}}508x286.jpg 1x, {{img_path}}928x520.jpg 2x">
11
12
  <source
12
13
  media="(min-width: 541px)"
13
- srcset="https://via.placeholder.com/720x405.jpg 1x,https://via.placeholder.com/1440x810.jpg 2x">
14
+ srcset="{{img_path}}768x432.jpg 1x, {{img_path}}1440x810.jpg 2x">
14
15
  <source
15
16
  media="(max-width: 540px)"
16
- srcset="https://via.placeholder.com/540x304.jpg 1x,https://via.placeholder.com/1080x608.jpg 2x">
17
- <img src="https://via.placeholder.com/570x321.jpg" class="img-fluid" alt="image description">
17
+ srcset="{{img_path}}576x324.jpg 1x, {{img_path}}1080x608.jpg 2x">
18
+ <img src="{{img_path}}576x324.jpg" class="img-fluid" alt="image description">
18
19
  </picture>
@@ -12,7 +12,7 @@ variants:
12
12
  Picture used in 'Organism > Fullwidth teaser' and 'News > Highlighted'.
13
13
  - name: avatar
14
14
  title: Avatar
15
- wrapper: col-sm-4 col-md-2 col-lg-1
15
+ wrapper: col-sm-4 col-md-2
16
16
  notes: |
17
17
  Avatar picture need an equal height and width in order to be displayed as a circle
18
18
  - name: portrait
@@ -25,6 +25,7 @@ variants:
25
25
  wrapper: col-md-4
26
26
  - name: one-third-square
27
27
  title: One third Square picture
28
+ wrapper: col-md-4
28
29
  - name: news-thumb
29
30
  title: News Listing Thumbnail
30
31
  wrapper: col-3 col-md-2
@@ -38,6 +39,6 @@ notes: |
38
39
 
39
40
  We are using `<picture>` in Elements instead of a simple `<img>` to **ensure that every user and device will receive the right image format, size and weight**.
40
41
 
41
- This page presents all image formats defined in Element and all their related sizes. **This implies implemening a lot of image sizes**, but CMS like Wordpress can easily manage [that logic](https://developer.wordpress.org/reference/functions/add_image_size/).
42
+ This page presents all image formats defined in Element and all their related sizes. **This implies implementing a lot of image sizes**, but CMS like Wordpress can easily manage [that logic](https://developer.wordpress.org/reference/functions/add_image_size/).
42
43
 
43
44
  ### Half desktop picture
@@ -27,6 +27,9 @@
27
27
  <li>
28
28
  {% include '@atoms/social-icon/social-icon-single.twig' with { pretty_name: 'X', icon: 'icon-x', round: round, discrete: discrete, negative: negative } %}
29
29
  </li>
30
+ <li>
31
+ {% include '@atoms/social-icon/social-icon-single.twig' with { pretty_name: 'Bluesky', icon: 'icon-bluesky', round: round, discrete: discrete, negative: negative } %}
32
+ </li>
30
33
  <li>
31
34
  {% include '@atoms/social-icon/social-icon-single.twig' with { pretty_name: 'Youtube', icon: 'icon-youtube', round: round, discrete: discrete, negative: negative } %}
32
35
  </li>
@@ -12,12 +12,10 @@
12
12
  <li>
13
13
  {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on LinkedIn', icon: 'icon-linkedin', round: round, discrete: discrete, negative: negative, url: 'https://www.linkedin.com/school/epfl/' } %}
14
14
  </li>
15
- {% if social_mastodon %}
16
15
  <li>
17
- {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on Mastodon', icon: 'icon-mastodon', round: round, discrete: discrete, negative: negative, url: 'https://joinmastodon.org/' } %}
16
+ {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on Mastodon', icon: 'icon-mastodon', round: round, discrete: discrete, negative: negative, url: 'https://social.epfl.ch/@epfl/' } %}
18
17
  </li>
19
- {% endif %}
20
- {% if social_tiktok %}
18
+ {% if social_tiktok %}
21
19
  <li>
22
20
  {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on TikTok', icon: 'icon-tiktok', round: round, discrete: discrete, negative: negative, url: 'https://www.tiktok.com/@epflstudents' } %}
23
21
  </li>
@@ -25,7 +23,22 @@
25
23
  <li>
26
24
  {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on X', icon: 'icon-x', round: round, discrete: discrete, negative: negative, url: 'https://x.com/epfl_en' } %}
27
25
  </li>
26
+ {% if social_bluesky %}
27
+ <li>
28
+ {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on Bluesky', icon: 'icon-bluesky', round: round, discrete: discrete, negative: negative, url: 'https://bsky.app' } %}
29
+ </li>
30
+ {% endif %}
28
31
  <li>
29
32
  {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on Youtube', icon: 'icon-youtube', round: round, discrete: discrete, negative: negative, url: 'https://www.youtube.com/user/epflnews' } %}
30
33
  </li>
34
+ {% if social_github %}
35
+ <li>
36
+ {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on GitHub', icon: 'github', round: round, discrete: discrete, negative: negative, url: 'https://github.com/epfl-si' } %}
37
+ </li>
38
+ {% endif %}
39
+ {% if social_gitlab %}
40
+ <li>
41
+ {% include '@atoms/social-icon/social-icon-single-link.twig' with { pretty_name: 'Follow us on GitLab', icon: 'gitlab', round: round, discrete: discrete, negative: negative, url: 'https://gitlab.epfl.ch' } %}
42
+ </li>
43
+ {% endif %}
31
44
  </ul>
@@ -30,4 +30,7 @@ notes: |
30
30
  * `tiktok`
31
31
  * `whatsapp`
32
32
  * `x`
33
- * `youtube`
33
+ * `bluesky`
34
+ * `youtube`
35
+ * `github`
36
+ * `gitlab`
@@ -6,6 +6,7 @@
6
6
  <h5>Link</h5>
7
7
  <a href="#" class="tag tag-primary">Primary</a>
8
8
  <a href="#" class="tag tag-secondary">Secondary</a>
9
+ <a href="#" class="tag tag-tertiary">Tertiary</a>
9
10
  <hr>
10
11
  <h5>removable</h5>
11
12
  <button class="btn tag tag-primary">
@@ -16,10 +17,15 @@
16
17
  Secondary
17
18
  <span class="btn btn-secondary remove" title="Remove">×</span>
18
19
  </button>
20
+ <button class="btn tag tag-tertiary">
21
+ Tertiary
22
+ <span class="btn btn-tertiary remove" title="Remove">×</span>
23
+ </button>
19
24
  <hr>
20
25
  <h5>Small</h5>
21
26
  <span class="tag tag-sm tag-plain">Plain</span>
22
27
  <span class="tag tag-sm tag-primary">Primary</span>
23
28
  <span class="tag tag-sm tag-secondary">Secondary</span>
29
+ <span class="tag tag-sm tag-tertiary">Tertiary</span>
24
30
  <span class="tag tag-sm tag-light">Light</span>
25
31
  <hr>
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </li>
8
8
  <li class="breadcrumb-item breadcrumb-tags-wrapper">
9
- <a href="#" class="tag tag-primary">School</a>
9
+ <a href="#" class="tag tag-tertiary">School</a>
10
10
  <a href="#" class="tag tag-primary">Innovation</a>
11
11
  <a href="#" class="tag tag-primary">W3C</a>
12
12
  </li>
@@ -1,7 +1,7 @@
1
1
  name: carousel
2
2
  title: Carousel
3
3
  notes: |
4
- Basic carousel using Bootstrap functionality: https://getbootstrap.com/docs/4.6/components/carousel/.
4
+ Basic carousel using Bootstrap's [Carousel](https://getbootstrap.com/docs/4.6/components/carousel/) functionality.
5
5
 
6
6
  Use the 'data-interval' attribute to change the automatic slide delay.
7
7
 
@@ -1,4 +1,3 @@
1
- {% set icon = icon|default("https://via.placeholder.com/") %}
2
1
  <a class="card link-trapeze-horizontal" href="#">
3
2
  <div class="card border-0 bg-white m-0 h-100">
4
3
  <div class="card-header border-0">
@@ -1,4 +1,3 @@
1
- {% set icon = icon|default("https://via.placeholder.com/") %}
2
1
  <div class="card">
3
2
  <div class="card border-0 bg-white m-0 h-100">
4
3
  <div class="card-header border-0">
@@ -1,4 +1,3 @@
1
- {% set icon = icon|default("https://via.placeholder.com/") %}
2
1
  <div class="key-number-large">
3
2
  <div class="card border-0 bg-white m-0 h-100">
4
3
  <div class="card-header border-0">
@@ -1,4 +1,3 @@
1
- {% set icon = icon|default("https://via.placeholder.com/") %}
2
1
  <div class="key-number">
3
2
  <div class="card border-0 bg-white m-0 h-100">
4
3
  <div class="card-header border-0">
@@ -5,7 +5,7 @@
5
5
  <p class="social-share-text">
6
6
  Suivez nous sur <span class="sr-only">les réseaux sociaux</span>
7
7
  </p>
8
- {% include '@atoms/social-icon/social-icon-link-group.twig' with { discrete: true, social_mastodon: true, social_tiktok: true } %}
8
+ {% include '@atoms/social-icon/social-icon-link-group.twig' with { discrete: true, social_mastodon: true, social_bluesky: true, social_tiktok: true, social_github: true, social_gitlab: true } %}
9
9
  </div>
10
10
 
11
11
  </div>
@@ -43,6 +43,15 @@
43
43
  url: '#'
44
44
  } %}
45
45
  </li>
46
+ <li>
47
+ {% include '@atoms/social-icon/social-icon-single-link.twig' with {
48
+ pretty_name: 'Share on Bluesky',
49
+ icon: 'icon-bluesky',
50
+ round: round,
51
+ discrete: true,
52
+ url: '#'
53
+ } %}
54
+ </li>
46
55
  </ul>
47
56
  </div>
48
57
 
@@ -0,0 +1,8 @@
1
+ <figure>
2
+ <a href="#">
3
+ <img class="img-fluid d-block mx-auto" src="./images/styleguide/illustrations/brand-identity-teaser.png" alt="EPFL">
4
+ </a>
5
+ <hr>
6
+ <figcaption><a href="#">Lorem ipsum dolor sit amet.</a></figcaption>
7
+ <hr class="bold">
8
+ </figure>
@@ -1,5 +1,5 @@
1
1
  <figure>
2
- <img class="img-fluid d-block mx-auto" src="https://via.placeholder.com/300x150.jpg" alt="Sponsor">
2
+ <img class="img-fluid d-block mx-auto" src="./images/styleguide/illustrations/brand-identity-teaser.png" alt="EPFL">
3
3
  <hr>
4
4
  <figcaption>Lorem ipsum dolor sit amet.</figcaption>
5
5
  <hr class="bold">
@@ -1,2 +1,5 @@
1
1
  title: Sponsor
2
2
  name: sponsor
3
+ variants:
4
+ - name: link
5
+ title: Sponsor with link
@@ -11,7 +11,7 @@
11
11
  {% endif %}
12
12
  </div>
13
13
  <div>
14
- <p>&copy; 2024 EPFL, tous droits réservés</p>
14
+ <p>&copy; 2025 EPFL, tous droits réservés</p>
15
15
  </div>
16
16
  </div>
17
17
  {% endif %}
@@ -26,7 +26,7 @@
26
26
  {% endif %}
27
27
  </div>
28
28
  <div>
29
- <p>&copy; 2024 EPFL, all rights reserved</p>
29
+ <p>&copy; 2025 EPFL, all rights reserved</p>
30
30
  </div>
31
31
  </div>
32
32
  {% endif %}
@@ -41,7 +41,7 @@
41
41
  {% endif %}
42
42
  </div>
43
43
  <div>
44
- <p>&copy; 2024 EPFL, alle Rechte vorbehalten</p>
44
+ <p>&copy; 2025 EPFL, alle Rechte vorbehalten</p>
45
45
  </div>
46
46
  </div>
47
47
  {% endif %}
@@ -0,0 +1,14 @@
1
+ <div class="row justify-content-center">
2
+ <div class="col-md-3">
3
+ {% include '@molecules/sponsor/sponsor-link.twig' %}
4
+ </div>
5
+ <div class="col-md-3">
6
+ {% include '@molecules/sponsor/sponsor-link.twig' %}
7
+ </div>
8
+ <div class="col-md-3">
9
+ {% include '@molecules/sponsor/sponsor-link.twig' %}
10
+ </div>
11
+ <div class="col-md-3">
12
+ {% include '@molecules/sponsor/sponsor-link.twig' %}
13
+ </div>
14
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="row justify-content-center">
2
+ <div class="col-md-3">
3
+ {% include '@molecules/sponsor/sponsor.twig' %}
4
+ </div>
5
+ <div class="col-md-3">
6
+ {% include '@molecules/sponsor/sponsor.twig' %}
7
+ </div>
8
+ <div class="col-md-3">
9
+ {% include '@molecules/sponsor/sponsor.twig' %}
10
+ </div>
11
+ <div class="col-md-3">
12
+ {% include '@molecules/sponsor/sponsor.twig' %}
13
+ </div>
14
+ </div>
@@ -0,0 +1,5 @@
1
+ title: Sponsor List
2
+ name: sponsor-list
3
+ variants:
4
+ - name: link
5
+ title: Sponsor List with link
@@ -1,3 +1,4 @@
1
+ {% set isSpecial = false %}
1
2
  {% extends "@templates/base/base.twig" %}
2
3
 
3
4
  {% block header %}
@@ -1,3 +1,4 @@
1
+ {% set isSpecial = false %}
1
2
  {% extends "@templates/base/base.twig" %}
2
3
 
3
4
  {% block content %}
@@ -1,3 +1,4 @@
1
+ {% set isSpecial = false %}
1
2
  {% extends "@templates/base/base.twig" %}
2
3
 
3
4
  {% block content %}
@@ -1,3 +1,4 @@
1
+ {% set isSpecial = false %}
1
2
  {% extends "@templates/base/base.twig" %}
2
3
 
3
4
  {% set nav_aside_items = [{
@@ -1,3 +1,4 @@
1
+ {% set isSpecial = false %}
1
2
  {% extends "@templates/base/base.twig" %}
2
3
 
3
4
  {% block content %}