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-dev48",
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.32.0",
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",
@@ -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
+ }