richie-education 2.16.0 → 2.18.0

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 (268) hide show
  1. package/.eslintrc.json +9 -1
  2. package/.storybook/__mocks__/utils/context.ts +15 -0
  3. package/.storybook/main.js +22 -13
  4. package/.storybook/preview-head.html +1 -1
  5. package/.storybook/preview.tsx +14 -11
  6. package/i18n/locales/ar-SA.json +400 -84
  7. package/i18n/locales/es-ES.json +395 -79
  8. package/i18n/locales/fa-IR.json +355 -39
  9. package/i18n/locales/fr-CA.json +422 -106
  10. package/i18n/locales/fr-FR.json +356 -40
  11. package/i18n/locales/ko-KR.json +858 -0
  12. package/i18n/locales/pt-PT.json +355 -39
  13. package/i18n/locales/ru-RU.json +424 -108
  14. package/jest/setup.ts +4 -10
  15. package/jest.config.js +3 -1
  16. package/js/common/searchFields/getSuggestionsSection.ts +2 -2
  17. package/js/components/AddressesManagement/AddressForm.spec.tsx +34 -18
  18. package/js/components/AddressesManagement/AddressForm.tsx +18 -46
  19. package/js/components/AddressesManagement/ValidationErrors.ts +37 -0
  20. package/js/components/AddressesManagement/_styles.scss +1 -9
  21. package/js/components/AddressesManagement/index.spec.tsx +46 -64
  22. package/js/components/AddressesManagement/index.tsx +132 -196
  23. package/js/components/AddressesManagement/validationSchema.spec.ts +39 -17
  24. package/js/components/AddressesManagement/validationSchema.ts +23 -37
  25. package/js/components/Button/index.spec.tsx +36 -0
  26. package/js/components/Button/index.stories.tsx +26 -0
  27. package/js/components/Button/index.tsx +37 -0
  28. package/js/components/CourseGlimpse/index.tsx +10 -2
  29. package/js/components/CourseProductCertificateItem/index.spec.tsx +6 -6
  30. package/js/components/CourseProductCertificateItem/index.tsx +1 -1
  31. package/js/components/CourseProductCourseRuns/CourseRunList.tsx +14 -2
  32. package/js/components/CourseProductCourseRuns/CourseRunSection.tsx +4 -2
  33. package/js/components/CourseProductCourseRuns/EnrollableCourseRunList.tsx +70 -47
  34. package/js/components/CourseProductCourseRuns/EnrolledCourseRun.tsx +29 -20
  35. package/js/components/CourseProductCourseRuns/_styles.scss +85 -67
  36. package/js/components/CourseProductCourseRuns/index.spec.tsx +263 -89
  37. package/js/components/CourseProductItem/CourseRunItem.spec.tsx +36 -0
  38. package/js/components/CourseProductItem/CourseRunItem.tsx +91 -0
  39. package/js/components/CourseProductItem/_styles.scss +39 -15
  40. package/js/components/CourseProductItem/index.spec.tsx +115 -58
  41. package/js/components/CourseProductItem/index.tsx +86 -72
  42. package/js/components/CourseRunEnrollment/index.spec.tsx +27 -48
  43. package/js/components/Dashboard/DashboardAvatar.spec.tsx +22 -0
  44. package/js/components/Dashboard/DashboardAvatar.stories.tsx +16 -0
  45. package/js/components/Dashboard/DashboardAvatar.tsx +6 -0
  46. package/js/components/Dashboard/DashboardLayout.tsx +23 -0
  47. package/js/components/Dashboard/DashboardSidebar.stories.tsx +26 -0
  48. package/js/components/Dashboard/DashboardSidebar.tsx +103 -0
  49. package/js/components/Dashboard/DashboardTest.tsx +17 -0
  50. package/js/components/Dashboard/_styles.scss +149 -0
  51. package/js/components/Dashboard/index.spec.tsx +150 -0
  52. package/js/components/Dashboard/index.tsx +24 -0
  53. package/js/components/DashboardAddressesManagement/DashboardAddressBox.tsx +77 -0
  54. package/js/components/DashboardAddressesManagement/DashboardCreateAddress.spec.tsx +201 -0
  55. package/js/components/DashboardAddressesManagement/DashboardCreateAddress.stories.tsx +26 -0
  56. package/js/components/DashboardAddressesManagement/DashboardCreateAddress.tsx +55 -0
  57. package/js/components/DashboardAddressesManagement/DashboardCreateAddressLoader.tsx +11 -0
  58. package/js/components/DashboardAddressesManagement/DashboardEditAddress.spec.tsx +173 -0
  59. package/js/components/DashboardAddressesManagement/DashboardEditAddress.stories.tsx +29 -0
  60. package/js/components/DashboardAddressesManagement/DashboardEditAddress.tsx +84 -0
  61. package/js/components/DashboardAddressesManagement/DashboardEditAddressLoader.tsx +38 -0
  62. package/js/components/DashboardAddressesManagement/_styles.scss +52 -0
  63. package/js/components/DashboardAddressesManagement/index.spec.tsx +337 -0
  64. package/js/components/DashboardAddressesManagement/index.stories.tsx +26 -0
  65. package/js/components/DashboardAddressesManagement/index.tsx +93 -0
  66. package/js/components/DashboardBox/_styles.scss +33 -0
  67. package/js/components/DashboardBox/index.spec.tsx +15 -0
  68. package/js/components/DashboardBox/index.stories.tsx +61 -0
  69. package/js/components/DashboardBox/index.tsx +17 -0
  70. package/js/components/DashboardBreadcrumbs/DashboardBreadcrumbsProvider.tsx +43 -0
  71. package/js/components/DashboardBreadcrumbs/index.stories.tsx +66 -0
  72. package/js/components/DashboardBreadcrumbs/index.tsx +72 -0
  73. package/js/components/DashboardCard/_styles.scss +62 -0
  74. package/js/components/DashboardCard/index.spec.tsx +20 -0
  75. package/js/components/DashboardCard/index.stories.tsx +47 -0
  76. package/js/components/DashboardCard/index.tsx +68 -0
  77. package/js/components/DashboardCreditCardsManagement/CreditCardBrandLogo.stories.tsx +35 -0
  78. package/js/components/DashboardCreditCardsManagement/CreditCardBrandLogo.tsx +16 -0
  79. package/js/components/DashboardCreditCardsManagement/DashboardCreditCardBox.tsx +126 -0
  80. package/js/components/DashboardCreditCardsManagement/DashboardEditCreditCard.spec.tsx +348 -0
  81. package/js/components/DashboardCreditCardsManagement/DashboardEditCreditCard.stories.tsx +25 -0
  82. package/js/components/DashboardCreditCardsManagement/DashboardEditCreditCard.tsx +187 -0
  83. package/js/components/DashboardCreditCardsManagement/DashboardEditCreditCardLoader.tsx +40 -0
  84. package/js/components/DashboardCreditCardsManagement/_styles.scss +146 -0
  85. package/js/components/DashboardCreditCardsManagement/index.spec.tsx +427 -0
  86. package/js/components/DashboardCreditCardsManagement/index.stories.tsx +22 -0
  87. package/js/components/DashboardCreditCardsManagement/index.tsx +94 -0
  88. package/js/components/DashboardItem/DashboardItemEnrollment.spec.tsx +92 -0
  89. package/js/components/DashboardItem/DashboardItemEnrollment.stories.tsx +31 -0
  90. package/js/components/DashboardItem/DashboardItemEnrollment.tsx +23 -0
  91. package/js/components/DashboardItem/DashboardItemEnrollmentFooter.tsx +75 -0
  92. package/js/components/DashboardItem/DashboardItemOrder.spec.tsx +99 -0
  93. package/js/components/DashboardItem/DashboardItemOrder.stories.tsx +46 -0
  94. package/js/components/DashboardItem/DashboardItemOrder.tsx +102 -0
  95. package/js/components/DashboardItem/DashboardSubItem.tsx +17 -0
  96. package/js/components/DashboardItem/DashboardSubItemsList.tsx +15 -0
  97. package/js/components/DashboardItem/_styles.scss +153 -0
  98. package/js/components/DashboardItem/index.spec.tsx +34 -0
  99. package/js/components/DashboardItem/index.stories.tsx +22 -0
  100. package/js/components/DashboardItem/index.tsx +35 -0
  101. package/js/components/DashboardItem/mock.stories.ts +29 -0
  102. package/js/components/DashboardPreferences/_styles.scss +5 -0
  103. package/js/components/DashboardPreferences/index.tsx +30 -0
  104. package/js/components/Form/CheckboxField.stories.tsx +1 -1
  105. package/js/components/Form/CountrySelectField.tsx +22 -0
  106. package/js/components/Form/Field.stories.tsx +3 -0
  107. package/js/components/Form/Inputs.tsx +27 -13
  108. package/js/components/Form/RadioField.stories.tsx +1 -1
  109. package/js/components/Form/SelectField.stories.tsx +1 -1
  110. package/js/components/Form/TextAreaField.stories.tsx +1 -1
  111. package/js/components/Form/TextField.stories.tsx +1 -1
  112. package/js/components/Form/index.spec.tsx +6 -0
  113. package/js/components/Icon/index.tsx +16 -4
  114. package/js/components/LanguageSelector/index.spec.tsx +2 -2
  115. package/js/components/LtiConsumer/index.spec.tsx +42 -71
  116. package/js/components/LtiConsumer/index.tsx +5 -3
  117. package/js/components/Modal/_styles.scss +22 -10
  118. package/js/components/Modal/index.spec.tsx +64 -20
  119. package/js/components/Modal/index.stories.tsx +8 -12
  120. package/js/components/Modal/index.tsx +44 -3
  121. package/js/components/PaginateCourseSearch/index.spec.tsx +2 -2
  122. package/js/components/PaginateCourseSearch/index.tsx +3 -3
  123. package/js/components/PaymentButton/_styles.scss +4 -0
  124. package/js/components/PaymentButton/index.spec.tsx +62 -72
  125. package/js/components/PaymentButton/index.tsx +43 -21
  126. package/js/components/ProtectedOutlet/AuthenticatedOutlet.spec.tsx +106 -0
  127. package/js/components/ProtectedOutlet/AuthenticatedOutlet.tsx +16 -0
  128. package/js/components/ProtectedOutlet/ProtectedOutlet.spec.tsx +80 -0
  129. package/js/components/ProtectedOutlet/ProtectedOutlet.tsx +26 -0
  130. package/js/components/ProtectedOutlet/index.tsx +4 -0
  131. package/js/components/Root/index.tsx +4 -4
  132. package/js/components/RootSearchSuggestField/index.spec.tsx +3 -3
  133. package/js/components/RootSearchSuggestField/index.tsx +3 -3
  134. package/js/components/RouterButton/index.spec.tsx +65 -0
  135. package/js/components/RouterButton/index.tsx +33 -0
  136. package/js/components/SaleTunnel/index.spec.tsx +68 -76
  137. package/js/components/SaleTunnel/index.tsx +76 -33
  138. package/js/components/SaleTunnelStepPayment/_styles.scss +1 -0
  139. package/js/components/SaleTunnelStepPayment/index.spec.tsx +46 -60
  140. package/js/components/SaleTunnelStepPayment/index.tsx +28 -16
  141. package/js/components/SaleTunnelStepValidation/_styles.scss +1 -0
  142. package/js/components/SaleTunnelStepValidation/index.spec.tsx +3 -3
  143. package/js/components/SaleTunnelStepValidation/index.tsx +3 -3
  144. package/js/components/Search/index.spec.tsx +12 -14
  145. package/js/components/SearchFilterGroup/index.spec.tsx +2 -2
  146. package/js/components/SearchFilterGroupModal/_styles.scss +0 -8
  147. package/js/components/SearchFilterGroupModal/index.spec.tsx +30 -29
  148. package/js/components/SearchFilterGroupModal/index.tsx +4 -18
  149. package/js/components/SearchFilterValueLeaf/index.spec.tsx +2 -2
  150. package/js/components/SearchFilterValueParent/index.spec.tsx +12 -14
  151. package/js/components/SearchFiltersPane/index.spec.tsx +27 -10
  152. package/js/components/SearchFiltersPane/index.tsx +1 -1
  153. package/js/components/SearchInput/_styles.scss +0 -2
  154. package/js/components/SearchSuggestField/index.spec.tsx +38 -20
  155. package/js/components/Spinner/index.tsx +2 -2
  156. package/js/components/StepBreadcrumb/_styles.scss +0 -6
  157. package/js/components/StepBreadcrumb/index.spec.tsx +47 -11
  158. package/js/components/StepBreadcrumb/index.tsx +25 -2
  159. package/js/components/UserLogin/_styles.scss +0 -2
  160. package/js/components/UserLogin/index.spec.tsx +18 -36
  161. package/js/components/UserLogin/index.tsx +1 -1
  162. package/js/components/UserMenu/_styles.scss +0 -3
  163. package/js/components/UserMenu/index.spec.tsx +1 -1
  164. package/js/data/CourseProductProvider/index.spec.tsx +34 -0
  165. package/js/data/CourseProductProvider/index.tsx +41 -0
  166. package/js/data/JoanieApiProvider/index.spec.tsx +5 -6
  167. package/js/data/SessionProvider/BaseSessionProvider.tsx +14 -9
  168. package/js/data/SessionProvider/JoanieSessionProvider.spec.tsx +35 -33
  169. package/js/data/SessionProvider/JoanieSessionProvider.tsx +18 -13
  170. package/js/data/SessionProvider/index.spec.tsx +38 -49
  171. package/js/data/SessionProvider/no-authentication.spec.tsx +3 -3
  172. package/js/data/getResourceList/index.ts +2 -2
  173. package/js/data/useCourseEnrollment/index.spec.tsx +22 -45
  174. package/js/data/useCourseEnrollment/index.ts +1 -1
  175. package/js/data/useCourseSearch/index.spec.tsx +21 -16
  176. package/js/data/useCourseSearch/index.ts +6 -6
  177. package/js/data/useCourseSearchParams/index.spec.tsx +1 -2
  178. package/js/data/useCourseSearchParams/index.ts +8 -6
  179. package/js/data/useFilterValue/index.spec.tsx +10 -12
  180. package/js/data/useHistory/index.spec.tsx +1 -2
  181. package/js/data/useHistory/index.tsx +2 -2
  182. package/js/data/useStaticFilters/index.spec.tsx +26 -28
  183. package/js/data/useStaticFilters/index.tsx +1 -1
  184. package/js/hooks/useAddresses.ts +43 -49
  185. package/js/hooks/useAddressesManagement.tsx +85 -0
  186. package/js/hooks/useBreadcrumbsPlaceholders.tsx +13 -0
  187. package/js/hooks/useCreditCards/index.spec.tsx +99 -0
  188. package/js/hooks/useCreditCards/index.ts +47 -0
  189. package/js/hooks/useCreditCardsManagement.tsx +44 -0
  190. package/js/hooks/useDashboardAddressForm.tsx +136 -0
  191. package/js/hooks/useEnrollments.ts +48 -0
  192. package/js/hooks/useOrders.ts +43 -38
  193. package/js/hooks/useProduct.ts +28 -0
  194. package/js/hooks/useResources/index.spec.tsx +490 -0
  195. package/js/hooks/useResources/index.tsx +74 -0
  196. package/js/hooks/useResources/useResourcesOmniscient.ts +79 -0
  197. package/js/hooks/useResources/useResourcesRoot.ts +209 -0
  198. package/js/hooks/useRouteInfo/index.spec.tsx +66 -0
  199. package/js/hooks/useRouteInfo/index.ts +16 -0
  200. package/js/hooks/useStepManager/index.spec.ts +1 -2
  201. package/js/hooks/useStepManager/index.ts +1 -1
  202. package/js/index.tsx +8 -9
  203. package/js/settings.ts +1 -1
  204. package/js/translations/ar-SA.json +1 -1
  205. package/js/translations/es-ES.json +1 -1
  206. package/js/translations/fa-IR.json +1 -1
  207. package/js/translations/fr-CA.json +1 -1
  208. package/js/translations/fr-FR.json +1 -1
  209. package/js/translations/ko-KR.json +1 -0
  210. package/js/translations/pt-PT.json +1 -1
  211. package/js/translations/ru-RU.json +1 -1
  212. package/js/types/Joanie.ts +52 -21
  213. package/js/types/utils.ts +7 -0
  214. package/js/utils/CreditCardHelper/index.spec.tsx +50 -0
  215. package/js/utils/CreditCardHelper/index.tsx +39 -0
  216. package/js/utils/IntlHelper/index.spec.tsx +58 -0
  217. package/js/utils/IntlHelper/index.ts +43 -0
  218. package/js/utils/ObjectHelper/index.spec.ts +19 -0
  219. package/js/utils/ObjectHelper/index.ts +5 -0
  220. package/js/utils/StorybookHelper/index.tsx +30 -0
  221. package/js/utils/StringHelper/index.spec.tsx +29 -0
  222. package/js/utils/StringHelper/index.ts +14 -0
  223. package/js/utils/api/joanie.ts +91 -72
  224. package/js/utils/api/lms/openedx-hawthorn.spec.ts +1 -1
  225. package/js/utils/api/web-analytics/google_analytics.spec.ts +1 -1
  226. package/js/utils/api/web-analytics/google_tag_manager.spec.ts +1 -1
  227. package/js/utils/errors/handle.spec.ts +5 -1
  228. package/js/utils/react-query/createQueryClient.ts +19 -12
  229. package/js/utils/react-query/useLocalizedQueryKey.ts +1 -1
  230. package/js/utils/react-query/useSessionKey.ts +2 -8
  231. package/js/utils/react-query/useSessionMutation/index.spec.tsx +7 -23
  232. package/js/utils/react-query/useSessionMutation/index.ts +7 -4
  233. package/js/utils/react-query/useSessionQuery/index.spec.tsx +8 -26
  234. package/js/utils/react-query/useSessionQuery/index.ts +11 -7
  235. package/js/utils/resolveAll.ts +6 -0
  236. package/js/utils/routers/dashboard/index.tsx +123 -0
  237. package/js/utils/routers/dashboard/useDashboardRouter/getDashboardBasename.ts +9 -0
  238. package/js/utils/routers/dashboard/useDashboardRouter/index.spec.tsx +22 -0
  239. package/js/utils/routers/dashboard/useDashboardRouter/index.tsx +152 -0
  240. package/js/utils/test/createTestQueryClient.ts +41 -0
  241. package/js/utils/test/expectBannerError.ts +9 -0
  242. package/js/utils/test/expectBreadcrumbsToEqualParts.ts +11 -0
  243. package/js/utils/test/expectFetchCall.ts +12 -0
  244. package/js/utils/test/expectUrlMatchLocationDisplayed.ts +6 -0
  245. package/js/utils/test/factories.ts +49 -40
  246. package/js/utils/useDateFormat.tsx +7 -3
  247. package/js/utils/useMatchMedia.ts +5 -2
  248. package/package.json +56 -54
  249. package/scss/colors/_theme.scss +61 -0
  250. package/scss/components/_index.scss +7 -0
  251. package/scss/components/templates/courses/cms/_course_detail.scss +30 -26
  252. package/scss/components/templates/search/_search.scss +0 -2
  253. package/scss/generic/_icons.scss +19 -0
  254. package/scss/objects/_buttons.scss +8 -3
  255. package/scss/objects/_course_glimpses.scss +0 -9
  256. package/scss/objects/_form.scss +37 -1
  257. package/scss/tools/_buttons.scss +8 -3
  258. package/tsconfig.json +1 -0
  259. package/webpack.config.js +5 -14
  260. package/js/components/CourseProductsList/index.spec.tsx +0 -129
  261. package/js/components/CourseProductsList/index.tsx +0 -54
  262. package/js/components/DashBoard/index.spec.tsx +0 -38
  263. package/js/components/DashBoard/index.tsx +0 -5
  264. package/js/data/CourseCodeProvider/index.spec.tsx +0 -29
  265. package/js/data/CourseCodeProvider/index.tsx +0 -31
  266. package/js/hooks/useCourse.ts +0 -50
  267. package/js/hooks/useCreditCards.ts +0 -57
  268. package/js/hooks/useEnrollment.ts +0 -37
package/.eslintrc.json CHANGED
@@ -42,6 +42,13 @@
42
42
  "import/extensions": "off",
43
43
  "import/no-cycle": ["off"],
44
44
  "import/no-dynamic-require": "off",
45
+ "import/order": [
46
+ "error",
47
+ {
48
+ "groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
49
+ "alphabetize": { "order": "ignore" }
50
+ }
51
+ ],
45
52
  "import/prefer-default-export": "off",
46
53
  "jsx-a11y/click-events-have-key-events": "off",
47
54
  "jsx-a11y/label-has-associated-control": "warn",
@@ -76,6 +83,7 @@
76
83
  "react/style-prop-object": ["error", { "allow": ["FormattedNumber"] }]
77
84
  },
78
85
  "settings": {
79
- "polyfills": ["fetch", "Promise"]
86
+ "polyfills": ["fetch", "Promise"],
87
+ "import/resolver": "webpack"
80
88
  }
81
89
  }
@@ -0,0 +1,15 @@
1
+ import { ContextFactory } from 'utils/test/factories';
2
+
3
+ let context = {
4
+ joanie_backend: {
5
+ endpoint: 'http://localhost:8071',
6
+ },
7
+ authentication: {
8
+ backend: 'dummy',
9
+ endpoint: 'http://localhost:8073',
10
+ },
11
+ };
12
+
13
+ (window as any).__richie_frontend_context__ = {
14
+ context: ContextFactory(context).generate(),
15
+ };
@@ -1,17 +1,26 @@
1
+ const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
1
2
  module.exports = {
2
- "stories": [
3
- "../stories/**/*.stories.mdx",
4
- "../stories/**/*.stories.@(js|jsx|ts|tsx)",
5
- "../js/**/*.stories.@(js|jsx|ts|tsx)",
3
+ stories: [
4
+ '../stories/**/*.stories.mdx',
5
+ '../stories/**/*.stories.@(js|jsx|ts|tsx)',
6
+ '../js/**/*.stories.@(js|jsx|ts|tsx)',
6
7
  ],
7
- "addons": [
8
- "@storybook/addon-links",
9
- "@storybook/addon-essentials",
10
- "@storybook/addon-interactions"
8
+ addons: [
9
+ '@storybook/addon-links',
10
+ '@storybook/addon-essentials',
11
+ '@storybook/addon-interactions',
11
12
  ],
12
- "framework": "@storybook/react",
13
- "core": {
14
- "builder": "@storybook/builder-webpack5"
13
+ framework: '@storybook/react',
14
+ core: {
15
+ builder: '@storybook/builder-webpack5',
15
16
  },
16
- staticDirs: ['../../richie/static', '../../richie/apps/core/templates/richie'],
17
- }
17
+ staticDirs: [
18
+ { from: '../../richie/static', to: '/static' },
19
+ { from: '../../richie/apps/core/static', to: '/static' },
20
+ '../../richie/apps/core/templates/richie',
21
+ ],
22
+ webpackFinal: async (config, { configType }) => {
23
+ config.resolve.plugins = [new TsconfigPathsPlugin()];
24
+ return config;
25
+ },
26
+ };
@@ -1 +1 @@
1
- <link rel="stylesheet" type="text/css" href="/richie/css/main.css">
1
+ <link rel='stylesheet' type='text/css' href='/static/richie/css/main.css'>
@@ -1,18 +1,19 @@
1
- import { useState } from "react";
2
- import { useAsyncEffect } from "../js/utils/useAsyncEffect";
1
+ import { useState } from 'react';
2
+ import { IntlProvider } from 'react-intl';
3
+ import { useAsyncEffect } from '../js/utils/useAsyncEffect';
4
+ import './__mocks__/utils/context';
3
5
 
4
6
  export const parameters = {
5
- actions: {argTypesRegex: "^on[A-Z].*"},
7
+ actions: { argTypesRegex: '^on[A-Z].*' },
6
8
  controls: {
7
9
  matchers: {
8
10
  color: /(background|color)$/i,
9
11
  date: /Date$/,
10
12
  },
11
13
  },
12
- }
13
-
14
+ };
14
15
 
15
- const IconsWrapper = props => {
16
+ const IconsWrapper = (props) => {
16
17
  const [symbols, setSymbols] = useState('');
17
18
 
18
19
  useAsyncEffect(async () => {
@@ -23,7 +24,7 @@ const IconsWrapper = props => {
23
24
 
24
25
  return (
25
26
  <div>
26
- <div dangerouslySetInnerHTML={{__html: symbols}}/>
27
+ <div dangerouslySetInnerHTML={{ __html: symbols }} />
27
28
  {props.children}
28
29
  </div>
29
30
  );
@@ -31,8 +32,10 @@ const IconsWrapper = props => {
31
32
 
32
33
  export const decorators = [
33
34
  (Story) => (
34
- <IconsWrapper>
35
- <Story/>
36
- </IconsWrapper>
35
+ <IntlProvider locale="en">
36
+ <IconsWrapper>
37
+ <Story />
38
+ </IconsWrapper>
39
+ </IntlProvider>
37
40
  ),
38
- ];
41
+ ];