richie-education 2.33.1-dev9 → 2.34.1-dev10
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/i18n/locales/ar-SA.json +48 -8
- package/i18n/locales/es-ES.json +48 -8
- package/i18n/locales/fa-IR.json +48 -8
- package/i18n/locales/fr-CA.json +48 -8
- package/i18n/locales/fr-FR.json +48 -8
- package/i18n/locales/ko-KR.json +48 -8
- package/i18n/locales/pt-PT.json +55 -15
- package/i18n/locales/ru-RU.json +48 -8
- package/i18n/locales/vi-VN.json +48 -8
- package/js/api/joanie.ts +5 -0
- package/js/api/lms/dummy.ts +12 -10
- package/js/components/AddressesManagement/index.spec.tsx +1 -1
- package/js/components/AddressesManagement/index.tsx +123 -129
- package/js/components/ContractFrame/AbstractContractFrame.spec.tsx +2 -4
- package/js/components/ContractFrame/AbstractContractFrame.tsx +1 -1
- package/js/components/Icon/index.stories.tsx +1 -1
- package/js/components/PaymentInterfaces/PayplugLightbox.tsx +1 -1
- package/js/components/PaymentScheduleGrid/_styles.scss +6 -5
- package/js/components/PaymentScheduleGrid/index.tsx +16 -0
- package/js/components/SaleTunnel/SaleTunnelSavePaymentMethod/index.tsx +2 -2
- package/js/components/SearchInput/index.spec.tsx +6 -5
- package/js/components/SearchInput/index.tsx +9 -1
- package/js/hooks/useCreditCards/index.spec.tsx +84 -0
- package/js/hooks/useCreditCards/index.ts +53 -1
- package/js/hooks/useCreditCardsManagement.tsx +1 -10
- package/js/hooks/useLearnerCoursesSearch/index.tsx +2 -2
- package/js/pages/DashboardCourses/index.spec.tsx +51 -7
- package/js/pages/DashboardCreditCardsManagement/DashboardCreditCardBox.tsx +3 -5
- package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCard.spec.tsx +1 -1
- package/js/pages/DashboardCreditCardsManagement/_styles.scss +11 -3
- package/js/pages/DashboardCreditCardsManagement/index.spec.tsx +46 -25
- package/js/pages/DashboardCreditCardsManagement/index.tsx +21 -37
- package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.spec.tsx +4 -2
- package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.tsx +1 -1
- package/js/pages/TeacherDashboardOrganizationCourseLoader/index.spec.tsx +8 -5
- package/js/translations/ar-SA.json +1 -1
- package/js/translations/es-ES.json +1 -1
- package/js/translations/fa-IR.json +1 -1
- package/js/translations/fr-CA.json +1 -1
- package/js/translations/fr-FR.json +1 -1
- package/js/translations/ko-KR.json +1 -1
- package/js/translations/pt-PT.json +1 -1
- package/js/translations/ru-RU.json +1 -1
- package/js/translations/vi-VN.json +1 -1
- package/js/types/Joanie.ts +13 -1
- package/js/types/index.ts +5 -0
- package/js/utils/OrderHelper/index.ts +9 -0
- package/js/utils/errors/HttpError.ts +1 -0
- package/js/utils/test/factories/richie.ts +25 -0
- package/js/utils/test/wrappers/types.ts +2 -2
- package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.spec.tsx +7 -1
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.useUnionResource.cache.spec.tsx +14 -2
- package/js/widgets/Dashboard/components/DashboardItem/Order/Installment/index.tsx +3 -2
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentDetailsModal/index.tsx +12 -5
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentRetryModal/index.tsx +1 -1
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateLearnerMessage/index.tsx +5 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateMessage/index.tsx +10 -8
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateTeacherMessage/index.tsx +5 -0
- package/js/widgets/Dashboard/components/SearchBar/index.spec.tsx +1 -1
- package/js/widgets/Dashboard/components/SearchResultsCount/index.spec.tsx +1 -1
- package/js/widgets/Dashboard/index.spec.tsx +7 -1
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCourseRuns/EnrollableCourseRunList.tsx +2 -1
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCourseRuns/index.spec.tsx +6 -4
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/index.tsx +1 -5
- package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRun/index.tsx +107 -0
- package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRunCompacted/index.tsx +107 -0
- package/js/widgets/SyllabusCourseRunsList/index.spec.tsx +450 -5
- package/package.json +66 -64
- package/scss/components/_styleguide.scss +2 -1
- package/scss/vendors/css/cunningham-tokens.css +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "richie-education",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.34.1-dev10",
|
|
4
4
|
"description": "A CMS to build learning portals for Open Education",
|
|
5
5
|
"main": "sandbox/manage.py",
|
|
6
6
|
"scripts": {
|
|
@@ -38,75 +38,75 @@
|
|
|
38
38
|
"not dead"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@babel/core": "7.26.
|
|
41
|
+
"@babel/core": "7.26.9",
|
|
42
42
|
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
|
43
|
-
"@babel/plugin-transform-modules-commonjs": "7.
|
|
44
|
-
"@babel/preset-env": "7.26.
|
|
45
|
-
"@babel/preset-react": "7.
|
|
43
|
+
"@babel/plugin-transform-modules-commonjs": "7.26.3",
|
|
44
|
+
"@babel/preset-env": "7.26.9",
|
|
45
|
+
"@babel/preset-react": "7.26.3",
|
|
46
46
|
"@babel/preset-typescript": "7.26.0",
|
|
47
|
-
"@faker-js/faker": "9.
|
|
48
|
-
"@formatjs/cli": "6.
|
|
49
|
-
"@formatjs/intl-relativetimeformat": "11.4.
|
|
50
|
-
"@hookform/resolvers": "
|
|
47
|
+
"@faker-js/faker": "9.5.0",
|
|
48
|
+
"@formatjs/cli": "6.6.1",
|
|
49
|
+
"@formatjs/intl-relativetimeformat": "11.4.10",
|
|
50
|
+
"@hookform/resolvers": "4.1.2",
|
|
51
51
|
"@lyracom/embedded-form-glue": "1.4.2",
|
|
52
|
-
"@openfun/cunningham-react": "
|
|
53
|
-
"@openfun/cunningham-tokens": "2.
|
|
54
|
-
"@sentry/browser": "
|
|
55
|
-
"@sentry/types": "
|
|
56
|
-
"@storybook/addon-actions": "8.
|
|
57
|
-
"@storybook/addon-essentials": "8.
|
|
58
|
-
"@storybook/addon-interactions": "8.
|
|
59
|
-
"@storybook/addon-links": "8.
|
|
60
|
-
"@storybook/react": "8.
|
|
61
|
-
"@storybook/react-webpack5": "8.
|
|
62
|
-
"@storybook/test": "8.
|
|
63
|
-
"@tanstack/query-core": "5.
|
|
64
|
-
"@tanstack/query-sync-storage-persister": "5.
|
|
65
|
-
"@tanstack/react-query": "5.
|
|
66
|
-
"@tanstack/react-query-devtools": "5.
|
|
67
|
-
"@tanstack/react-query-persist-client": "5.
|
|
52
|
+
"@openfun/cunningham-react": "3.0.0",
|
|
53
|
+
"@openfun/cunningham-tokens": "2.2.0",
|
|
54
|
+
"@sentry/browser": "9.2.0",
|
|
55
|
+
"@sentry/types": "9.2.0",
|
|
56
|
+
"@storybook/addon-actions": "8.6.0",
|
|
57
|
+
"@storybook/addon-essentials": "8.6.0",
|
|
58
|
+
"@storybook/addon-interactions": "8.6.0",
|
|
59
|
+
"@storybook/addon-links": "8.6.0",
|
|
60
|
+
"@storybook/react": "8.6.0",
|
|
61
|
+
"@storybook/react-webpack5": "8.6.0",
|
|
62
|
+
"@storybook/test": "8.6.0",
|
|
63
|
+
"@tanstack/query-core": "5.66.4",
|
|
64
|
+
"@tanstack/query-sync-storage-persister": "5.66.4",
|
|
65
|
+
"@tanstack/react-query": "5.66.9",
|
|
66
|
+
"@tanstack/react-query-devtools": "5.66.9",
|
|
67
|
+
"@tanstack/react-query-persist-client": "5.66.9",
|
|
68
68
|
"@testing-library/dom": "10.4.0",
|
|
69
69
|
"@testing-library/jest-dom": "6.6.3",
|
|
70
|
-
"@testing-library/react": "16.0
|
|
71
|
-
"@testing-library/user-event": "14.
|
|
72
|
-
"@types/fetch-mock": "
|
|
73
|
-
"@types/iframe-resizer": "
|
|
70
|
+
"@testing-library/react": "16.2.0",
|
|
71
|
+
"@testing-library/user-event": "14.6.1",
|
|
72
|
+
"@types/fetch-mock": "9.2.2",
|
|
73
|
+
"@types/iframe-resizer": "4.0.0",
|
|
74
74
|
"@types/jest": "29.5.14",
|
|
75
75
|
"@types/js-cookie": "3.0.6",
|
|
76
76
|
"@types/lodash-es": "4.17.12",
|
|
77
77
|
"@types/node-fetch": "2.6.12",
|
|
78
78
|
"@types/query-string": "6.3.0",
|
|
79
|
-
"@types/react": "
|
|
79
|
+
"@types/react": "19.0.10",
|
|
80
80
|
"@types/react-autosuggest": "10.1.11",
|
|
81
|
-
"@types/react-dom": "
|
|
81
|
+
"@types/react-dom": "19.0.4",
|
|
82
82
|
"@types/react-modal": "3.16.3",
|
|
83
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
84
|
-
"@typescript-eslint/parser": "8.
|
|
83
|
+
"@typescript-eslint/eslint-plugin": "8.25.0",
|
|
84
|
+
"@typescript-eslint/parser": "8.25.0",
|
|
85
85
|
"babel-jest": "29.7.0",
|
|
86
86
|
"babel-loader": "9.2.1",
|
|
87
87
|
"babel-plugin-react-intl": "8.2.25",
|
|
88
88
|
"bootstrap": ">=4.6.0 <5",
|
|
89
89
|
"classnames": "2.5.1",
|
|
90
90
|
"cljs-merge": "1.1.1",
|
|
91
|
-
"core-js": "3.
|
|
91
|
+
"core-js": "3.40.0",
|
|
92
92
|
"downshift": "9.0.8",
|
|
93
93
|
"eslint": ">=8.57.0 <9",
|
|
94
94
|
"eslint-config-airbnb": "19.0.4",
|
|
95
95
|
"eslint-config-airbnb-typescript": "18.0.0",
|
|
96
|
-
"eslint-config-prettier": "
|
|
97
|
-
"eslint-import-resolver-webpack": "0.13.
|
|
98
|
-
"eslint-plugin-compat": "6.0.
|
|
99
|
-
"eslint-plugin-formatjs": "5.2.
|
|
96
|
+
"eslint-config-prettier": "10.0.1",
|
|
97
|
+
"eslint-import-resolver-webpack": "0.13.10",
|
|
98
|
+
"eslint-plugin-compat": "6.0.2",
|
|
99
|
+
"eslint-plugin-formatjs": "5.2.14",
|
|
100
100
|
"eslint-plugin-import": "2.31.0",
|
|
101
101
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
102
|
-
"eslint-plugin-prettier": "5.2.
|
|
103
|
-
"eslint-plugin-react": "7.37.
|
|
104
|
-
"eslint-plugin-react-hooks": "5.
|
|
105
|
-
"eslint-plugin-storybook": "0.11.
|
|
102
|
+
"eslint-plugin-prettier": "5.2.3",
|
|
103
|
+
"eslint-plugin-react": "7.37.4",
|
|
104
|
+
"eslint-plugin-react-hooks": "5.1.0",
|
|
105
|
+
"eslint-plugin-storybook": "0.11.3",
|
|
106
106
|
"fetch-mock": "<10",
|
|
107
107
|
"file-loader": "6.2.0",
|
|
108
|
-
"glob": "11.0.
|
|
109
|
-
"i18n-iso-countries": "7.
|
|
108
|
+
"glob": "11.0.1",
|
|
109
|
+
"i18n-iso-countries": "7.14.0",
|
|
110
110
|
"iframe-resizer": "<5",
|
|
111
111
|
"intl-pluralrules": "2.0.1",
|
|
112
112
|
"jest": "29.7.0",
|
|
@@ -114,35 +114,37 @@
|
|
|
114
114
|
"js-cookie": "3.0.5",
|
|
115
115
|
"lodash-es": "4.17.21",
|
|
116
116
|
"mdn-polyfills": "5.20.0",
|
|
117
|
-
"msw": "2.
|
|
117
|
+
"msw": "2.7.3",
|
|
118
118
|
"node-fetch": ">2.6.6 <3",
|
|
119
|
-
"nodemon": "3.1.
|
|
120
|
-
"prettier": "3.
|
|
119
|
+
"nodemon": "3.1.9",
|
|
120
|
+
"prettier": "3.5.2",
|
|
121
121
|
"query-string": "9.1.1",
|
|
122
|
-
"react": "
|
|
122
|
+
"react": "19.0.0",
|
|
123
123
|
"react-autosuggest": "10.1.0",
|
|
124
|
-
"react-dom": "
|
|
125
|
-
"react-hook-form": "7.
|
|
126
|
-
"react-intl": "7.
|
|
127
|
-
"react-modal": "3.16.
|
|
128
|
-
"react-router": "7.0
|
|
129
|
-
"sass": "1.
|
|
124
|
+
"react-dom": "19.0.0",
|
|
125
|
+
"react-hook-form": "7.54.2",
|
|
126
|
+
"react-intl": "7.1.6",
|
|
127
|
+
"react-modal": "3.16.3",
|
|
128
|
+
"react-router": "7.2.0",
|
|
129
|
+
"sass": "1.85.1",
|
|
130
130
|
"source-map-loader": "5.0.0",
|
|
131
|
-
"storybook": "8.
|
|
131
|
+
"storybook": "8.6.0",
|
|
132
132
|
"tsconfig-paths-webpack-plugin": "4.2.0",
|
|
133
|
-
"typescript": "5.7.
|
|
134
|
-
"uuid": "11.0
|
|
135
|
-
"webpack": "5.
|
|
136
|
-
"webpack-cli": "
|
|
133
|
+
"typescript": "5.7.3",
|
|
134
|
+
"uuid": "11.1.0",
|
|
135
|
+
"webpack": "5.98.0",
|
|
136
|
+
"webpack-cli": "6.0.1",
|
|
137
137
|
"whatwg-fetch": "3.6.20",
|
|
138
138
|
"xhr-mock": "2.5.1",
|
|
139
139
|
"yargs": "17.7.2",
|
|
140
|
-
"yup": "1.
|
|
140
|
+
"yup": "1.6.1"
|
|
141
141
|
},
|
|
142
142
|
"resolutions": {
|
|
143
143
|
"@testing-library/dom": "10.4.0",
|
|
144
|
-
"@types/react": "
|
|
145
|
-
"@types/react-dom": "
|
|
144
|
+
"@types/react": "19.0.10",
|
|
145
|
+
"@types/react-dom": "19.0.4",
|
|
146
|
+
"react": "19.0.0",
|
|
147
|
+
"react-dom": "19.0.0"
|
|
146
148
|
},
|
|
147
149
|
"msw": {
|
|
148
150
|
"workerDirectory": "../richie/static/richie/js"
|
|
@@ -152,7 +154,7 @@
|
|
|
152
154
|
"yarn": "1.22.22"
|
|
153
155
|
},
|
|
154
156
|
"devDependencies": {
|
|
155
|
-
"@storybook/addon-mdx-gfm": "8.
|
|
156
|
-
"@storybook/addon-webpack5-compiler-babel": "3.0.
|
|
157
|
+
"@storybook/addon-mdx-gfm": "8.6.0",
|
|
158
|
+
"@storybook/addon-webpack5-compiler-babel": "3.0.5"
|
|
157
159
|
}
|
|
158
160
|
}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
// Draw a background grid in pure CSS
|
|
6
6
|
@mixin draw-grid($line-color: null, $border-color: null) {
|
|
7
7
|
@if $line-color {
|
|
8
|
-
background:
|
|
8
|
+
background:
|
|
9
|
+
linear-gradient(-90deg, $line-color $onepixel, transparent $onepixel),
|
|
9
10
|
linear-gradient($line-color $onepixel, transparent $onepixel),
|
|
10
11
|
linear-gradient(-90deg, $line-color $onepixel, transparent $onepixel),
|
|
11
12
|
linear-gradient($line-color $onepixel, transparent $onepixel),
|
|
@@ -132,6 +132,7 @@
|
|
|
132
132
|
--c--theme--breakpoints--lg: 992px;
|
|
133
133
|
--c--theme--breakpoints--xl: 1200px;
|
|
134
134
|
--c--theme--breakpoints--xxl: 1400px;
|
|
135
|
+
--c--components--tabs--border-bottom-color: var(--c--theme--colors--greyscale-300);
|
|
135
136
|
--c--components--button--font-family: Montserrat;
|
|
136
137
|
--c--components--dashboardlistavatar--saturation: 30;
|
|
137
138
|
--c--components--dashboardlistavatar--lightness: 55;
|