epfl-elements 5.6.0 → 5.7.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 (36) hide show
  1. package/CHANGELOG.md +479 -0
  2. package/assets/config/bootstrap-variables.scss +3 -2
  3. package/dist/components/molecules/breadcrumb/breadcrumb-dropdown.twig +0 -1
  4. package/dist/components/molecules/breadcrumb/breadcrumb-tagged.twig +0 -1
  5. package/dist/components/molecules/form-group/form-group-valid.twig +13 -0
  6. package/dist/components/molecules/form-group/form-group.yml +2 -0
  7. package/dist/components/molecules/table-of-contents/table-of-contents-inline.twig +8 -0
  8. package/dist/components/molecules/table-of-contents/table-of-contents-multi-level.twig +14 -0
  9. package/dist/components/molecules/table-of-contents/table-of-contents.twig +9 -0
  10. package/dist/components/molecules/table-of-contents/table-of-contents.yml +13 -0
  11. package/dist/components/organisms/form/form.twig +1 -0
  12. package/dist/components/organisms/header/header-light-drawer.twig +7 -7
  13. package/dist/components/organisms/header/header-light-submenu.twig +39 -0
  14. package/dist/components/organisms/header/header-light.twig +3 -16
  15. package/dist/components/organisms/header/header.yml +13 -0
  16. package/dist/components/pages/event-detail/event-detail.twig +1 -1
  17. package/dist/components/pages/event-list/event-list.twig +16 -16
  18. package/dist/components/pages/facultes/facultes.twig +1 -1
  19. package/dist/components/pages/news-homepage/news-homepage.twig +2 -3
  20. package/dist/css/elements.css +75 -23
  21. package/dist/css/elements.min.css +1 -1
  22. package/dist/css/elements.min.css.map +1 -1
  23. package/dist/css/reader.css +2 -1
  24. package/dist/css/reader.min.css +1 -1
  25. package/dist/css/reader.min.css.map +1 -1
  26. package/dist/css/vendors.min.css +2 -2
  27. package/dist/js/elements.js +3275 -3255
  28. package/dist/js/elements.min.js +1 -1
  29. package/dist/js/elements.min.js.map +1 -1
  30. package/dist/js/reader.js +44616 -44431
  31. package/dist/js/reader.min.js +17 -17
  32. package/dist/js/reader.min.js.map +1 -1
  33. package/dist/js/spritemap.js +2 -2
  34. package/dist/js/vendors.min.js +1 -1
  35. package/dist/package.json +3 -3
  36. package/package.json +3 -3
@@ -11,25 +11,12 @@
11
11
  <p class="site-title">
12
12
  <a href="#">{{site_title}}</a>
13
13
  </p>
14
- <ul aria-hidden="true" class="nav-header d-none d-xl-flex">
15
- {% if dropdown %}
16
- <li class="dropdown">
17
- <button class="btn btn-link dropdown-toggle nav-item" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
18
- Liste des options
19
- </button>
20
- <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
21
- <a class="dropdown-item" href="#">Option 1</a>
22
- <a class="dropdown-item active" href="#">Option 2</a>
23
- <a class="dropdown-item" href="#">Option 3</a>
24
- </div>
25
- </li>
26
- {% else %}
27
- {% for i in 1..5 %}
14
+ <ul class="nav-header d-none d-xl-flex">
15
+ {% for i in 1..5 %}
28
16
  <li id="menu-item-{{ loop.index }}" {% if loop.index == 2 %} class="current-menu-item"{% endif %}>
29
17
  <a class="nav-item" href="#">Page {{ i }}</a>
30
18
  </li>
31
- {% endfor %}
32
- {% endif %}
19
+ {% endfor %}
33
20
  </ul>
34
21
  {% include '@molecules/search/search-mobile.twig' %}
35
22
  {% include '@molecules/search/search.twig' %}
@@ -11,6 +11,19 @@ variants:
11
11
  * EPFL logo should link to the main EPFL website (https://www.epfl.ch);
12
12
  * Sub site name should link to the sub site homepage (e.g. https://actu.epfl.ch, https://people.epfl.ch, etc );
13
13
  * Use `<p class="site-title">` for the sub site title rather than a `<h1>` tag – `<h1>` title should be placed in the page content instead.
14
+ - name: light-submenu
15
+ title: Header light with submenu
16
+ notes: |
17
+ * EPFL logo should link to the main EPFL website (https://www.epfl.ch);
18
+ * Sub site name should link to the sub site homepage (e.g. https://actu.epfl.ch, https://people.epfl.ch, etc );
19
+ * Use `<p class="site-title">` for the sub site title rather than a `<h1>` tag – `<h1>` title should be placed in the page content instead.
20
+
21
+ ⚠️ **Be very careful with the use of ARIA for the submenu component** (remember: no ARIA is better than bad ARIA). The following attributes should be used:
22
+ * `aria-haspopup="true"`, `aria-expanded="false"` and `aria-controls="dropdownSubMenuID"` **on the submenu toggle button** (`.dropdown-toggle`).
23
+ * When the submenu is open, `aria-expanded` will automatically be set to `true`.
24
+ * `dropdownSubMenuID` must match the ID of `.dropdown-menu`.
25
+ * `aria-labelledby="dropdownMenuButton"` **on the submenu `<ul>` wrapper** (`.dropdown-menu`).
26
+ * `dropdownMenuButton` must match the ID of the submenu toggle button (`.dropdown-toggle`).
14
27
  - name: light-drawer
15
28
  title: Header light with drawer
16
29
  notes: |
@@ -3,7 +3,7 @@
3
3
  {% extends "@templates/base/base.twig" %}
4
4
 
5
5
  {% block header %}
6
- {% include '@organisms/header/header-light.twig' with { site_title: 'Event title', dropdown: true } %}
6
+ {% include '@organisms/header/header-light-submenu.twig' with { site_title: 'Event title' } %}
7
7
  {% endblock %}
8
8
 
9
9
  {% block breadcrumb %}
@@ -10,16 +10,16 @@
10
10
  <img src="svg/epfl-logo.svg" alt="Logo EPFL, École polytechnique fédérale de Lausanne" class="img-fluid">
11
11
  </a>
12
12
  <h1>Memento</h1>
13
- <ul aria-hidden="true" class="nav-header d-none d-xl-flex">
13
+ <ul class="nav-header d-none d-xl-flex">
14
14
  <li class="dropdown">
15
- <button class="btn btn-link dropdown-toggle nav-item" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
15
+ <button class="btn btn-link dropdown-toggle nav-item" type="button" id="dropdownMenuButton-1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="dropdownSubMenu-1">
16
16
  Mémentos
17
17
  </button>
18
- <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
19
- <a class="dropdown-item" href="#">Option 1</a>
20
- <a class="dropdown-item active" href="#">Option 2</a>
21
- <a class="dropdown-item" href="#">Option 3</a>
22
- </div>
18
+ <ul id="dropdownSubMenu-1" class="dropdown-menu" aria-labelledby="dropdownMenuButton-1">
19
+ <li class="dropdown-item"><a href="#">Option 1</a></li>
20
+ <li class="dropdown-item current-menu-item"><a href="#">Option 2</a></li>
21
+ <li class="dropdown-item"><a href="#">Option 3</a></li>
22
+ </ul>
23
23
  </li>
24
24
  <li id="menu-item-{{ loop.index }}" {% if loop.index == 2 %} class="current-menu-item"{% endif %}>
25
25
  <a class="nav-item" href="#">Annoncer un événement</a>
@@ -54,11 +54,11 @@
54
54
 
55
55
  <div class="container mt-5">
56
56
  <h3 class="h6">Prochains événements</h3>
57
-
57
+
58
58
  <div class="events-filters mt-4">
59
-
59
+
60
60
  <form action="" method="get">
61
-
61
+
62
62
  {% include '@molecules/form-group/form-group-search.twig' %}
63
63
 
64
64
  <div class="form-group form-group-select form-group-categories">
@@ -109,17 +109,17 @@
109
109
  <option value="">Expert</option>
110
110
  </select>
111
111
  </div>
112
-
112
+
113
113
  <div class="dropdown dropdown-date">
114
114
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Date</button>
115
115
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
116
116
  {% include '@molecules/datepicker/datepicker.twig' %}
117
117
  </div>
118
118
  </div>
119
-
119
+
120
120
  </form>
121
121
  </div>
122
-
122
+
123
123
  <div class="event-filter-tags mt-2">
124
124
  <div class="tag-group">
125
125
  <label for="">Filtres de recherche</label>
@@ -133,7 +133,7 @@
133
133
  </div>
134
134
  </div>
135
135
  </div>
136
-
136
+
137
137
  <div class="events-footer mt-3">
138
138
  <div class="d-md-flex flex-md-row-reverse justify-content-md-between align-items-md-center">
139
139
  <div class="events-links">
@@ -147,7 +147,7 @@
147
147
  </div>
148
148
  </div>
149
149
  </div>
150
-
150
+
151
151
  <div class="list-group list-events mt-4">
152
152
  {% include '@molecules/list-group/list-group-event.twig' with { eventLocation: 'online_room', live_now: true } %}
153
153
  {% include '@molecules/list-group/list-group-event.twig' with { eventLocation: 'online', live_now: true } %}
@@ -158,7 +158,7 @@
158
158
  {% include '@molecules/list-group/list-group-event.twig' %}
159
159
  {% endfor %}
160
160
  </div>
161
-
161
+
162
162
  </div>
163
163
  {% endblock %}
164
164
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  {% set nav_aside_items = [{
5
5
  label: "Facultés",
6
- children: ["Architecture, Civil and Environmental Engineering ENAC", "Basic Sciences SB", "Engineering STI", "Computer and Communication Sciences IC", "Life Sciences SV", "Management of Technology CDM", "College of Humanities CDH", "EPFL Middle East"]
6
+ children: ["Architecture, Civil and Environmental Engineering ENAC", "Basic Sciences SB", "Engineering STI", "Computer and Communication Sciences IC", "Life Sciences SV", "Management of Technology CDM"]
7
7
  }] %}
8
8
  {% set nav_aside_active = 0 %}
9
9
 
@@ -4,9 +4,8 @@
4
4
  {% extends "@templates/base/base.twig" %}
5
5
 
6
6
  {% block header %}
7
- {% include '@organisms/header/header-light.twig' with {
8
- site_title: 'Actu',
9
- dropdown: true
7
+ {% include '@organisms/header/header-light-submenu.twig' with {
8
+ site_title: 'Actu'
10
9
  } %}
11
10
  {% endblock %}
12
11
 
@@ -12295,13 +12295,13 @@ ol ul > li:before {
12295
12295
  .list-unstyled li,
12296
12296
  .list-inline li,
12297
12297
  .nav li,
12298
- nav li {
12298
+ nav:not(.table-of-contents) li {
12299
12299
  padding-left: 0;
12300
12300
  }
12301
12301
  .list-unstyled li:before,
12302
12302
  .list-inline li:before,
12303
12303
  .nav li:before,
12304
- nav li:before {
12304
+ nav:not(.table-of-contents) li:before {
12305
12305
  content: none;
12306
12306
  }
12307
12307
 
@@ -12467,9 +12467,17 @@ a.research-icon:hover, a.research-icon:focus {
12467
12467
  }
12468
12468
  }
12469
12469
 
12470
- .custom-select {
12470
+ .custom-select,
12471
+ .ms-choice {
12471
12472
  border-color: #8e8e8e;
12472
12473
  }
12474
+ .custom-select:focus,
12475
+ .ms-choice:focus {
12476
+ border-color: #212121;
12477
+ box-shadow: none !important;
12478
+ outline: 2px solid #707070;
12479
+ outline-offset: 2px;
12480
+ }
12473
12481
 
12474
12482
  .ms-offscreen {
12475
12483
  clip: rect(0 0 0 0) !important;
@@ -12507,11 +12515,6 @@ a.research-icon:hover, a.research-icon:focus {
12507
12515
  line-height: 1.5;
12508
12516
  color: #212121;
12509
12517
  }
12510
- .ms-choice:focus {
12511
- border-color: #212121;
12512
- box-shadow: inset 0 1px 2px rgba(33, 33, 33, 0.075), 0 0 5px rgba(33, 33, 33, 0.5);
12513
- outline: none;
12514
- }
12515
12518
  .ms-choice.disabled {
12516
12519
  background-color: #d5d5d5;
12517
12520
  background-image: none;
@@ -13392,6 +13395,8 @@ figcaption {
13392
13395
  color: #fff;
13393
13396
  box-shadow: none !important;
13394
13397
  border-radius: 0;
13398
+ margin-top: 0.25rem;
13399
+ margin-bottom: 0.25rem;
13395
13400
  }
13396
13401
  .search-mobile .form-control::-moz-placeholder, .search-mobile .selectize-control .selectize-input::-moz-placeholder, .selectize-control .search-mobile .selectize-input::-moz-placeholder {
13397
13402
  color: #c1c1c1;
@@ -13399,6 +13404,10 @@ figcaption {
13399
13404
  .search-mobile .form-control::placeholder, .search-mobile .selectize-control .selectize-input::placeholder, .selectize-control .search-mobile .selectize-input::placeholder {
13400
13405
  color: #c1c1c1;
13401
13406
  }
13407
+ .search-mobile .form-control:focus-visible, .search-mobile .selectize-control .selectize-input:focus-visible, .selectize-control .search-mobile .selectize-input:focus-visible {
13408
+ outline-color: white !important;
13409
+ outline-offset: 0;
13410
+ }
13402
13411
  .search-mobile .input-group-text {
13403
13412
  background: #212121;
13404
13413
  border-radius: 0;
@@ -14257,11 +14266,6 @@ article aside {
14257
14266
  top: 2px;
14258
14267
  }
14259
14268
 
14260
- .invalid-label,
14261
- .form-group .invalid-label {
14262
- color: #ff0000;
14263
- }
14264
-
14265
14269
  .search-container {
14266
14270
  position: relative;
14267
14271
  }
@@ -14283,6 +14287,33 @@ article aside {
14283
14287
  color: #212121;
14284
14288
  }
14285
14289
 
14290
+ .form-control.is-valid, .selectize-control .is-valid.selectize-input {
14291
+ border-color: #699b32;
14292
+ background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23699b32%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
14293
+ }
14294
+
14295
+ .valid-label,
14296
+ .valid-feedback,
14297
+ .form-group .valid-label {
14298
+ color: #487915;
14299
+ }
14300
+
14301
+ .invalid-label,
14302
+ .invalid-feedback,
14303
+ .form-group .invalid-label {
14304
+ color: #c73333;
14305
+ }
14306
+
14307
+ .form-control.is-valid,
14308
+ .selectize-control .is-valid.selectize-input {
14309
+ border-color: #699b32 !important;
14310
+ }
14311
+
14312
+ .form-control.is-invalid,
14313
+ .selectize-control .is-invalid.selectize-input {
14314
+ border-color: #ff0000 !important;
14315
+ }
14316
+
14286
14317
  .gallery.is-fullscreen {
14287
14318
  z-index: 1120 !important; /* eslint disable line */
14288
14319
  max-width: none;
@@ -15368,6 +15399,16 @@ ol.flickity-page-dots li:before {
15368
15399
  position: absolute;
15369
15400
  }
15370
15401
 
15402
+ .table-of-contents ul:not(.list-inline) li:before {
15403
+ content: "";
15404
+ }
15405
+ .table-of-contents ol:last-child, .table-of-contents ul:last-child {
15406
+ margin-bottom: 0;
15407
+ }
15408
+ .table-of-contents .list-inline li {
15409
+ font-size: 1rem;
15410
+ }
15411
+
15371
15412
  .table, .semaineDeRef {
15372
15413
  width: 100%;
15373
15414
  }
@@ -17103,20 +17144,17 @@ a.nav-arrow:hover .icon-container {
17103
17144
  }
17104
17145
  .header .nav-header li a:hover,
17105
17146
  .header .nav-header li a.open,
17106
- .header .nav-header li a.active, .header .nav-header li.active a,
17107
- .header .nav-header li a:focus, .header .nav-header li.current-menu-item a {
17147
+ .header .nav-header li a.active, .header .nav-header li.active a, .header .nav-header li.current-menu-item a {
17108
17148
  color: #ff0000;
17109
17149
  }
17110
17150
  .header .nav-header li a:hover:before,
17111
17151
  .header .nav-header li a.open:before,
17112
- .header .nav-header li a.active:before, .header .nav-header li.active a:before,
17113
- .header .nav-header li a:focus:before, .header .nav-header li.current-menu-item a:before {
17152
+ .header .nav-header li a.active:before, .header .nav-header li.active a:before, .header .nav-header li.current-menu-item a:before {
17114
17153
  content: none;
17115
17154
  }
17116
17155
  .header .nav-header li a:hover:after,
17117
17156
  .header .nav-header li a.open:after,
17118
- .header .nav-header li a.active:after, .header .nav-header li.active a:after,
17119
- .header .nav-header li a:focus:after, .header .nav-header li.current-menu-item a:after {
17157
+ .header .nav-header li a.active:after, .header .nav-header li.active a:after, .header .nav-header li.current-menu-item a:after {
17120
17158
  opacity: 1;
17121
17159
  }
17122
17160
  .header .nav-header li:before {
@@ -17141,16 +17179,30 @@ a.nav-arrow:hover .icon-container {
17141
17179
  .header .nav-header .dropdown .btn:focus:before {
17142
17180
  opacity: 1;
17143
17181
  }
17144
- .header .nav-header .dropdown-item {
17182
+ .header .nav-header .dropdown-item > a,
17183
+ .header .nav-header a.dropdown-item {
17184
+ width: 100%;
17145
17185
  padding: 0.25rem 1.25rem;
17146
17186
  font-weight: 400;
17147
17187
  }
17148
- .header .nav-header .dropdown-item:after {
17188
+ .header .nav-header .dropdown-item > a:after,
17189
+ .header .nav-header a.dropdown-item:after {
17149
17190
  content: none;
17150
17191
  }
17151
- .header .nav-header .dropdown-item:hover {
17192
+ .header .nav-header .dropdown-item > a:hover,
17193
+ .header .nav-header a.dropdown-item:hover {
17152
17194
  color: #212121;
17153
17195
  }
17196
+ .header .nav-header .dropdown-item > a:focus, .header .nav-header .dropdown-item > a:hover,
17197
+ .header .nav-header a.dropdown-item:focus,
17198
+ .header .nav-header a.dropdown-item:hover {
17199
+ background: #e6e6e6;
17200
+ }
17201
+ .header .nav-header .dropdown-item.current-menu-item > a,
17202
+ .header .nav-header a.dropdown-item.active {
17203
+ background: #707070;
17204
+ color: #fff;
17205
+ }
17154
17206
  .header .nav-header .icon {
17155
17207
  font-size: 0.9em;
17156
17208
  }
@@ -18361,7 +18413,7 @@ a.cc-link {
18361
18413
  }
18362
18414
  .project-data .available {
18363
18415
  font-weight: bold;
18364
- color: #699b32;
18416
+ color: #487915;
18365
18417
  }
18366
18418
  .project-data .completed {
18367
18419
  font-weight: bold;