@academy-sdk/sdk 0.1.1 → 0.2.1

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 (239) hide show
  1. package/dist/academy-sdk-sdk-v1.0.0.zip +0 -0
  2. package/dist/bundle.js +70 -0
  3. package/dist/manifest.json +5 -0
  4. package/dist/styles.css +3307 -0
  5. package/package.json +41 -46
  6. package/src/components/atoms/Avatar.tsx +38 -0
  7. package/src/components/atoms/Badge.tsx +32 -0
  8. package/src/components/atoms/Button.tsx +48 -0
  9. package/src/components/atoms/Card.tsx +33 -0
  10. package/src/components/atoms/Input.tsx +39 -0
  11. package/src/components/atoms/ProgressBar.tsx +52 -0
  12. package/src/components/atoms/Tabs.tsx +47 -0
  13. package/{dist/components/atoms/index.d.ts → src/components/atoms/index.ts} +0 -1
  14. package/{dist/components/index.d.ts → src/components/index.ts} +7 -1
  15. package/src/components/molecules/CourseCard.tsx +215 -0
  16. package/src/components/molecules/EmptyState.tsx +23 -0
  17. package/src/components/molecules/LoadingSpinner.tsx +27 -0
  18. package/src/components/molecules/PageHeader.tsx +22 -0
  19. package/src/components/molecules/Pagination.tsx +82 -0
  20. package/src/components/molecules/SearchInput.tsx +35 -0
  21. package/{dist/components/molecules/index.d.ts → src/components/molecules/index.ts} +0 -1
  22. package/src/components/organisms/CourseSidebar.tsx +276 -0
  23. package/src/components/organisms/LearnerNavbar.tsx +129 -0
  24. package/src/components/organisms/LearnerSidebar.tsx +148 -0
  25. package/src/components/organisms/LessonBookmarks.tsx +128 -0
  26. package/src/components/organisms/LessonNotes.tsx +153 -0
  27. package/{dist/components/organisms/index.d.ts → src/components/organisms/index.ts} +0 -1
  28. package/src/components/pages/BundleDetailPage.tsx +388 -0
  29. package/src/components/pages/CatalogBundlesPage.tsx +96 -0
  30. package/src/components/pages/CatalogCoursesPage.tsx +299 -0
  31. package/src/components/pages/CourseDetailPage.tsx +582 -0
  32. package/src/components/pages/CoursePlayerPage.tsx +481 -0
  33. package/src/components/pages/CreatorProfilePage.tsx +161 -0
  34. package/src/components/pages/LearnerSettingsPage.tsx +58 -0
  35. package/src/components/pages/ManualReviewDetailPage.tsx +254 -0
  36. package/src/components/pages/ManualReviewPage.tsx +228 -0
  37. package/src/components/pages/MessagesPage.tsx +285 -0
  38. package/src/components/pages/MyLearningPage.tsx +239 -0
  39. package/src/components/pages/PaymentCancelPage.tsx +74 -0
  40. package/src/components/pages/PaymentSuccessPage.tsx +73 -0
  41. package/{dist/components/pages/index.d.ts → src/components/pages/index.ts} +0 -1
  42. package/src/components/utils.ts +6 -0
  43. package/src/contracts/components.contract.ts +89 -0
  44. package/{dist/contracts/index.d.ts → src/contracts/index.ts} +0 -1
  45. package/src/contracts/layout.contract.ts +36 -0
  46. package/src/contracts/pages.contract.ts +275 -0
  47. package/src/contracts/template.contract.ts +100 -0
  48. package/src/default-template.tsx +52 -0
  49. package/{dist/hooks/index.d.ts → src/hooks/index.ts} +15 -1
  50. package/src/hooks/sdk-context.tsx +152 -0
  51. package/src/hooks/useAiCoach.ts +27 -0
  52. package/src/hooks/useBookmarks.ts +35 -0
  53. package/{dist/hooks/useCourseSearch.d.ts → src/hooks/useCourseSearch.ts} +8 -5
  54. package/{dist/hooks/useDebounce.d.ts → src/hooks/useDebounce.ts} +8 -2
  55. package/{dist/hooks/useMyBundles.d.ts → src/hooks/useMyBundles.ts} +8 -6
  56. package/{dist/hooks/useMyCourses.d.ts → src/hooks/useMyCourses.ts} +8 -6
  57. package/src/hooks/useNotes.ts +35 -0
  58. package/src/hooks/useNotifications.ts +16 -0
  59. package/{dist/hooks/useTheme.d.ts → src/hooks/useTheme.ts} +8 -5
  60. package/src/hooks/useToast.ts +17 -0
  61. package/{dist/hooks/useUser.d.ts → src/hooks/useUser.ts} +13 -9
  62. package/src/index.ts +33 -0
  63. package/src/layouts/DefaultLayout.tsx +58 -0
  64. package/src/manifest.json +5 -0
  65. package/src/styles.css +43 -0
  66. package/src/types/ai-coach.ts +25 -0
  67. package/src/types/bookmarks.ts +20 -0
  68. package/src/types/bundle.ts +119 -0
  69. package/src/types/common.ts +24 -0
  70. package/src/types/course.ts +135 -0
  71. package/src/types/enrollment.ts +35 -0
  72. package/{dist/types/index.d.ts → src/types/index.ts} +0 -1
  73. package/src/types/lesson.ts +106 -0
  74. package/src/types/manual-review.ts +116 -0
  75. package/src/types/messaging.ts +109 -0
  76. package/src/types/notification.ts +30 -0
  77. package/src/types/payment.ts +40 -0
  78. package/src/types/progress.ts +19 -0
  79. package/src/types/rating.ts +20 -0
  80. package/src/types/search.ts +31 -0
  81. package/src/types/user.ts +16 -0
  82. package/src/utils/formatters.ts +74 -0
  83. package/src/utils/index.ts +8 -0
  84. package/dist/components/atoms/Avatar.d.ts +0 -9
  85. package/dist/components/atoms/Avatar.d.ts.map +0 -1
  86. package/dist/components/atoms/Badge.d.ts +0 -10
  87. package/dist/components/atoms/Badge.d.ts.map +0 -1
  88. package/dist/components/atoms/Button.d.ts +0 -11
  89. package/dist/components/atoms/Button.d.ts.map +0 -1
  90. package/dist/components/atoms/Card.d.ts +0 -11
  91. package/dist/components/atoms/Card.d.ts.map +0 -1
  92. package/dist/components/atoms/Input.d.ts +0 -7
  93. package/dist/components/atoms/Input.d.ts.map +0 -1
  94. package/dist/components/atoms/ProgressBar.d.ts +0 -11
  95. package/dist/components/atoms/ProgressBar.d.ts.map +0 -1
  96. package/dist/components/atoms/Tabs.d.ts +0 -16
  97. package/dist/components/atoms/Tabs.d.ts.map +0 -1
  98. package/dist/components/atoms/index.cjs +0 -318
  99. package/dist/components/atoms/index.d.ts.map +0 -1
  100. package/dist/components/atoms/index.js +0 -288
  101. package/dist/components/index.cjs +0 -1275
  102. package/dist/components/index.d.ts.map +0 -1
  103. package/dist/components/index.js +0 -1245
  104. package/dist/components/molecules/CourseCard.d.ts +0 -25
  105. package/dist/components/molecules/CourseCard.d.ts.map +0 -1
  106. package/dist/components/molecules/EmptyState.d.ts +0 -10
  107. package/dist/components/molecules/EmptyState.d.ts.map +0 -1
  108. package/dist/components/molecules/LoadingSpinner.d.ts +0 -7
  109. package/dist/components/molecules/LoadingSpinner.d.ts.map +0 -1
  110. package/dist/components/molecules/PageHeader.d.ts +0 -8
  111. package/dist/components/molecules/PageHeader.d.ts.map +0 -1
  112. package/dist/components/molecules/Pagination.d.ts +0 -13
  113. package/dist/components/molecules/Pagination.d.ts.map +0 -1
  114. package/dist/components/molecules/SearchInput.d.ts +0 -8
  115. package/dist/components/molecules/SearchInput.d.ts.map +0 -1
  116. package/dist/components/molecules/index.cjs +0 -334
  117. package/dist/components/molecules/index.d.ts.map +0 -1
  118. package/dist/components/molecules/index.js +0 -311
  119. package/dist/components/organisms/CourseSidebar.d.ts +0 -37
  120. package/dist/components/organisms/CourseSidebar.d.ts.map +0 -1
  121. package/dist/components/organisms/LearnerNavbar.d.ts +0 -8
  122. package/dist/components/organisms/LearnerNavbar.d.ts.map +0 -1
  123. package/dist/components/organisms/LearnerSidebar.d.ts +0 -16
  124. package/dist/components/organisms/LearnerSidebar.d.ts.map +0 -1
  125. package/dist/components/organisms/LessonBookmarks.d.ts +0 -8
  126. package/dist/components/organisms/LessonBookmarks.d.ts.map +0 -1
  127. package/dist/components/organisms/LessonNotes.d.ts +0 -8
  128. package/dist/components/organisms/LessonNotes.d.ts.map +0 -1
  129. package/dist/components/organisms/index.cjs +0 -855
  130. package/dist/components/organisms/index.d.ts.map +0 -1
  131. package/dist/components/organisms/index.js +0 -825
  132. package/dist/components/pages/BundleDetailPage.d.ts +0 -3
  133. package/dist/components/pages/BundleDetailPage.d.ts.map +0 -1
  134. package/dist/components/pages/CatalogBundlesPage.d.ts +0 -3
  135. package/dist/components/pages/CatalogBundlesPage.d.ts.map +0 -1
  136. package/dist/components/pages/CatalogCoursesPage.d.ts +0 -3
  137. package/dist/components/pages/CatalogCoursesPage.d.ts.map +0 -1
  138. package/dist/components/pages/CourseDetailPage.d.ts +0 -3
  139. package/dist/components/pages/CourseDetailPage.d.ts.map +0 -1
  140. package/dist/components/pages/CoursePlayerPage.d.ts +0 -8
  141. package/dist/components/pages/CoursePlayerPage.d.ts.map +0 -1
  142. package/dist/components/pages/CreatorProfilePage.d.ts +0 -3
  143. package/dist/components/pages/CreatorProfilePage.d.ts.map +0 -1
  144. package/dist/components/pages/LearnerSettingsPage.d.ts +0 -3
  145. package/dist/components/pages/LearnerSettingsPage.d.ts.map +0 -1
  146. package/dist/components/pages/ManualReviewDetailPage.d.ts +0 -3
  147. package/dist/components/pages/ManualReviewDetailPage.d.ts.map +0 -1
  148. package/dist/components/pages/ManualReviewPage.d.ts +0 -3
  149. package/dist/components/pages/ManualReviewPage.d.ts.map +0 -1
  150. package/dist/components/pages/MessagesPage.d.ts +0 -3
  151. package/dist/components/pages/MessagesPage.d.ts.map +0 -1
  152. package/dist/components/pages/MyLearningPage.d.ts +0 -3
  153. package/dist/components/pages/MyLearningPage.d.ts.map +0 -1
  154. package/dist/components/pages/PaymentCancelPage.d.ts +0 -3
  155. package/dist/components/pages/PaymentCancelPage.d.ts.map +0 -1
  156. package/dist/components/pages/PaymentSuccessPage.d.ts +0 -3
  157. package/dist/components/pages/PaymentSuccessPage.d.ts.map +0 -1
  158. package/dist/components/pages/index.cjs +0 -3306
  159. package/dist/components/pages/index.d.ts.map +0 -1
  160. package/dist/components/pages/index.js +0 -3315
  161. package/dist/components/utils.d.ts +0 -3
  162. package/dist/components/utils.d.ts.map +0 -1
  163. package/dist/contracts/components.contract.d.ts +0 -87
  164. package/dist/contracts/components.contract.d.ts.map +0 -1
  165. package/dist/contracts/index.cjs +0 -52
  166. package/dist/contracts/index.d.ts.map +0 -1
  167. package/dist/contracts/index.js +0 -29
  168. package/dist/contracts/layout.contract.d.ts +0 -35
  169. package/dist/contracts/layout.contract.d.ts.map +0 -1
  170. package/dist/contracts/pages.contract.d.ts +0 -192
  171. package/dist/contracts/pages.contract.d.ts.map +0 -1
  172. package/dist/contracts/template.contract.d.ts +0 -49
  173. package/dist/contracts/template.contract.d.ts.map +0 -1
  174. package/dist/hooks/index.cjs +0 -165
  175. package/dist/hooks/index.d.ts.map +0 -1
  176. package/dist/hooks/index.js +0 -142
  177. package/dist/hooks/sdk-context.d.ts +0 -125
  178. package/dist/hooks/sdk-context.d.ts.map +0 -1
  179. package/dist/hooks/useAiCoach.d.ts +0 -32
  180. package/dist/hooks/useAiCoach.d.ts.map +0 -1
  181. package/dist/hooks/useBookmarks.d.ts +0 -31
  182. package/dist/hooks/useBookmarks.d.ts.map +0 -1
  183. package/dist/hooks/useCourseSearch.d.ts.map +0 -1
  184. package/dist/hooks/useDebounce.d.ts.map +0 -1
  185. package/dist/hooks/useMyBundles.d.ts.map +0 -1
  186. package/dist/hooks/useMyCourses.d.ts.map +0 -1
  187. package/dist/hooks/useNotes.d.ts +0 -31
  188. package/dist/hooks/useNotes.d.ts.map +0 -1
  189. package/dist/hooks/useNotifications.d.ts +0 -19
  190. package/dist/hooks/useNotifications.d.ts.map +0 -1
  191. package/dist/hooks/useTheme.d.ts.map +0 -1
  192. package/dist/hooks/useToast.d.ts +0 -17
  193. package/dist/hooks/useToast.d.ts.map +0 -1
  194. package/dist/hooks/useUser.d.ts.map +0 -1
  195. package/dist/index.cjs +0 -630
  196. package/dist/index.d.ts +0 -17
  197. package/dist/index.d.ts.map +0 -1
  198. package/dist/index.js +0 -600
  199. package/dist/layouts/DefaultLayout.d.ts +0 -9
  200. package/dist/layouts/DefaultLayout.d.ts.map +0 -1
  201. package/dist/types/ai-coach.d.ts +0 -22
  202. package/dist/types/ai-coach.d.ts.map +0 -1
  203. package/dist/types/bookmarks.d.ts +0 -19
  204. package/dist/types/bookmarks.d.ts.map +0 -1
  205. package/dist/types/bundle.d.ts +0 -114
  206. package/dist/types/bundle.d.ts.map +0 -1
  207. package/dist/types/common.d.ts +0 -23
  208. package/dist/types/common.d.ts.map +0 -1
  209. package/dist/types/course.d.ts +0 -127
  210. package/dist/types/course.d.ts.map +0 -1
  211. package/dist/types/enrollment.d.ts +0 -34
  212. package/dist/types/enrollment.d.ts.map +0 -1
  213. package/dist/types/index.cjs +0 -18
  214. package/dist/types/index.d.ts.map +0 -1
  215. package/dist/types/index.js +0 -0
  216. package/dist/types/lesson.d.ts +0 -105
  217. package/dist/types/lesson.d.ts.map +0 -1
  218. package/dist/types/manual-review.d.ts +0 -123
  219. package/dist/types/manual-review.d.ts.map +0 -1
  220. package/dist/types/messaging.d.ts +0 -101
  221. package/dist/types/messaging.d.ts.map +0 -1
  222. package/dist/types/notification.d.ts +0 -28
  223. package/dist/types/notification.d.ts.map +0 -1
  224. package/dist/types/payment.d.ts +0 -38
  225. package/dist/types/payment.d.ts.map +0 -1
  226. package/dist/types/progress.d.ts +0 -18
  227. package/dist/types/progress.d.ts.map +0 -1
  228. package/dist/types/rating.d.ts +0 -20
  229. package/dist/types/rating.d.ts.map +0 -1
  230. package/dist/types/search.d.ts +0 -28
  231. package/dist/types/search.d.ts.map +0 -1
  232. package/dist/types/user.d.ts +0 -15
  233. package/dist/types/user.d.ts.map +0 -1
  234. package/dist/utils/formatters.d.ts +0 -25
  235. package/dist/utils/formatters.d.ts.map +0 -1
  236. package/dist/utils/index.cjs +0 -80
  237. package/dist/utils/index.d.ts +0 -2
  238. package/dist/utils/index.d.ts.map +0 -1
  239. package/dist/utils/index.js +0 -57
@@ -1,142 +0,0 @@
1
- // src/hooks/sdk-context.tsx
2
- import { createContext, useContext } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
- var SDKContext = createContext(null);
5
- function SDKProvider({ implementations, children }) {
6
- return /* @__PURE__ */ jsx(SDKContext.Provider, { value: implementations, children });
7
- }
8
- function useSDK() {
9
- const ctx = useContext(SDKContext);
10
- if (!ctx) {
11
- throw new Error(
12
- "useSDK must be used within an SDKProvider. Make sure your learner routes are wrapped with <SDKProvider>."
13
- );
14
- }
15
- return ctx;
16
- }
17
-
18
- // src/hooks/useUser.ts
19
- function useUser() {
20
- const sdk = useSDK();
21
- return sdk.useUser();
22
- }
23
- function useLogout() {
24
- const sdk = useSDK();
25
- return sdk.useLogout();
26
- }
27
-
28
- // src/hooks/useMyCourses.ts
29
- function useMyCourses(status, page, limit) {
30
- const sdk = useSDK();
31
- return sdk.useMyCourses(status, page, limit);
32
- }
33
-
34
- // src/hooks/useMyBundles.ts
35
- function useMyBundles(status, page, limit, search) {
36
- const sdk = useSDK();
37
- return sdk.useMyBundles(status, page, limit, search);
38
- }
39
-
40
- // src/hooks/useCourseSearch.ts
41
- function useCourseSearch(query) {
42
- const sdk = useSDK();
43
- return sdk.useCourseSearch(query);
44
- }
45
-
46
- // src/hooks/useNotes.ts
47
- function useLessonNotes(activityId) {
48
- const sdk = useSDK();
49
- return sdk.useLessonNotes(activityId);
50
- }
51
- function useCreateNote() {
52
- const sdk = useSDK();
53
- return sdk.useCreateNote();
54
- }
55
- function useUpdateNote() {
56
- const sdk = useSDK();
57
- return sdk.useUpdateNote();
58
- }
59
- function useDeleteNote() {
60
- const sdk = useSDK();
61
- return sdk.useDeleteNote();
62
- }
63
-
64
- // src/hooks/useBookmarks.ts
65
- function useLessonBookmarks(activityId) {
66
- const sdk = useSDK();
67
- return sdk.useLessonBookmarks(activityId);
68
- }
69
- function useCreateBookmark() {
70
- const sdk = useSDK();
71
- return sdk.useCreateBookmark();
72
- }
73
- function useUpdateBookmark() {
74
- const sdk = useSDK();
75
- return sdk.useUpdateBookmark();
76
- }
77
- function useDeleteBookmark() {
78
- const sdk = useSDK();
79
- return sdk.useDeleteBookmark();
80
- }
81
-
82
- // src/hooks/useAiCoach.ts
83
- function useAiCoachAvailability(courseId) {
84
- const sdk = useSDK();
85
- return sdk.useAiCoachAvailability(courseId);
86
- }
87
- function useAiCoachChat(courseId) {
88
- const sdk = useSDK();
89
- return sdk.useAiCoachChat(courseId);
90
- }
91
- function useAiCoachHistory(courseId, enabled) {
92
- const sdk = useSDK();
93
- return sdk.useAiCoachHistory(courseId, enabled);
94
- }
95
-
96
- // src/hooks/useNotifications.ts
97
- function useNotifications() {
98
- const sdk = useSDK();
99
- return sdk.useNotifications();
100
- }
101
-
102
- // src/hooks/useTheme.ts
103
- function useTheme() {
104
- const sdk = useSDK();
105
- return sdk.useTheme();
106
- }
107
-
108
- // src/hooks/useDebounce.ts
109
- function useDebounce(value, delay) {
110
- const sdk = useSDK();
111
- return sdk.useDebounce(value, delay);
112
- }
113
-
114
- // src/hooks/useToast.ts
115
- function useToast() {
116
- const sdk = useSDK();
117
- return sdk.useToast();
118
- }
119
- export {
120
- SDKProvider,
121
- useAiCoachAvailability,
122
- useAiCoachChat,
123
- useAiCoachHistory,
124
- useCourseSearch,
125
- useCreateBookmark,
126
- useCreateNote,
127
- useDebounce,
128
- useDeleteBookmark,
129
- useDeleteNote,
130
- useLessonBookmarks,
131
- useLessonNotes,
132
- useLogout,
133
- useMyBundles,
134
- useMyCourses,
135
- useNotifications,
136
- useSDK,
137
- useTheme,
138
- useToast,
139
- useUpdateBookmark,
140
- useUpdateNote,
141
- useUser
142
- };
@@ -1,125 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import type { User, Membership } from '../types';
3
- /**
4
- * SDK Hook implementations provided by the platform.
5
- * Template developers don't interact with this directly — they use the individual hooks.
6
- */
7
- export interface SDKHookImplementations {
8
- useUser: () => {
9
- user: User | null;
10
- isAuthenticated: boolean;
11
- memberships: Membership[];
12
- };
13
- useLogout: () => {
14
- logout: () => void;
15
- };
16
- useMyCourses: (status?: string, page?: number, limit?: number) => {
17
- courses: any[];
18
- meta: any | null;
19
- isLoading: boolean;
20
- };
21
- useMyBundles: (status?: string, page?: number, limit?: number, search?: string) => {
22
- bundles: any[];
23
- meta: any | null;
24
- isLoading: boolean;
25
- };
26
- useCourseSearch: (query: string) => {
27
- results: any | null;
28
- isSearching: boolean;
29
- };
30
- useLessonNotes: (activityId: string) => {
31
- data: any[];
32
- isLoading: boolean;
33
- error: Error | null;
34
- refetch: () => Promise<void>;
35
- };
36
- useCreateNote: () => {
37
- createNote: (payload: any) => Promise<any>;
38
- isLoading: boolean;
39
- };
40
- useUpdateNote: () => {
41
- updateNote: (noteId: string, payload: any) => Promise<any>;
42
- isLoading: boolean;
43
- };
44
- useDeleteNote: () => {
45
- deleteNote: (noteId: string) => Promise<boolean>;
46
- isLoading: boolean;
47
- };
48
- useLessonBookmarks: (activityId: string) => {
49
- data: any[];
50
- isLoading: boolean;
51
- error: Error | null;
52
- refetch: () => Promise<void>;
53
- };
54
- useCreateBookmark: () => {
55
- createBookmark: (payload: any) => Promise<any>;
56
- isLoading: boolean;
57
- };
58
- useUpdateBookmark: () => {
59
- updateBookmark: (id: string, payload: any) => Promise<any>;
60
- isLoading: boolean;
61
- };
62
- useDeleteBookmark: () => {
63
- deleteBookmark: (id: string) => Promise<boolean>;
64
- isLoading: boolean;
65
- };
66
- useAiCoachAvailability: (courseId?: string | null) => {
67
- loading: boolean;
68
- active: boolean;
69
- coach: any | null;
70
- error: Error | null;
71
- };
72
- useAiCoachChat: (courseId: string | null | undefined) => {
73
- messages: any[];
74
- threadId: string | null;
75
- isStreaming: boolean;
76
- error: Error | null;
77
- sendMessage: (text: string) => Promise<void>;
78
- stopStreaming: () => void;
79
- };
80
- useAiCoachHistory: (courseId: string | null | undefined, enabled: boolean) => {
81
- loading: boolean;
82
- threadId: string | null;
83
- messages: any[];
84
- groupedHistory: any[];
85
- hasMore: boolean;
86
- loadMore: () => Promise<void>;
87
- };
88
- useNotifications: () => {
89
- notifications: any[];
90
- unreadCount: number;
91
- isLoading: boolean;
92
- isLoadingMore: boolean;
93
- hasMore: boolean;
94
- loadMore: () => void;
95
- refresh: () => void;
96
- markConversationRead: (conversationId: string) => Promise<void>;
97
- };
98
- useTheme: () => {
99
- theme: string;
100
- setTheme: (theme: string) => void;
101
- };
102
- useDebounce: <T>(value: T, delay: number) => T;
103
- useToast: () => {
104
- toast: (props: {
105
- title?: string;
106
- description?: string;
107
- variant?: 'default' | 'destructive';
108
- }) => void;
109
- };
110
- }
111
- export interface SDKProviderProps {
112
- implementations: SDKHookImplementations;
113
- children: ReactNode;
114
- }
115
- /**
116
- * SDKProvider wraps learner routes and provides hook implementations.
117
- * Used by the platform internally — template developers don't need this.
118
- */
119
- export declare function SDKProvider({ implementations, children }: SDKProviderProps): import("react/jsx-runtime").JSX.Element;
120
- /**
121
- * Internal hook to access SDK implementations.
122
- * @internal
123
- */
124
- export declare function useSDK(): SDKHookImplementations;
125
- //# sourceMappingURL=sdk-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-context.d.ts","sourceRoot":"","sources":["../../src/hooks/sdk-context.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Check if AI Coach is available for a course.
3
- */
4
- export declare function useAiCoachAvailability(courseId?: string | null): {
5
- loading: boolean;
6
- active: boolean;
7
- coach: any | null;
8
- error: Error | null;
9
- };
10
- /**
11
- * Chat with the AI Coach.
12
- */
13
- export declare function useAiCoachChat(courseId: string | null | undefined): {
14
- messages: any[];
15
- threadId: string | null;
16
- isStreaming: boolean;
17
- error: Error | null;
18
- sendMessage: (text: string) => Promise<void>;
19
- stopStreaming: () => void;
20
- };
21
- /**
22
- * Get AI Coach chat history.
23
- */
24
- export declare function useAiCoachHistory(courseId: string | null | undefined, enabled: boolean): {
25
- loading: boolean;
26
- threadId: string | null;
27
- messages: any[];
28
- groupedHistory: any[];
29
- hasMore: boolean;
30
- loadMore: () => Promise<void>;
31
- };
32
- //# sourceMappingURL=useAiCoach.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAiCoach.d.ts","sourceRoot":"","sources":["../../src/hooks/useAiCoach.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;EAG9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;EAGjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO;;;;;;;EAGtF"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Fetch bookmarks for a lesson/activity.
3
- */
4
- export declare function useLessonBookmarks(activityId: string): {
5
- data: any[];
6
- isLoading: boolean;
7
- error: Error | null;
8
- refetch: () => Promise<void>;
9
- };
10
- /**
11
- * Create a new bookmark.
12
- */
13
- export declare function useCreateBookmark(): {
14
- createBookmark: (payload: any) => Promise<any>;
15
- isLoading: boolean;
16
- };
17
- /**
18
- * Update an existing bookmark.
19
- */
20
- export declare function useUpdateBookmark(): {
21
- updateBookmark: (id: string, payload: any) => Promise<any>;
22
- isLoading: boolean;
23
- };
24
- /**
25
- * Delete a bookmark.
26
- */
27
- export declare function useDeleteBookmark(): {
28
- deleteBookmark: (id: string) => Promise<boolean>;
29
- isLoading: boolean;
30
- };
31
- //# sourceMappingURL=useBookmarks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBookmarks.d.ts","sourceRoot":"","sources":["../../src/hooks/useBookmarks.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM;;;;;EAGpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;;EAGhC;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;;EAGhC;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;;EAGhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCourseSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useCourseSearch.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM;;;EAG5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAGzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMyBundles.d.ts","sourceRoot":"","sources":["../../src/hooks/useMyBundles.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;EAG3F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMyCourses.d.ts","sourceRoot":"","sources":["../../src/hooks/useMyCourses.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;EAG1E"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Fetch notes for a lesson/activity.
3
- */
4
- export declare function useLessonNotes(activityId: string): {
5
- data: any[];
6
- isLoading: boolean;
7
- error: Error | null;
8
- refetch: () => Promise<void>;
9
- };
10
- /**
11
- * Create a new note.
12
- */
13
- export declare function useCreateNote(): {
14
- createNote: (payload: any) => Promise<any>;
15
- isLoading: boolean;
16
- };
17
- /**
18
- * Update an existing note.
19
- */
20
- export declare function useUpdateNote(): {
21
- updateNote: (noteId: string, payload: any) => Promise<any>;
22
- isLoading: boolean;
23
- };
24
- /**
25
- * Delete a note.
26
- */
27
- export declare function useDeleteNote(): {
28
- deleteNote: (noteId: string) => Promise<boolean>;
29
- isLoading: boolean;
30
- };
31
- //# sourceMappingURL=useNotes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNotes.d.ts","sourceRoot":"","sources":["../../src/hooks/useNotes.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM;;;;;EAGhD;AAED;;GAEG;AACH,wBAAgB,aAAa;;;EAG5B;AAED;;GAEG;AACH,wBAAgB,aAAa;;;EAG5B;AAED;;GAEG;AACH,wBAAgB,aAAa;;;EAG5B"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Manage notifications (message notifications).
3
- *
4
- * @example
5
- * ```tsx
6
- * const { notifications, unreadCount, markConversationRead } = useNotifications();
7
- * ```
8
- */
9
- export declare function useNotifications(): {
10
- notifications: any[];
11
- unreadCount: number;
12
- isLoading: boolean;
13
- isLoadingMore: boolean;
14
- hasMore: boolean;
15
- loadMore: () => void;
16
- refresh: () => void;
17
- markConversationRead: (conversationId: string) => Promise<void>;
18
- };
19
- //# sourceMappingURL=useNotifications.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNotifications.d.ts","sourceRoot":"","sources":["../../src/hooks/useNotifications.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB;;;;;;;;;EAG/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ;;;EAGvB"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Show toast notifications.
3
- *
4
- * @example
5
- * ```tsx
6
- * const { toast } = useToast();
7
- * toast({ title: 'Success', description: 'Course enrolled!' });
8
- * ```
9
- */
10
- export declare function useToast(): {
11
- toast: (props: {
12
- title?: string;
13
- description?: string;
14
- variant?: "default" | "destructive";
15
- }) => void;
16
- };
17
- //# sourceMappingURL=useToast.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToast.d.ts","sourceRoot":"","sources":["../../src/hooks/useToast.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ;;aAIguF,CAAC;mBAAqB,CAAC;eAAiB,CAAC;;EADhyF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../src/hooks/useUser.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO;;;;EAGtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS;;EAGxB"}