richie-education 2.30.0 → 2.30.1-dev3

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.30.0",
3
+ "version": "2.30.1-dev3",
4
4
  "description": "A CMS to build learning portals for Open Education",
5
5
  "main": "sandbox/manage.py",
6
6
  "scripts": {
@@ -38,35 +38,35 @@
38
38
  "not dead"
39
39
  ],
40
40
  "dependencies": {
41
- "@babel/core": "7.25.7",
41
+ "@babel/core": "7.25.8",
42
42
  "@babel/plugin-syntax-dynamic-import": "7.8.3",
43
43
  "@babel/plugin-transform-modules-commonjs": "7.25.7",
44
- "@babel/preset-env": "7.25.7",
44
+ "@babel/preset-env": "7.25.8",
45
45
  "@babel/preset-react": "7.25.7",
46
46
  "@babel/preset-typescript": "7.25.7",
47
47
  "@faker-js/faker": "9.0.3",
48
- "@formatjs/cli": "6.2.14",
49
- "@formatjs/intl-relativetimeformat": "11.2.15",
48
+ "@formatjs/cli": "6.3.0",
49
+ "@formatjs/intl-relativetimeformat": "11.2.16",
50
50
  "@hookform/resolvers": "3.9.0",
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.33.1",
55
- "@sentry/types": "8.33.1",
56
- "@storybook/addon-actions": "8.3.5",
57
- "@storybook/addon-essentials": "8.3.5",
58
- "@storybook/addon-interactions": "8.3.5",
59
- "@storybook/addon-links": "8.3.5",
60
- "@storybook/react": "8.3.5",
61
- "@storybook/react-webpack5": "8.3.5",
62
- "@storybook/test": "8.3.5",
63
- "@tanstack/query-core": "5.59.4",
64
- "@tanstack/query-sync-storage-persister": "5.59.4",
65
- "@tanstack/react-query": "5.59.4",
66
- "@tanstack/react-query-devtools": "5.59.4",
67
- "@tanstack/react-query-persist-client": "5.59.4",
54
+ "@sentry/browser": "8.35.0",
55
+ "@sentry/types": "8.35.0",
56
+ "@storybook/addon-actions": "8.3.6",
57
+ "@storybook/addon-essentials": "8.3.6",
58
+ "@storybook/addon-interactions": "8.3.6",
59
+ "@storybook/addon-links": "8.3.6",
60
+ "@storybook/react": "8.3.6",
61
+ "@storybook/react-webpack5": "8.3.6",
62
+ "@storybook/test": "8.3.6",
63
+ "@tanstack/query-core": "5.59.13",
64
+ "@tanstack/query-sync-storage-persister": "5.59.13",
65
+ "@tanstack/react-query": "5.59.15",
66
+ "@tanstack/react-query-devtools": "5.59.15",
67
+ "@tanstack/react-query-persist-client": "5.59.15",
68
68
  "@testing-library/dom": "10.4.0",
69
- "@testing-library/jest-dom": "6.5.0",
69
+ "@testing-library/jest-dom": "6.6.2",
70
70
  "@testing-library/react": "16.0.1",
71
71
  "@testing-library/user-event": "14.5.2",
72
72
  "@types/fetch-mock": "7.3.8",
@@ -78,11 +78,11 @@
78
78
  "@types/query-string": "6.3.0",
79
79
  "@types/react": "18.3.11",
80
80
  "@types/react-autosuggest": "10.1.11",
81
- "@types/react-dom": "18.3.0",
81
+ "@types/react-dom": "18.3.1",
82
82
  "@types/react-modal": "3.16.3",
83
83
  "@types/uuid": "10.0.0",
84
- "@typescript-eslint/eslint-plugin": "8.8.1",
85
- "@typescript-eslint/parser": "8.8.1",
84
+ "@typescript-eslint/eslint-plugin": "8.10.0",
85
+ "@typescript-eslint/parser": "8.10.0",
86
86
  "babel-jest": "29.7.0",
87
87
  "babel-loader": "9.2.1",
88
88
  "babel-plugin-react-intl": "8.2.25",
@@ -97,13 +97,13 @@
97
97
  "eslint-config-prettier": "9.1.0",
98
98
  "eslint-import-resolver-webpack": "0.13.9",
99
99
  "eslint-plugin-compat": "6.0.1",
100
- "eslint-plugin-formatjs": "5.0.2",
100
+ "eslint-plugin-formatjs": "5.1.1",
101
101
  "eslint-plugin-import": "2.31.0",
102
- "eslint-plugin-jsx-a11y": "6.10.0",
102
+ "eslint-plugin-jsx-a11y": "6.10.1",
103
103
  "eslint-plugin-prettier": "5.2.1",
104
104
  "eslint-plugin-react": "7.37.1",
105
- "eslint-plugin-react-hooks": "4.6.2",
106
- "eslint-plugin-storybook": "0.9.0",
105
+ "eslint-plugin-react-hooks": "5.0.0",
106
+ "eslint-plugin-storybook": "0.10.1",
107
107
  "fetch-mock": "<10",
108
108
  "file-loader": "6.2.0",
109
109
  "glob": "11.0.0",
@@ -115,7 +115,7 @@
115
115
  "js-cookie": "3.0.5",
116
116
  "lodash-es": "4.17.21",
117
117
  "mdn-polyfills": "5.20.0",
118
- "msw": "2.4.9",
118
+ "msw": "2.4.11",
119
119
  "node-fetch": ">2.6.6 <3",
120
120
  "nodemon": "3.1.7",
121
121
  "prettier": "3.3.3",
@@ -123,13 +123,13 @@
123
123
  "react": "18.3.1",
124
124
  "react-autosuggest": "10.1.0",
125
125
  "react-dom": "18.3.1",
126
- "react-hook-form": "7.53.0",
127
- "react-intl": "6.7.2",
126
+ "react-hook-form": "7.53.1",
127
+ "react-intl": "6.8.0",
128
128
  "react-modal": "3.16.1",
129
- "react-router-dom": "6.26.2",
130
- "sass": "1.79.4",
129
+ "react-router-dom": "6.27.0",
130
+ "sass": "1.80.3",
131
131
  "source-map-loader": "5.0.0",
132
- "storybook": "8.3.5",
132
+ "storybook": "8.3.6",
133
133
  "tsconfig-paths-webpack-plugin": "4.1.0",
134
134
  "typescript": "5.6.3",
135
135
  "uuid": "10.0.0",
@@ -143,7 +143,7 @@
143
143
  "resolutions": {
144
144
  "@testing-library/dom": "10.4.0",
145
145
  "@types/react": "18.3.11",
146
- "@types/react-dom": "18.3.0"
146
+ "@types/react-dom": "18.3.1"
147
147
  },
148
148
  "msw": {
149
149
  "workerDirectory": "../richie/static/richie/js"
@@ -152,7 +152,7 @@
152
152
  "node": "20.11.0"
153
153
  },
154
154
  "devDependencies": {
155
- "@storybook/addon-mdx-gfm": "8.3.5",
155
+ "@storybook/addon-mdx-gfm": "8.3.6",
156
156
  "@storybook/addon-webpack5-compiler-babel": "3.0.3"
157
157
  }
158
158
  }
@@ -1,3 +1,6 @@
1
+ $r-section-grid-sizes: () !default;
2
+ $r-section-grid-gutters: () !default;
3
+
1
4
  section {
2
5
  // Ensure caesura always takes full width with some space around
3
6
  // within flex grid
@@ -70,6 +73,9 @@ section {
70
73
  }
71
74
  }
72
75
  }
76
+
77
+ // Enable CSS grid
78
+ @include m-o-grid($r-section-grid-sizes, $r-section-grid-gutters);
73
79
  }
74
80
 
75
81
  //
@@ -127,6 +133,9 @@ section {
127
133
  }
128
134
  }
129
135
 
136
+ // Enable CSS grid
137
+ @include m-o-grid($r-section-grid-sizes, $r-section-grid-gutters);
138
+
130
139
  .category-glimpse {
131
140
  @include sv-flex(1, 0, calc(15% - 1rem));
132
141
  max-width: none;
@@ -165,3 +165,20 @@ $r-search-filters-gutter: 0.2rem !default;
165
165
  $r-ease-in: cubic-bezier(0.5, 0, 0.75, 0) !default;
166
166
  $r-ease-out: cubic-bezier(0.25, 1, 0.5, 1) !default;
167
167
  $r-ease-in-out: cubic-bezier(0.76, 0, 0.24, 1) !default;
168
+
169
+ // Define the grid column template for Section grid
170
+ // Each item will be a variant to allow on grid
171
+ $r-section-grid-sizes: (
172
+ '50x50': 1fr 1fr,
173
+ '33x33x33': 1fr 1fr 1fr,
174
+ '25x75': 25% 2fr,
175
+ '75x25': 2fr 25%,
176
+ );
177
+
178
+ // Define gutter size to apply on Section grid
179
+ // Each item is a breakpoint where to apply the gutter, breakpoint 'sm' is used as
180
+ // the default gutter size for minimal breakpoint if defined
181
+ $r-section-grid-gutters: (
182
+ 'sm': 0.5rem,
183
+ 'xl': 1rem,
184
+ );
@@ -0,0 +1,50 @@
1
+ // Basic CSS grid
2
+
3
+ // Define CSS grid rules for content
4
+ @mixin m-o-grid($grid-sizes, $grid-gutters) {
5
+ // CSS grid definition
6
+ &__grid {
7
+ display: grid;
8
+ grid-template-columns: 100%;
9
+
10
+ // Neutralize and adapt some rules that for content items that can define some
11
+ // rules which conflict with expected section grid behaviors
12
+ & > * {
13
+ min-width: auto !important;
14
+ max-width: none !important;
15
+ }
16
+
17
+ // Adjust button caesura
18
+ & > .button-caesura {
19
+ display: block;
20
+ }
21
+
22
+ // Enable column size only for large screen and up
23
+ @include media-breakpoint-up(lg) {
24
+ @each $key, $value in $r-section-grid-sizes {
25
+ &--#{$key} {
26
+ grid-template-columns: $value;
27
+ }
28
+ }
29
+ }
30
+
31
+ // Variants with a gutter between content items
32
+ &--with-gutter {
33
+ @if map-get($r-section-grid-gutters, 'sm') {
34
+ column-gap: map-get($r-section-grid-gutters, 'sm');
35
+ row-gap: map-get($r-section-grid-gutters, 'sm');
36
+ }
37
+ @each $key, $value in $r-section-grid-gutters {
38
+ @include media-breakpoint-up($key) {
39
+ column-gap: $value;
40
+ row-gap: $value;
41
+ }
42
+ }
43
+
44
+ // Disable contents margin in profit of grid gutter
45
+ & > * {
46
+ margin: 0 !important;
47
+ }
48
+ }
49
+ }
50
+ }
@@ -7,6 +7,7 @@
7
7
  @import './empty';
8
8
  @import './features';
9
9
  @import './flexbox';
10
+ @import './grids';
10
11
  @import './hero';
11
12
  @import './keyframes';
12
13
  @import './list-group';