richie-education 3.3.2-dev6 → 3.4.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.
Files changed (153) hide show
  1. package/.eslintrc.json +0 -3
  2. package/.storybook/main.js +11 -12
  3. package/.storybook/preview.tsx +49 -24
  4. package/cunningham.cjs +31 -0
  5. package/i18n/compile-translations.js +12 -10
  6. package/i18n/locales/ar-SA.json +20 -0
  7. package/i18n/locales/es-ES.json +20 -0
  8. package/i18n/locales/fa-IR.json +20 -0
  9. package/i18n/locales/fr-CA.json +20 -0
  10. package/i18n/locales/fr-FR.json +21 -1
  11. package/i18n/locales/ko-KR.json +20 -0
  12. package/i18n/locales/pt-PT.json +42 -22
  13. package/i18n/locales/ru-RU.json +20 -0
  14. package/i18n/locales/vi-VN.json +20 -0
  15. package/jest.config.js +5 -0
  16. package/js/components/AddressesManagement/AddressForm/index.stories.tsx +1 -1
  17. package/js/components/AddressesManagement/AddressForm/index.tsx +4 -3
  18. package/js/components/AddressesManagement/index.stories.tsx +1 -1
  19. package/js/components/AddressesManagement/index.tsx +5 -3
  20. package/js/components/Badge/index.stories.tsx +1 -1
  21. package/js/components/Badge/index.tsx +1 -1
  22. package/js/components/Banner/index.stories.tsx +1 -1
  23. package/js/components/CourseGlimpse/index.stories.tsx +1 -1
  24. package/js/components/CourseGlimpseList/index.stories.tsx +1 -1
  25. package/js/components/CreditCardSelector/_styles.scss +2 -2
  26. package/js/components/CreditCardSelector/index.tsx +11 -3
  27. package/js/components/DownloadCertificateButton/index.tsx +2 -1
  28. package/js/components/DownloadContractButton/index.tsx +7 -1
  29. package/js/components/Form/Form/index.tsx +4 -2
  30. package/js/components/Icon/index.stories.tsx +2 -1
  31. package/js/components/Modal/index.stories.tsx +1 -1
  32. package/js/components/Modal/index.tsx +2 -1
  33. package/js/components/OpenEdxFullNameForm/index.stories.tsx +1 -1
  34. package/js/components/OpenEdxFullNameForm/index.tsx +2 -2
  35. package/js/components/PaymentScheduleGrid/_styles.scss +2 -2
  36. package/js/components/PurchaseButton/index.stories.tsx +1 -1
  37. package/js/components/RegisteredAddress/index.stories.tsx +1 -1
  38. package/js/components/RegisteredAddress/index.tsx +4 -2
  39. package/js/components/SaleTunnel/AddressSelector/CreateAddressFormModal.tsx +1 -1
  40. package/js/components/SaleTunnel/AddressSelector/EditAddressFormModal.tsx +1 -1
  41. package/js/components/SaleTunnel/AddressSelector/index.tsx +4 -2
  42. package/js/components/SaleTunnel/SaleTunnelInformation/SaleTunnelInformationGroup.tsx +4 -3
  43. package/js/components/SaleTunnel/SaleTunnelInformation/SaleTunnelInformationSingular.tsx +27 -5
  44. package/js/components/SaleTunnel/SubscriptionButton/index.tsx +7 -5
  45. package/js/components/SaleTunnel/_styles.scss +9 -8
  46. package/js/components/SaleTunnel/index.credential.spec.tsx +50 -1
  47. package/js/components/SaleTunnel/index.stories.tsx +1 -1
  48. package/js/components/Spinner/index.stories.tsx +1 -1
  49. package/js/components/Tabs/index.stories.tsx +1 -1
  50. package/js/components/Tabs/index.tsx +2 -1
  51. package/js/components/TeacherDashboardCourseList/index.tsx +2 -1
  52. package/js/hooks/useAddressesManagement.tsx +4 -2
  53. package/js/hooks/useCreditCards/index.ts +6 -4
  54. package/js/hooks/useDashboardAddressForm.tsx +3 -3
  55. package/js/hooks/useMatchMedia.ts +1 -1
  56. package/js/hooks/useResources/useResourcesRoot.ts +1 -1
  57. package/js/hooks/useUnionResource/index.ts +6 -2
  58. package/js/hooks/useUnionResource/utils/fetchEntity.ts +1 -0
  59. package/js/pages/DashboardAddressesManagement/DashboardAddressBox.tsx +3 -3
  60. package/js/pages/DashboardAddressesManagement/DashboardCreateAddress.stories.tsx +1 -1
  61. package/js/pages/DashboardAddressesManagement/DashboardCreateAddress.tsx +1 -1
  62. package/js/pages/DashboardAddressesManagement/DashboardEditAddress.stories.tsx +1 -1
  63. package/js/pages/DashboardAddressesManagement/DashboardEditAddress.tsx +3 -2
  64. package/js/pages/DashboardAddressesManagement/index.stories.tsx +1 -1
  65. package/js/pages/DashboardAddressesManagement/index.tsx +1 -1
  66. package/js/pages/DashboardCourses/index.tsx +2 -1
  67. package/js/pages/DashboardCreditCardsManagement/CreditCardBrandLogo.stories.tsx +1 -1
  68. package/js/pages/DashboardCreditCardsManagement/DashboardCreditCardBox.tsx +3 -3
  69. package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCard.stories.tsx +1 -1
  70. package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCard.tsx +3 -2
  71. package/js/pages/DashboardCreditCardsManagement/index.stories.tsx +1 -1
  72. package/js/pages/DashboardOpenEdxProfile/index.stories.tsx +1 -1
  73. package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.tsx +4 -2
  74. package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.tsx +2 -1
  75. package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.spec.tsx +4 -4
  76. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.spec.tsx +8 -9
  77. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.tsx +14 -3
  78. package/js/pages/TeacherDashboardCourseLearnersLayout/components/CourseLearnerDataGrid/index.tsx +6 -1
  79. package/js/pages/TeacherDashboardCourseLoader/CourseRunList/utils.tsx +2 -1
  80. package/js/pages/TeacherDashboardOrganizationAgreements/BulkAgreementContractButton.tsx +4 -2
  81. package/js/pages/TeacherDashboardOrganizationAgreements/SignOrganizationAgreementButton.tsx +2 -1
  82. package/js/pages/TeacherDashboardOrganizationQuotes/index.full-process.spec.tsx +2 -2
  83. package/js/pages/TeacherDashboardOrganizationQuotes/index.spec.tsx +1 -1
  84. package/js/pages/TeacherDashboardOrganizationQuotes/index.tsx +3 -2
  85. package/js/translations/ar-SA.json +1 -1
  86. package/js/translations/es-ES.json +1 -1
  87. package/js/translations/fa-IR.json +1 -1
  88. package/js/translations/fr-CA.json +1 -1
  89. package/js/translations/fr-FR.json +1 -1
  90. package/js/translations/ko-KR.json +1 -1
  91. package/js/translations/pt-PT.json +1 -1
  92. package/js/translations/ru-RU.json +1 -1
  93. package/js/translations/vi-VN.json +1 -1
  94. package/js/types/Joanie.ts +1 -1
  95. package/js/utils/ProductHelper/index.spec.ts +1 -1
  96. package/js/utils/StorybookHelper/index.tsx +3 -6
  97. package/js/utils/cunningham-tokens.ts +1111 -142
  98. package/js/utils/errors/handle.spec.ts +3 -3
  99. package/js/utils/react-query/useSessionMutation/index.ts +8 -3
  100. package/js/utils/test/factories/joanie.ts +1 -1
  101. package/js/widgets/Dashboard/components/DashboardAvatar/index.stories.tsx +1 -1
  102. package/js/widgets/Dashboard/components/DashboardBox/index.stories.tsx +13 -5
  103. package/js/widgets/Dashboard/components/DashboardBreadcrumbs/index.stories.tsx +1 -1
  104. package/js/widgets/Dashboard/components/DashboardBreadcrumbs/index.tsx +3 -2
  105. package/js/widgets/Dashboard/components/DashboardCard/index.spec.tsx +13 -2
  106. package/js/widgets/Dashboard/components/DashboardCard/index.stories.tsx +12 -4
  107. package/js/widgets/Dashboard/components/DashboardCard/index.tsx +1 -1
  108. package/js/widgets/Dashboard/components/DashboardItem/BatchOrder/BatchOrderPaymentModal/BatchOrderPaymentManager.tsx +1 -1
  109. package/js/widgets/Dashboard/components/DashboardItem/BatchOrder/BatchOrderPaymentModal/index.tsx +2 -1
  110. package/js/widgets/Dashboard/components/DashboardItem/Certificate/index.stories.tsx +1 -1
  111. package/js/widgets/Dashboard/components/DashboardItem/Contract/index.stories.tsx +1 -1
  112. package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/index.stories.tsx +1 -1
  113. package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/index.tsx +8 -4
  114. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/DashboardItemEnrollment.stories.tsx +1 -1
  115. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.tsx +1 -1
  116. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderReadonly.stories.tsx +1 -1
  117. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderWritable.stories.tsx +1 -1
  118. package/js/widgets/Dashboard/components/DashboardItem/Order/Installment/index.tsx +1 -1
  119. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentDetailsModal/_styles.scss +2 -2
  120. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentRetryModal/index.tsx +2 -1
  121. package/js/widgets/Dashboard/components/DashboardItem/Order/OrganizationBlock/index.tsx +6 -3
  122. package/js/widgets/Dashboard/components/DashboardItem/index.stories.tsx +1 -1
  123. package/js/widgets/Dashboard/components/DashboardItem/index.tsx +2 -1
  124. package/js/widgets/Dashboard/components/DashboardListAvatar/index.stories.tsx +1 -1
  125. package/js/widgets/Dashboard/components/DashboardSidebar/index.stories.tsx +1 -1
  126. package/js/widgets/Dashboard/components/LearnerDashboardSidebar/index.stories.tsx +1 -1
  127. package/js/widgets/Dashboard/components/ProtectedOutlet/AuthenticatedOutlet.spec.tsx +1 -1
  128. package/js/widgets/Dashboard/components/ProtectedOutlet/ProtectedOutlet.spec.tsx +1 -1
  129. package/js/widgets/Dashboard/components/SearchBar/index.tsx +2 -1
  130. package/js/widgets/Dashboard/components/TeacherDashboardOrganizationSidebar/index.stories.tsx +1 -1
  131. package/js/widgets/Dashboard/components/TeacherDashboardProfileSidebar/index.stories.tsx +1 -1
  132. package/js/widgets/Dashboard/hooks/useRouteInfo/index.spec.tsx +2 -2
  133. package/js/widgets/Dashboard/index.spec.tsx +1 -1
  134. package/js/widgets/Search/components/SearchFilterValueParent/index.stories.tsx +1 -1
  135. package/js/widgets/Search/components/SearchFiltersPane/index.tsx +2 -1
  136. package/js/widgets/Slider/index.stories.tsx +1 -1
  137. package/js/widgets/Slider/index.tsx +7 -6
  138. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCertificateItem/index.stories.tsx +1 -1
  139. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseRunItem/index.stories.tsx +1 -1
  140. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.stories.tsx +1 -1
  141. package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/index.tsx +4 -2
  142. package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRun/index.stories.tsx +1 -1
  143. package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRunCompacted/index.stories.tsx +41 -0
  144. package/js/widgets/UserLogin/index.stories.tsx +1 -1
  145. package/package.json +76 -81
  146. package/scss/components/_subheader.scss +1 -1
  147. package/scss/components/templates/richie/slider/_slider.scss +1 -1
  148. package/scss/objects/_course_glimpses.scss +1 -0
  149. package/scss/trumps/_bootstrap.scss +1 -0
  150. package/scss/vendors/css/cunningham-tokens.css +1259 -154
  151. package/scss/vendors/cunningham-tokens.scss +1479 -150
  152. package/tsconfig.json +1 -1
  153. package/webpack.config.js +8 -0
@@ -0,0 +1,41 @@
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { CourseRunFactory } from 'utils/test/factories/richie';
3
+ import { StorybookHelper } from 'utils/StorybookHelper';
4
+ import { CourseCertificateOffer, CourseOffer } from 'types/Course';
5
+ import { SyllabusCourseRunCompacted } from '.';
6
+
7
+ export default {
8
+ component: SyllabusCourseRunCompacted,
9
+ render: (args) => StorybookHelper.wrapInApp(<SyllabusCourseRunCompacted {...args} />),
10
+ } as Meta<typeof SyllabusCourseRunCompacted>;
11
+
12
+ type Story = StoryObj<typeof SyllabusCourseRunCompacted>;
13
+
14
+ const courseRun = CourseRunFactory().one();
15
+
16
+ const singleDateCourseRun = {
17
+ ...courseRun,
18
+ start: null,
19
+ enrollment_start: null,
20
+ title: 'Certificate Product',
21
+ price_currency: 'EUR',
22
+ offer: CourseOffer.FREE,
23
+ certificate_offer: CourseCertificateOffer.PAID,
24
+ certificate_price: 100,
25
+ discounted_price: null,
26
+ discount: null,
27
+ } as any;
28
+
29
+ const course = {
30
+ id: '038c4f92-542a-4652-8537-322a75297b75',
31
+ code: 'IYfwh',
32
+ is_self_paced: true,
33
+ };
34
+
35
+ export const CertificateSyllabusSingleDate: Story = {
36
+ args: {
37
+ courseRun: singleDateCourseRun,
38
+ course,
39
+ showLanguages: true,
40
+ },
41
+ };
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
2
  import { StorybookHelper } from 'utils/StorybookHelper';
3
3
  import { RichieContextFactory } from 'utils/test/factories/richie';
4
4
  import UserLogin from '.';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "richie-education",
3
- "version": "3.3.2-dev6",
3
+ "version": "3.4.1-dev3",
4
4
  "description": "A CMS to build learning portals for Open Education",
5
5
  "main": "sandbox/manage.py",
6
6
  "scripts": {
@@ -18,7 +18,7 @@
18
18
  "watch-ts": "yarn build-ts --watch",
19
19
  "storybook": "storybook dev -p 6006",
20
20
  "build-storybook": "storybook build",
21
- "build-theme": "cunningham -g scss -o scss/vendors && cunningham -g css -o scss/vendors/css && cunningham -g ts -o js/utils/"
21
+ "build-theme": "cunningham -g scss -o scss/vendors && cunningham -g css -o scss/vendors/css && cunningham -g ts -o js/utils/ && prettier --write scss/vendors/cunningham-tokens.scss scss/vendors/css/cunningham-tokens.css js/utils/cunningham-tokens.ts"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
@@ -34,125 +34,121 @@
34
34
  },
35
35
  "homepage": "https://github.com/openfun/richie#readme",
36
36
  "browserslist": [
37
- "last 2 versions",
38
- ">1%",
39
- "not dead"
37
+ ">0.2%",
38
+ "not dead",
39
+ "not op_mini all"
40
40
  ],
41
41
  "dependencies": {
42
- "@babel/core": "7.26.10",
42
+ "@babel/core": "7.29.0",
43
43
  "@babel/plugin-syntax-dynamic-import": "7.8.3",
44
- "@babel/plugin-transform-modules-commonjs": "7.26.3",
45
- "@babel/preset-env": "7.26.9",
46
- "@babel/preset-react": "7.26.3",
47
- "@babel/preset-typescript": "7.26.0",
44
+ "@babel/plugin-transform-modules-commonjs": "7.28.6",
45
+ "@babel/preset-env": "7.29.0",
46
+ "@babel/preset-react": "7.28.5",
47
+ "@babel/preset-typescript": "7.28.5",
48
48
  "@emotion/react": "^11.14.0",
49
49
  "@emotion/styled": "^11.14.1",
50
- "@faker-js/faker": "9.6.0",
51
- "@formatjs/cli": "6.6.2",
52
- "@formatjs/intl-relativetimeformat": "11.4.11",
53
- "@hookform/resolvers": "4.1.3",
54
- "@lyracom/embedded-form-glue": "1.4.2",
50
+ "@faker-js/faker": "10.3.0",
51
+ "@formatjs/cli": "6.13.0",
52
+ "@formatjs/intl-relativetimeformat": "12.2.2",
53
+ "@hookform/resolvers": "5.2.2",
54
+ "@lyracom/embedded-form-glue": "1.4.4",
55
55
  "@mui/material": "^7.3.2",
56
- "@openfun/cunningham-react": "3.0.0",
57
- "@openfun/cunningham-tokens": "2.2.0",
58
- "@sentry/browser": "9.8.0",
59
- "@sentry/types": "9.8.0",
60
- "@storybook/addon-actions": "8.6.8",
61
- "@storybook/addon-essentials": "8.6.8",
62
- "@storybook/addon-interactions": "8.6.8",
63
- "@storybook/addon-links": "8.6.8",
64
- "@storybook/react": "8.6.8",
65
- "@storybook/react-webpack5": "8.6.8",
66
- "@storybook/test": "8.6.8",
67
- "@tanstack/query-core": "5.69.0",
68
- "@tanstack/query-sync-storage-persister": "5.69.0",
69
- "@tanstack/react-query": "5.69.0",
70
- "@tanstack/react-query-devtools": "5.69.0",
71
- "@tanstack/react-query-persist-client": "5.69.0",
72
- "@testing-library/dom": "10.4.0",
73
- "@testing-library/jest-dom": "6.6.3",
74
- "@testing-library/react": "16.2.0",
56
+ "@openfun/cunningham-react": "4.0.0",
57
+ "@openfun/cunningham-tokens": "3.0.0",
58
+ "@sentry/browser": "10.40.0",
59
+ "@sentry/types": "10.40.0",
60
+ "@storybook/addon-links": "10.2.13",
61
+ "@storybook/react": "10.2.13",
62
+ "@storybook/react-webpack5": "10.2.13",
63
+ "@tanstack/query-core": "5.90.20",
64
+ "@tanstack/query-sync-storage-persister": "5.90.23",
65
+ "@tanstack/react-query": "5.90.21",
66
+ "@tanstack/react-query-devtools": "5.91.3",
67
+ "@tanstack/react-query-persist-client": "5.90.23",
68
+ "@testing-library/dom": "10.4.1",
69
+ "@testing-library/jest-dom": "6.9.1",
70
+ "@testing-library/react": "16.3.2",
75
71
  "@testing-library/user-event": "14.6.1",
76
72
  "@types/fetch-mock": "9.2.2",
77
73
  "@types/iframe-resizer": "4.0.0",
78
- "@types/jest": "29.5.14",
74
+ "@types/jest": "30.0.0",
79
75
  "@types/js-cookie": "3.0.6",
80
76
  "@types/lodash-es": "4.17.12",
81
- "@types/node-fetch": "2.6.12",
77
+ "@types/node-fetch": "2.6.13",
82
78
  "@types/query-string": "6.3.0",
83
- "@types/react": "19.0.12",
79
+ "@types/react": "19.2.14",
84
80
  "@types/react-autosuggest": "10.1.11",
85
- "@types/react-dom": "19.0.4",
81
+ "@types/react-dom": "19.2.3",
86
82
  "@types/react-modal": "3.16.3",
87
- "@typescript-eslint/eslint-plugin": "8.27.0",
88
- "@typescript-eslint/parser": "8.27.0",
89
- "babel-jest": "29.7.0",
83
+ "@typescript-eslint/eslint-plugin": "8.56.1",
84
+ "@typescript-eslint/parser": "8.56.1",
85
+ "babel-jest": "30.2.0",
90
86
  "babel-loader": "10.0.0",
91
87
  "babel-plugin-react-intl": "8.2.25",
92
88
  "bootstrap": ">=4.6.0 <5",
93
89
  "classnames": "2.5.1",
94
90
  "cljs-merge": "1.1.1",
95
- "core-js": "3.41.0",
96
- "downshift": "9.0.9",
91
+ "core-js": "3.48.0",
92
+ "downshift": "9.3.2",
97
93
  "embla-carousel-autoplay": "8.6.0",
98
- "embla-carousel-react": "8.5.2",
99
- "embla-carousel-wheel-gestures": "8.0.1",
94
+ "embla-carousel-react": "8.6.0",
95
+ "embla-carousel-wheel-gestures": "8.1.0",
100
96
  "eslint": ">=8.57.0 <9",
101
97
  "eslint-config-airbnb": "19.0.4",
102
98
  "eslint-config-airbnb-typescript": "18.0.0",
103
- "eslint-config-prettier": "10.1.1",
99
+ "eslint-config-prettier": "10.1.8",
104
100
  "eslint-import-resolver-webpack": "0.13.10",
105
- "eslint-plugin-compat": "6.0.2",
106
- "eslint-plugin-formatjs": "5.3.0",
107
- "eslint-plugin-import": "2.31.0",
101
+ "eslint-plugin-compat": "7.0.0",
102
+ "eslint-plugin-formatjs": "6.2.0",
103
+ "eslint-plugin-import": "2.32.0",
108
104
  "eslint-plugin-jsx-a11y": "6.10.2",
109
- "eslint-plugin-prettier": "5.2.4",
110
- "eslint-plugin-react": "7.37.4",
111
- "eslint-plugin-react-hooks": "5.2.0",
112
- "eslint-plugin-storybook": "0.11.6",
105
+ "eslint-plugin-prettier": "5.5.5",
106
+ "eslint-plugin-react": "7.37.5",
107
+ "eslint-plugin-react-hooks": "7.0.1",
108
+ "eslint-plugin-storybook": "10.2.13",
113
109
  "fetch-mock": "<10",
114
110
  "file-loader": "6.2.0",
115
- "glob": "11.0.1",
111
+ "glob": "11.1.0",
116
112
  "i18n-iso-countries": "7.14.0",
117
113
  "iframe-resizer": "<5",
118
114
  "intl-pluralrules": "2.0.1",
119
- "jest": "29.7.0",
120
- "jest-environment-jsdom": "29.7.0",
115
+ "jest": "30.2.0",
116
+ "jest-environment-jsdom": "30.2.0",
121
117
  "js-cookie": "3.0.5",
122
- "keycloak-js": "26.2.2",
123
- "lodash-es": "4.17.21",
118
+ "keycloak-js": "26.2.3",
119
+ "lodash-es": "4.17.23",
124
120
  "mdn-polyfills": "5.20.0",
125
- "msw": "2.7.3",
121
+ "msw": "2.12.10",
126
122
  "node-fetch": ">2.6.6 <3",
127
- "nodemon": "3.1.9",
128
- "prettier": "3.5.3",
129
- "query-string": "9.1.1",
130
- "react": "19.0.0",
123
+ "nodemon": "3.1.14",
124
+ "prettier": "3.8.1",
125
+ "query-string": "9.3.1",
126
+ "react": "19.2.4",
131
127
  "react-autosuggest": "10.1.0",
132
- "react-dom": "19.0.0",
133
- "react-hook-form": "7.54.2",
134
- "react-intl": "7.1.9",
128
+ "react-dom": "19.2.4",
129
+ "react-hook-form": "7.71.2",
130
+ "react-intl": "8.1.3",
135
131
  "react-modal": "3.16.3",
136
- "react-router": "7.4.0",
137
- "sass": "1.86.0",
132
+ "react-router": "7.12.0",
133
+ "sass": "1.97.3",
138
134
  "source-map-loader": "5.0.0",
139
- "storybook": "8.6.8",
135
+ "storybook": "10.2.13",
140
136
  "tsconfig-paths-webpack-plugin": "4.2.0",
141
- "typescript": "5.8.2",
142
- "uuid": "11.1.0",
143
- "webpack": "5.98.0",
137
+ "typescript": "5.9.3",
138
+ "uuid": "13.0.0",
139
+ "webpack": "5.104.1",
144
140
  "webpack-cli": "6.0.1",
145
141
  "whatwg-fetch": "3.6.20",
146
142
  "xhr-mock": "2.5.1",
147
- "yargs": "17.7.2",
148
- "yup": "1.6.1"
143
+ "yargs": "18.0.0",
144
+ "yup": "1.7.1"
149
145
  },
150
146
  "resolutions": {
151
- "@testing-library/dom": "10.4.0",
152
- "@types/react": "19.0.12",
153
- "@types/react-dom": "19.0.4",
154
- "react": "19.0.0",
155
- "react-dom": "19.0.0"
147
+ "@testing-library/dom": "10.4.1",
148
+ "@types/react": "19.2.14",
149
+ "@types/react-dom": "19.2.3",
150
+ "react": "19.2.4",
151
+ "react-dom": "19.2.4"
156
152
  },
157
153
  "msw": {
158
154
  "workerDirectory": "../richie/static/richie/js"
@@ -162,7 +158,6 @@
162
158
  "yarn": "1.22.22"
163
159
  },
164
160
  "devDependencies": {
165
- "@storybook/addon-mdx-gfm": "8.6.8",
166
- "@storybook/addon-webpack5-compiler-babel": "3.0.5"
161
+ "@storybook/addon-webpack5-compiler-babel": "4.0.0"
167
162
  }
168
163
  }
@@ -24,7 +24,7 @@ $r-subheader-search-title-width: 19rem !default; // aligned on computed search r
24
24
  &__title {
25
25
  @include make-container();
26
26
  @include make-container-max-widths();
27
- @include sv-flex(1, 0, 100%);
27
+ @include sv-flex(1, 0, 100%, $max: false);
28
28
  padding-left: 0;
29
29
  padding-right: 0;
30
30
 
@@ -101,7 +101,7 @@ $r-slider-content-line-clamp: 4 !default;
101
101
  .slider__panel {
102
102
  @include make-container();
103
103
  @include make-container-max-widths();
104
-
104
+ cursor: default;
105
105
  display: flex;
106
106
  flex-direction: column-reverse;
107
107
  }
@@ -56,6 +56,7 @@ $course-glimpse-content-padding-sides: 0.7rem !default;
56
56
  @include sv-flex(1, 0, calc(100% - #{$r-course-glimpse-gutter * 2}));
57
57
 
58
58
  position: relative;
59
+ isolation: isolate;
59
60
  margin: $r-course-glimpse-gutter;
60
61
 
61
62
  min-width: 16rem;
@@ -1,4 +1,5 @@
1
1
  // Without this, bootstrap overrides Cunningham buttons style.
2
2
  a.c__button:hover {
3
3
  text-decoration: none;
4
+ color: inherit;
4
5
  }