@academy-sdk/sdk 0.1.0 → 0.1.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 (151) hide show
  1. package/dist/components/atoms/Avatar.d.ts +9 -0
  2. package/dist/components/atoms/Avatar.d.ts.map +1 -0
  3. package/dist/components/atoms/Badge.d.ts +10 -0
  4. package/dist/components/atoms/Badge.d.ts.map +1 -0
  5. package/dist/components/atoms/Button.d.ts +11 -0
  6. package/dist/components/atoms/Button.d.ts.map +1 -0
  7. package/dist/components/atoms/Card.d.ts +11 -0
  8. package/dist/components/atoms/Card.d.ts.map +1 -0
  9. package/dist/components/atoms/Input.d.ts +7 -0
  10. package/dist/components/atoms/Input.d.ts.map +1 -0
  11. package/dist/components/atoms/ProgressBar.d.ts +11 -0
  12. package/dist/components/atoms/ProgressBar.d.ts.map +1 -0
  13. package/dist/components/atoms/Tabs.d.ts +16 -0
  14. package/dist/components/atoms/Tabs.d.ts.map +1 -0
  15. package/dist/components/atoms/index.d.ts +11 -0
  16. package/dist/components/atoms/index.d.ts.map +1 -0
  17. package/dist/components/index.d.ts +5 -0
  18. package/dist/components/index.d.ts.map +1 -0
  19. package/dist/components/molecules/CourseCard.d.ts +25 -0
  20. package/dist/components/molecules/CourseCard.d.ts.map +1 -0
  21. package/dist/components/molecules/EmptyState.d.ts +10 -0
  22. package/dist/components/molecules/EmptyState.d.ts.map +1 -0
  23. package/dist/components/molecules/LoadingSpinner.d.ts +7 -0
  24. package/dist/components/molecules/LoadingSpinner.d.ts.map +1 -0
  25. package/dist/components/molecules/PageHeader.d.ts +8 -0
  26. package/dist/components/molecules/PageHeader.d.ts.map +1 -0
  27. package/dist/components/molecules/Pagination.d.ts +13 -0
  28. package/dist/components/molecules/Pagination.d.ts.map +1 -0
  29. package/dist/components/molecules/SearchInput.d.ts +8 -0
  30. package/dist/components/molecules/SearchInput.d.ts.map +1 -0
  31. package/dist/components/molecules/index.d.ts +13 -0
  32. package/dist/components/molecules/index.d.ts.map +1 -0
  33. package/dist/components/organisms/CourseSidebar.d.ts +37 -0
  34. package/dist/components/organisms/CourseSidebar.d.ts.map +1 -0
  35. package/dist/components/organisms/LearnerNavbar.d.ts +8 -0
  36. package/dist/components/organisms/LearnerNavbar.d.ts.map +1 -0
  37. package/dist/components/organisms/LearnerSidebar.d.ts +16 -0
  38. package/dist/components/organisms/LearnerSidebar.d.ts.map +1 -0
  39. package/dist/components/organisms/LessonBookmarks.d.ts +8 -0
  40. package/dist/components/organisms/LessonBookmarks.d.ts.map +1 -0
  41. package/dist/components/organisms/LessonNotes.d.ts +8 -0
  42. package/dist/components/organisms/LessonNotes.d.ts.map +1 -0
  43. package/dist/components/organisms/index.d.ts +11 -0
  44. package/dist/components/organisms/index.d.ts.map +1 -0
  45. package/dist/components/pages/BundleDetailPage.d.ts +3 -0
  46. package/dist/components/pages/BundleDetailPage.d.ts.map +1 -0
  47. package/dist/components/pages/CatalogBundlesPage.d.ts +3 -0
  48. package/dist/components/pages/CatalogBundlesPage.d.ts.map +1 -0
  49. package/dist/components/pages/CatalogCoursesPage.d.ts +3 -0
  50. package/dist/components/pages/CatalogCoursesPage.d.ts.map +1 -0
  51. package/dist/components/pages/CourseDetailPage.d.ts +3 -0
  52. package/dist/components/pages/CourseDetailPage.d.ts.map +1 -0
  53. package/dist/components/pages/CoursePlayerPage.d.ts +8 -0
  54. package/dist/components/pages/CoursePlayerPage.d.ts.map +1 -0
  55. package/dist/components/pages/CreatorProfilePage.d.ts +3 -0
  56. package/dist/components/pages/CreatorProfilePage.d.ts.map +1 -0
  57. package/dist/components/pages/LearnerSettingsPage.d.ts +3 -0
  58. package/dist/components/pages/LearnerSettingsPage.d.ts.map +1 -0
  59. package/dist/components/pages/ManualReviewDetailPage.d.ts +3 -0
  60. package/dist/components/pages/ManualReviewDetailPage.d.ts.map +1 -0
  61. package/dist/components/pages/ManualReviewPage.d.ts +3 -0
  62. package/dist/components/pages/ManualReviewPage.d.ts.map +1 -0
  63. package/dist/components/pages/MessagesPage.d.ts +3 -0
  64. package/dist/components/pages/MessagesPage.d.ts.map +1 -0
  65. package/dist/components/pages/MyLearningPage.d.ts +3 -0
  66. package/dist/components/pages/MyLearningPage.d.ts.map +1 -0
  67. package/dist/components/pages/PaymentCancelPage.d.ts +3 -0
  68. package/dist/components/pages/PaymentCancelPage.d.ts.map +1 -0
  69. package/dist/components/pages/PaymentSuccessPage.d.ts +3 -0
  70. package/dist/components/pages/PaymentSuccessPage.d.ts.map +1 -0
  71. package/dist/components/pages/index.d.ts +14 -0
  72. package/dist/components/pages/index.d.ts.map +1 -0
  73. package/dist/components/utils.d.ts +3 -0
  74. package/dist/components/utils.d.ts.map +1 -0
  75. package/dist/contracts/components.contract.d.ts +87 -0
  76. package/dist/contracts/components.contract.d.ts.map +1 -0
  77. package/dist/contracts/index.d.ts +5 -0
  78. package/dist/contracts/index.d.ts.map +1 -0
  79. package/dist/contracts/layout.contract.d.ts +35 -0
  80. package/dist/contracts/layout.contract.d.ts.map +1 -0
  81. package/dist/contracts/pages.contract.d.ts +192 -0
  82. package/dist/contracts/pages.contract.d.ts.map +1 -0
  83. package/dist/contracts/template.contract.d.ts +49 -0
  84. package/dist/contracts/template.contract.d.ts.map +1 -0
  85. package/dist/hooks/index.d.ts +14 -0
  86. package/dist/hooks/index.d.ts.map +1 -0
  87. package/dist/hooks/sdk-context.d.ts +125 -0
  88. package/dist/hooks/sdk-context.d.ts.map +1 -0
  89. package/dist/hooks/useAiCoach.d.ts +32 -0
  90. package/dist/hooks/useAiCoach.d.ts.map +1 -0
  91. package/dist/hooks/useBookmarks.d.ts +31 -0
  92. package/dist/hooks/useBookmarks.d.ts.map +1 -0
  93. package/dist/hooks/useCourseSearch.d.ts +15 -0
  94. package/dist/hooks/useCourseSearch.d.ts.map +1 -0
  95. package/dist/hooks/useDebounce.d.ts +13 -0
  96. package/dist/hooks/useDebounce.d.ts.map +1 -0
  97. package/dist/hooks/useMyBundles.d.ts +19 -0
  98. package/dist/hooks/useMyBundles.d.ts.map +1 -0
  99. package/dist/hooks/useMyCourses.d.ts +18 -0
  100. package/dist/hooks/useMyCourses.d.ts.map +1 -0
  101. package/dist/hooks/useNotes.d.ts +31 -0
  102. package/dist/hooks/useNotes.d.ts.map +1 -0
  103. package/dist/hooks/useNotifications.d.ts +19 -0
  104. package/dist/hooks/useNotifications.d.ts.map +1 -0
  105. package/dist/hooks/useTheme.d.ts +14 -0
  106. package/dist/hooks/useTheme.d.ts.map +1 -0
  107. package/dist/hooks/useToast.d.ts +17 -0
  108. package/dist/hooks/useToast.d.ts.map +1 -0
  109. package/dist/hooks/useUser.d.ts +29 -0
  110. package/dist/hooks/useUser.d.ts.map +1 -0
  111. package/dist/index.d.ts +17 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/layouts/DefaultLayout.d.ts +9 -0
  114. package/dist/layouts/DefaultLayout.d.ts.map +1 -0
  115. package/dist/types/ai-coach.d.ts +22 -0
  116. package/dist/types/ai-coach.d.ts.map +1 -0
  117. package/dist/types/bookmarks.d.ts +19 -0
  118. package/dist/types/bookmarks.d.ts.map +1 -0
  119. package/dist/types/bundle.d.ts +114 -0
  120. package/dist/types/bundle.d.ts.map +1 -0
  121. package/dist/types/common.d.ts +23 -0
  122. package/dist/types/common.d.ts.map +1 -0
  123. package/dist/types/course.d.ts +127 -0
  124. package/dist/types/course.d.ts.map +1 -0
  125. package/dist/types/enrollment.d.ts +34 -0
  126. package/dist/types/enrollment.d.ts.map +1 -0
  127. package/dist/types/index.d.ts +16 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/lesson.d.ts +105 -0
  130. package/dist/types/lesson.d.ts.map +1 -0
  131. package/dist/types/manual-review.d.ts +123 -0
  132. package/dist/types/manual-review.d.ts.map +1 -0
  133. package/dist/types/messaging.d.ts +101 -0
  134. package/dist/types/messaging.d.ts.map +1 -0
  135. package/dist/types/notification.d.ts +28 -0
  136. package/dist/types/notification.d.ts.map +1 -0
  137. package/dist/types/payment.d.ts +38 -0
  138. package/dist/types/payment.d.ts.map +1 -0
  139. package/dist/types/progress.d.ts +18 -0
  140. package/dist/types/progress.d.ts.map +1 -0
  141. package/dist/types/rating.d.ts +20 -0
  142. package/dist/types/rating.d.ts.map +1 -0
  143. package/dist/types/search.d.ts +28 -0
  144. package/dist/types/search.d.ts.map +1 -0
  145. package/dist/types/user.d.ts +15 -0
  146. package/dist/types/user.d.ts.map +1 -0
  147. package/dist/utils/formatters.d.ts +25 -0
  148. package/dist/utils/formatters.d.ts.map +1 -0
  149. package/dist/utils/index.d.ts +2 -0
  150. package/dist/utils/index.d.ts.map +1 -0
  151. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Debounce a value.
3
+ *
4
+ * @param value - The value to debounce
5
+ * @param delay - Delay in milliseconds
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * const debouncedSearch = useDebounce(searchQuery, 500);
10
+ * ```
11
+ */
12
+ export declare function useDebounce<T>(value: T, delay: number): T;
13
+ //# sourceMappingURL=useDebounce.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Fetch the current user's enrolled bundles.
3
+ *
4
+ * @param status - Filter by status: 'IN_PROGRESS' | 'COMPLETED' | undefined (all)
5
+ * @param page - Page number (1-based)
6
+ * @param limit - Items per page (default: 12)
7
+ * @param search - Optional search query
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * const { bundles, meta, isLoading } = useMyBundles(undefined, 1, 12);
12
+ * ```
13
+ */
14
+ export declare function useMyBundles(status?: string, page?: number, limit?: number, search?: string): {
15
+ bundles: any[];
16
+ meta: any | null;
17
+ isLoading: boolean;
18
+ };
19
+ //# sourceMappingURL=useMyBundles.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Fetch the current user's enrolled courses.
3
+ *
4
+ * @param status - Filter by status: 'IN_PROGRESS' | 'COMPLETED' | undefined (all)
5
+ * @param page - Page number (1-based)
6
+ * @param limit - Items per page (default: 12)
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const { courses, meta, isLoading } = useMyCourses('IN_PROGRESS', 1, 12);
11
+ * ```
12
+ */
13
+ export declare function useMyCourses(status?: string, page?: number, limit?: number): {
14
+ courses: any[];
15
+ meta: any | null;
16
+ isLoading: boolean;
17
+ };
18
+ //# sourceMappingURL=useMyCourses.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,31 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,19 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNotifications.d.ts","sourceRoot":"","sources":["../../src/hooks/useNotifications.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB;;;;;;;;;EAG/B"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Access and change the current theme.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * const { theme, setTheme } = useTheme();
7
+ * return <button onClick={() => setTheme('dark')}>Dark Mode</button>;
8
+ * ```
9
+ */
10
+ export declare function useTheme(): {
11
+ theme: string;
12
+ setTheme: (theme: string) => void;
13
+ };
14
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ;;;EAGvB"}
@@ -0,0 +1,17 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Get the current authenticated user.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * const { user, isAuthenticated } = useUser();
7
+ * if (user) {
8
+ * return <span>Hello, {user.name}</span>;
9
+ * }
10
+ * ```
11
+ */
12
+ export declare function useUser(): {
13
+ user: import("..").User | null;
14
+ isAuthenticated: boolean;
15
+ memberships: import("..").Membership[];
16
+ };
17
+ /**
18
+ * Get the logout function.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * const { logout } = useLogout();
23
+ * return <button onClick={logout}>Log out</button>;
24
+ * ```
25
+ */
26
+ export declare function useLogout(): {
27
+ logout: () => void;
28
+ };
29
+ //# sourceMappingURL=useUser.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @academy/sdk
3
+ *
4
+ * SDK for building custom learner templates for the Academy platform.
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * import { useMyCourses, useUser } from '@academy/sdk';
9
+ * import type { MyLearningPageProps, TemplateManifest } from '@academy/sdk';
10
+ * ```
11
+ */
12
+ export * from './types';
13
+ export * from './hooks';
14
+ export * from './contracts';
15
+ export * from './utils';
16
+ export { DefaultLayout } from './layouts/DefaultLayout';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ReactNode } from 'react';
2
+ interface DefaultLayoutProps {
3
+ children: ReactNode;
4
+ currentPath?: string;
5
+ onNavigate?: (path: string) => void;
6
+ }
7
+ export declare function DefaultLayout({ children, currentPath, onNavigate }: DefaultLayoutProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=DefaultLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLayout.d.ts","sourceRoot":"","sources":["../../src/layouts/DefaultLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,WAA4B,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CA6CvG"}
@@ -0,0 +1,22 @@
1
+ export type ChatRole = 'user' | 'assistant';
2
+ export interface ChatMessage {
3
+ id: string;
4
+ role: ChatRole;
5
+ content: string;
6
+ createdAt: number;
7
+ isStreaming?: boolean;
8
+ sources?: unknown[];
9
+ }
10
+ export interface AICoachInfo {
11
+ id: string;
12
+ name: string;
13
+ }
14
+ export interface AICoachAvailability {
15
+ active: boolean;
16
+ coach: AICoachInfo | null;
17
+ }
18
+ export interface AICoachHistoryGroup {
19
+ date: string;
20
+ messages: ChatMessage[];
21
+ }
22
+ //# sourceMappingURL=ai-coach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-coach.d.ts","sourceRoot":"","sources":["../../src/types/ai-coach.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB"}
@@ -0,0 +1,19 @@
1
+ export interface Bookmark {
2
+ id: string;
3
+ activityId: string;
4
+ userId: string;
5
+ second: number;
6
+ label?: string;
7
+ createdAt: string;
8
+ updatedAt: string;
9
+ }
10
+ export interface CreateBookmarkPayload {
11
+ activityId: string;
12
+ second: number;
13
+ label?: string;
14
+ }
15
+ export interface UpdateBookmarkPayload {
16
+ second?: number;
17
+ label?: string;
18
+ }
19
+ //# sourceMappingURL=bookmarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/types/bookmarks.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,114 @@
1
+ export interface BundleSettings {
2
+ pricingType: 'FREE' | 'ONE_TIME' | 'SUBSCRIPTION' | 'INSTALLMENT';
3
+ price?: number;
4
+ currency?: string;
5
+ accessDurationDays?: number;
6
+ allowCourseSkipping?: boolean;
7
+ requireSequentialCompletion?: boolean;
8
+ enableBundleCertificate?: boolean;
9
+ trialEnabled?: boolean;
10
+ trialPrice?: number;
11
+ trialDurationDays?: number;
12
+ }
13
+ export interface Bundle {
14
+ id: string;
15
+ tenantId?: string;
16
+ title: string;
17
+ slug?: string;
18
+ description?: string;
19
+ status: 'DRAFT' | 'PUBLISHED' | 'UNPUBLISHED' | 'ARCHIVED';
20
+ settings?: BundleSettings;
21
+ courses?: BundleCourse[];
22
+ includedCourses?: BundleCourse[];
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ }
26
+ export interface BundleCourse {
27
+ courseId: string;
28
+ orderIndex: number;
29
+ dripType?: 'STUDENT_ENROLLMENT_DATE' | 'STUDENT_START_DATE' | 'SPECIFIC_DATE';
30
+ dripStartDate?: string;
31
+ course?: {
32
+ id: string;
33
+ title: string;
34
+ slug?: string;
35
+ thumbnail?: string;
36
+ summary?: string;
37
+ status?: string;
38
+ sections?: Array<{
39
+ id: string;
40
+ title: string;
41
+ description?: string;
42
+ activities?: Array<{
43
+ id: string;
44
+ title: string;
45
+ description?: string;
46
+ estimatedDuration?: string;
47
+ }>;
48
+ }>;
49
+ };
50
+ }
51
+ export interface LearnerBundleCourse {
52
+ id: string;
53
+ title: string;
54
+ slug: string;
55
+ summary?: string;
56
+ thumbnail?: string;
57
+ orderIndex: number;
58
+ status: string;
59
+ totalActivities: number;
60
+ isEnrolled: boolean;
61
+ enrollmentId?: string;
62
+ enrollmentSource?: string;
63
+ isAccessible: boolean;
64
+ isAvailable: boolean;
65
+ availableAt?: string;
66
+ dripType?: 'STUDENT_ENROLLMENT_DATE' | 'STUDENT_START_DATE' | 'SPECIFIC_DATE';
67
+ isCompleted?: boolean;
68
+ completedAt?: string;
69
+ progressPercentage?: number;
70
+ completedActivities?: number;
71
+ }
72
+ export interface LearnerBundleCreator {
73
+ id: string;
74
+ name: string;
75
+ email: string;
76
+ }
77
+ export interface LearnerBundle {
78
+ id: string;
79
+ title: string;
80
+ slug: string;
81
+ description?: string;
82
+ courses: LearnerBundleCourse[];
83
+ totalCourses: number;
84
+ totalActivities: number;
85
+ price?: number | null;
86
+ currency: string;
87
+ pricingType: 'FREE' | 'ONE_TIME' | 'SUBSCRIPTION' | 'INSTALLMENT';
88
+ creator: LearnerBundleCreator;
89
+ isEnrolled: boolean;
90
+ createdAt: string;
91
+ updatedAt: string;
92
+ allowCourseSkipping: boolean;
93
+ requireSequentialCompletion: boolean;
94
+ enableBundleCertificate: boolean;
95
+ enableDiscussions: boolean;
96
+ bundleProgressPercentage: number;
97
+ allCoursesCompleted?: boolean;
98
+ certificateUrl?: string;
99
+ trialEnabled?: boolean;
100
+ trialPrice?: number;
101
+ trialDurationDays?: number;
102
+ }
103
+ export interface BundleListResponse {
104
+ data: Bundle[];
105
+ meta: {
106
+ page: number;
107
+ limit: number;
108
+ total: number;
109
+ totalPages: number;
110
+ hasNextPage: boolean;
111
+ hasPreviousPage: boolean;
112
+ };
113
+ }
114
+ //# sourceMappingURL=bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/types/bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface PaginationMeta {
2
+ page: number;
3
+ limit: number;
4
+ total: number;
5
+ totalPages: number;
6
+ hasNextPage: boolean;
7
+ hasPreviousPage: boolean;
8
+ }
9
+ export interface PaginatedResponse<T> {
10
+ data: T[];
11
+ meta: PaginationMeta;
12
+ }
13
+ export interface PaginationProps {
14
+ currentPage: number;
15
+ totalPages: number;
16
+ total: number;
17
+ pageSize: number;
18
+ hasNextPage: boolean;
19
+ hasPreviousPage: boolean;
20
+ onPageChange: (page: number) => void;
21
+ maxVisiblePages?: number;
22
+ }
23
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,127 @@
1
+ export interface Course {
2
+ id: string;
3
+ title: string;
4
+ description?: string;
5
+ summary?: string;
6
+ slug?: string;
7
+ thumbnail?: string;
8
+ instructorId?: string;
9
+ status?: string;
10
+ modules?: Module[];
11
+ sections?: any[];
12
+ studentsEnrolled?: number;
13
+ totalActivities?: number;
14
+ createdAt?: Date;
15
+ updatedAt?: Date;
16
+ timestamp?: string;
17
+ settings?: CourseSettings;
18
+ }
19
+ export interface CourseSettings {
20
+ dripEnabled?: boolean;
21
+ timezone?: string;
22
+ banner?: string;
23
+ primaryThemeColor?: string;
24
+ secondaryThemeColor?: string;
25
+ communityEnabled?: boolean;
26
+ slackCommunityEnabled?: boolean;
27
+ slackCommunityStatus?: string;
28
+ slackChannelId?: string;
29
+ slackChannelName?: string;
30
+ seoTitle?: string;
31
+ seoDescription?: string;
32
+ seo?: CourseSEOSettings;
33
+ trialEnabled?: boolean;
34
+ trialPrice?: number;
35
+ trialDurationDays?: number;
36
+ }
37
+ export interface CourseSEOSettings {
38
+ title?: string;
39
+ description?: string;
40
+ isPubliclyDiscoverable?: boolean;
41
+ requirePassword?: boolean;
42
+ coursePassword?: string;
43
+ }
44
+ export interface Module {
45
+ id: string;
46
+ courseId: string;
47
+ title: string;
48
+ description: string;
49
+ order: number;
50
+ lessons: Lesson[];
51
+ }
52
+ export interface Lesson {
53
+ id: string;
54
+ moduleId: string;
55
+ title: string;
56
+ description: string;
57
+ videoUrl?: string;
58
+ content: string;
59
+ resources: Resource[];
60
+ homeworkRequired: boolean;
61
+ order: number;
62
+ duration?: number;
63
+ }
64
+ export interface Resource {
65
+ id: string;
66
+ lessonId: string;
67
+ title: string;
68
+ url: string;
69
+ type: 'pdf' | 'video' | 'link' | 'document';
70
+ }
71
+ export interface CoursePlayerLesson {
72
+ id: string;
73
+ title: string;
74
+ videoUrl: string;
75
+ videoProvider?: 'YOUTUBE' | 'VIMEO' | 'LOOM' | 'OTHERS';
76
+ videoResourceId?: string;
77
+ hasTranscript?: boolean;
78
+ duration: string;
79
+ completed: boolean;
80
+ locked?: boolean;
81
+ available?: boolean;
82
+ availableAt?: string;
83
+ availabilityMessage?: string;
84
+ schedulingType?: string;
85
+ remainingDays?: number;
86
+ hasPrerequisite?: boolean;
87
+ downloadable?: boolean;
88
+ lessonIcon?: string;
89
+ description?: string;
90
+ summary?: string;
91
+ learningObjectives?: string[];
92
+ enableDiscussion?: boolean;
93
+ secondaryResources?: Array<{
94
+ id: string;
95
+ title: string;
96
+ type: 'VIDEO' | 'LINK' | 'DOCUMENT';
97
+ metadataJson: {
98
+ url?: string;
99
+ key?: string;
100
+ name?: string;
101
+ size?: number;
102
+ mimeType?: string;
103
+ };
104
+ }>;
105
+ progressData?: {
106
+ progressId?: string;
107
+ completed?: boolean;
108
+ lastAccessed?: string;
109
+ progressSecond?: number;
110
+ completedAt?: string;
111
+ };
112
+ _fullData?: any;
113
+ }
114
+ export interface CoursePlayerModule {
115
+ id: string;
116
+ title: string;
117
+ lessons: CoursePlayerLesson[];
118
+ }
119
+ export interface CoursePlayerCourse {
120
+ id: string;
121
+ title: string;
122
+ description: string;
123
+ modules: CoursePlayerModule[];
124
+ summary?: string;
125
+ learningObjectives?: string[];
126
+ }
127
+ //# sourceMappingURL=course.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course.d.ts","sourceRoot":"","sources":["../../src/types/course.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface StudentProgress {
2
+ id: string;
3
+ studentId: string;
4
+ courseId: string;
5
+ lessonsCompleted: string[];
6
+ currentLessonId?: string;
7
+ completionPercentage: number;
8
+ lastAccessedAt: Date;
9
+ }
10
+ export interface CourseEnrollment {
11
+ id: string;
12
+ learnerId: string;
13
+ learnerName: string;
14
+ learnerEmail: string;
15
+ learnerAvatar?: string;
16
+ courseId: string;
17
+ enrollmentDate: string;
18
+ status: 'active' | 'inactive' | 'removed' | 'pending';
19
+ progress: {
20
+ completedLessons: number;
21
+ totalLessons: number;
22
+ percentage: number;
23
+ };
24
+ lastAccessedAt?: string;
25
+ }
26
+ export interface EnrollmentStatus {
27
+ isEnrolled: boolean;
28
+ enrollmentId?: string;
29
+ enrolledAt?: string;
30
+ lastActivityId?: string;
31
+ progress?: number;
32
+ hasReviewed?: boolean;
33
+ }
34
+ //# sourceMappingURL=enrollment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../../src/types/enrollment.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACtD,QAAQ,EAAE;QACR,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1,16 @@
1
+ export * from './course';
2
+ export * from './lesson';
3
+ export * from './bundle';
4
+ export * from './user';
5
+ export * from './enrollment';
6
+ export * from './messaging';
7
+ export * from './ai-coach';
8
+ export * from './search';
9
+ export * from './notification';
10
+ export * from './rating';
11
+ export * from './manual-review';
12
+ export * from './payment';
13
+ export * from './common';
14
+ export * from './bookmarks';
15
+ export * from './progress';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}