richie-education 2.29.3-dev48 → 2.29.3-dev50
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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "richie-education",
|
|
3
|
-
"version": "2.29.3-
|
|
3
|
+
"version": "2.29.3-dev50",
|
|
4
4
|
"description": "A CMS to build learning portals for Open Education",
|
|
5
5
|
"main": "sandbox/manage.py",
|
|
6
6
|
"scripts": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@lyracom/embedded-form-glue": "1.4.2",
|
|
52
52
|
"@openfun/cunningham-react": "2.9.4",
|
|
53
53
|
"@openfun/cunningham-tokens": "2.1.1",
|
|
54
|
-
"@sentry/browser": "8.
|
|
54
|
+
"@sentry/browser": "8.33.0",
|
|
55
55
|
"@sentry/types": "8.32.0",
|
|
56
56
|
"@storybook/addon-actions": "8.3.4",
|
|
57
57
|
"@storybook/addon-essentials": "8.3.4",
|
package/scss/colors/_theme.scss
CHANGED
|
@@ -128,6 +128,18 @@ $r-theme: (
|
|
|
128
128
|
cta-color: r-color('firebrick6'),
|
|
129
129
|
cta-border: r-color('white'),
|
|
130
130
|
),
|
|
131
|
+
compacted-banner: (
|
|
132
|
+
title-color: r-color('charcoal'),
|
|
133
|
+
title-alt-color: r-color('firebrick6'),
|
|
134
|
+
content-color: r-color('black'),
|
|
135
|
+
search-input-background: rgba(r-color('white'), 0.7),
|
|
136
|
+
search-btn-background: r-color('firebrick6'),
|
|
137
|
+
search-icon-fill: r-color('white'),
|
|
138
|
+
cta-variant-from: rgba(r-color('white'), 0.8),
|
|
139
|
+
cta-variant-to: rgba(r-color('white'), 0.8),
|
|
140
|
+
cta-color: r-color('firebrick6'),
|
|
141
|
+
cta-border: r-color('white'),
|
|
142
|
+
),
|
|
131
143
|
section-plugin: (
|
|
132
144
|
title-emphased-color: r-color('firebrick6'),
|
|
133
145
|
),
|
|
@@ -28,6 +28,20 @@ body {
|
|
|
28
28
|
background-size: 100% 100%;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
// Apply the top padding behavior with topbar over mode only on the first child which
|
|
33
|
+
// is the only variant that can be exposed to issue with topbar over
|
|
34
|
+
.compacted-banner:first-child {
|
|
35
|
+
.compacted-banner__inner {
|
|
36
|
+
@include media-breakpoint-up(lg) {
|
|
37
|
+
@if $r-topbar-height {
|
|
38
|
+
padding: $r-topbar-height 0 1rem;
|
|
39
|
+
} @else {
|
|
40
|
+
padding: 1rem 0 1rem;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
46
|
|
|
33
47
|
// Container relative to some modal components
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
@import './templates/courses/plugins/licence_plugin';
|
|
62
62
|
@import './templates/richie/section/section';
|
|
63
63
|
@import './templates/richie/large_banner/large_banner';
|
|
64
|
+
@import './templates/richie/large_banner/compacted_banner';
|
|
64
65
|
@import './templates/richie/nesteditem/nesteditem';
|
|
65
66
|
@import './templates/richie/glimpse/glimpse';
|
|
66
67
|
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// A compact banner without image contents
|
|
2
|
+
// Opposed to 'hero-intro' this variant delegates the top padding for topbar in 'over'
|
|
3
|
+
// mode in content component
|
|
4
|
+
//
|
|
5
|
+
.compacted-banner {
|
|
6
|
+
position: relative;
|
|
7
|
+
padding: 0;
|
|
8
|
+
|
|
9
|
+
&__inner {
|
|
10
|
+
padding: 1rem 0;
|
|
11
|
+
|
|
12
|
+
@include media-breakpoint-up(lg) {
|
|
13
|
+
display: flex;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&__body {
|
|
18
|
+
@include make-container();
|
|
19
|
+
@include make-container-max-widths();
|
|
20
|
+
padding: 1rem;
|
|
21
|
+
text-align: center;
|
|
22
|
+
|
|
23
|
+
@include media-breakpoint-up(lg) {
|
|
24
|
+
display: flex;
|
|
25
|
+
padding: 2rem;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// NOTE: Force disabling of hardcoded hero title class from some already save
|
|
32
|
+
// contents. Sadly we can not disable the huge font size
|
|
33
|
+
.hero-intro__title {
|
|
34
|
+
margin-bottom: 1rem !important;
|
|
35
|
+
width: auto;
|
|
36
|
+
color: inherit;
|
|
37
|
+
|
|
38
|
+
strong {
|
|
39
|
+
color: inherit;
|
|
40
|
+
font-weight: inherit;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// NOTE: Apply the color+weight behavior with 'strong' element alike in
|
|
45
|
+
// 'hero-intro__title' but naturally on title elements without any class
|
|
46
|
+
h1,
|
|
47
|
+
h2,
|
|
48
|
+
h3,
|
|
49
|
+
h4,
|
|
50
|
+
h5,
|
|
51
|
+
h6 {
|
|
52
|
+
color: r-theme-val(compacted-banner, title-color);
|
|
53
|
+
margin-bottom: 0.5em;
|
|
54
|
+
|
|
55
|
+
strong {
|
|
56
|
+
color: r-theme-val(compacted-banner, title-alt-color);
|
|
57
|
+
font-weight: inherit;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// NOTE: Implement again the 'hero-intro__title' equivalent behavior
|
|
62
|
+
&__title {
|
|
63
|
+
@include responsive-spacer('margin-bottom', 1);
|
|
64
|
+
@include font-size($extra-font-size);
|
|
65
|
+
color: r-theme-val(compacted-banner, title-color);
|
|
66
|
+
|
|
67
|
+
strong {
|
|
68
|
+
color: r-theme-val(compacted-banner, title-alt-color);
|
|
69
|
+
font-weight: inherit;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&__content {
|
|
74
|
+
@include font-size($h5-font-size);
|
|
75
|
+
color: r-theme-val(compacted-banner, content-color);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&__search {
|
|
79
|
+
display: flex;
|
|
80
|
+
flex-wrap: wrap;
|
|
81
|
+
align-items: center;
|
|
82
|
+
justify-content: center;
|
|
83
|
+
|
|
84
|
+
.richie-react--root-search-suggest-field {
|
|
85
|
+
@include sv-flex(1, 0, 100%);
|
|
86
|
+
position: relative;
|
|
87
|
+
|
|
88
|
+
@include media-breakpoint-up(lg) {
|
|
89
|
+
@include sv-flex(1, 0, 320px);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.react-autosuggest__container {
|
|
93
|
+
margin-bottom: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
input {
|
|
97
|
+
background: r-theme-val(compacted-banner, search-input-background);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.search-input {
|
|
101
|
+
&__btn {
|
|
102
|
+
background: r-theme-val(compacted-banner, search-btn-background);
|
|
103
|
+
border-top-right-radius: 3rem;
|
|
104
|
+
border-bottom-right-radius: 3rem;
|
|
105
|
+
|
|
106
|
+
&__icon {
|
|
107
|
+
fill: r-theme-val(compacted-banner, search-icon-fill);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&__cta {
|
|
115
|
+
@include sv-flex(0, 0, auto);
|
|
116
|
+
@include button-size(
|
|
117
|
+
$btn-padding-y,
|
|
118
|
+
$btn-padding-x,
|
|
119
|
+
$btn-font-size,
|
|
120
|
+
$btn-line-height,
|
|
121
|
+
$btn-border-radius
|
|
122
|
+
);
|
|
123
|
+
@include button-variant(
|
|
124
|
+
r-theme-val(compacted-banner, cta-variant-from),
|
|
125
|
+
r-theme-val(compacted-banner, cta-variant-to)
|
|
126
|
+
);
|
|
127
|
+
margin: 1.2rem 0 0;
|
|
128
|
+
font-size: $font-size-base;
|
|
129
|
+
color: r-theme-val(compacted-banner, cta-color);
|
|
130
|
+
border-radius: 2rem;
|
|
131
|
+
@if r-theme-val(compacted-banner, cta-border) {
|
|
132
|
+
border: 1px solid r-theme-val(compacted-banner, cta-border);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@include media-breakpoint-up(lg) {
|
|
136
|
+
margin-top: 0;
|
|
137
|
+
@include responsive-spacer('margin-left', 0, $breakpoints: ('lg': 3));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
&:after {
|
|
141
|
+
content: '→';
|
|
142
|
+
margin-left: 1rem;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&:hover {
|
|
146
|
+
text-decoration: none;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|