@selfcommunity/react-core 0.6.7-alpha.9 → 0.6.7-payments.143

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 (58) hide show
  1. package/lib/cjs/components/provider/SCUserProvider/index.js +6 -0
  2. package/lib/cjs/constants/Cache.d.ts +21 -2
  3. package/lib/cjs/constants/Cache.js +29 -4
  4. package/lib/cjs/constants/Preferences.d.ts +13 -0
  5. package/lib/cjs/constants/Preferences.js +24 -1
  6. package/lib/cjs/constants/Routes.d.ts +8 -0
  7. package/lib/cjs/constants/Routes.js +17 -1
  8. package/lib/cjs/hooks/useSCFetchCategories.d.ts +2 -0
  9. package/lib/cjs/hooks/useSCFetchCategories.js +7 -4
  10. package/lib/cjs/hooks/useSCFetchCourse.d.ts +23 -0
  11. package/lib/cjs/hooks/useSCFetchCourse.js +81 -0
  12. package/lib/cjs/hooks/useSCFetchCourses.d.ts +22 -0
  13. package/lib/cjs/hooks/useSCFetchCourses.js +83 -0
  14. package/lib/cjs/hooks/useSCFetchLesson.d.ts +22 -0
  15. package/lib/cjs/hooks/useSCFetchLesson.js +72 -0
  16. package/lib/cjs/hooks/useSCFetchLessonCommentObject.d.ts +23 -0
  17. package/lib/cjs/hooks/useSCFetchLessonCommentObject.js +72 -0
  18. package/lib/cjs/hooks/useSCFetchLessonCommentObjects.d.ts +48 -0
  19. package/lib/cjs/hooks/useSCFetchLessonCommentObjects.js +302 -0
  20. package/lib/cjs/hooks/useSCFetchUserBlockedBy.js +1 -1
  21. package/lib/cjs/hooks/useSCJoinedCoursesManager.d.ts +38 -0
  22. package/lib/cjs/hooks/useSCJoinedCoursesManager.js +277 -0
  23. package/lib/cjs/index.d.ts +7 -2
  24. package/lib/cjs/index.js +12 -2
  25. package/lib/cjs/themes/theme.js +12 -0
  26. package/lib/cjs/types/context.d.ts +36 -1
  27. package/lib/cjs/types/index.d.ts +2 -2
  28. package/lib/cjs/types/theme.d.ts +52 -0
  29. package/lib/esm/components/provider/SCUserProvider/index.js +6 -0
  30. package/lib/esm/constants/Cache.d.ts +21 -2
  31. package/lib/esm/constants/Cache.js +21 -2
  32. package/lib/esm/constants/Preferences.d.ts +13 -0
  33. package/lib/esm/constants/Preferences.js +23 -0
  34. package/lib/esm/constants/Routes.d.ts +8 -0
  35. package/lib/esm/constants/Routes.js +16 -0
  36. package/lib/esm/hooks/useSCFetchCategories.d.ts +2 -0
  37. package/lib/esm/hooks/useSCFetchCategories.js +7 -4
  38. package/lib/esm/hooks/useSCFetchCourse.d.ts +23 -0
  39. package/lib/esm/hooks/useSCFetchCourse.js +78 -0
  40. package/lib/esm/hooks/useSCFetchCourses.d.ts +22 -0
  41. package/lib/esm/hooks/useSCFetchCourses.js +81 -0
  42. package/lib/esm/hooks/useSCFetchLesson.d.ts +22 -0
  43. package/lib/esm/hooks/useSCFetchLesson.js +69 -0
  44. package/lib/esm/hooks/useSCFetchLessonCommentObject.d.ts +23 -0
  45. package/lib/esm/hooks/useSCFetchLessonCommentObject.js +69 -0
  46. package/lib/esm/hooks/useSCFetchLessonCommentObjects.d.ts +48 -0
  47. package/lib/esm/hooks/useSCFetchLessonCommentObjects.js +297 -0
  48. package/lib/esm/hooks/useSCFetchUserBlockedBy.js +1 -1
  49. package/lib/esm/hooks/useSCJoinedCoursesManager.d.ts +38 -0
  50. package/lib/esm/hooks/useSCJoinedCoursesManager.js +273 -0
  51. package/lib/esm/index.d.ts +7 -2
  52. package/lib/esm/index.js +6 -1
  53. package/lib/esm/themes/theme.js +12 -0
  54. package/lib/esm/types/context.d.ts +36 -1
  55. package/lib/esm/types/index.d.ts +2 -2
  56. package/lib/esm/types/theme.d.ts +52 -0
  57. package/lib/umd/react-core.js +1 -1
  58. package/package.json +6 -6
package/lib/esm/index.js CHANGED
@@ -43,6 +43,8 @@ import useSCFetchVote from './hooks/useSCFetchVote';
43
43
  import useSCFetchFeedObject from './hooks/useSCFetchFeedObject';
44
44
  import useSCFetchCommentObject from './hooks/useSCFetchCommentObject';
45
45
  import useSCFetchCommentObjects from './hooks/useSCFetchCommentObjects';
46
+ import useSCFetchLessonCommentObject from './hooks/useSCFetchLessonCommentObject';
47
+ import useSCFetchLessonCommentObjects from './hooks/useSCFetchLessonCommentObjects';
46
48
  import useSCFetchCustomAdv from './hooks/useSCFetchCustomAdv';
47
49
  import useSCFetchTag from './hooks/useSCFetchTag';
48
50
  import useSCFetchAddressingTagList from './hooks/useSCFetchAddressingTagList';
@@ -62,6 +64,9 @@ import useSCFetchEvent from './hooks/useSCFetchEvent';
62
64
  import useSCFetchEvents from './hooks/useSCFetchEvents';
63
65
  import useSCFetchLiveStream from './hooks/useSCFetchLiveStream';
64
66
  import useSCGoogleApiLoader from './hooks/useSCGoogleApiLoader';
67
+ import useSCFetchCourse from './hooks/useSCFetchCourse';
68
+ import useSCFetchCourses from './hooks/useSCFetchCourses';
69
+ import useSCFetchLesson from './hooks/useSCFetchLesson';
65
70
  /**
66
71
  * Routing component
67
72
  */
@@ -84,4 +89,4 @@ import * as Preferences from './constants/Preferences';
84
89
  /**
85
90
  * List all exports
86
91
  */
87
- export { SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, useSCFetchLiveStream, useSCGoogleApiLoader, };
92
+ export { SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchLessonCommentObject, useSCFetchLessonCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, useSCFetchLiveStream, useSCGoogleApiLoader, useSCFetchCourse, useSCFetchCourses, useSCFetchLesson, };
@@ -48,6 +48,18 @@ const getTheme = (options, preferences) => {
48
48
  sizeXLarge: 120,
49
49
  },
50
50
  },
51
+ contentProduct: {
52
+ icon: {
53
+ sizeSmall: 24,
54
+ sizeMedium: 40,
55
+ },
56
+ },
57
+ contentProductPrice: {
58
+ icon: {
59
+ sizeSmall: 24,
60
+ sizeMedium: 40,
61
+ },
62
+ },
51
63
  };
52
64
  const defaultOptions = preferences
53
65
  ? {
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { SCAuthTokenType, SCIncubatorType, SCCategoryType, SCUserType, SCUserSettingsType, SCReactionType, SCGroupType, SCEventType } from '@selfcommunity/types';
2
+ import { SCAuthTokenType, SCIncubatorType, SCCategoryType, SCUserType, SCUserSettingsType, SCReactionType, SCGroupType, SCEventType, SCCourseType } from '@selfcommunity/types';
3
3
  import { SCThemeType } from './theme';
4
4
  /**
5
5
  * Interface SCSettingsType
@@ -148,6 +148,7 @@ export interface SCUserContextType {
148
148
  blockedUsers?: SCBlockedUsersManagerType;
149
149
  groups?: SCSubscribedGroupsManagerType;
150
150
  events?: SCSubscribedEventsManagerType;
151
+ courses?: SCJoinedCoursesManagerType;
151
152
  };
152
153
  }
153
154
  export interface SCSettingsManagerType {
@@ -254,6 +255,40 @@ export interface SCFollowedCategoriesManagerType {
254
255
  */
255
256
  emptyCache?: () => void;
256
257
  }
258
+ export interface SCJoinedCoursesManagerType {
259
+ /**
260
+ * List of all courses ids followed by the authenticated user
261
+ */
262
+ courses: number[];
263
+ /**
264
+ * List of all courses in loading state
265
+ */
266
+ loading: number[];
267
+ /**
268
+ * List of current courses in loading state
269
+ */
270
+ isLoading: (course: SCCourseType) => boolean;
271
+ /**
272
+ * Handle user joining a course
273
+ */
274
+ join?: (course: SCCourseType, userId?: number) => Promise<any>;
275
+ /**
276
+ * Handle user leaving a course
277
+ */
278
+ leave?: (course: SCCourseType) => Promise<any>;
279
+ /**
280
+ * Handles a user join status to a course, caching data
281
+ */
282
+ joinStatus?: (course: SCCourseType) => string;
283
+ /**
284
+ * Refresh courses
285
+ */
286
+ refresh?: () => void;
287
+ /**
288
+ * Empty cache to revalidate all courses
289
+ */
290
+ emptyCache?: () => void;
291
+ }
257
292
  export interface SCSubscribedEventsManagerType {
258
293
  /**
259
294
  * List of all events ids followed by the authenticated user
@@ -1,3 +1,3 @@
1
- import { SCUserContextType, SCFollowedManagerType, SCFollowersManagerType, SCFollowedCategoriesManagerType, SCSettingsManagerType, SCSubscribedIncubatorsManagerType, SCConnectionsManagerType, SCBlockedUsersManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCPreferencesContextType, SCNotificationContextType, SCLocaleType, SCVoteType, SCVoteContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType } from './context';
1
+ import { SCUserContextType, SCFollowedManagerType, SCFollowersManagerType, SCFollowedCategoriesManagerType, SCSettingsManagerType, SCSubscribedIncubatorsManagerType, SCConnectionsManagerType, SCBlockedUsersManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCPreferencesContextType, SCNotificationContextType, SCLocaleType, SCVoteType, SCVoteContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCJoinedCoursesManagerType } from './context';
2
2
  import { SCThemeAvatarVariableType, SCThemeUserVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType } from './theme';
3
- export { SCUserContextType, SCFollowedCategoriesManagerType, SCSettingsManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCBlockedUsersManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCVoteType, SCVoteContextType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeUserVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, };
3
+ export { SCUserContextType, SCFollowedCategoriesManagerType, SCSettingsManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCBlockedUsersManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCVoteType, SCVoteContextType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeUserVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCJoinedCoursesManagerType, };
@@ -55,6 +55,32 @@ export interface SCThemeCategoryIconVariableType {
55
55
  */
56
56
  sizeLarge: number;
57
57
  }
58
+ /**
59
+ * Interface SCThemeContentProductIconVariableType
60
+ */
61
+ export interface SCThemeContentProductIconVariableType {
62
+ /**
63
+ * ContentProduct size small
64
+ */
65
+ sizeSmall: number;
66
+ /**
67
+ * ContentProduct size medium
68
+ */
69
+ sizeMedium: number;
70
+ }
71
+ /**
72
+ * Interface SCThemeContentProductPriceIconVariableType
73
+ */
74
+ export interface SCThemeContentProductPriceIconVariableType {
75
+ /**
76
+ * ContentProductPrice size small
77
+ */
78
+ sizeSmall: number;
79
+ /**
80
+ * ContentProductPrice size medium
81
+ */
82
+ sizeMedium: number;
83
+ }
58
84
  /**
59
85
  * Interface SCThemeCategoryVariableType
60
86
  */
@@ -64,6 +90,24 @@ export interface SCThemeCategoryVariableType {
64
90
  */
65
91
  icon: SCThemeCategoryIconVariableType;
66
92
  }
93
+ /**
94
+ * Interface SCThemeContentProductVariableType
95
+ */
96
+ export interface SCThemeContentProductVariableType {
97
+ /**
98
+ * ContentProduct icon size
99
+ */
100
+ icon: SCThemeContentProductIconVariableType;
101
+ }
102
+ /**
103
+ * Interface SCThemeContentProductPriceVariableType
104
+ */
105
+ export interface SCThemeContentProductPriceVariableType {
106
+ /**
107
+ * ContentProductPrice icon size
108
+ */
109
+ icon: SCThemeContentProductPriceIconVariableType;
110
+ }
67
111
  /**
68
112
  * Interface SCThemeVariablesType
69
113
  */
@@ -80,6 +124,14 @@ export interface SCThemeVariablesType {
80
124
  * Group
81
125
  */
82
126
  group: SCThemeGroupVariableType;
127
+ /**
128
+ * ContentProduct
129
+ */
130
+ contentProduct: SCThemeContentProductVariableType;
131
+ /**
132
+ * ContentProductPrice
133
+ */
134
+ contentProductPrice: SCThemeContentProductPriceVariableType;
83
135
  }
84
136
  export interface SCThemeType extends MuiTheme {
85
137
  /**