react-native-elearn-ui 0.1.23 → 0.1.25

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.
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useRef } from 'react';
4
+ import { View, Modal, Animated, PanResponder, StyleSheet, Dimensions, TouchableWithoutFeedback } from 'react-native';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ const {
7
+ height: SCREEN_HEIGHT
8
+ } = Dimensions.get('window');
9
+ export const BottomSheet = ({
10
+ visible,
11
+ onClose,
12
+ children,
13
+ height = SCREEN_HEIGHT * 0.7
14
+ }) => {
15
+ const panY = useRef(new Animated.Value(height)).current;
16
+ const [modalVisible, setModalVisible] = React.useState(visible);
17
+ useEffect(() => {
18
+ if (visible) {
19
+ setModalVisible(true);
20
+ Animated.spring(panY, {
21
+ toValue: 0,
22
+ useNativeDriver: true,
23
+ bounciness: 0
24
+ }).start();
25
+ } else {
26
+ closeAnim();
27
+ }
28
+ }, [visible]);
29
+ const closeAnim = () => {
30
+ Animated.timing(panY, {
31
+ toValue: height,
32
+ duration: 300,
33
+ useNativeDriver: true
34
+ }).start(() => {
35
+ setModalVisible(false);
36
+ onClose();
37
+ });
38
+ };
39
+ const panResponder = useRef(PanResponder.create({
40
+ onStartShouldSetPanResponder: () => true,
41
+ onMoveShouldSetPanResponder: (_, gestureState) => {
42
+ return Math.abs(gestureState.dy) > 10;
43
+ },
44
+ onPanResponderMove: (_, gestureState) => {
45
+ if (gestureState.dy > 0) {
46
+ panY.setValue(gestureState.dy);
47
+ }
48
+ },
49
+ onPanResponderRelease: (_, gestureState) => {
50
+ if (gestureState.dy > height / 4 || gestureState.vy > 0.5) {
51
+ closeAnim();
52
+ } else {
53
+ Animated.spring(panY, {
54
+ toValue: 0,
55
+ useNativeDriver: true,
56
+ bounciness: 0
57
+ }).start();
58
+ }
59
+ }
60
+ })).current;
61
+ return /*#__PURE__*/_jsx(Modal, {
62
+ visible: modalVisible,
63
+ transparent: true,
64
+ animationType: "none",
65
+ onRequestClose: closeAnim,
66
+ children: /*#__PURE__*/_jsxs(View, {
67
+ style: styles.overlay,
68
+ children: [/*#__PURE__*/_jsx(TouchableWithoutFeedback, {
69
+ onPress: closeAnim,
70
+ children: /*#__PURE__*/_jsx(View, {
71
+ style: styles.background
72
+ })
73
+ }), /*#__PURE__*/_jsxs(Animated.View, {
74
+ style: [styles.container, {
75
+ height,
76
+ transform: [{
77
+ translateY: panY
78
+ }]
79
+ }],
80
+ children: [/*#__PURE__*/_jsx(View, {
81
+ ...panResponder.panHandlers,
82
+ style: styles.dragHandleContainer,
83
+ children: /*#__PURE__*/_jsx(View, {
84
+ style: styles.dragHandle
85
+ })
86
+ }), /*#__PURE__*/_jsx(View, {
87
+ style: styles.contentContainer,
88
+ children: children
89
+ })]
90
+ })]
91
+ })
92
+ });
93
+ };
94
+ const styles = StyleSheet.create({
95
+ overlay: {
96
+ flex: 1,
97
+ justifyContent: 'flex-end'
98
+ },
99
+ background: {
100
+ ...StyleSheet.absoluteFillObject,
101
+ backgroundColor: 'rgba(0,0,0,0.4)'
102
+ },
103
+ container: {
104
+ backgroundColor: '#FFFFFF',
105
+ borderTopLeftRadius: 20,
106
+ borderTopRightRadius: 20,
107
+ width: '100%',
108
+ shadowColor: '#000',
109
+ shadowOffset: {
110
+ width: 0,
111
+ height: -2
112
+ },
113
+ shadowOpacity: 0.1,
114
+ shadowRadius: 10,
115
+ elevation: 10
116
+ },
117
+ dragHandleContainer: {
118
+ width: '100%',
119
+ height: 30,
120
+ alignItems: 'center',
121
+ justifyContent: 'center',
122
+ backgroundColor: 'transparent'
123
+ },
124
+ dragHandle: {
125
+ width: 40,
126
+ height: 5,
127
+ borderRadius: 3,
128
+ backgroundColor: '#CBD5E1'
129
+ },
130
+ contentContainer: {
131
+ flex: 1
132
+ }
133
+ });
134
+ //# sourceMappingURL=BottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useRef","View","Modal","Animated","PanResponder","StyleSheet","Dimensions","TouchableWithoutFeedback","jsx","_jsx","jsxs","_jsxs","height","SCREEN_HEIGHT","get","BottomSheet","visible","onClose","children","panY","Value","current","modalVisible","setModalVisible","useState","spring","toValue","useNativeDriver","bounciness","start","closeAnim","timing","duration","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gestureState","Math","abs","dy","onPanResponderMove","setValue","onPanResponderRelease","vy","transparent","animationType","onRequestClose","style","styles","overlay","onPress","background","container","transform","translateY","panHandlers","dragHandleContainer","dragHandle","contentContainer","flex","justifyContent","absoluteFillObject","backgroundColor","borderTopLeftRadius","borderTopRightRadius","width","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignItems","borderRadius"],"sourceRoot":"../../../src","sources":["components/BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,5 +6,6 @@ export { Card } from "./Card.js";
6
6
  export { ProgressBar } from "./ProgressBar.js";
7
7
  export { CircularProgress } from "./CircularProgress.js";
8
8
  export { Icon } from "./Icon.js";
9
+ export { BottomSheet } from "./BottomSheet.js";
9
10
  export { DEFAULT_THEME, useTheme, ThemeProvider } from "../context/ThemeContext.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Typography","Button","Card","ProgressBar","CircularProgress","Icon","DEFAULT_THEME","useTheme","ThemeProvider"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,MAAM,QAAQ,aAAU;AACjC,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,IAAI,QAAQ,WAAQ;AAE7B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["Typography","Button","Card","ProgressBar","CircularProgress","Icon","BottomSheet","DEFAULT_THEME","useTheme","ThemeProvider"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,MAAM,QAAQ,aAAU;AACjC,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,WAAW,QAAQ,kBAAe;AAE3C,SAASC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,4BAAyB","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useState, useRef } from 'react';
4
- import { View, ScrollView, StyleSheet, TouchableOpacity, StatusBar, FlatList, Modal, TouchableWithoutFeedback } from 'react-native';
4
+ import { View, ScrollView, StyleSheet, TouchableOpacity, StatusBar, FlatList } from 'react-native';
5
5
  import { SafeAreaView } from 'react-native-safe-area-context';
6
6
  import { useTheme } from "../../context/ThemeContext.js";
7
- import { Typography, Icon } from "../../components/index.js";
7
+ import { Typography, Icon, BottomSheet } from "../../components/index.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const QBankSubTopicScreen = ({
10
10
  params,
@@ -250,52 +250,41 @@ export const QBankSubTopicScreen = ({
250
250
  })]
251
251
  }, section.id);
252
252
  })]
253
- }), /*#__PURE__*/_jsx(Modal, {
253
+ }), /*#__PURE__*/_jsxs(BottomSheet, {
254
254
  visible: showTOC,
255
- transparent: true,
256
- animationType: "slide",
257
- onRequestClose: () => setShowTOC(false),
258
- children: /*#__PURE__*/_jsx(TouchableOpacity, {
259
- style: styles.modalOverlay,
260
- activeOpacity: 1,
261
- onPress: () => setShowTOC(false),
262
- children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
263
- children: /*#__PURE__*/_jsxs(View, {
264
- style: styles.bottomSheet,
265
- children: [/*#__PURE__*/_jsxs(View, {
266
- style: styles.sheetHeader,
267
- children: [/*#__PURE__*/_jsx(Typography, {
268
- variant: "h3",
269
- bold: true,
270
- color: theme.textPrimary,
271
- children: "Table of Contents"
272
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
273
- onPress: () => setShowTOC(false),
274
- children: /*#__PURE__*/_jsx(Icon, {
275
- name: "x",
276
- size: 24,
277
- color: theme.textSecondary
278
- })
279
- })]
280
- }), /*#__PURE__*/_jsx(ScrollView, {
281
- style: styles.sheetScroll,
282
- children: params.sections.map(section => /*#__PURE__*/_jsxs(TouchableOpacity, {
283
- style: styles.sheetItem,
284
- onPress: () => scrollToSection(section.id),
285
- children: [/*#__PURE__*/_jsx(Typography, {
286
- variant: "body",
287
- color: theme.textPrimary,
288
- children: section.title
289
- }), /*#__PURE__*/_jsx(Icon, {
290
- name: "chevron-right",
291
- size: 20,
292
- color: theme.textSecondary
293
- })]
294
- }, section.id))
295
- })]
255
+ onClose: () => setShowTOC(false),
256
+ height: 400,
257
+ children: [/*#__PURE__*/_jsxs(View, {
258
+ style: styles.sheetHeader,
259
+ children: [/*#__PURE__*/_jsx(Typography, {
260
+ variant: "h3",
261
+ bold: true,
262
+ color: theme.textPrimary,
263
+ children: "Table of Contents"
264
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
265
+ onPress: () => setShowTOC(false),
266
+ children: /*#__PURE__*/_jsx(Icon, {
267
+ name: "x",
268
+ size: 24,
269
+ color: theme.textSecondary
296
270
  })
297
- })
298
- })
271
+ })]
272
+ }), /*#__PURE__*/_jsx(ScrollView, {
273
+ style: styles.sheetScroll,
274
+ children: params.sections.map(section => /*#__PURE__*/_jsxs(TouchableOpacity, {
275
+ style: styles.sheetItem,
276
+ onPress: () => scrollToSection(section.id),
277
+ children: [/*#__PURE__*/_jsx(Typography, {
278
+ variant: "body",
279
+ color: theme.textPrimary,
280
+ children: section.title
281
+ }), /*#__PURE__*/_jsx(Icon, {
282
+ name: "chevron-right",
283
+ size: 20,
284
+ color: theme.textSecondary
285
+ })]
286
+ }, section.id))
287
+ })]
299
288
  })]
300
289
  });
301
290
  };
@@ -488,18 +477,6 @@ const styles = StyleSheet.create({
488
477
  borderRadius: 4,
489
478
  backgroundColor: '#10B981'
490
479
  },
491
- modalOverlay: {
492
- flex: 1,
493
- backgroundColor: 'rgba(0,0,0,0.4)',
494
- justifyContent: 'flex-end'
495
- },
496
- bottomSheet: {
497
- backgroundColor: '#FFFFFF',
498
- borderTopLeftRadius: 20,
499
- borderTopRightRadius: 20,
500
- paddingBottom: 40,
501
- maxHeight: '70%'
502
- },
503
480
  sheetHeader: {
504
481
  flexDirection: 'row',
505
482
  justifyContent: 'space-between',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useRef","View","ScrollView","StyleSheet","TouchableOpacity","StatusBar","FlatList","Modal","TouchableWithoutFeedback","SafeAreaView","useTheme","Typography","Icon","jsx","_jsx","jsxs","_jsxs","QBankSubTopicScreen","params","hideHeader","onBack","onPressModule","onPressFilter","onPressSearch","theme","activeFilter","setActiveFilter","filters","showTOC","setShowTOC","scrollRef","sectionPositions","handleFilterPress","filter","scrollToSection","sectionId","yPos","current","undefined","scrollTo","y","animated","renderFilterChip","item","isActive","style","styles","filterChip","backgroundColor","primary","borderColor","onPress","children","variant","color","textSecondary","filterChipText","container","edges","barStyle","header","headerIconBtnLeft","name","size","textPrimary","headerTitle","title","headerRightActions","headerIconBtnRight","filtersContainer","horizontal","showsHorizontalScrollIndicator","data","keyExtractor","renderItem","contentContainerStyle","filtersContent","ref","scrollContent","showsVerticalScrollIndicator","overviewRow","bold","overview","toUpperCase","overviewSub","totalModules","sections","map","section","sectionContainer","onLayout","event","layout","nativeEvent","id","sectionTitleRow","sectionTitleDot","sectionTitleText","modules","moduleItem","mIdx","isLast","length","timelineRow","timelineCol","timelineLine","timelineNode","timelineNodeText","number","moduleCard","activeOpacity","moduleInfo","moduleTitle","moduleStats","moduleStatText","rating","moduleStatSubtext","questionCount","moduleStatus","status","attemptStatus","freeBadge","success","fontSize","lockedBadge","alignItems","completedBadge","correctPercentage","marginTop","visible","transparent","animationType","onRequestClose","modalOverlay","bottomSheet","sheetHeader","sheetScroll","sheetItem","create","flex","flexDirection","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","width","height","justifyContent","fontWeight","textAlign","gap","borderRadius","borderWidth","marginRight","paddingBottom","marginBottom","letterSpacing","position","top","bottom","zIndex","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","marginLeft","borderTopLeftRadius","borderTopRightRadius","maxHeight"],"sourceRoot":"../../../../src","sources":["screens/qbank/QBankSubTopicScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC/C,SACEC,IAAI,EACJC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,wBAAwB,QACnB,cAAc;AACrB,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,UAAU,EAAEC,IAAI,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYpD,OAAO,MAAMC,mBAAuD,GAAGA,CAAC;EACtEC,MAAM;EACNC,UAAU,GAAG,KAAK;EAClBC,MAAM;EACNC,aAAa;EACbC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGd,QAAQ,CAAC,CAAC;EACxB,MAAM,CAACe,YAAY,EAAEC,eAAe,CAAC,GAAG3B,QAAQ,CAACmB,MAAM,CAACO,YAAY,IAAIP,MAAM,CAACS,OAAO,CAAC,CAAC,CAAC,CAAC;EAC1F,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG9B,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAM+B,SAAS,GAAG9B,MAAM,CAAM,IAAI,CAAC;EACnC,MAAM+B,gBAAgB,GAAG/B,MAAM,CAA4B,CAAC,CAAC,CAAC;EAE9D,MAAMgC,iBAAiB,GAAIC,MAAc,IAAK;IAC5CP,eAAe,CAACO,MAAM,CAAC;IACvBX,aAAa,GAAGW,MAAM,CAAC;EACzB,CAAC;EAED,MAAMC,eAAe,GAAIC,SAAiB,IAAK;IAC7CN,UAAU,CAAC,KAAK,CAAC;IACjB,MAAMO,IAAI,GAAGL,gBAAgB,CAACM,OAAO,CAACF,SAAS,CAAC;IAChD,IAAIC,IAAI,KAAKE,SAAS,IAAIR,SAAS,CAACO,OAAO,EAAE;MAC3CP,SAAS,CAACO,OAAO,CAACE,QAAQ,CAAC;QAAEC,CAAC,EAAEJ,IAAI;QAAEK,QAAQ,EAAE;MAAK,CAAC,CAAC;IACzD;EACF,CAAC;EAED,MAAMC,gBAAgB,GAAGA,CAAC;IAAEC,IAAI,EAAEV;EAAyB,CAAC,KAAK;IAC/D,MAAMW,QAAQ,GAAGnB,YAAY,KAAKQ,MAAM;IACxC,oBACEnB,IAAA,CAACV,gBAAgB;MACfyC,KAAK,EAAE,CACLC,MAAM,CAACC,UAAU,EACjBH,QAAQ,GAAG;QAAEI,eAAe,EAAExB,KAAK,CAACyB,OAAO;QAAEC,WAAW,EAAE1B,KAAK,CAACyB;MAAQ,CAAC,GAAG;QAAEC,WAAW,EAAE;MAAU,CAAC,CACtG;MACFC,OAAO,EAAEA,CAAA,KAAMnB,iBAAiB,CAACC,MAAM,CAAE;MAAAmB,QAAA,eAEzCtC,IAAA,CAACH,UAAU;QACT0C,OAAO,EAAC,MAAM;QACdC,KAAK,EAAEV,QAAQ,GAAG,SAAS,GAAGpB,KAAK,CAAC+B,aAAc;QAClDV,KAAK,EAAEC,MAAM,CAACU,cAAe;QAAAJ,QAAA,EAE5BnB;MAAM,CACG;IAAC,CACG,CAAC;EAEvB,CAAC;EAED,oBACEjB,KAAA,CAACP,YAAY;IAACoC,KAAK,EAAE,CAACC,MAAM,CAACW,SAAS,EAAE;MAAET,eAAe,EAAE;IAAU,CAAC,CAAE;IAACU,KAAK,EAAE,CAAC,KAAK,CAAE;IAAAN,QAAA,gBACtFtC,IAAA,CAACT,SAAS;MAACsD,QAAQ,EAAC,cAAc;MAACX,eAAe,EAAC;IAAS,CAAE,CAAC,EAG9D,CAAC7B,UAAU,iBACVH,KAAA,CAACf,IAAI;MAAC4C,KAAK,EAAEC,MAAM,CAACc,MAAO;MAAAR,QAAA,gBACzBtC,IAAA,CAACV,gBAAgB;QAAC+C,OAAO,EAAE/B,MAAO;QAACyB,KAAK,EAAEC,MAAM,CAACe,iBAAkB;QAAAT,QAAA,eACjEtC,IAAA,CAACF,IAAI;UAACkD,IAAI,EAAC,cAAc;UAACC,IAAI,EAAE,EAAG;UAACT,KAAK,EAAE9B,KAAK,CAACwC;QAAY,CAAE;MAAC,CAChD,CAAC,eACnBlD,IAAA,CAACH,UAAU;QAAC0C,OAAO,EAAC,IAAI;QAACC,KAAK,EAAE9B,KAAK,CAACwC,WAAY;QAACnB,KAAK,EAAEC,MAAM,CAACmB,WAAY;QAAAb,QAAA,EAC1ElC,MAAM,CAAC0C,MAAM,CAACM;MAAK,CACV,CAAC,eACblD,KAAA,CAACf,IAAI;QAAC4C,KAAK,EAAEC,MAAM,CAACqB,kBAAmB;QAAAf,QAAA,gBACrCtC,IAAA,CAACV,gBAAgB;UAACyC,KAAK,EAAEC,MAAM,CAACsB,kBAAmB;UAACjB,OAAO,EAAE5B,aAAc;UAAA6B,QAAA,eACzEtC,IAAA,CAACF,IAAI;YAACkD,IAAI,EAAC,QAAQ;YAACC,IAAI,EAAE,EAAG;YAACT,KAAK,EAAE9B,KAAK,CAACwC;UAAY,CAAE;QAAC,CAC1C,CAAC,eACnBlD,IAAA,CAACV,gBAAgB;UAACyC,KAAK,EAAEC,MAAM,CAACsB,kBAAmB;UAACjB,OAAO,EAAEA,CAAA,KAAMtB,UAAU,CAAC,IAAI,CAAE;UAAAuB,QAAA,eAClFtC,IAAA,CAACF,IAAI;YAACkD,IAAI,EAAC,QAAQ;YAACC,IAAI,EAAE,EAAG;YAACT,KAAK,EAAE9B,KAAK,CAACwC;UAAY,CAAE;QAAC,CAC1C,CAAC;MAAA,CACf,CAAC;IAAA,CACH,CACP,eAGDlD,IAAA,CAACb,IAAI;MAAC4C,KAAK,EAAEC,MAAM,CAACuB,gBAAiB;MAAAjB,QAAA,eACnCtC,IAAA,CAACR,QAAQ;QACPgE,UAAU;QACVC,8BAA8B,EAAE,KAAM;QACtCC,IAAI,EAAEtD,MAAM,CAACS,OAAQ;QACrB8C,YAAY,EAAG9B,IAAI,IAAKA,IAAK;QAC7B+B,UAAU,EAAEhC,gBAAiB;QAC7BiC,qBAAqB,EAAE7B,MAAM,CAAC8B;MAAe,CAC9C;IAAC,CACE,CAAC,eAEP5D,KAAA,CAACd,UAAU;MACT2E,GAAG,EAAE/C,SAAU;MACf6C,qBAAqB,EAAE7B,MAAM,CAACgC,aAAc;MAC5CC,4BAA4B,EAAE,KAAM;MAAA3B,QAAA,gBAGpCpC,KAAA,CAACf,IAAI;QAAC4C,KAAK,EAAEC,MAAM,CAACkC,WAAY;QAAA5B,QAAA,gBAC9BtC,IAAA,CAACH,UAAU;UAAC0C,OAAO,EAAC,IAAI;UAAC4B,IAAI;UAAC3B,KAAK,EAAE9B,KAAK,CAACwC,WAAY;UAAAZ,QAAA,EACpDlC,MAAM,CAACgE,QAAQ,CAAChB,KAAK,CAACiB,WAAW,CAAC;QAAC,CAC1B,CAAC,eACbnE,KAAA,CAACL,UAAU;UAAC0C,OAAO,EAAC,MAAM;UAACC,KAAK,EAAE9B,KAAK,CAAC+B,aAAc;UAACV,KAAK,EAAEC,MAAM,CAACsC,WAAY;UAAAhC,QAAA,GAC9E,GAAG,EAAC,SAAE,EAAClC,MAAM,CAACgE,QAAQ,CAACG,YAAY,EAAC,UACvC;QAAA,CAAY,CAAC;MAAA,CACT,CAAC,EAGNnE,MAAM,CAACoE,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAK;QAChC,oBACExE,KAAA,CAACf,IAAI;UAEH4C,KAAK,EAAEC,MAAM,CAAC2C,gBAAiB;UAC/BC,QAAQ,EAAGC,KAAK,IAAK;YACnB,MAAMC,MAAM,GAAGD,KAAK,CAACE,WAAW,CAACD,MAAM;YACvC7D,gBAAgB,CAACM,OAAO,CAACmD,OAAO,CAACM,EAAE,CAAC,GAAGF,MAAM,CAACpD,CAAC;UACjD,CAAE;UAAAY,QAAA,gBAGFpC,KAAA,CAACf,IAAI;YAAC4C,KAAK,EAAEC,MAAM,CAACiD,eAAgB;YAAA3C,QAAA,gBAClCtC,IAAA,CAACb,IAAI;cAAC4C,KAAK,EAAE,CAACC,MAAM,CAACkD,eAAe,EAAE;gBAAEhD,eAAe,EAAExB,KAAK,CAACyB;cAAQ,CAAC;YAAE,CAAE,CAAC,eAC7EnC,IAAA,CAACH,UAAU;cAAC0C,OAAO,EAAC,SAAS;cAACC,KAAK,EAAE9B,KAAK,CAAC+B,aAAc;cAACV,KAAK,EAAEC,MAAM,CAACmD,gBAAiB;cAAA7C,QAAA,EACtFoC,OAAO,CAACtB,KAAK,CAACiB,WAAW,CAAC;YAAC,CAClB,CAAC;UAAA,CACT,CAAC,EAGNK,OAAO,CAACU,OAAO,CAACX,GAAG,CAAC,CAACY,UAAU,EAAEC,IAAI,KAAK;YACzC,MAAMC,MAAM,GAAGD,IAAI,KAAKZ,OAAO,CAACU,OAAO,CAACI,MAAM,GAAG,CAAC;YAElD,oBACEtF,KAAA,CAACf,IAAI;cAAqB4C,KAAK,EAAEC,MAAM,CAACyD,WAAY;cAAAnD,QAAA,gBAGlDpC,KAAA,CAACf,IAAI;gBAAC4C,KAAK,EAAEC,MAAM,CAAC0D,WAAY;gBAAApD,QAAA,GAE7B,CAACiD,MAAM,iBAAIvF,IAAA,CAACb,IAAI;kBAAC4C,KAAK,EAAEC,MAAM,CAAC2D;gBAAa,CAAE,CAAC,eAGhD3F,IAAA,CAACb,IAAI;kBAAC4C,KAAK,EAAEC,MAAM,CAAC4D,YAAa;kBAAAtD,QAAA,eAC/BtC,IAAA,CAACH,UAAU;oBAAC0C,OAAO,EAAC,SAAS;oBAAC4B,IAAI;oBAAC3B,KAAK,EAAC,SAAS;oBAACT,KAAK,EAAEC,MAAM,CAAC6D,gBAAiB;oBAAAvD,QAAA,EAC/E+C,UAAU,CAACS;kBAAM,CACR;gBAAC,CACT,CAAC;cAAA,CACH,CAAC,eAGP5F,KAAA,CAACZ,gBAAgB;gBACfyC,KAAK,EAAEC,MAAM,CAAC+D,UAAW;gBACzB1D,OAAO,EAAEA,CAAA,KAAM9B,aAAa,GAAG8E,UAAU,CAACL,EAAE,CAAE;gBAC9CgB,aAAa,EAAE,GAAI;gBAAA1D,QAAA,gBAEnBpC,KAAA,CAACf,IAAI;kBAAC4C,KAAK,EAAEC,MAAM,CAACiE,UAAW;kBAAA3D,QAAA,gBAC7BtC,IAAA,CAACH,UAAU;oBAAC0C,OAAO,EAAC,MAAM;oBAAC4B,IAAI;oBAAC3B,KAAK,EAAE9B,KAAK,CAACwC,WAAY;oBAACnB,KAAK,EAAEC,MAAM,CAACkE,WAAY;oBAAA5D,QAAA,EACjF+C,UAAU,CAACjC;kBAAK,CACP,CAAC,eAEblD,KAAA,CAACf,IAAI;oBAAC4C,KAAK,EAAEC,MAAM,CAACmE,WAAY;oBAAA7D,QAAA,gBAC9BtC,IAAA,CAACF,IAAI;sBAACkD,IAAI,EAAC,MAAM;sBAACC,IAAI,EAAE,EAAG;sBAACT,KAAK,EAAC;oBAAS,CAAE,CAAC,eAC9CxC,IAAA,CAACH,UAAU;sBAAC0C,OAAO,EAAC,SAAS;sBAACC,KAAK,EAAE9B,KAAK,CAACwC,WAAY;sBAACnB,KAAK,EAAEC,MAAM,CAACoE,cAAe;sBAAA9D,QAAA,EAClF+C,UAAU,CAACgB;oBAAM,CACR,CAAC,eACbnG,KAAA,CAACL,UAAU;sBAAC0C,OAAO,EAAC,SAAS;sBAACC,KAAK,EAAE9B,KAAK,CAAC+B,aAAc;sBAACV,KAAK,EAAEC,MAAM,CAACsE,iBAAkB;sBAAAhE,QAAA,GACtF+C,UAAU,CAACkB,aAAa,EAAC,YAC7B;oBAAA,CAAY,CAAC;kBAAA,CACT,CAAC;gBAAA,CACH,CAAC,eAGPrG,KAAA,CAACf,IAAI;kBAAC4C,KAAK,EAAEC,MAAM,CAACwE,YAAa;kBAAAlE,QAAA,GAC9B+C,UAAU,CAACoB,MAAM,KAAK,MAAM,IAAI,CAACpB,UAAU,CAACqB,aAAa,iBACxD1G,IAAA,CAACb,IAAI;oBAAC4C,KAAK,EAAEC,MAAM,CAAC2E,SAAU;oBAAArE,QAAA,eAC5BtC,IAAA,CAACH,UAAU;sBAAC0C,OAAO,EAAC,SAAS;sBAAC4B,IAAI;sBAAC3B,KAAK,EAAE9B,KAAK,CAACkG,OAAQ;sBAAC7E,KAAK,EAAE;wBAAC8E,QAAQ,EAAE;sBAAC,CAAE;sBAAAvE,QAAA,EAAC;oBAE/E,CAAY;kBAAC,CACT,CACP,EACA+C,UAAU,CAACoB,MAAM,KAAK,QAAQ,iBAC7BzG,IAAA,CAACb,IAAI;oBAAC4C,KAAK,EAAEC,MAAM,CAAC8E,WAAY;oBAAAxE,QAAA,eAC9BtC,IAAA,CAACF,IAAI;sBAACkD,IAAI,EAAC,MAAM;sBAACC,IAAI,EAAE,EAAG;sBAACT,KAAK,EAAC;oBAAS,CAAE;kBAAC,CAC1C,CACP,EACA6C,UAAU,CAACqB,aAAa,KAAK,QAAQ,iBACpC1G,IAAA,CAACH,UAAU;oBAAC0C,OAAO,EAAC,SAAS;oBAAC4B,IAAI;oBAAC3B,KAAK,EAAC,SAAS;oBAACT,KAAK,EAAE;sBAAC8E,QAAQ,EAAE;oBAAE,CAAE;oBAAAvE,QAAA,EAAC;kBAE1E,CAAY,CACb,EACA+C,UAAU,CAACqB,aAAa,KAAK,WAAW,iBACvCxG,KAAA,CAACf,IAAI;oBAAC4C,KAAK,EAAE;sBAAEgF,UAAU,EAAE;oBAAW,CAAE;oBAAAzE,QAAA,gBACtCtC,IAAA,CAACb,IAAI;sBAAC4C,KAAK,EAAEC,MAAM,CAACgF,cAAe;sBAAA1E,QAAA,eACjCtC,IAAA,CAACH,UAAU;wBAAC0C,OAAO,EAAC,SAAS;wBAAC4B,IAAI;wBAAC3B,KAAK,EAAC,SAAS;wBAACT,KAAK,EAAE;0BAAC8E,QAAQ,EAAE;wBAAC,CAAE;wBAAAvE,QAAA,EAAC;sBAEzE,CAAY;oBAAC,CACT,CAAC,EACN+C,UAAU,CAAC4B,iBAAiB,KAAKzF,SAAS,iBACzCtB,KAAA,CAACL,UAAU;sBAAC0C,OAAO,EAAC,SAAS;sBAAC4B,IAAI;sBAAC3B,KAAK,EAAE9B,KAAK,CAACkG,OAAQ;sBAAC7E,KAAK,EAAE;wBAAC8E,QAAQ,EAAE,EAAE;wBAAEK,SAAS,EAAE;sBAAC,CAAE;sBAAA5E,QAAA,GAC1F+C,UAAU,CAAC4B,iBAAiB,EAAC,WAChC;oBAAA,CAAY,CACb;kBAAA,CACG,CACP;gBAAA,CACG,CAAC;cAAA,CACS,CAAC;YAAA,GAvEV5B,UAAU,CAACL,EAwEhB,CAAC;UAEX,CAAC,CAAC;QAAA,GA9FGN,OAAO,CAACM,EA+FT,CAAC;MAEX,CAAC,CAAC;IAAA,CACQ,CAAC,eAGbhF,IAAA,CAACP,KAAK;MACJ0H,OAAO,EAAErG,OAAQ;MACjBsG,WAAW,EAAE,IAAK;MAClBC,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAEA,CAAA,KAAMvG,UAAU,CAAC,KAAK,CAAE;MAAAuB,QAAA,eAExCtC,IAAA,CAACV,gBAAgB;QAACyC,KAAK,EAAEC,MAAM,CAACuF,YAAa;QAACvB,aAAa,EAAE,CAAE;QAAC3D,OAAO,EAAEA,CAAA,KAAMtB,UAAU,CAAC,KAAK,CAAE;QAAAuB,QAAA,eAC/FtC,IAAA,CAACN,wBAAwB;UAAA4C,QAAA,eACvBpC,KAAA,CAACf,IAAI;YAAC4C,KAAK,EAAEC,MAAM,CAACwF,WAAY;YAAAlF,QAAA,gBAC9BpC,KAAA,CAACf,IAAI;cAAC4C,KAAK,EAAEC,MAAM,CAACyF,WAAY;cAAAnF,QAAA,gBAC9BtC,IAAA,CAACH,UAAU;gBAAC0C,OAAO,EAAC,IAAI;gBAAC4B,IAAI;gBAAC3B,KAAK,EAAE9B,KAAK,CAACwC,WAAY;gBAAAZ,QAAA,EAAC;cAExD,CAAY,CAAC,eACbtC,IAAA,CAACV,gBAAgB;gBAAC+C,OAAO,EAAEA,CAAA,KAAMtB,UAAU,CAAC,KAAK,CAAE;gBAAAuB,QAAA,eACjDtC,IAAA,CAACF,IAAI;kBAACkD,IAAI,EAAC,GAAG;kBAACC,IAAI,EAAE,EAAG;kBAACT,KAAK,EAAE9B,KAAK,CAAC+B;gBAAc,CAAE;cAAC,CACvC,CAAC;YAAA,CACf,CAAC,eACPzC,IAAA,CAACZ,UAAU;cAAC2C,KAAK,EAAEC,MAAM,CAAC0F,WAAY;cAAApF,QAAA,EACnClC,MAAM,CAACoE,QAAQ,CAACC,GAAG,CAAEC,OAAO,iBAC3BxE,KAAA,CAACZ,gBAAgB;gBAEfyC,KAAK,EAAEC,MAAM,CAAC2F,SAAU;gBACxBtF,OAAO,EAAEA,CAAA,KAAMjB,eAAe,CAACsD,OAAO,CAACM,EAAE,CAAE;gBAAA1C,QAAA,gBAE3CtC,IAAA,CAACH,UAAU;kBAAC0C,OAAO,EAAC,MAAM;kBAACC,KAAK,EAAE9B,KAAK,CAACwC,WAAY;kBAAAZ,QAAA,EACjDoC,OAAO,CAACtB;gBAAK,CACJ,CAAC,eACbpD,IAAA,CAACF,IAAI;kBAACkD,IAAI,EAAC,eAAe;kBAACC,IAAI,EAAE,EAAG;kBAACT,KAAK,EAAE9B,KAAK,CAAC+B;gBAAc,CAAE,CAAC;cAAA,GAP9DiC,OAAO,CAACM,EAQG,CACnB;YAAC,CACQ,CAAC;UAAA,CACT;QAAC,CACiB;MAAC,CACX;IAAC,CACd,CAAC;EAAA,CAEI,CAAC;AAEnB,CAAC;AAED,MAAMhD,MAAM,GAAG3C,UAAU,CAACuI,MAAM,CAAC;EAC/BjF,SAAS,EAAE;IACTkF,IAAI,EAAE;EACR,CAAC;EACD/E,MAAM,EAAE;IACNgF,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE,QAAQ;IACpBgB,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnB9F,eAAe,EAAE,SAAS;IAC1B+F,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDnF,iBAAiB,EAAE;IACjBoF,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBtB,UAAU,EAAE;EACd,CAAC;EACD1D,kBAAkB,EAAE;IAClByE,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE;EACd,CAAC;EACDzD,kBAAkB,EAAE;IAClB6E,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBtB,UAAU,EAAE;EACd,CAAC;EACD5D,WAAW,EAAE;IACX0D,QAAQ,EAAE,EAAE;IACZyB,UAAU,EAAE,KAAK;IACjBT,IAAI,EAAE,CAAC;IACPU,SAAS,EAAE;EACb,CAAC;EACDhF,gBAAgB,EAAE;IAChBrB,eAAe,EAAE,SAAS;IAC1B8F,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDpE,cAAc,EAAE;IACdiE,iBAAiB,EAAE,EAAE;IACrBS,GAAG,EAAE;EACP,CAAC;EACDvG,UAAU,EAAE;IACV8F,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBS,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdxG,eAAe,EAAE,SAAS;IAC1ByG,WAAW,EAAE;EACf,CAAC;EACDjG,cAAc,EAAE;IACdmE,QAAQ,EAAE,EAAE;IACZyB,UAAU,EAAE;EACd,CAAC;EACDtE,aAAa,EAAE;IACbgE,eAAe,EAAE,EAAE;IACnBD,iBAAiB,EAAE,EAAE;IACrBa,aAAa,EAAE;EACjB,CAAC;EACD1E,WAAW,EAAE;IACX4D,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE,QAAQ;IACpB8B,YAAY,EAAE;EAChB,CAAC;EACDvE,WAAW,EAAE;IACXuC,QAAQ,EAAE;EACZ,CAAC;EACDlC,gBAAgB,EAAE;IAChBkE,YAAY,EAAE;EAChB,CAAC;EACD5D,eAAe,EAAE;IACf6C,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE,QAAQ;IACpB8B,YAAY,EAAE;EAChB,CAAC;EACD3D,eAAe,EAAE;IACfiD,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTK,YAAY,EAAE,CAAC;IACfE,WAAW,EAAE;EACf,CAAC;EACDxD,gBAAgB,EAAE;IAChB0B,QAAQ,EAAE,EAAE;IACZyB,UAAU,EAAE,KAAK;IACjBQ,aAAa,EAAE;EACjB,CAAC;EACDrD,WAAW,EAAE;IACXqC,aAAa,EAAE,KAAK;IACpBe,YAAY,EAAE;EAChB,CAAC;EACDnD,WAAW,EAAE;IACXyC,KAAK,EAAE,EAAE;IACTpB,UAAU,EAAE,QAAQ;IACpB4B,WAAW,EAAE;EACf,CAAC;EACDhD,YAAY,EAAE;IACZoD,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IAAE;IACTC,MAAM,EAAE,CAAC,EAAE;IAAE;IACbd,KAAK,EAAE,CAAC;IACRjG,eAAe,EAAE,SAAS;IAC1BgH,MAAM,EAAE;EACV,CAAC;EACDtD,YAAY,EAAE;IACZuC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVK,YAAY,EAAE,EAAE;IAChBvG,eAAe,EAAE,SAAS;IAAE;IAC5BmG,cAAc,EAAE,QAAQ;IACxBtB,UAAU,EAAE,QAAQ;IACpBG,SAAS,EAAE,CAAC;IAAE;IACdgC,MAAM,EAAE,CAAC;IACTR,WAAW,EAAE,CAAC;IACdtG,WAAW,EAAE,SAAS,CAAE;EAC1B,CAAC;EACDyD,gBAAgB,EAAE;IAChBgB,QAAQ,EAAE;EACZ,CAAC;EACDd,UAAU,EAAE;IACV8B,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE,QAAQ;IACpB7E,eAAe,EAAE,SAAS;IAC1BiH,OAAO,EAAE,EAAE;IACXV,YAAY,EAAE,CAAC;IACfW,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAElB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCkB,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDvD,UAAU,EAAE;IACV4B,IAAI,EAAE,CAAC;IACPc,WAAW,EAAE;EACf,CAAC;EACDzC,WAAW,EAAE;IACXW,QAAQ,EAAE,EAAE;IACZ4C,UAAU,EAAE,EAAE;IACdZ,YAAY,EAAE;EAChB,CAAC;EACD1C,WAAW,EAAE;IACX2B,aAAa,EAAE,KAAK;IACpBf,UAAU,EAAE;EACd,CAAC;EACDX,cAAc,EAAE;IACdS,QAAQ,EAAE,EAAE;IACZyB,UAAU,EAAE,KAAK;IACjBoB,UAAU,EAAE,CAAC;IACbf,WAAW,EAAE;EACf,CAAC;EACDrC,iBAAiB,EAAE;IACjBO,QAAQ,EAAE;EACZ,CAAC;EACDL,YAAY,EAAE;IACZ6B,cAAc,EAAE,QAAQ;IACxBtB,UAAU,EAAE;EACd,CAAC;EACDJ,SAAS,EAAE;IACToB,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBS,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdtG,WAAW,EAAE,SAAS;IACtBF,eAAe,EAAE;EACnB,CAAC;EACD4E,WAAW,EAAE;IACXqB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVK,YAAY,EAAE,EAAE;IAChBvG,eAAe,EAAE,SAAS;IAC1BmG,cAAc,EAAE,QAAQ;IACxBtB,UAAU,EAAE;EACd,CAAC;EACDC,cAAc,EAAE;IACde,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBS,YAAY,EAAE,CAAC;IACfvG,eAAe,EAAE;EACnB,CAAC;EACDqF,YAAY,EAAE;IACZM,IAAI,EAAE,CAAC;IACP3F,eAAe,EAAE,iBAAiB;IAClCmG,cAAc,EAAE;EAClB,CAAC;EACDb,WAAW,EAAE;IACXtF,eAAe,EAAE,SAAS;IAC1ByH,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBhB,aAAa,EAAE,EAAE;IACjBiB,SAAS,EAAE;EACb,CAAC;EACDpC,WAAW,EAAE;IACXK,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE,eAAe;IAC/BtB,UAAU,EAAE,QAAQ;IACpBoC,OAAO,EAAE,EAAE;IACXlB,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDR,WAAW,EAAE;IACXK,iBAAiB,EAAE;EACrB,CAAC;EACDJ,SAAS,EAAE;IACTG,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE,eAAe;IAC/BtB,UAAU,EAAE,QAAQ;IACpBiB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useRef","View","ScrollView","StyleSheet","TouchableOpacity","StatusBar","FlatList","SafeAreaView","useTheme","Typography","Icon","BottomSheet","jsx","_jsx","jsxs","_jsxs","QBankSubTopicScreen","params","hideHeader","onBack","onPressModule","onPressFilter","onPressSearch","theme","activeFilter","setActiveFilter","filters","showTOC","setShowTOC","scrollRef","sectionPositions","handleFilterPress","filter","scrollToSection","sectionId","yPos","current","undefined","scrollTo","y","animated","renderFilterChip","item","isActive","style","styles","filterChip","backgroundColor","primary","borderColor","onPress","children","variant","color","textSecondary","filterChipText","container","edges","barStyle","header","headerIconBtnLeft","name","size","textPrimary","headerTitle","title","headerRightActions","headerIconBtnRight","filtersContainer","horizontal","showsHorizontalScrollIndicator","data","keyExtractor","renderItem","contentContainerStyle","filtersContent","ref","scrollContent","showsVerticalScrollIndicator","overviewRow","bold","overview","toUpperCase","overviewSub","totalModules","sections","map","section","sectionContainer","onLayout","event","layout","nativeEvent","id","sectionTitleRow","sectionTitleDot","sectionTitleText","modules","moduleItem","mIdx","isLast","length","timelineRow","timelineCol","timelineLine","timelineNode","timelineNodeText","number","moduleCard","activeOpacity","moduleInfo","moduleTitle","moduleStats","moduleStatText","rating","moduleStatSubtext","questionCount","moduleStatus","status","attemptStatus","freeBadge","success","fontSize","lockedBadge","alignItems","completedBadge","correctPercentage","marginTop","visible","onClose","height","sheetHeader","sheetScroll","sheetItem","create","flex","flexDirection","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","width","justifyContent","fontWeight","textAlign","gap","borderRadius","borderWidth","marginRight","paddingBottom","marginBottom","letterSpacing","position","top","bottom","zIndex","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","marginLeft"],"sourceRoot":"../../../../src","sources":["screens/qbank/QBankSubTopicScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface BottomSheetProps {
3
+ visible: boolean;
4
+ onClose: () => void;
5
+ children: React.ReactNode;
6
+ height?: number;
7
+ }
8
+ export declare const BottomSheet: React.FC<BottomSheetProps>;
9
+ //# sourceMappingURL=BottomSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAajD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqFlD,CAAC"}
@@ -4,6 +4,7 @@ export { Card } from './Card.js';
4
4
  export { ProgressBar } from './ProgressBar.js';
5
5
  export { CircularProgress } from './CircularProgress.js';
6
6
  export { Icon } from './Icon.js';
7
+ export { BottomSheet } from './BottomSheet.js';
7
8
  export type { IconName } from './Icon.js';
8
9
  export { DEFAULT_THEME, useTheme, ThemeProvider } from '../context/ThemeContext.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"QBankSubTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/qbank/QBankSubTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAchD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAa,CAAC;AAEvD,UAAU,wBAAwB;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmPlE,CAAC"}
1
+ {"version":3,"file":"QBankSubTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/qbank/QBankSubTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAYhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAa,CAAC;AAEvD,UAAU,wBAAwB;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4OlE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-elearn-ui",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "description": "Enterprise E-Learning UI library for React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -0,0 +1,144 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import {
3
+ View,
4
+ Modal,
5
+ Animated,
6
+ PanResponder,
7
+ StyleSheet,
8
+ Dimensions,
9
+ TouchableWithoutFeedback,
10
+ } from 'react-native';
11
+
12
+ const { height: SCREEN_HEIGHT } = Dimensions.get('window');
13
+
14
+ export interface BottomSheetProps {
15
+ visible: boolean;
16
+ onClose: () => void;
17
+ children: React.ReactNode;
18
+ height?: number;
19
+ }
20
+
21
+ export const BottomSheet: React.FC<BottomSheetProps> = ({
22
+ visible,
23
+ onClose,
24
+ children,
25
+ height = SCREEN_HEIGHT * 0.7,
26
+ }) => {
27
+ const panY = useRef(new Animated.Value(height)).current;
28
+ const [modalVisible, setModalVisible] = React.useState(visible);
29
+
30
+ useEffect(() => {
31
+ if (visible) {
32
+ setModalVisible(true);
33
+ Animated.spring(panY, {
34
+ toValue: 0,
35
+ useNativeDriver: true,
36
+ bounciness: 0,
37
+ }).start();
38
+ } else {
39
+ closeAnim();
40
+ }
41
+ }, [visible]);
42
+
43
+ const closeAnim = () => {
44
+ Animated.timing(panY, {
45
+ toValue: height,
46
+ duration: 300,
47
+ useNativeDriver: true,
48
+ }).start(() => {
49
+ setModalVisible(false);
50
+ onClose();
51
+ });
52
+ };
53
+
54
+ const panResponder = useRef(
55
+ PanResponder.create({
56
+ onStartShouldSetPanResponder: () => true,
57
+ onMoveShouldSetPanResponder: (_, gestureState) => {
58
+ return Math.abs(gestureState.dy) > 10;
59
+ },
60
+ onPanResponderMove: (_, gestureState) => {
61
+ if (gestureState.dy > 0) {
62
+ panY.setValue(gestureState.dy);
63
+ }
64
+ },
65
+ onPanResponderRelease: (_, gestureState) => {
66
+ if (gestureState.dy > height / 4 || gestureState.vy > 0.5) {
67
+ closeAnim();
68
+ } else {
69
+ Animated.spring(panY, {
70
+ toValue: 0,
71
+ useNativeDriver: true,
72
+ bounciness: 0,
73
+ }).start();
74
+ }
75
+ },
76
+ })
77
+ ).current;
78
+
79
+ return (
80
+ <Modal
81
+ visible={modalVisible}
82
+ transparent
83
+ animationType="none"
84
+ onRequestClose={closeAnim}
85
+ >
86
+ <View style={styles.overlay}>
87
+ <TouchableWithoutFeedback onPress={closeAnim}>
88
+ <View style={styles.background} />
89
+ </TouchableWithoutFeedback>
90
+ <Animated.View
91
+ style={[
92
+ styles.container,
93
+ { height, transform: [{ translateY: panY }] },
94
+ ]}
95
+ >
96
+ <View {...panResponder.panHandlers} style={styles.dragHandleContainer}>
97
+ <View style={styles.dragHandle} />
98
+ </View>
99
+ <View style={styles.contentContainer}>
100
+ {children}
101
+ </View>
102
+ </Animated.View>
103
+ </View>
104
+ </Modal>
105
+ );
106
+ };
107
+
108
+ const styles = StyleSheet.create({
109
+ overlay: {
110
+ flex: 1,
111
+ justifyContent: 'flex-end',
112
+ },
113
+ background: {
114
+ ...StyleSheet.absoluteFillObject,
115
+ backgroundColor: 'rgba(0,0,0,0.4)',
116
+ },
117
+ container: {
118
+ backgroundColor: '#FFFFFF',
119
+ borderTopLeftRadius: 20,
120
+ borderTopRightRadius: 20,
121
+ width: '100%',
122
+ shadowColor: '#000',
123
+ shadowOffset: { width: 0, height: -2 },
124
+ shadowOpacity: 0.1,
125
+ shadowRadius: 10,
126
+ elevation: 10,
127
+ },
128
+ dragHandleContainer: {
129
+ width: '100%',
130
+ height: 30,
131
+ alignItems: 'center',
132
+ justifyContent: 'center',
133
+ backgroundColor: 'transparent',
134
+ },
135
+ dragHandle: {
136
+ width: 40,
137
+ height: 5,
138
+ borderRadius: 3,
139
+ backgroundColor: '#CBD5E1',
140
+ },
141
+ contentContainer: {
142
+ flex: 1,
143
+ },
144
+ });
@@ -4,5 +4,6 @@ export { Card } from './Card';
4
4
  export { ProgressBar } from './ProgressBar';
5
5
  export { CircularProgress } from './CircularProgress';
6
6
  export { Icon } from './Icon';
7
+ export { BottomSheet } from './BottomSheet';
7
8
  export type { IconName } from './Icon';
8
9
  export { DEFAULT_THEME, useTheme, ThemeProvider } from '../context/ThemeContext';
@@ -6,12 +6,10 @@ import {
6
6
  TouchableOpacity,
7
7
  StatusBar,
8
8
  FlatList,
9
- Modal,
10
- TouchableWithoutFeedback,
11
9
  } from 'react-native';
12
10
  import { SafeAreaView } from 'react-native-safe-area-context';
13
11
  import { useTheme } from '../../context/ThemeContext';
14
- import { Typography, Icon } from '../../components';
12
+ import { Typography, Icon, BottomSheet } from '../../components';
15
13
  import type { QBankSubTopicParams } from '../../types';
16
14
 
17
15
  interface QBankSubTopicScreenProps {
@@ -228,41 +226,34 @@ export const QBankSubTopicScreen: React.FC<QBankSubTopicScreenProps> = ({
228
226
  </ScrollView>
229
227
 
230
228
  {/* Table of Contents Bottom Sheet Modal */}
231
- <Modal
229
+ <BottomSheet
232
230
  visible={showTOC}
233
- transparent={true}
234
- animationType="slide"
235
- onRequestClose={() => setShowTOC(false)}
231
+ onClose={() => setShowTOC(false)}
232
+ height={400}
236
233
  >
237
- <TouchableOpacity style={styles.modalOverlay} activeOpacity={1} onPress={() => setShowTOC(false)}>
238
- <TouchableWithoutFeedback>
239
- <View style={styles.bottomSheet}>
240
- <View style={styles.sheetHeader}>
241
- <Typography variant="h3" bold color={theme.textPrimary}>
242
- Table of Contents
243
- </Typography>
244
- <TouchableOpacity onPress={() => setShowTOC(false)}>
245
- <Icon name="x" size={24} color={theme.textSecondary} />
246
- </TouchableOpacity>
247
- </View>
248
- <ScrollView style={styles.sheetScroll}>
249
- {params.sections.map((section) => (
250
- <TouchableOpacity
251
- key={section.id}
252
- style={styles.sheetItem}
253
- onPress={() => scrollToSection(section.id)}
254
- >
255
- <Typography variant="body" color={theme.textPrimary}>
256
- {section.title}
257
- </Typography>
258
- <Icon name="chevron-right" size={20} color={theme.textSecondary} />
259
- </TouchableOpacity>
260
- ))}
261
- </ScrollView>
262
- </View>
263
- </TouchableWithoutFeedback>
264
- </TouchableOpacity>
265
- </Modal>
234
+ <View style={styles.sheetHeader}>
235
+ <Typography variant="h3" bold color={theme.textPrimary}>
236
+ Table of Contents
237
+ </Typography>
238
+ <TouchableOpacity onPress={() => setShowTOC(false)}>
239
+ <Icon name="x" size={24} color={theme.textSecondary} />
240
+ </TouchableOpacity>
241
+ </View>
242
+ <ScrollView style={styles.sheetScroll}>
243
+ {params.sections.map((section) => (
244
+ <TouchableOpacity
245
+ key={section.id}
246
+ style={styles.sheetItem}
247
+ onPress={() => scrollToSection(section.id)}
248
+ >
249
+ <Typography variant="body" color={theme.textPrimary}>
250
+ {section.title}
251
+ </Typography>
252
+ <Icon name="chevron-right" size={20} color={theme.textSecondary} />
253
+ </TouchableOpacity>
254
+ ))}
255
+ </ScrollView>
256
+ </BottomSheet>
266
257
 
267
258
  </SafeAreaView>
268
259
  );
@@ -450,18 +441,6 @@ const styles = StyleSheet.create({
450
441
  borderRadius: 4,
451
442
  backgroundColor: '#10B981',
452
443
  },
453
- modalOverlay: {
454
- flex: 1,
455
- backgroundColor: 'rgba(0,0,0,0.4)',
456
- justifyContent: 'flex-end',
457
- },
458
- bottomSheet: {
459
- backgroundColor: '#FFFFFF',
460
- borderTopLeftRadius: 20,
461
- borderTopRightRadius: 20,
462
- paddingBottom: 40,
463
- maxHeight: '70%',
464
- },
465
444
  sheetHeader: {
466
445
  flexDirection: 'row',
467
446
  justifyContent: 'space-between',