react-native-elearn-ui 0.1.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 (100) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +37 -0
  3. package/lib/module/components/Button.js +82 -0
  4. package/lib/module/components/Button.js.map +1 -0
  5. package/lib/module/components/Card.js +49 -0
  6. package/lib/module/components/Card.js.map +1 -0
  7. package/lib/module/components/CircularProgress.js +80 -0
  8. package/lib/module/components/CircularProgress.js.map +1 -0
  9. package/lib/module/components/Icon.js +268 -0
  10. package/lib/module/components/Icon.js.map +1 -0
  11. package/lib/module/components/ProgressBar.js +39 -0
  12. package/lib/module/components/ProgressBar.js.map +1 -0
  13. package/lib/module/components/Typography.js +102 -0
  14. package/lib/module/components/Typography.js.map +1 -0
  15. package/lib/module/components/index.js +10 -0
  16. package/lib/module/components/index.js.map +1 -0
  17. package/lib/module/context/ElearnConfigContext.js +76 -0
  18. package/lib/module/context/ElearnConfigContext.js.map +1 -0
  19. package/lib/module/context/ThemeContext.js +45 -0
  20. package/lib/module/context/ThemeContext.js.map +1 -0
  21. package/lib/module/index.js +13 -0
  22. package/lib/module/index.js.map +1 -0
  23. package/lib/module/multiply.js +6 -0
  24. package/lib/module/multiply.js.map +1 -0
  25. package/lib/module/package.json +1 -0
  26. package/lib/module/screens/HomeScreen.js +330 -0
  27. package/lib/module/screens/HomeScreen.js.map +1 -0
  28. package/lib/module/screens/QbankScreen.js +200 -0
  29. package/lib/module/screens/QbankScreen.js.map +1 -0
  30. package/lib/module/screens/QuestionScreen.js +383 -0
  31. package/lib/module/screens/QuestionScreen.js.map +1 -0
  32. package/lib/module/screens/QuizStartScreen.js +230 -0
  33. package/lib/module/screens/QuizStartScreen.js.map +1 -0
  34. package/lib/module/screens/ResultScreen.js +318 -0
  35. package/lib/module/screens/ResultScreen.js.map +1 -0
  36. package/lib/module/screens/TopicListScreen.js +222 -0
  37. package/lib/module/screens/TopicListScreen.js.map +1 -0
  38. package/lib/module/screens/index.js +9 -0
  39. package/lib/module/screens/index.js.map +1 -0
  40. package/lib/module/types/index.js +2 -0
  41. package/lib/module/types/index.js.map +1 -0
  42. package/lib/typescript/package.json +1 -0
  43. package/lib/typescript/src/components/Button.d.ts +14 -0
  44. package/lib/typescript/src/components/Button.d.ts.map +1 -0
  45. package/lib/typescript/src/components/Card.d.ts +12 -0
  46. package/lib/typescript/src/components/Card.d.ts.map +1 -0
  47. package/lib/typescript/src/components/CircularProgress.d.ts +15 -0
  48. package/lib/typescript/src/components/CircularProgress.d.ts.map +1 -0
  49. package/lib/typescript/src/components/Icon.d.ts +11 -0
  50. package/lib/typescript/src/components/Icon.d.ts.map +1 -0
  51. package/lib/typescript/src/components/ProgressBar.d.ts +11 -0
  52. package/lib/typescript/src/components/ProgressBar.d.ts.map +1 -0
  53. package/lib/typescript/src/components/Typography.d.ts +12 -0
  54. package/lib/typescript/src/components/Typography.d.ts.map +1 -0
  55. package/lib/typescript/src/components/index.d.ts +9 -0
  56. package/lib/typescript/src/components/index.d.ts.map +1 -0
  57. package/lib/typescript/src/context/ElearnConfigContext.d.ts +22 -0
  58. package/lib/typescript/src/context/ElearnConfigContext.d.ts.map +1 -0
  59. package/lib/typescript/src/context/ThemeContext.d.ts +11 -0
  60. package/lib/typescript/src/context/ThemeContext.d.ts.map +1 -0
  61. package/lib/typescript/src/index.d.ts +6 -0
  62. package/lib/typescript/src/index.d.ts.map +1 -0
  63. package/lib/typescript/src/multiply.d.ts +2 -0
  64. package/lib/typescript/src/multiply.d.ts.map +1 -0
  65. package/lib/typescript/src/screens/HomeScreen.d.ts +3 -0
  66. package/lib/typescript/src/screens/HomeScreen.d.ts.map +1 -0
  67. package/lib/typescript/src/screens/QbankScreen.d.ts +3 -0
  68. package/lib/typescript/src/screens/QbankScreen.d.ts.map +1 -0
  69. package/lib/typescript/src/screens/QuestionScreen.d.ts +11 -0
  70. package/lib/typescript/src/screens/QuestionScreen.d.ts.map +1 -0
  71. package/lib/typescript/src/screens/QuizStartScreen.d.ts +10 -0
  72. package/lib/typescript/src/screens/QuizStartScreen.d.ts.map +1 -0
  73. package/lib/typescript/src/screens/ResultScreen.d.ts +11 -0
  74. package/lib/typescript/src/screens/ResultScreen.d.ts.map +1 -0
  75. package/lib/typescript/src/screens/TopicListScreen.d.ts +9 -0
  76. package/lib/typescript/src/screens/TopicListScreen.d.ts.map +1 -0
  77. package/lib/typescript/src/screens/index.d.ts +7 -0
  78. package/lib/typescript/src/screens/index.d.ts.map +1 -0
  79. package/lib/typescript/src/types/index.d.ts +107 -0
  80. package/lib/typescript/src/types/index.d.ts.map +1 -0
  81. package/package.json +121 -0
  82. package/src/components/Button.tsx +101 -0
  83. package/src/components/Card.tsx +57 -0
  84. package/src/components/CircularProgress.tsx +93 -0
  85. package/src/components/Icon.tsx +338 -0
  86. package/src/components/ProgressBar.tsx +47 -0
  87. package/src/components/Typography.tsx +112 -0
  88. package/src/components/index.ts +8 -0
  89. package/src/context/ElearnConfigContext.tsx +90 -0
  90. package/src/context/ThemeContext.tsx +37 -0
  91. package/src/index.tsx +33 -0
  92. package/src/multiply.tsx +3 -0
  93. package/src/screens/HomeScreen.tsx +291 -0
  94. package/src/screens/QbankScreen.tsx +176 -0
  95. package/src/screens/QuestionScreen.tsx +402 -0
  96. package/src/screens/QuizStartScreen.tsx +215 -0
  97. package/src/screens/ResultScreen.tsx +303 -0
  98. package/src/screens/TopicListScreen.tsx +200 -0
  99. package/src/screens/index.ts +6 -0
  100. package/src/types/index.ts +122 -0
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, ScrollView, StyleSheet, TouchableOpacity, SafeAreaView, StatusBar } from 'react-native';
5
+ import { useElearnConfig } from "../context/ElearnConfigContext.js";
6
+ import { useTheme } from "../context/ThemeContext.js";
7
+ import { Typography, Card, ProgressBar, Icon } from "../components/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const TopicListScreen = ({
10
+ course,
11
+ onBack
12
+ }) => {
13
+ const {
14
+ callbacks,
15
+ getString
16
+ } = useElearnConfig();
17
+ const theme = useTheme();
18
+ return /*#__PURE__*/_jsxs(SafeAreaView, {
19
+ style: [styles.safeArea, {
20
+ backgroundColor: theme.background
21
+ }],
22
+ children: [/*#__PURE__*/_jsx(StatusBar, {
23
+ barStyle: "dark-content"
24
+ }), /*#__PURE__*/_jsxs(View, {
25
+ style: styles.header,
26
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
27
+ onPress: onBack,
28
+ style: [styles.backButton, {
29
+ borderColor: theme.border
30
+ }],
31
+ children: /*#__PURE__*/_jsx(Icon, {
32
+ name: "arrow-left",
33
+ size: 20,
34
+ color: theme.textPrimary
35
+ })
36
+ }), /*#__PURE__*/_jsx(Typography, {
37
+ variant: "h3",
38
+ bold: true,
39
+ style: styles.headerTitle,
40
+ numberOfLines: 1,
41
+ children: course.title
42
+ }), /*#__PURE__*/_jsx(View, {
43
+ style: styles.headerRightPlaceholder
44
+ })]
45
+ }), /*#__PURE__*/_jsxs(ScrollView, {
46
+ contentContainerStyle: styles.scrollContent,
47
+ showsVerticalScrollIndicator: false,
48
+ children: [/*#__PURE__*/_jsxs(Card, {
49
+ style: [styles.summaryCard, {
50
+ backgroundColor: theme.primary
51
+ }],
52
+ children: [/*#__PURE__*/_jsx(Typography, {
53
+ variant: "h2",
54
+ bold: true,
55
+ color: "#FFFFFF",
56
+ children: course.title
57
+ }), course.description && /*#__PURE__*/_jsx(Typography, {
58
+ variant: "caption",
59
+ color: "rgba(255, 255, 255, 0.8)",
60
+ style: styles.summaryDesc,
61
+ children: course.description
62
+ }), /*#__PURE__*/_jsxs(View, {
63
+ style: styles.progressSummaryContainer,
64
+ children: [/*#__PURE__*/_jsxs(View, {
65
+ style: styles.progressSummaryText,
66
+ children: [/*#__PURE__*/_jsx(Typography, {
67
+ variant: "caption",
68
+ color: "#FFFFFF",
69
+ children: "Overall Subject Progress"
70
+ }), /*#__PURE__*/_jsxs(Typography, {
71
+ variant: "label",
72
+ bold: true,
73
+ color: "#FFFFFF",
74
+ children: [course.completedQuestions, "/", course.totalQuestions, " Questions answered"]
75
+ })]
76
+ }), /*#__PURE__*/_jsxs(Typography, {
77
+ variant: "h2",
78
+ bold: true,
79
+ color: "#FFFFFF",
80
+ children: [Math.round(course.progress * 100), "%"]
81
+ })]
82
+ }), /*#__PURE__*/_jsx(ProgressBar, {
83
+ progress: course.progress,
84
+ color: "#FFFFFF",
85
+ style: styles.summaryProgressBar
86
+ })]
87
+ }), /*#__PURE__*/_jsx(View, {
88
+ style: styles.sectionHeader,
89
+ children: /*#__PURE__*/_jsxs(Typography, {
90
+ variant: "h2",
91
+ bold: true,
92
+ color: theme.textPrimary,
93
+ children: [getString('topicsLabel'), " (", course.topics.length, ")"]
94
+ })
95
+ }), /*#__PURE__*/_jsx(View, {
96
+ style: styles.topicsList,
97
+ children: course.topics.map(topic => {
98
+ const pct = Math.round(topic.progress * 100);
99
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
100
+ activeOpacity: 0.8,
101
+ onPress: () => callbacks.onSelectTopic?.(course, topic),
102
+ children: /*#__PURE__*/_jsxs(Card, {
103
+ bordered: true,
104
+ style: styles.topicCard,
105
+ children: [/*#__PURE__*/_jsxs(View, {
106
+ style: styles.topicCardHeader,
107
+ children: [/*#__PURE__*/_jsxs(View, {
108
+ style: styles.topicTitleSection,
109
+ children: [/*#__PURE__*/_jsx(Typography, {
110
+ variant: "h3",
111
+ bold: true,
112
+ color: theme.textPrimary,
113
+ children: topic.title
114
+ }), /*#__PURE__*/_jsxs(Typography, {
115
+ variant: "caption",
116
+ color: theme.textSecondary,
117
+ children: [topic.completedQuestions, "/", topic.totalQuestions, " ", getString('questionsCountLabel')]
118
+ })]
119
+ }), /*#__PURE__*/_jsx(View, {
120
+ style: styles.pctBadge,
121
+ children: /*#__PURE__*/_jsxs(Typography, {
122
+ variant: "caption",
123
+ bold: true,
124
+ color: theme.primary,
125
+ children: [pct, "%"]
126
+ })
127
+ })]
128
+ }), /*#__PURE__*/_jsx(ProgressBar, {
129
+ progress: topic.progress,
130
+ style: styles.topicProgressBar
131
+ })]
132
+ })
133
+ }, topic.id);
134
+ })
135
+ })]
136
+ })]
137
+ });
138
+ };
139
+ const styles = StyleSheet.create({
140
+ safeArea: {
141
+ flex: 1
142
+ },
143
+ header: {
144
+ flexDirection: 'row',
145
+ justifyContent: 'space-between',
146
+ alignItems: 'center',
147
+ paddingHorizontal: 20,
148
+ paddingVertical: 12
149
+ },
150
+ backButton: {
151
+ width: 40,
152
+ height: 40,
153
+ borderRadius: 20,
154
+ borderWidth: 1,
155
+ justifyContent: 'center',
156
+ alignItems: 'center'
157
+ },
158
+ headerTitle: {
159
+ flex: 1,
160
+ textAlign: 'center',
161
+ marginHorizontal: 12
162
+ },
163
+ headerRightPlaceholder: {
164
+ width: 40
165
+ },
166
+ scrollContent: {
167
+ paddingHorizontal: 20,
168
+ paddingBottom: 24
169
+ },
170
+ summaryCard: {
171
+ padding: 20,
172
+ borderRadius: 20,
173
+ marginTop: 12
174
+ },
175
+ summaryDesc: {
176
+ marginTop: 6
177
+ },
178
+ progressSummaryContainer: {
179
+ flexDirection: 'row',
180
+ justifyContent: 'space-between',
181
+ alignItems: 'flex-end',
182
+ marginTop: 20,
183
+ marginBottom: 8
184
+ },
185
+ progressSummaryText: {
186
+ flex: 1
187
+ },
188
+ summaryProgressBar: {
189
+ backgroundColor: 'rgba(255, 255, 255, 0.25)'
190
+ },
191
+ sectionHeader: {
192
+ marginTop: 24,
193
+ marginBottom: 12
194
+ },
195
+ topicsList: {
196
+ marginTop: 4
197
+ },
198
+ topicCard: {
199
+ padding: 16,
200
+ marginBottom: 12
201
+ },
202
+ topicCardHeader: {
203
+ flexDirection: 'row',
204
+ justifyContent: 'space-between',
205
+ alignItems: 'center',
206
+ marginBottom: 12
207
+ },
208
+ topicTitleSection: {
209
+ flex: 1,
210
+ paddingRight: 12
211
+ },
212
+ pctBadge: {
213
+ paddingHorizontal: 8,
214
+ paddingVertical: 4,
215
+ borderRadius: 8,
216
+ backgroundColor: 'rgba(0, 122, 135, 0.1)' // Dynamic overlay of primary color
217
+ },
218
+ topicProgressBar: {
219
+ height: 6
220
+ }
221
+ });
222
+ //# sourceMappingURL=TopicListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","ScrollView","StyleSheet","TouchableOpacity","SafeAreaView","StatusBar","useElearnConfig","useTheme","Typography","Card","ProgressBar","Icon","jsx","_jsx","jsxs","_jsxs","TopicListScreen","course","onBack","callbacks","getString","theme","style","styles","safeArea","backgroundColor","background","children","barStyle","header","onPress","backButton","borderColor","border","name","size","color","textPrimary","variant","bold","headerTitle","numberOfLines","title","headerRightPlaceholder","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","summaryCard","primary","description","summaryDesc","progressSummaryContainer","progressSummaryText","completedQuestions","totalQuestions","Math","round","progress","summaryProgressBar","sectionHeader","topics","length","topicsList","map","topic","pct","activeOpacity","onSelectTopic","bordered","topicCard","topicCardHeader","topicTitleSection","textSecondary","pctBadge","topicProgressBar","id","create","flex","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","width","height","borderRadius","borderWidth","textAlign","marginHorizontal","paddingBottom","padding","marginTop","marginBottom","paddingRight"],"sourceRoot":"../../../src","sources":["screens/TopicListScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,EACJC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,YAAY,EACZC,SAAS,QACJ,cAAc;AAErB,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,QAAQ,QAAQ,4BAAyB;AAClD,SAASC,UAAU,EAAEC,IAAI,EAAEC,WAAW,EAAEC,IAAI,QAAQ,wBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOpE,OAAO,MAAMC,eAA+C,GAAGA,CAAC;EAC9DC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAGd,eAAe,CAAC,CAAC;EAClD,MAAMe,KAAK,GAAGd,QAAQ,CAAC,CAAC;EAExB,oBACEQ,KAAA,CAACX,YAAY;IAACkB,KAAK,EAAE,CAACC,MAAM,CAACC,QAAQ,EAAE;MAAEC,eAAe,EAAEJ,KAAK,CAACK;IAAW,CAAC,CAAE;IAAAC,QAAA,gBAC5Ed,IAAA,CAACR,SAAS;MAACuB,QAAQ,EAAC;IAAc,CAAE,CAAC,eAGrCb,KAAA,CAACf,IAAI;MAACsB,KAAK,EAAEC,MAAM,CAACM,MAAO;MAAAF,QAAA,gBACzBd,IAAA,CAACV,gBAAgB;QACf2B,OAAO,EAAEZ,MAAO;QAChBI,KAAK,EAAE,CAACC,MAAM,CAACQ,UAAU,EAAE;UAAEC,WAAW,EAAEX,KAAK,CAACY;QAAO,CAAC,CAAE;QAAAN,QAAA,eAE1Dd,IAAA,CAACF,IAAI;UAACuB,IAAI,EAAC,YAAY;UAACC,IAAI,EAAE,EAAG;UAACC,KAAK,EAAEf,KAAK,CAACgB;QAAY,CAAE;MAAC,CAC9C,CAAC,eACnBxB,IAAA,CAACL,UAAU;QAAC8B,OAAO,EAAC,IAAI;QAACC,IAAI;QAACjB,KAAK,EAAEC,MAAM,CAACiB,WAAY;QAACC,aAAa,EAAE,CAAE;QAAAd,QAAA,EACvEV,MAAM,CAACyB;MAAK,CACH,CAAC,eACb7B,IAAA,CAACb,IAAI;QAACsB,KAAK,EAAEC,MAAM,CAACoB;MAAuB,CAAE,CAAC;IAAA,CAC1C,CAAC,eAEP5B,KAAA,CAACd,UAAU;MAAC2C,qBAAqB,EAAErB,MAAM,CAACsB,aAAc;MAACC,4BAA4B,EAAE,KAAM;MAAAnB,QAAA,gBAG3FZ,KAAA,CAACN,IAAI;QAACa,KAAK,EAAE,CAACC,MAAM,CAACwB,WAAW,EAAE;UAAEtB,eAAe,EAAEJ,KAAK,CAAC2B;QAAQ,CAAC,CAAE;QAAArB,QAAA,gBACpEd,IAAA,CAACL,UAAU;UAAC8B,OAAO,EAAC,IAAI;UAACC,IAAI;UAACH,KAAK,EAAC,SAAS;UAAAT,QAAA,EAC1CV,MAAM,CAACyB;QAAK,CACH,CAAC,EACZzB,MAAM,CAACgC,WAAW,iBACjBpC,IAAA,CAACL,UAAU;UAAC8B,OAAO,EAAC,SAAS;UAACF,KAAK,EAAC,0BAA0B;UAACd,KAAK,EAAEC,MAAM,CAAC2B,WAAY;UAAAvB,QAAA,EACtFV,MAAM,CAACgC;QAAW,CACT,CACb,eACDlC,KAAA,CAACf,IAAI;UAACsB,KAAK,EAAEC,MAAM,CAAC4B,wBAAyB;UAAAxB,QAAA,gBAC3CZ,KAAA,CAACf,IAAI;YAACsB,KAAK,EAAEC,MAAM,CAAC6B,mBAAoB;YAAAzB,QAAA,gBACtCd,IAAA,CAACL,UAAU;cAAC8B,OAAO,EAAC,SAAS;cAACF,KAAK,EAAC,SAAS;cAAAT,QAAA,EAAC;YAE9C,CAAY,CAAC,eACbZ,KAAA,CAACP,UAAU;cAAC8B,OAAO,EAAC,OAAO;cAACC,IAAI;cAACH,KAAK,EAAC,SAAS;cAAAT,QAAA,GAC7CV,MAAM,CAACoC,kBAAkB,EAAC,GAAC,EAACpC,MAAM,CAACqC,cAAc,EAAC,qBACrD;YAAA,CAAY,CAAC;UAAA,CACT,CAAC,eACPvC,KAAA,CAACP,UAAU;YAAC8B,OAAO,EAAC,IAAI;YAACC,IAAI;YAACH,KAAK,EAAC,SAAS;YAAAT,QAAA,GAC1C4B,IAAI,CAACC,KAAK,CAACvC,MAAM,CAACwC,QAAQ,GAAG,GAAG,CAAC,EAAC,GACrC;UAAA,CAAY,CAAC;QAAA,CACT,CAAC,eACP5C,IAAA,CAACH,WAAW;UAAC+C,QAAQ,EAAExC,MAAM,CAACwC,QAAS;UAACrB,KAAK,EAAC,SAAS;UAACd,KAAK,EAAEC,MAAM,CAACmC;QAAmB,CAAE,CAAC;MAAA,CACxF,CAAC,eAGP7C,IAAA,CAACb,IAAI;QAACsB,KAAK,EAAEC,MAAM,CAACoC,aAAc;QAAAhC,QAAA,eAChCZ,KAAA,CAACP,UAAU;UAAC8B,OAAO,EAAC,IAAI;UAACC,IAAI;UAACH,KAAK,EAAEf,KAAK,CAACgB,WAAY;UAAAV,QAAA,GACpDP,SAAS,CAAC,aAAa,CAAC,EAAC,IAAE,EAACH,MAAM,CAAC2C,MAAM,CAACC,MAAM,EAAC,GACpD;QAAA,CAAY;MAAC,CACT,CAAC,eAEPhD,IAAA,CAACb,IAAI;QAACsB,KAAK,EAAEC,MAAM,CAACuC,UAAW;QAAAnC,QAAA,EAC5BV,MAAM,CAAC2C,MAAM,CAACG,GAAG,CAAEC,KAAK,IAAK;UAC5B,MAAMC,GAAG,GAAGV,IAAI,CAACC,KAAK,CAACQ,KAAK,CAACP,QAAQ,GAAG,GAAG,CAAC;UAE5C,oBACE5C,IAAA,CAACV,gBAAgB;YAEf+D,aAAa,EAAE,GAAI;YACnBpC,OAAO,EAAEA,CAAA,KAAMX,SAAS,CAACgD,aAAa,GAAGlD,MAAM,EAAE+C,KAAK,CAAE;YAAArC,QAAA,eAExDZ,KAAA,CAACN,IAAI;cAAC2D,QAAQ;cAAC9C,KAAK,EAAEC,MAAM,CAAC8C,SAAU;cAAA1C,QAAA,gBACrCZ,KAAA,CAACf,IAAI;gBAACsB,KAAK,EAAEC,MAAM,CAAC+C,eAAgB;gBAAA3C,QAAA,gBAClCZ,KAAA,CAACf,IAAI;kBAACsB,KAAK,EAAEC,MAAM,CAACgD,iBAAkB;kBAAA5C,QAAA,gBACpCd,IAAA,CAACL,UAAU;oBAAC8B,OAAO,EAAC,IAAI;oBAACC,IAAI;oBAACH,KAAK,EAAEf,KAAK,CAACgB,WAAY;oBAAAV,QAAA,EACpDqC,KAAK,CAACtB;kBAAK,CACF,CAAC,eACb3B,KAAA,CAACP,UAAU;oBAAC8B,OAAO,EAAC,SAAS;oBAACF,KAAK,EAAEf,KAAK,CAACmD,aAAc;oBAAA7C,QAAA,GACtDqC,KAAK,CAACX,kBAAkB,EAAC,GAAC,EAACW,KAAK,CAACV,cAAc,EAAC,GAAC,EAAClC,SAAS,CAAC,qBAAqB,CAAC;kBAAA,CACzE,CAAC;gBAAA,CACT,CAAC,eACPP,IAAA,CAACb,IAAI;kBAACsB,KAAK,EAAEC,MAAM,CAACkD,QAAS;kBAAA9C,QAAA,eAC3BZ,KAAA,CAACP,UAAU;oBAAC8B,OAAO,EAAC,SAAS;oBAACC,IAAI;oBAACH,KAAK,EAAEf,KAAK,CAAC2B,OAAQ;oBAAArB,QAAA,GACrDsC,GAAG,EAAC,GACP;kBAAA,CAAY;gBAAC,CACT,CAAC;cAAA,CACH,CAAC,eACPpD,IAAA,CAACH,WAAW;gBAAC+C,QAAQ,EAAEO,KAAK,CAACP,QAAS;gBAACnC,KAAK,EAAEC,MAAM,CAACmD;cAAiB,CAAE,CAAC;YAAA,CACrE;UAAC,GArBFV,KAAK,CAACW,EAsBK,CAAC;QAEvB,CAAC;MAAC,CACE,CAAC;IAAA,CAEG,CAAC;EAAA,CACD,CAAC;AAEnB,CAAC;AAED,MAAMpD,MAAM,GAAGrB,UAAU,CAAC0E,MAAM,CAAC;EAC/BpD,QAAQ,EAAE;IACRqD,IAAI,EAAE;EACR,CAAC;EACDhD,MAAM,EAAE;IACNiD,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDnD,UAAU,EAAE;IACVoD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdP,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDxC,WAAW,EAAE;IACXqC,IAAI,EAAE,CAAC;IACPU,SAAS,EAAE,QAAQ;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD7C,sBAAsB,EAAE;IACtBwC,KAAK,EAAE;EACT,CAAC;EACDtC,aAAa,EAAE;IACboC,iBAAiB,EAAE,EAAE;IACrBQ,aAAa,EAAE;EACjB,CAAC;EACD1C,WAAW,EAAE;IACX2C,OAAO,EAAE,EAAE;IACXL,YAAY,EAAE,EAAE;IAChBM,SAAS,EAAE;EACb,CAAC;EACDzC,WAAW,EAAE;IACXyC,SAAS,EAAE;EACb,CAAC;EACDxC,wBAAwB,EAAE;IACxB2B,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,UAAU;IACtBW,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE;EAChB,CAAC;EACDxC,mBAAmB,EAAE;IACnByB,IAAI,EAAE;EACR,CAAC;EACDnB,kBAAkB,EAAE;IAClBjC,eAAe,EAAE;EACnB,CAAC;EACDkC,aAAa,EAAE;IACbgC,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE;EAChB,CAAC;EACD9B,UAAU,EAAE;IACV6B,SAAS,EAAE;EACb,CAAC;EACDtB,SAAS,EAAE;IACTqB,OAAO,EAAE,EAAE;IACXE,YAAY,EAAE;EAChB,CAAC;EACDtB,eAAe,EAAE;IACfQ,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBY,YAAY,EAAE;EAChB,CAAC;EACDrB,iBAAiB,EAAE;IACjBM,IAAI,EAAE,CAAC;IACPgB,YAAY,EAAE;EAChB,CAAC;EACDpB,QAAQ,EAAE;IACRQ,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBG,YAAY,EAAE,CAAC;IACf5D,eAAe,EAAE,wBAAwB,CAAE;EAC7C,CAAC;EACDiD,gBAAgB,EAAE;IAChBU,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export { HomeScreen } from "./HomeScreen.js";
4
+ export { QbankScreen } from "./QbankScreen.js";
5
+ export { TopicListScreen } from "./TopicListScreen.js";
6
+ export { QuizStartScreen } from "./QuizStartScreen.js";
7
+ export { QuestionScreen } from "./QuestionScreen.js";
8
+ export { ResultScreen } from "./ResultScreen.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HomeScreen","QbankScreen","TopicListScreen","QuizStartScreen","QuestionScreen","ResultScreen"],"sourceRoot":"../../../src","sources":["screens/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { StyleProp, ViewStyle, TextStyle } from 'react-native';
3
+ interface ButtonProps {
4
+ onPress: () => void;
5
+ title: string;
6
+ variant?: 'primary' | 'secondary' | 'outline';
7
+ disabled?: boolean;
8
+ loading?: boolean;
9
+ style?: StyleProp<ViewStyle>;
10
+ textStyle?: StyleProp<TextStyle>;
11
+ }
12
+ export declare const Button: React.FC<ButtonProps>;
13
+ export {};
14
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsExC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
3
+ interface CardProps {
4
+ children: React.ReactNode;
5
+ style?: StyleProp<ViewStyle>;
6
+ onPress?: () => void;
7
+ bordered?: boolean;
8
+ elevation?: number;
9
+ }
10
+ export declare const Card: React.FC<CardProps>;
11
+ export {};
12
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,UAAU,SAAS;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAmCpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
3
+ interface CircularProgressProps {
4
+ progress: number;
5
+ size?: number;
6
+ strokeWidth?: number;
7
+ color?: string;
8
+ backgroundColor?: string;
9
+ showText?: boolean;
10
+ textStyle?: StyleProp<TextStyle>;
11
+ style?: StyleProp<ViewStyle>;
12
+ }
13
+ export declare const CircularProgress: React.FC<CircularProgressProps>;
14
+ export {};
15
+ //# sourceMappingURL=CircularProgress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/CircularProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpE,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0D5D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export type IconName = 'bell' | 'user' | 'chevron-right' | 'chevron-left' | 'arrow-left' | 'book-open' | 'check-circle' | 'x-circle' | 'clock' | 'award' | 'search' | 'flask' | 'atom' | 'dna' | 'folder' | 'info' | 'play' | 'star';
3
+ interface IconProps {
4
+ name: IconName;
5
+ size?: number;
6
+ color?: string;
7
+ strokeWidth?: number;
8
+ }
9
+ export declare const Icon: React.FC<IconProps>;
10
+ export {};
11
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,MAAM,GACN,eAAe,GACf,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,UAAU,GACV,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAEX,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAkTpC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
3
+ interface ProgressBarProps {
4
+ progress: number;
5
+ color?: string;
6
+ height?: number;
7
+ style?: StyleProp<ViewStyle>;
8
+ }
9
+ export declare const ProgressBar: React.FC<ProgressBarProps>;
10
+ export {};
11
+ //# sourceMappingURL=ProgressBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../../src/components/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuBlD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { TextProps } from 'react-native';
3
+ interface TypographyProps extends TextProps {
4
+ variant?: 'h1' | 'h2' | 'h3' | 'body' | 'bodyLight' | 'caption' | 'button' | 'label';
5
+ color?: string;
6
+ align?: 'auto' | 'left' | 'right' | 'center' | 'justify';
7
+ bold?: boolean;
8
+ medium?: boolean;
9
+ }
10
+ export declare const Typography: React.FC<TypographyProps>;
11
+ export {};
12
+ //# sourceMappingURL=Typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../src/components/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,UAAU,eAAgB,SAAQ,SAAS;IACzC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkGhD,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { Typography } from './Typography.js';
2
+ export { Button } from './Button.js';
3
+ export { Card } from './Card.js';
4
+ export { ProgressBar } from './ProgressBar.js';
5
+ export { CircularProgress } from './CircularProgress.js';
6
+ export { Icon } from './Icon.js';
7
+ export type { IconName } from './Icon.js';
8
+ export { DEFAULT_THEME, useTheme, ThemeProvider } from '../context/ThemeContext.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import type { ElearnConfig, ElearnCallbacks, StringsConfig, Course, DailyQuizConfig } from '../types/index.js';
3
+ import { ThemeProvider } from './ThemeContext.js';
4
+ export declare const DEFAULT_STRINGS: Required<StringsConfig>;
5
+ interface ConfigContextValue {
6
+ config: ElearnConfig;
7
+ callbacks: ElearnCallbacks;
8
+ getString: (key: keyof StringsConfig) => string;
9
+ getCourses: () => Course[];
10
+ getDailyQuiz: () => DailyQuizConfig | undefined;
11
+ }
12
+ interface ElearnConfigProviderProps {
13
+ config?: ElearnConfig;
14
+ callbacks?: ElearnCallbacks;
15
+ children: React.ReactNode;
16
+ }
17
+ export declare const ElearnConfigProvider: React.FC<ElearnConfigProviderProps>;
18
+ export declare const useElearnConfig: () => ConfigContextValue;
19
+ export { ThemeProvider };
20
+ export { useTheme } from './ThemeContext.js';
21
+ export { DEFAULT_THEME } from './ThemeContext.js';
22
+ //# sourceMappingURL=ElearnConfigContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElearnConfigContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ElearnConfigContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAU,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAgB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,aAAa,CA8BnD,CAAC;AAEF,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,aAAa,KAAK,MAAM,CAAC;IAChD,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;CACjD;AAID,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0BpE,CAAC;AAEF,eAAO,MAAM,eAAe,0BAM3B,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { ThemeConfig } from '../types/index.js';
3
+ export declare const DEFAULT_THEME: ThemeConfig;
4
+ interface ThemeProviderProps {
5
+ theme?: Partial<ThemeConfig>;
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
9
+ export declare const useTheme: () => ThemeConfig;
10
+ export {};
11
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAU,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,WAY3B,CAAC;AAIF,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAUtD,CAAC;AAEF,eAAO,MAAM,QAAQ,mBAAiC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './types/index.js';
2
+ export { ElearnConfigProvider, useElearnConfig, ThemeProvider, useTheme, DEFAULT_THEME, DEFAULT_STRINGS, } from './context/ElearnConfigContext.js';
3
+ export { Typography, Button, Card, ProgressBar, CircularProgress, Icon, } from './components/index.js';
4
+ export type { IconName } from './components/index.js';
5
+ export { HomeScreen, QbankScreen, TopicListScreen, QuizStartScreen, QuestionScreen, ResultScreen, } from './screens/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,cAAc,kBAAS,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,kCAA+B,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,IAAI,GACL,MAAM,uBAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAc,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function multiply(a: number, b: number): number;
2
+ //# sourceMappingURL=multiply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiply.d.ts","sourceRoot":"","sources":["../../../src/multiply.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const HomeScreen: React.FC;
3
+ //# sourceMappingURL=HomeScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/HomeScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAqJ9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const QbankScreen: React.FC;
3
+ //# sourceMappingURL=QbankScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QbankScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/QbankScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAqF/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { Question } from '../types/index.js';
3
+ interface QuestionScreenProps {
4
+ quizId: string;
5
+ questions: Question[];
6
+ title: string;
7
+ onClose: () => void;
8
+ }
9
+ export declare const QuestionScreen: React.FC<QuestionScreenProps>;
10
+ export {};
11
+ //# sourceMappingURL=QuestionScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/QuestionScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,mBAAU,CAAC;AAKtD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqQxD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { Topic, Course } from '../types/index.js';
3
+ interface QuizStartScreenProps {
4
+ course: Course;
5
+ topic: Topic;
6
+ onBack: () => void;
7
+ }
8
+ export declare const QuizStartScreen: React.FC<QuizStartScreenProps>;
9
+ export {};
10
+ //# sourceMappingURL=QuizStartScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuizStartScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/QuizStartScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAU,CAAC;AAK9C,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmG1D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { QuizResults, Question } from '../types/index.js';
3
+ interface ResultScreenProps {
4
+ results: QuizResults;
5
+ questions: Question[];
6
+ onClose: () => void;
7
+ onReviewAnswers?: () => void;
8
+ }
9
+ export declare const ResultScreen: React.FC<ResultScreenProps>;
10
+ export {};
11
+ //# sourceMappingURL=ResultScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/ResultScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAU,CAAC;AAKtD,UAAU,iBAAiB;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2KpD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { Course } from '../types/index.js';
3
+ interface TopicListScreenProps {
4
+ course: Course;
5
+ onBack: () => void;
6
+ }
7
+ export declare const TopicListScreen: React.FC<TopicListScreenProps>;
8
+ export {};
9
+ //# sourceMappingURL=TopicListScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopicListScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/TopicListScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAU,CAAC;AAKvC,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgG1D,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { HomeScreen } from './HomeScreen.js';
2
+ export { QbankScreen } from './QbankScreen.js';
3
+ export { TopicListScreen } from './TopicListScreen.js';
4
+ export { QuizStartScreen } from './QuizStartScreen.js';
5
+ export { QuestionScreen } from './QuestionScreen.js';
6
+ export { ResultScreen } from './ResultScreen.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC"}