@wavemaker/app-rn-runtime 11.11.4-rc.6172 → 11.11.5-rc.214
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.
- package/components/advanced/carousel/carousel.component.js +32 -17
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/advanced/carousel/carousel.props.js +1 -0
- package/components/advanced/carousel/carousel.props.js.map +1 -1
- package/components/advanced/network-info-toaster/network-info-toaster.component.js +4 -0
- package/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +119 -71
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.props.js +6 -4
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
- package/components/basic/lottie/lottie.component.js +1 -1
- package/components/basic/lottie/lottie.component.js.map +1 -1
- package/components/basic/picture/picture.component.js +1 -1
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/spinner/spinner.component.js +18 -10
- package/components/basic/spinner/spinner.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +5 -4
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +5 -4
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +5 -4
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/container/panel/panel.component.js +2 -2
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +1 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +1 -1
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +57 -45
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +1 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/input/basedataset/basedataset.component.js +5 -2
- package/components/input/basedataset/basedataset.component.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +4 -2
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +8 -4
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/rating/rating.component.js +4 -2
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/slider/slider.component.js +28 -9
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/text/text.props.js +2 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +2 -3
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +2 -3
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +8 -0
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page.component.js +7 -6
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +1 -0
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +5 -5
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +1 -1
- package/core/base.component.js.map +1 -1
- package/core/ui-preferences.context.js +4 -1
- package/core/ui-preferences.context.js.map +1 -1
- package/core/utils.js +26 -0
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +137 -152
- package/package-lock.json +137 -152
- package/package.json +2 -2
- package/runtime/App.js +44 -18
- package/runtime/App.js.map +1 -1
- package/runtime/services/app-i18n.service.js +7 -0
- package/runtime/services/app-i18n.service.js.map +1 -1
@@ -4,11 +4,12 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import React, { createRef } from 'react';
|
6
6
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
7
|
-
import { View, Animated, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, ScrollView, StatusBar, BackHandler } from 'react-native';
|
7
|
+
import { View, Animated, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, ScrollView, StatusBar, BackHandler, Keyboard } from 'react-native';
|
8
8
|
import WmBottomsheetProps from './bottomsheet.props';
|
9
9
|
import { DEFAULT_CLASS } from './bottomsheet.styles';
|
10
10
|
import { createSkeleton } from '../skeleton/skeleton.component';
|
11
11
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
12
|
+
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
12
13
|
const {
|
13
14
|
height: SCREEN_HEIGHT
|
14
15
|
} = Dimensions.get('screen');
|
@@ -23,46 +24,77 @@ export class WmBottomsheetState extends BaseComponentState {
|
|
23
24
|
_defineProperty(this, "isScrolling", false);
|
24
25
|
_defineProperty(this, "scrollOffset", 0);
|
25
26
|
_defineProperty(this, "isExpanded", false);
|
27
|
+
_defineProperty(this, "isBottomsheetVisible", false);
|
28
|
+
_defineProperty(this, "keyboardHeight", 0);
|
26
29
|
}
|
27
30
|
}
|
28
31
|
export default class WmBottomsheet extends BaseComponent {
|
29
|
-
calculateSheetHeight(
|
30
|
-
//
|
31
|
-
|
32
|
-
|
32
|
+
calculateSheetHeight(bottomsheetheightratio) {
|
33
|
+
// Use default height if ratio not provided, but ensure it's not below minimum
|
34
|
+
const effectiveRatio = bottomsheetheightratio || this.defaultHeight;
|
35
|
+
this.maxHeightRatio = Math.max(this.minimumHeight, Math.min(effectiveRatio, this.maxHeight));
|
36
|
+
const screenHeight = Dimensions.get('screen').height;
|
37
|
+
const windowHeight = Dimensions.get('window').height;
|
38
|
+
let calculatedHeight = screenHeight * this.maxHeightRatio;
|
33
39
|
if (Platform.OS === 'ios') {
|
34
|
-
// Subtract top inset bar height for ios only if
|
40
|
+
// Subtract top inset bar height for ios only if bottomsheetheightratio is 0.9
|
35
41
|
if (this.maxHeightRatio >= 0.9) {
|
36
42
|
calculatedHeight -= this.defaultTopInset;
|
37
43
|
}
|
38
44
|
} else if (Platform.OS === 'android') {
|
39
|
-
// Subtract status bar height for Android only if
|
45
|
+
// Subtract status bar height for Android only if bottomsheetheightratio is 0.9
|
40
46
|
if (this.maxHeightRatio >= 0.9) {
|
41
47
|
calculatedHeight -= this.statusBarHeight;
|
42
48
|
}
|
43
49
|
}
|
44
50
|
return calculatedHeight;
|
45
51
|
}
|
52
|
+
open() {
|
53
|
+
if (!this.state.isBottomsheetVisible) this.updateState({
|
54
|
+
isBottomsheetVisible: true
|
55
|
+
});
|
56
|
+
this.openSheet();
|
57
|
+
}
|
58
|
+
close() {
|
59
|
+
if (this.state.isBottomsheetVisible) {
|
60
|
+
this.closeSheet();
|
61
|
+
}
|
62
|
+
}
|
46
63
|
constructor(props) {
|
47
64
|
super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());
|
48
65
|
_defineProperty(this, "calculatedHeight", void 0);
|
49
66
|
_defineProperty(this, "expandedHeight", void 0);
|
50
|
-
_defineProperty(this, "defaultHeight", 0.
|
51
|
-
_defineProperty(this, "expandedDefaultHeight", 0.
|
67
|
+
_defineProperty(this, "defaultHeight", 0.5);
|
68
|
+
_defineProperty(this, "expandedDefaultHeight", 0.8);
|
69
|
+
_defineProperty(this, "minimumHeight", 0.2);
|
70
|
+
_defineProperty(this, "minimumExpandedHeight", 0.5);
|
52
71
|
_defineProperty(this, "maxHeight", 1.0);
|
53
72
|
// Allow full screen height
|
54
|
-
_defineProperty(this, "isBottomsheetVisible", false);
|
55
73
|
_defineProperty(this, "animationDuration", 400);
|
56
74
|
_defineProperty(this, "statusBarHeight", StatusBar.currentHeight || 0);
|
57
75
|
_defineProperty(this, "defaultTopInset", 44);
|
58
76
|
_defineProperty(this, "maxHeightRatio", 0);
|
77
|
+
_defineProperty(this, "keyboardDidShowListener", void 0);
|
78
|
+
_defineProperty(this, "keyboardDidHideListener", void 0);
|
59
79
|
_defineProperty(this, "handleBackPress", () => {
|
60
|
-
if (this.isBottomsheetVisible) {
|
80
|
+
if (this.state.isBottomsheetVisible) {
|
61
81
|
this.closeSheet();
|
62
82
|
return true; // Prevent default back action
|
63
83
|
}
|
64
84
|
return false;
|
65
85
|
});
|
86
|
+
_defineProperty(this, "onKeyboardShow", event => {
|
87
|
+
var _event$endCoordinates;
|
88
|
+
let keyboardHeight = ((_event$endCoordinates = event.endCoordinates) === null || _event$endCoordinates === void 0 ? void 0 : _event$endCoordinates.height) || 0;
|
89
|
+
this.updateState({
|
90
|
+
keyboardHeight: keyboardHeight
|
91
|
+
});
|
92
|
+
});
|
93
|
+
_defineProperty(this, "onKeyboardHide", () => {
|
94
|
+
this.updateState({
|
95
|
+
keyboardHeight: 0
|
96
|
+
});
|
97
|
+
});
|
66
98
|
_defineProperty(this, "handleSwipeGesture", gestureState => {
|
67
99
|
this.updateState({
|
68
100
|
lastGestureDy: 0
|
@@ -130,7 +162,7 @@ export default class WmBottomsheet extends BaseComponent {
|
|
130
162
|
// Handle downward drag
|
131
163
|
const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);
|
132
164
|
this.state.translateY.setValue(newTranslateY);
|
133
|
-
} else if (gestureState.dy < 0 && this.props.
|
165
|
+
} else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1) {
|
134
166
|
// Handle upward drag - expand to full height
|
135
167
|
// Allow expansion to full screen height
|
136
168
|
const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);
|
@@ -149,6 +181,7 @@ export default class WmBottomsheet extends BaseComponent {
|
|
149
181
|
}
|
150
182
|
}));
|
151
183
|
_defineProperty(this, "handleScroll", event => {
|
184
|
+
if (this.state.keyboardHeight > 0) return null;
|
152
185
|
const offsetY = event.nativeEvent.contentOffset.y;
|
153
186
|
this.updateState({
|
154
187
|
isScrolling: offsetY > 0,
|
@@ -167,12 +200,15 @@ export default class WmBottomsheet extends BaseComponent {
|
|
167
200
|
toValue: 1,
|
168
201
|
duration: this.animationDuration,
|
169
202
|
useNativeDriver: false
|
170
|
-
})]).start()
|
203
|
+
})]).start(() => {
|
204
|
+
this.invokeEventCallback('onOpened', [null, this]);
|
205
|
+
});
|
171
206
|
});
|
172
207
|
_defineProperty(this, "handleClose", () => {
|
173
|
-
|
174
|
-
|
175
|
-
|
208
|
+
this.updateState({
|
209
|
+
isBottomsheetVisible: false
|
210
|
+
});
|
211
|
+
this.invokeEventCallback('onClose', [null, this]);
|
176
212
|
});
|
177
213
|
_defineProperty(this, "closeSheet", () => {
|
178
214
|
Animated.parallel([Animated.timing(this.state.translateY, {
|
@@ -198,33 +234,34 @@ export default class WmBottomsheet extends BaseComponent {
|
|
198
234
|
this.state.backdropOpacity.setValue(0);
|
199
235
|
this.updateState({
|
200
236
|
lastGestureDy: 0,
|
201
|
-
isExpanded: false
|
237
|
+
isExpanded: false,
|
238
|
+
isBottomsheetVisible: false
|
202
239
|
});
|
203
240
|
requestAnimationFrame(() => {
|
204
241
|
this.state.sheetHeight.setValue(this.calculatedHeight);
|
205
|
-
this.handleClose();
|
206
242
|
});
|
207
243
|
});
|
208
|
-
this.calculatedHeight = this.calculateSheetHeight(props.
|
244
|
+
this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);
|
209
245
|
|
210
|
-
//
|
211
|
-
const expandedRatio = props.
|
212
|
-
|
246
|
+
// Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight
|
247
|
+
const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;
|
248
|
+
const effectiveExpandedRatio = Math.max(this.minimumExpandedHeight, Math.min(expandedRatio, this.maxHeight));
|
249
|
+
this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;
|
213
250
|
if (Platform.OS === 'android') {
|
214
|
-
|
215
|
-
if (expandedRatio >= 0.9) {
|
251
|
+
if (effectiveExpandedRatio >= 0.9) {
|
216
252
|
this.expandedHeight -= this.statusBarHeight;
|
217
253
|
}
|
218
254
|
}
|
219
255
|
if (Platform.OS === 'ios') {
|
220
|
-
|
221
|
-
if (expandedRatio >= 0.9) {
|
256
|
+
if (effectiveExpandedRatio >= 0.9) {
|
222
257
|
this.expandedHeight -= this.defaultTopInset;
|
223
258
|
}
|
224
259
|
}
|
225
260
|
this.state.sheetHeight.setValue(this.calculatedHeight);
|
226
|
-
this.
|
227
|
-
|
261
|
+
this.updateState({
|
262
|
+
isBottomsheetVisible: this.props.showonrender || false
|
263
|
+
});
|
264
|
+
if (this.state.isBottomsheetVisible) {
|
228
265
|
this.openSheet();
|
229
266
|
} else {
|
230
267
|
this.closeSheetImmediate();
|
@@ -235,26 +272,32 @@ export default class WmBottomsheet extends BaseComponent {
|
|
235
272
|
if (Platform.OS === 'android') {
|
236
273
|
BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
|
237
274
|
}
|
275
|
+
this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this.onKeyboardShow);
|
276
|
+
this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this.onKeyboardHide);
|
238
277
|
}
|
239
278
|
componentWillUnmount() {
|
240
279
|
super.componentWillUnmount();
|
241
280
|
if (Platform.OS === 'android') {
|
242
281
|
BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
|
243
282
|
}
|
283
|
+
this.keyboardDidShowListener.remove();
|
284
|
+
this.keyboardDidHideListener.remove();
|
244
285
|
}
|
245
286
|
componentDidUpdate(prevProps) {
|
246
|
-
if (prevProps.
|
247
|
-
this.calculatedHeight = this.calculateSheetHeight(this.props.
|
287
|
+
if (prevProps.bottomsheetheightratio !== this.props.bottomsheetheightratio) {
|
288
|
+
this.calculatedHeight = this.calculateSheetHeight(this.props.bottomsheetheightratio);
|
248
289
|
this.state.sheetHeight.setValue(this.calculatedHeight);
|
249
290
|
}
|
250
291
|
}
|
251
292
|
onPropertyChange(name, $new, $old) {
|
252
293
|
super.onPropertyChange(name, $new, $old);
|
253
294
|
switch (name) {
|
254
|
-
case "
|
295
|
+
case "showonrender":
|
255
296
|
if ($new) {
|
256
|
-
this.
|
257
|
-
|
297
|
+
this.updateState({
|
298
|
+
isBottomsheetVisible: $new || false
|
299
|
+
});
|
300
|
+
if (this.state.isBottomsheetVisible) {
|
258
301
|
this.openSheet && this.openSheet();
|
259
302
|
}
|
260
303
|
} else {
|
@@ -271,45 +314,50 @@ export default class WmBottomsheet extends BaseComponent {
|
|
271
314
|
});
|
272
315
|
}
|
273
316
|
renderWidget(props) {
|
274
|
-
if (!this.isBottomsheetVisible
|
275
|
-
return /*#__PURE__*/React.createElement(
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
}
|
281
|
-
|
282
|
-
|
283
|
-
}
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
transform: [{
|
289
|
-
translateY: this.state.translateY
|
317
|
+
if (!this.state.isBottomsheetVisible) return null;
|
318
|
+
return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
319
|
+
top: 0,
|
320
|
+
bottom: 0,
|
321
|
+
left: 0,
|
322
|
+
right: 0
|
323
|
+
}) => {
|
324
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
325
|
+
style: this.styles.root
|
326
|
+
}, this.getTestProps('keyboardview')), this._background, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
327
|
+
onPress: this.closeSheet
|
328
|
+
}, /*#__PURE__*/React.createElement(Animated.View, _extends({
|
329
|
+
style: [this.styles.backdrop, {
|
330
|
+
opacity: this.state.backdropOpacity
|
290
331
|
}]
|
291
|
-
}
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
332
|
+
}, this.getTestProps('backdrop'), getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)))), /*#__PURE__*/React.createElement(Animated.View, _extends({
|
333
|
+
style: [this.styles.container, {
|
334
|
+
height: this.state.sheetHeight,
|
335
|
+
transform: [{
|
336
|
+
translateY: this.state.translateY
|
337
|
+
}]
|
338
|
+
}]
|
339
|
+
}, this.panResponder.panHandlers), /*#__PURE__*/React.createElement(View, _extends({
|
340
|
+
style: this.styles.dragHandleContainer
|
341
|
+
}, this.dragHandlePanResponder.panHandlers), /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
342
|
+
onPress: this.closeSheet
|
343
|
+
}, /*#__PURE__*/React.createElement(View, _extends({
|
344
|
+
style: this.styles.dragIconHandle
|
345
|
+
}, this.getTestProps('draghandle'))))), /*#__PURE__*/React.createElement(ScrollView, _extends({
|
346
|
+
ref: this.state.scrollViewRef,
|
347
|
+
style: this.styles.sheetContentContainer,
|
348
|
+
contentContainerStyle: [this.styles.sheetScrollContent, {
|
349
|
+
paddingBottom: this.state.keyboardHeight
|
350
|
+
}],
|
351
|
+
alwaysBounceVertical: false,
|
352
|
+
alwaysBounceHorizontal: false,
|
353
|
+
bounces: false,
|
354
|
+
showsVerticalScrollIndicator: false,
|
355
|
+
scrollEventThrottle: 16,
|
356
|
+
onScroll: this.handleScroll,
|
357
|
+
nestedScrollEnabled: true,
|
358
|
+
scrollEnabled: true
|
359
|
+
}, this.getTestProps('scorllview')), props.children)));
|
360
|
+
});
|
313
361
|
}
|
314
362
|
}
|
315
363
|
//# sourceMappingURL=bottomsheet.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","Animated","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","ScrollView","StatusBar","BackHandler","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","Value","WmBottomsheet","calculateSheetHeight","sheetheightratio","maxHeightRatio","Math","min","defaultHeight","maxHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","props","currentHeight","isBottomsheetVisible","closeSheet","gestureState","updateState","lastGestureDy","dy","state","isExpanded","expandedHeight","parallel","timing","translateY","toValue","duration","animationDuration","useNativeDriver","sheetHeight","start","vy","openSheet","create","onStartShouldSetPanResponder","_","scrollOffset","onMoveShouldSetPanResponder","onPanResponderMove","newTranslateY","max","setValue","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","bottompopup","targetHeight","event","offsetY","nativeEvent","contentOffset","y","isScrolling","backdropOpacity","_this$props$onClose","_this$props","onClose","call","requestAnimationFrame","handleClose","expandedRatio","expandedheightratio","expandedDefaultHeight","visible","closeSheetImmediate","componentDidMount","addEventListener","handleBackPress","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","onPropertyChange","name","$new","$old","renderSkeleton","theme","styles","skeleton","root","width","renderWidget","createElement","_extends","style","testID","getTestId","BOTTOMSHEET","_background","onPress","backdrop","opacity","container","transform","panResponder","panHandlers","dragHandleContainer","dragHandlePanResponder","dragIconHandle","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","children"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, Animated, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, ScrollView, PanResponderGestureState, StatusBar, BackHandler, DimensionValue } from 'react-native';\nimport WmBottomsheetProps from './bottomsheet.props';\nimport { DEFAULT_CLASS, WmBottomsheetStyles } from './bottomsheet.styles';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n translateY = new Animated.Value(SCREEN_HEIGHT);\n backdropOpacity = new Animated.Value(0);\n sheetHeight = new Animated.Value(0);\n lastGestureDy = 0;\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n}\n\nexport default class WmBottomsheet extends BaseComponent<WmBottomsheetProps, WmBottomsheetState, WmBottomsheetStyles> {\n private calculatedHeight: number;\n private expandedHeight: number;\n private defaultHeight: number = 0.2;\n private expandedDefaultHeight: number = 0.5;\n private maxHeight: number = 1.0; // Allow full screen height\n private isBottomsheetVisible: boolean = false;\n private animationDuration: number = 400\n private statusBarHeight: number = StatusBar.currentHeight || 0;\n private defaultTopInset: number = 44;\n private maxHeightRatio: number = 0;\n\n private calculateSheetHeight(sheetheightratio: number): number {\n // Allow full range from 0.2 to 1.0 (100% of screen height)\n this.maxHeightRatio = Math.min(\n sheetheightratio >= this.defaultHeight ? sheetheightratio : this.defaultHeight,\n this.maxHeight\n );\n\n let calculatedHeight = SCREEN_HEIGHT * this.maxHeightRatio;\n\n if (Platform.OS === 'ios') {\n // Subtract top inset bar height for ios only if sheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.defaultTopInset;\n }\n }\n else if (Platform.OS === 'android') {\n // Subtract status bar height for Android only if sheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.statusBarHeight;\n }\n\n }\n return calculatedHeight;\n }\n\n constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.sheetheightratio);\n\n // Allow expanded height to be full screen\n const expandedRatio = props.expandedheightratio || this.expandedDefaultHeight;\n\n\n this.expandedHeight = SCREEN_HEIGHT * Math.max(\n this.expandedDefaultHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n if (Platform.OS === 'android') {\n // Subtract top inset bar height for ios only if sheetheightratio is 0.9\n if (expandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n\n }\n if (Platform.OS === 'ios') {\n // Subtract status bar height for Android only if sheetheightratio is 0.9\n if (expandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n this.state.sheetHeight.setValue(this.calculatedHeight);\n\n this.isBottomsheetVisible = this.props.visible || false;\n if (this.isBottomsheetVisible) {\n this.openSheet();\n } else {\n this.closeSheetImmediate();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (Platform.OS === 'android') {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (Platform.OS === 'android') {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);\n }\n }\n\n private handleBackPress = () => {\n if (this.isBottomsheetVisible) {\n this.closeSheet();\n return true; // Prevent default back action\n }\n return false;\n };\n\n componentDidUpdate(prevProps: WmBottomsheetProps) {\n if (prevProps.sheetheightratio !== this.props.sheetheightratio) {\n this.calculatedHeight = this.calculateSheetHeight(this.props.sheetheightratio);\n this.state.sheetHeight.setValue(this.calculatedHeight);\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (gestureState.dy > 0) {\n if (this.state.isExpanded) {\n // Expand the bottom sheet threshold is 25% of the fully expanded height\n // If the user swipe distance is below the threshold, revert to the original sheet height\n if (gestureState.dy < this.expandedHeight / 4) {\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0, // Keep sheet open\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.sheetHeight, {\n toValue: this.calculatedHeight, // Back to original height\n duration: this.animationDuration,\n useNativeDriver: false,\n })\n ]).start();\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n }\n else if (gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) {\n this.closeSheet();\n }\n }\n else {\n if (gestureState.dy > 100 || gestureState.vy > 0.5) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0) {\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n\n }\n },\n\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState)\n },\n\n onPanResponderTerminate: () => {\n this.openSheet();\n },\n });\n\n //pan repsoneder for bottom sheet dragable container\n dragHandlePanResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n\n if (gestureState.dy > 0) { // Handle downward drag\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n } else if (gestureState.dy < 0 && this.props.bottompopup && this.props.sheetheightratio !== 1) {\n // Handle upward drag - expand to full height\n // Allow expansion to full screen height\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n Animated.timing(this.state.sheetHeight, {\n toValue: targetHeight,\n duration: this.animationDuration,\n useNativeDriver: false,\n }).start();\n this.updateState({\n isExpanded: true\n } as WmBottomsheetState);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState)\n },\n });\n\n handleScroll = (event: any) => {\n const offsetY = event.nativeEvent.contentOffset.y;\n this.updateState({\n isScrolling: offsetY > 0,\n scrollOffset: offsetY\n } as WmBottomsheetState);\n };\n\n openSheet = () => {\n this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 1,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start();\n };\n\n private handleClose = () => {\n this.isBottomsheetVisible = false;\n this.props.onClose?.();\n };\n\n closeSheet = () => {\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: SCREEN_HEIGHT,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start(() => {\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.handleClose();\n });\n });\n };\n\n closeSheetImmediate = () => {\n this.state.translateY.setValue(SCREEN_HEIGHT);\n this.state.backdropOpacity.setValue(0);\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false\n } as WmBottomsheetState);\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\n this.handleClose();\n });\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case \"visible\":\n if ($new) {\n this.isBottomsheetVisible = $new || false;\n if (this.isBottomsheetVisible) {\n this.openSheet && this.openSheet();\n }\n } else {\n this.closeSheetImmediate && this.closeSheetImmediate();\n }\n break;\n }\n }\n\n public renderSkeleton(props: WmBottomsheetProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.styles.root.width as DimensionValue,\n height: this.styles.root.height as DimensionValue\n });\n }\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.isBottomsheetVisible || !props.visible) return null;\n\n return (\n\n <View style={this.styles.root} testID={this.getTestId('wm-bottom-sheet')} {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}>\n {this._background}\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <Animated.View style={[this.styles.backdrop, { opacity: this.state.backdropOpacity }]} testID={this.getTestId('wm-bottom-sheet-backdrop')} />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[\n this.styles.container,\n {\n height: this.state.sheetHeight,\n transform: [{ translateY: this.state.translateY }],\n },\n ]}\n {...this.panResponder.panHandlers}\n\n\n >\n <View style={this.styles.dragHandleContainer} {...this.dragHandlePanResponder.panHandlers}>\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <View style={this.styles.dragIconHandle} testID={this.getTestId('wm-bottomsheet-drag-handle')} />\n </TouchableWithoutFeedback>\n </View>\n\n <ScrollView\n ref={this.state.scrollViewRef}\n style={this.styles.sheetContentContainer}\n contentContainerStyle={this.styles.sheetScrollContent}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n showsVerticalScrollIndicator={false}\n scrollEventThrottle={16}\n onScroll={this.handleScroll}\n nestedScrollEnabled={true}\n scrollEnabled={true}\n testID={this.getTestId('wm-bottomsheet-scroll-view')}\n\n\n >\n {props.children}\n </ScrollView>\n </Animated.View>\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","Animated","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","ScrollView","StatusBar","BackHandler","Keyboard","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","SafeAreaInsetsContext","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","Value","WmBottomsheet","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","Math","max","minimumHeight","min","maxHeight","screenHeight","windowHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","open","state","isBottomsheetVisible","updateState","openSheet","close","closeSheet","props","currentHeight","event","_event$endCoordinates","keyboardHeight","endCoordinates","gestureState","lastGestureDy","dy","isExpanded","expandedHeight","parallel","timing","translateY","toValue","duration","animationDuration","useNativeDriver","sheetHeight","start","vy","create","onStartShouldSetPanResponder","_","scrollOffset","onMoveShouldSetPanResponder","onPanResponderMove","newTranslateY","setValue","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","expand","targetHeight","offsetY","nativeEvent","contentOffset","y","isScrolling","backdropOpacity","invokeEventCallback","requestAnimationFrame","handleClose","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","closeSheetImmediate","componentDidMount","addEventListener","handleBackPress","keyboardDidShowListener","addListener","onKeyboardShow","keyboardDidHideListener","onKeyboardHide","componentWillUnmount","removeEventListener","remove","componentDidUpdate","prevProps","onPropertyChange","name","$new","$old","renderSkeleton","theme","styles","skeleton","root","width","renderWidget","createElement","Consumer","insets","top","bottom","left","right","_extends","style","getTestProps","_background","onPress","backdrop","opacity","BOTTOMSHEET","container","transform","panResponder","panHandlers","dragHandleContainer","dragHandlePanResponder","dragIconHandle","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","paddingBottom","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","children"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, Animated, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, ScrollView, PanResponderGestureState, StatusBar, BackHandler, DimensionValue, KeyboardAvoidingView, Keyboard, EmitterSubscription } from 'react-native';\nimport WmBottomsheetProps from './bottomsheet.props';\nimport { DEFAULT_CLASS, WmBottomsheetStyles } from './bottomsheet.styles';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n translateY = new Animated.Value(SCREEN_HEIGHT);\n backdropOpacity = new Animated.Value(0);\n sheetHeight = new Animated.Value(0);\n lastGestureDy = 0;\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n isBottomsheetVisible = false;\n keyboardHeight = 0;\n}\n\nexport default class WmBottomsheet extends BaseComponent<WmBottomsheetProps, WmBottomsheetState, WmBottomsheetStyles> {\n private calculatedHeight: number;\n private expandedHeight: number;\n private defaultHeight: number = 0.5;\n private expandedDefaultHeight: number = 0.8;\n private minimumHeight: number = 0.2;\n private minimumExpandedHeight: number = 0.5;\n private maxHeight: number = 1.0; // Allow full screen height\n private animationDuration: number = 400\n private statusBarHeight: number = StatusBar.currentHeight || 0;\n private defaultTopInset: number = 44;\n private maxHeightRatio: number = 0;\n private keyboardDidShowListener!: EmitterSubscription;\n private keyboardDidHideListener!: EmitterSubscription;\n\n private calculateSheetHeight(bottomsheetheightratio: number): number {\n // Use default height if ratio not provided, but ensure it's not below minimum\n const effectiveRatio = bottomsheetheightratio || this.defaultHeight;\n this.maxHeightRatio = Math.max(\n this.minimumHeight,\n Math.min(effectiveRatio, this.maxHeight)\n );\n\n const screenHeight = Dimensions.get('screen').height;\n const windowHeight = Dimensions.get('window').height;\n let calculatedHeight = screenHeight * this.maxHeightRatio;\n\n if (Platform.OS === 'ios') {\n // Subtract top inset bar height for ios only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.defaultTopInset;\n }\n }\n else if (Platform.OS === 'android') {\n // Subtract status bar height for Android only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.statusBarHeight;\n }\n }\n return calculatedHeight;\n }\n\n open() {\n if (!this.state.isBottomsheetVisible)\n this.updateState({\n isBottomsheetVisible: true\n } as WmBottomsheetState);\n this.openSheet();\n }\n\n close() {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\n }\n }\n\n constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);\n\n // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight\n const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;\n const effectiveExpandedRatio = Math.max(\n this.minimumExpandedHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;\n\n if (Platform.OS === 'android') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n }\n if (Platform.OS === 'ios') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n this.state.sheetHeight.setValue(this.calculatedHeight);\n\n this.updateState({\n isBottomsheetVisible: this.props.showonrender || false\n } as WmBottomsheetState);\n\n if (this.state.isBottomsheetVisible) {\n this.openSheet();\n } else {\n this.closeSheetImmediate();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (Platform.OS === 'android') {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);\n }\n this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this.onKeyboardShow);\n this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this.onKeyboardHide);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (Platform.OS === 'android') {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);\n }\n this.keyboardDidShowListener.remove();\n this.keyboardDidHideListener.remove();\n }\n\n private handleBackPress = () => {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\n return true; // Prevent default back action\n }\n return false;\n };\n\n private onKeyboardShow = (event: any) => {\n let keyboardHeight = event.endCoordinates?.height || 0;\n this.updateState({\n keyboardHeight: keyboardHeight\n } as WmBottomsheetState);\n };\n\n private onKeyboardHide = () => {\n this.updateState({\n keyboardHeight: 0\n } as WmBottomsheetState);\n };\n\n componentDidUpdate(prevProps: WmBottomsheetProps) {\n if (prevProps.bottomsheetheightratio !== this.props.bottomsheetheightratio) {\n this.calculatedHeight = this.calculateSheetHeight(this.props.bottomsheetheightratio);\n this.state.sheetHeight.setValue(this.calculatedHeight);\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (gestureState.dy > 0) {\n if (this.state.isExpanded) {\n // Expand the bottom sheet threshold is 25% of the fully expanded height\n // If the user swipe distance is below the threshold, revert to the original sheet height\n if (gestureState.dy < this.expandedHeight / 4) {\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0, // Keep sheet open\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.sheetHeight, {\n toValue: this.calculatedHeight, // Back to original height\n duration: this.animationDuration,\n useNativeDriver: false,\n })\n ]).start();\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n }\n else if (gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) {\n this.closeSheet();\n }\n }\n else {\n if (gestureState.dy > 100 || gestureState.vy > 0.5) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0) {\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n\n }\n },\n\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState)\n },\n\n onPanResponderTerminate: () => {\n this.openSheet();\n },\n });\n\n //pan repsoneder for bottom sheet dragable container\n dragHandlePanResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n\n if (gestureState.dy > 0) { // Handle downward drag\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n } else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1) {\n // Handle upward drag - expand to full height\n // Allow expansion to full screen height\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n Animated.timing(this.state.sheetHeight, {\n toValue: targetHeight,\n duration: this.animationDuration,\n useNativeDriver: false,\n }).start();\n this.updateState({\n isExpanded: true\n } as WmBottomsheetState);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState)\n },\n });\n\n handleScroll = (event: any): any => {\n if (this.state.keyboardHeight > 0) return null;\n const offsetY = event.nativeEvent.contentOffset.y;\n this.updateState({\n isScrolling: offsetY > 0,\n scrollOffset: offsetY\n } as WmBottomsheetState);\n };\n\n openSheet = () => {\n this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 1,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start(() => {\n this.invokeEventCallback('onOpened', [null, this]);\n });\n };\n\n private handleClose = () => {\n this.updateState({\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onClose', [null, this]);\n };\n\n closeSheet = () => {\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: SCREEN_HEIGHT,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start(() => {\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.handleClose();\n });\n });\n };\n\n closeSheetImmediate = () => {\n this.state.translateY.setValue(SCREEN_HEIGHT);\n this.state.backdropOpacity.setValue(0);\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false,\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\n });\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case \"showonrender\":\n if ($new) {\n this.updateState({\n isBottomsheetVisible: $new || false\n } as WmBottomsheetState);\n if (this.state.isBottomsheetVisible) {\n this.openSheet && this.openSheet();\n }\n } else {\n this.closeSheetImmediate && this.closeSheetImmediate();\n }\n break;\n }\n }\n\n public renderSkeleton(props: WmBottomsheetProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.styles.root.width as DimensionValue,\n height: this.styles.root.height as DimensionValue\n });\n }\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.state.isBottomsheetVisible) return null;\n\n\n return (\n <SafeAreaInsetsContext.Consumer >\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return (\n\n <View style={this.styles.root}\n {...this.getTestProps('keyboardview')}>\n\n {this._background}\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <Animated.View style={[this.styles.backdrop, { opacity: this.state.backdropOpacity }]}\n {...this.getTestProps('backdrop')}\n {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}\n />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[\n this.styles.container,\n\n {\n height: this.state.sheetHeight,\n transform: [{ translateY: this.state.translateY }],\n },\n ]}\n {...this.panResponder.panHandlers}\n\n\n >\n <View style={this.styles.dragHandleContainer} {...this.dragHandlePanResponder.panHandlers}>\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <View style={this.styles.dragIconHandle}\n {...this.getTestProps('draghandle')} />\n </TouchableWithoutFeedback>\n </View>\n <ScrollView\n ref={this.state.scrollViewRef}\n style={this.styles.sheetContentContainer}\n contentContainerStyle={[this.styles.sheetScrollContent,\n {\n paddingBottom: this.state.keyboardHeight\n }\n ]}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n showsVerticalScrollIndicator={false}\n scrollEventThrottle={16}\n onScroll={this.handleScroll}\n nestedScrollEnabled={true}\n scrollEnabled={true}\n {...this.getTestProps('scorllview')}\n >\n {props.children}\n </ScrollView>\n\n </Animated.View>\n\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -5,11 +5,13 @@ import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
5
5
|
export default class WmBottomsheetProps extends BaseProps {
|
6
6
|
constructor(...args) {
|
7
7
|
super(...args);
|
8
|
-
_defineProperty(this, "
|
9
|
-
_defineProperty(this, "
|
8
|
+
_defineProperty(this, "showonrender", false);
|
9
|
+
_defineProperty(this, "bottomsheetheightratio", 0.3);
|
10
10
|
_defineProperty(this, "children", null);
|
11
|
-
_defineProperty(this, "
|
12
|
-
_defineProperty(this, "
|
11
|
+
_defineProperty(this, "expand", false);
|
12
|
+
_defineProperty(this, "bottomsheetexpandedheightratio", 0.5);
|
13
|
+
_defineProperty(this, "keyboardverticaloffset", 100);
|
14
|
+
_defineProperty(this, "onOpened", null);
|
13
15
|
_defineProperty(this, "onClose", null);
|
14
16
|
}
|
15
17
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmBottomsheetProps","constructor","args","_defineProperty"],"sources":["bottomsheet.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmBottomsheetProps extends BaseProps {\n
|
1
|
+
{"version":3,"names":["BaseProps","WmBottomsheetProps","constructor","args","_defineProperty"],"sources":["bottomsheet.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmBottomsheetProps extends BaseProps {\n showonrender: boolean = false;\n bottomsheetheightratio:number = 0.3;\n children? = null as any;\n expand?:boolean = false;\n bottomsheetexpandedheightratio?:number = 0.5; \n keyboardverticaloffset: number = 100;\n onOpened?: Function = null as any;\n onClose?: Function = null as any;\n\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,kBAAkB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC9B,KAAK;IAAAA,eAAA,iCACG,GAAG;IAAAA,eAAA,mBACvB,IAAI;IAAAA,eAAA,iBACE,KAAK;IAAAA,eAAA,yCACkB,GAAG;IAAAA,eAAA,iCACX,GAAG;IAAAA,eAAA,mBACd,IAAI;IAAAA,eAAA,kBACL,IAAI;EAAA;AAE7B","ignoreList":[]}
|
@@ -59,7 +59,7 @@ export default class WmLottie extends BaseComponent {
|
|
59
59
|
}
|
60
60
|
}
|
61
61
|
loadAnimationData() {
|
62
|
-
if (this.state.animationData || !this.loadAsset) {
|
62
|
+
if (this.state.animationData || !this.loadAsset || !this.state.props.source) {
|
63
63
|
return;
|
64
64
|
}
|
65
65
|
if (Platform.OS == 'web') {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","View","LottieView","BaseComponent","BaseComponentState","WmLottieProps","DEFAULT_CLASS","WmLottieState","constructor","args","_defineProperty","WmLottie","props","createRef","play","lottie","current","state","isCompleted","reset","invokeEventCallback","proxy","pause","goToAndPlay","updateState","onReady","autoplay","loadAnimationData","animationData","loadAsset","
|
1
|
+
{"version":3,"names":["React","axios","Platform","View","LottieView","BaseComponent","BaseComponentState","WmLottieProps","DEFAULT_CLASS","WmLottieState","constructor","args","_defineProperty","WmLottie","props","createRef","play","lottie","current","state","isCompleted","reset","invokeEventCallback","proxy","pause","goToAndPlay","updateState","onReady","autoplay","loadAnimationData","animationData","loadAsset","source","OS","url","get","then","data","onPropertyChange","name","$new","$old","initialized","setTimeout","componentDidMount","renderWebLottie","_Lottie","Lottie","require","default","createElement","ref","loop","speed","style","styles","content","onComplete","renderNativeLottie","autoPlay","onAnimationFinish","renderWidget","root","onLayout","event","handleLayout","_background"],"sources":["lottie.component.tsx"],"sourcesContent":["import React from 'react';\nimport axios from 'axios';\nimport { Platform, View } from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLottieProps from './lottie.props';\nimport { DEFAULT_CLASS, WmLottieStyles } from './lottie.styles';\n\nexport class WmLottieState extends BaseComponentState<WmLottieProps> {\n animationData: any;\n isCompleted = false;\n}\n\nexport default class WmLottie extends BaseComponent<WmLottieProps, WmLottieState, WmLottieStyles> {\n\n private lottie = React.createRef<LottieView>();\n\n constructor(props: WmLottieProps) {\n super(props, DEFAULT_CLASS, new WmLottieProps(), new WmLottieState());\n }\n \n play() {\n if (this.lottie.current) {\n if (this.state.isCompleted) {\n this.reset();\n } else {\n this.lottie.current.play();\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n }\n\n pause() {\n if (this.lottie.current) {\n this.lottie.current.pause();\n this.invokeEventCallback('onPause', [null, this.proxy]);\n }\n }\n\n reset() {\n if (this.lottie.current) {\n if (this.lottie.current.reset) {\n this.lottie.current.reset();\n this.lottie.current.play();\n } else if((this.lottie.current as any).goToAndPlay) {\n (this.lottie.current as any).goToAndPlay(0);\n } else {\n return;\n }\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n this.updateState({\n isCompleted: false\n } as WmLottieState);\n }\n \n }\n\n private onReady() {\n this.invokeEventCallback('onReady', [null, this.proxy]);\n if (this.state.props.autoplay) {\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n\n private loadAnimationData() {\n if (this.state.animationData || ! this.loadAsset || !this.state.props.source) {\n return;\n }\n if (Platform.OS == 'web') {\n const url = this.loadAsset(this.state.props.source) as string;\n axios.get(url).then(({data}) => {\n this.updateState({\n animationData: data\n } as WmLottieState, () => this.onReady());\n });\n } else {\n this.updateState({\n animationData: this.loadAsset(this.state.props.source)\n } as WmLottieState, () => this.onReady());\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'src':\n this.loadAnimationData();\n break;\n case 'loop':\n if (this.initialized && \n !this.state.isCompleted && \n ($new || this.state.props.autoplay)) {\n setTimeout(() => this.reset(), 200);\n }\n break;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.loadAnimationData();\n }\n\n private renderWebLottie(props: WmLottieProps) {\n let Lottie = Platform.OS == 'web' ? require('react-lottie-player') : null;\n Lottie = Lottie?.default || Lottie;\n return (<Lottie \n animationData={this.state.animationData}\n ref= {this.lottie}\n loop={props.loop}\n play={props.autoplay}\n speed={props.speed}\n style={this.styles.content}\n onComplete={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}/>);\n }\n\n private renderNativeLottie(props: WmLottieProps) {\n return (\n <LottieView\n source={this.state.animationData}\n ref= {this.lottie}\n autoPlay={props.autoplay}\n speed={props.speed}\n loop={props.loop}\n style={this.styles.content}\n onAnimationFinish={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}\n />\n );\n }\n\n renderWidget(props: WmLottieProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {this.state.animationData ? \n (Platform.OS == 'web' ? this.renderWebLottie(props) : this.renderNativeLottie(props)) \n : null \n }\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -166,7 +166,7 @@ export default class WmPicture extends BaseComponent {
|
|
166
166
|
// * INFO: if any issue arises like freezing of application because of
|
167
167
|
// * rendering large number of images, check the cache policy.
|
168
168
|
React.createElement(EXPOImage, _extends({
|
169
|
-
cachePolicy: "memory
|
169
|
+
cachePolicy: "memory"
|
170
170
|
}, this.getTestProps('picture'), {
|
171
171
|
style: [this.styles.picture, shapeStyles.picture, props.fastload || this.state.imageWidth ? {
|
172
172
|
opacity: 1
|