@adiraku/react-native-ui 0.2.4 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BottomSheet = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _reactNativeModal = _interopRequireDefault(require("react-native-modal"));
9
10
  var _BottomSheet = require("./BottomSheet.style");
10
11
  var _typography = require("../typography/typography.component");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ const deviceWindow = _reactNative.Dimensions.get('window');
14
17
  const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
15
18
  const {
16
19
  onDismiss,
@@ -18,22 +21,25 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
18
21
  titleProps = {},
19
22
  subtitle,
20
23
  subtitleProps = {},
21
- isOverlayDismissDisabled = false,
22
24
  dismissIcon = null,
23
25
  dismissIconProps = {},
24
26
  action = null,
25
27
  largeIcon = null,
26
28
  largeIconContainerHeight = 50,
27
- animationType = 'slide',
28
- children
29
+ maxSheetHeight = 0.85,
30
+ backdropTransitionOutTiming = 0,
31
+ onBackdropPress = () => {},
32
+ onBackButtonPress = () => {},
33
+ children,
34
+ ...rest
29
35
  } = props;
30
- const screenHeight = _reactNative.Dimensions.get('screen').height;
31
- const screenWidth = _reactNative.Dimensions.get('screen').width;
32
- const panY = React.useRef(new _reactNative.Animated.Value(screenHeight)).current;
36
+ const computedStyle = (0, _BottomSheet.getStyle)();
33
37
  const [visibility, setVisibility] = React.useState(false);
38
+ const panY = React.useRef(new _reactNative.Animated.Value(deviceWindow.height)).current;
34
39
  React.useImperativeHandle(ref, () => {
35
40
  return {
36
41
  open() {
42
+ console.log('clicked');
37
43
  setVisibility(true);
38
44
  },
39
45
  close() {
@@ -41,14 +47,17 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
41
47
  }
42
48
  };
43
49
  }, []);
44
- const computedStyle = (0, _BottomSheet.getStyle)();
50
+ const handleDismiss = () => {
51
+ setVisibility(false);
52
+ closeAnim.start(onDismiss);
53
+ };
45
54
  const resetPositionAnim = _reactNative.Animated.timing(panY, {
46
55
  toValue: 0,
47
56
  duration: 300,
48
57
  useNativeDriver: true
49
58
  });
50
59
  const closeAnim = _reactNative.Animated.timing(panY, {
51
- toValue: screenHeight,
60
+ toValue: deviceWindow.height,
52
61
  duration: 300,
53
62
  useNativeDriver: true
54
63
  });
@@ -56,10 +65,6 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
56
65
  inputRange: [-1, 0, 1],
57
66
  outputRange: [0, 0, 1]
58
67
  });
59
- const handleDismiss = () => {
60
- setVisibility(false);
61
- closeAnim.start(onDismiss);
62
- };
63
68
  React.useEffect(() => {
64
69
  resetPositionAnim.start();
65
70
  }, [resetPositionAnim]);
@@ -85,8 +90,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
85
90
  style: [computedStyle.sheetHeader]
86
91
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
87
92
  style: [{
88
- maxWidth: (screenWidth - 32) / 8 * 2,
89
- minWidth: (screenWidth - 32) / 8 * 2
93
+ maxWidth: (deviceWindow.width - 32) / 8 * 2,
94
+ minWidth: (deviceWindow.width - 32) / 8 * 2
90
95
  }]
91
96
  }, !!dismissIcon && /*#__PURE__*/React.createElement(_reactNative.TouchableHighlight, _extends({
92
97
  onPress: handleDismiss,
@@ -94,8 +99,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
94
99
  underlayColor: 'transparent'
95
100
  }, dismissIconProps), dismissIcon)), /*#__PURE__*/React.createElement(_reactNative.View, {
96
101
  style: [{
97
- maxWidth: (screenWidth - 32) / 8 * 4,
98
- minWidth: (screenWidth - 32) / 8 * 4
102
+ maxWidth: (deviceWindow.width - 32) / 8 * 4,
103
+ minWidth: (deviceWindow.width - 32) / 8 * 4
99
104
  }]
100
105
  }, !!title && /*#__PURE__*/React.createElement(_typography.Typography, _extends({
101
106
  variant: "subtitle1",
@@ -103,8 +108,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
103
108
  numberOfLines: 2
104
109
  }, titleProps), title)), /*#__PURE__*/React.createElement(_reactNative.View, {
105
110
  style: [{
106
- maxWidth: (screenWidth - 32) / 8 * 2,
107
- minWidth: (screenWidth - 32) / 8 * 2
111
+ maxWidth: (deviceWindow.width - 32) / 8 * 2,
112
+ minWidth: (deviceWindow.width - 32) / 8 * 2
108
113
  }, computedStyle.sheetActionWrapper]
109
114
  }, action || null)), !!subtitle && /*#__PURE__*/React.createElement(_typography.Typography, _extends({
110
115
  variant: "body2",
@@ -121,31 +126,34 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
121
126
  style: [computedStyle.largeIconAbsoluteWrapper]
122
127
  }, largeIcon));
123
128
  };
124
- return /*#__PURE__*/React.createElement(_reactNative.Modal, {
125
- animated: true,
126
- animationType: animationType,
127
- visible: visibility,
128
- transparent: true,
129
- onRequestClose: handleDismiss
130
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
131
- style: [computedStyle.flex, computedStyle.overlayColor]
132
- }, /*#__PURE__*/React.createElement(_reactNative.TouchableWithoutFeedback, {
133
- onPress: handleDismiss,
134
- disabled: isOverlayDismissDisabled
135
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
136
- style: [computedStyle.overlay]
137
- })), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
129
+ return /*#__PURE__*/React.createElement(_reactNativeModal.default, _extends({
130
+ isVisible: visibility,
131
+ backdropTransitionOutTiming: backdropTransitionOutTiming,
132
+ onBackdropPress: () => {
133
+ onBackdropPress();
134
+ handleDismiss();
135
+ },
136
+ onBackButtonPress: () => {
137
+ onBackButtonPress();
138
+ handleDismiss();
139
+ },
140
+ onSwipeComplete: () => handleDismiss(),
138
141
  style: {
139
- ...computedStyle.container,
142
+ flex: 1,
143
+ margin: 0
144
+ }
145
+ }, rest), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
146
+ style: [computedStyle.container, {
147
+ maxHeight: deviceWindow.height * maxSheetHeight,
140
148
  transform: [{
141
149
  translateY: translateY
142
150
  }]
143
- }
144
- }, /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_reactNative.View, _extends({
151
+ }]
152
+ }, /*#__PURE__*/React.createElement(_reactNative.View, _extends({
145
153
  style: [computedStyle.sheetIndicatorWrapper]
146
154
  }, panResponders.panHandlers), !largeIcon && /*#__PURE__*/React.createElement(_reactNative.View, {
147
155
  style: computedStyle.sliderIndicator
148
- })), largeIcon ? renderLargeIconComponent() : renderSheetHeader()), children)));
156
+ })), largeIcon ? renderLargeIconComponent() : renderSheetHeader(), children));
149
157
  });
150
158
  exports.BottomSheet = BottomSheet;
151
159
  //# sourceMappingURL=BottomSheet.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheet","React","forwardRef","props","ref","onDismiss","title","titleProps","subtitle","subtitleProps","isOverlayDismissDisabled","dismissIcon","dismissIconProps","action","largeIcon","largeIconContainerHeight","animationType","children","screenHeight","Dimensions","get","height","screenWidth","width","panY","useRef","Animated","Value","current","visibility","setVisibility","useState","useImperativeHandle","open","close","computedStyle","getStyle","resetPositionAnim","timing","toValue","duration","useNativeDriver","closeAnim","translateY","interpolate","inputRange","outputRange","handleDismiss","start","useEffect","panResponders","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","event","dy","onPanResponderRelease","_","gs","vy","renderSheetHeader","sheetHeaderWrapper","sheetHeader","maxWidth","minWidth","sheetDismissIconWrapper","textCenter","sheetActionWrapper","renderLargeIconComponent","largeIconContainer","largeIconAbsoluteWrapper","flex","overlayColor","overlay","container","transform","sheetIndicatorWrapper","panHandlers","sliderIndicator"],"sourceRoot":"../../src","sources":["BottomSheet.component.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["deviceWindow","Dimensions","get","BottomSheet","React","forwardRef","props","ref","onDismiss","title","titleProps","subtitle","subtitleProps","dismissIcon","dismissIconProps","action","largeIcon","largeIconContainerHeight","maxSheetHeight","backdropTransitionOutTiming","onBackdropPress","onBackButtonPress","children","rest","computedStyle","getStyle","visibility","setVisibility","useState","panY","useRef","Animated","Value","height","current","useImperativeHandle","open","console","log","close","handleDismiss","closeAnim","start","resetPositionAnim","timing","toValue","duration","useNativeDriver","translateY","interpolate","inputRange","outputRange","useEffect","panResponders","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","event","dy","onPanResponderRelease","_","gs","vy","renderSheetHeader","sheetHeaderWrapper","sheetHeader","maxWidth","width","minWidth","sheetDismissIconWrapper","textCenter","sheetActionWrapper","renderLargeIconComponent","largeIconContainer","largeIconAbsoluteWrapper","flex","margin","container","maxHeight","transform","sheetIndicatorWrapper","panHandlers","sliderIndicator"],"sourceRoot":"../../src","sources":["BottomSheet.component.tsx"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getStyle = void 0;
7
7
  var _reactNative = require("react-native");
8
- var _themes = require("../../../src/themes");
8
+ var _themes = require("../../themes");
9
9
  const getStyle = () => {
10
10
  const computedStyle = {};
11
11
  computedStyle.flex = {
@@ -15,14 +15,13 @@ const getStyle = () => {
15
15
  flex: 1,
16
16
  justifyContent: 'flex-end'
17
17
  };
18
- computedStyle.overlayColor = {
19
- backgroundColor: 'rgba(0,0,0,0.2)'
20
- };
21
18
  computedStyle.container = {
22
- maxHeight: _reactNative.Dimensions.get('window').height / 8 * 7,
23
- borderTopRightRadius: _themes.Radius[16],
24
- borderTopLeftRadius: _themes.Radius[16],
25
- backgroundColor: _themes.Palettes.whiteDark[50]
19
+ backgroundColor: _themes.Palettes.white[50],
20
+ position: 'absolute',
21
+ bottom: 0,
22
+ width: '100%',
23
+ borderTopEndRadius: _themes.Spacing[16],
24
+ borderTopStartRadius: _themes.Spacing[16]
26
25
  };
27
26
  computedStyle.sliderIndicator = {
28
27
  height: 5,
@@ -41,7 +40,8 @@ const getStyle = () => {
41
40
  justifyContent: 'space-between'
42
41
  };
43
42
  computedStyle.sheetHeaderWrapper = {
44
- paddingHorizontal: _themes.Spacing[16]
43
+ paddingHorizontal: _themes.Spacing[16],
44
+ paddingBottom: _themes.Spacing[8]
45
45
  };
46
46
  computedStyle.sheetDismissIconWrapper = {
47
47
  padding: 4
@@ -1 +1 @@
1
- {"version":3,"names":["getStyle","computedStyle","flex","overlay","justifyContent","overlayColor","backgroundColor","container","maxHeight","Dimensions","get","height","borderTopRightRadius","Radius","borderTopLeftRadius","Palettes","whiteDark","sliderIndicator","width","borderRadius","full","grey","sheetIndicatorWrapper","alignItems","sheetHeader","flexDirection","sheetHeaderWrapper","paddingHorizontal","Spacing","sheetDismissIconWrapper","padding","sheetActionWrapper","textCenter","textAlign","largeIconContainer","largeIconAbsoluteWrapper","position","bottom","StyleSheet","create"],"sourceRoot":"../../src","sources":["BottomSheet.style.tsx"],"mappings":";;;;;;AACA;AAEA;AAmBO,MAAMA,QAAQ,GAAG,MAAM;EAC5B,MAAMC,aAAiC,GAAG,CAAC,CAAC;EAE5CA,aAAa,CAACC,IAAI,GAAG;IACnBA,IAAI,EAAE;EACR,CAAC;EAEDD,aAAa,CAACE,OAAO,GAAG;IACtBD,IAAI,EAAE,CAAC;IACPE,cAAc,EAAE;EAClB,CAAC;EACDH,aAAa,CAACI,YAAY,GAAG;IAC3BC,eAAe,EAAE;EACnB,CAAC;EAEDL,aAAa,CAACM,SAAS,GAAG;IACxBC,SAAS,EAAGC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG,CAAC,GAAI,CAAC;IACpDC,oBAAoB,EAAEC,cAAM,CAAC,EAAE,CAAC;IAChCC,mBAAmB,EAAED,cAAM,CAAC,EAAE,CAAC;IAC/BP,eAAe,EAAES,gBAAQ,CAACC,SAAS,CAAC,EAAE;EACxC,CAAC;EACDf,aAAa,CAACgB,eAAe,GAAG;IAC9BN,MAAM,EAAE,CAAC;IACTO,KAAK,EAAE,GAAG;IACVC,YAAY,EAAEN,cAAM,CAACO,IAAI;IACzBd,eAAe,EAAES,gBAAQ,CAACM,IAAI,CAAC,GAAG;EACpC,CAAC;EAEDpB,aAAa,CAACqB,qBAAqB,GAAG;IACpCX,MAAM,EAAE,EAAE;IACVY,UAAU,EAAE,QAAQ;IACpBnB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACuB,WAAW,GAAG;IAC1BC,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBnB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACyB,kBAAkB,GAAG;IACjCC,iBAAiB,EAAEC,eAAO,CAAC,EAAE;EAC/B,CAAC;EACD3B,aAAa,CAAC4B,uBAAuB,GAAG;IACtCC,OAAO,EAAE;EACX,CAAC;EACD7B,aAAa,CAAC8B,kBAAkB,GAAG;IACjCN,aAAa,EAAE,KAAK;IACpBrB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAAC+B,UAAU,GAAG;IACzBC,SAAS,EAAE;EACb,CAAC;EAEDhC,aAAa,CAACiC,kBAAkB,GAAG;IACjCX,UAAU,EAAE;EACd,CAAC;EAEDtB,aAAa,CAACkC,wBAAwB,GAAG;IACvCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV,CAAC;EAED,OAAOC,uBAAU,CAACC,MAAM,CAACtC,aAAa,CAAC;AACzC,CAAC;AAAC"}
1
+ {"version":3,"names":["getStyle","computedStyle","flex","overlay","justifyContent","container","backgroundColor","Palettes","white","position","bottom","width","borderTopEndRadius","Spacing","borderTopStartRadius","sliderIndicator","height","borderRadius","Radius","full","grey","sheetIndicatorWrapper","alignItems","sheetHeader","flexDirection","sheetHeaderWrapper","paddingHorizontal","paddingBottom","sheetDismissIconWrapper","padding","sheetActionWrapper","textCenter","textAlign","largeIconContainer","largeIconAbsoluteWrapper","StyleSheet","create"],"sourceRoot":"../../src","sources":["BottomSheet.style.tsx"],"mappings":";;;;;;AACA;AAEA;AAmBO,MAAMA,QAAQ,GAAG,MAAM;EAC5B,MAAMC,aAAiC,GAAG,CAAC,CAAC;EAE5CA,aAAa,CAACC,IAAI,GAAG;IACnBA,IAAI,EAAE;EACR,CAAC;EAEDD,aAAa,CAACE,OAAO,GAAG;IACtBD,IAAI,EAAE,CAAC;IACPE,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACI,SAAS,GAAG;IACxBC,eAAe,EAAEC,gBAAQ,CAACC,KAAK,CAAC,EAAE,CAAC;IACnCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE,MAAM;IACbC,kBAAkB,EAAEC,eAAO,CAAC,EAAE,CAAC;IAC/BC,oBAAoB,EAAED,eAAO,CAAC,EAAE;EAClC,CAAC;EAEDZ,aAAa,CAACc,eAAe,GAAG;IAC9BC,MAAM,EAAE,CAAC;IACTL,KAAK,EAAE,GAAG;IACVM,YAAY,EAAEC,cAAM,CAACC,IAAI;IACzBb,eAAe,EAAEC,gBAAQ,CAACa,IAAI,CAAC,GAAG;EACpC,CAAC;EAEDnB,aAAa,CAACoB,qBAAqB,GAAG;IACpCL,MAAM,EAAE,EAAE;IACVM,UAAU,EAAE,QAAQ;IACpBlB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACsB,WAAW,GAAG;IAC1BC,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBlB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACwB,kBAAkB,GAAG;IACjCC,iBAAiB,EAAEb,eAAO,CAAC,EAAE,CAAC;IAC9Bc,aAAa,EAAEd,eAAO,CAAC,CAAC;EAC1B,CAAC;EACDZ,aAAa,CAAC2B,uBAAuB,GAAG;IACtCC,OAAO,EAAE;EACX,CAAC;EACD5B,aAAa,CAAC6B,kBAAkB,GAAG;IACjCN,aAAa,EAAE,KAAK;IACpBpB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAAC8B,UAAU,GAAG;IACzBC,SAAS,EAAE;EACb,CAAC;EAED/B,aAAa,CAACgC,kBAAkB,GAAG;IACjCX,UAAU,EAAE;EACd,CAAC;EAEDrB,aAAa,CAACiC,wBAAwB,GAAG;IACvCzB,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV,CAAC;EAED,OAAOyB,uBAAU,CAACC,MAAM,CAACnC,aAAa,CAAC;AACzC,CAAC;AAAC"}
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "BottomSheet", {
21
21
  return _BottomSheet.BottomSheet;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "BottomSheetHandler", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _BottomSheet.BottomSheetHandler;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "Button", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,9 +1,11 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import * as React from 'react';
3
- import { Animated, Dimensions, PanResponder, Modal, TouchableWithoutFeedback, View } from 'react-native';
3
+ import { Animated, Dimensions, PanResponder, View } from 'react-native';
4
+ import Modal from 'react-native-modal';
4
5
  import { getStyle } from './BottomSheet.style';
5
6
  import { Typography } from '../typography/typography.component';
6
7
  import { TouchableHighlight } from 'react-native';
8
+ const deviceWindow = Dimensions.get('window');
7
9
  const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
8
10
  const {
9
11
  onDismiss,
@@ -11,22 +13,25 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
11
13
  titleProps = {},
12
14
  subtitle,
13
15
  subtitleProps = {},
14
- isOverlayDismissDisabled = false,
15
16
  dismissIcon = null,
16
17
  dismissIconProps = {},
17
18
  action = null,
18
19
  largeIcon = null,
19
20
  largeIconContainerHeight = 50,
20
- animationType = 'slide',
21
- children
21
+ maxSheetHeight = 0.85,
22
+ backdropTransitionOutTiming = 0,
23
+ onBackdropPress = () => {},
24
+ onBackButtonPress = () => {},
25
+ children,
26
+ ...rest
22
27
  } = props;
23
- const screenHeight = Dimensions.get('screen').height;
24
- const screenWidth = Dimensions.get('screen').width;
25
- const panY = React.useRef(new Animated.Value(screenHeight)).current;
28
+ const computedStyle = getStyle();
26
29
  const [visibility, setVisibility] = React.useState(false);
30
+ const panY = React.useRef(new Animated.Value(deviceWindow.height)).current;
27
31
  React.useImperativeHandle(ref, () => {
28
32
  return {
29
33
  open() {
34
+ console.log('clicked');
30
35
  setVisibility(true);
31
36
  },
32
37
  close() {
@@ -34,14 +39,17 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
34
39
  }
35
40
  };
36
41
  }, []);
37
- const computedStyle = getStyle();
42
+ const handleDismiss = () => {
43
+ setVisibility(false);
44
+ closeAnim.start(onDismiss);
45
+ };
38
46
  const resetPositionAnim = Animated.timing(panY, {
39
47
  toValue: 0,
40
48
  duration: 300,
41
49
  useNativeDriver: true
42
50
  });
43
51
  const closeAnim = Animated.timing(panY, {
44
- toValue: screenHeight,
52
+ toValue: deviceWindow.height,
45
53
  duration: 300,
46
54
  useNativeDriver: true
47
55
  });
@@ -49,10 +57,6 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
49
57
  inputRange: [-1, 0, 1],
50
58
  outputRange: [0, 0, 1]
51
59
  });
52
- const handleDismiss = () => {
53
- setVisibility(false);
54
- closeAnim.start(onDismiss);
55
- };
56
60
  React.useEffect(() => {
57
61
  resetPositionAnim.start();
58
62
  }, [resetPositionAnim]);
@@ -78,8 +82,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
78
82
  style: [computedStyle.sheetHeader]
79
83
  }, /*#__PURE__*/React.createElement(View, {
80
84
  style: [{
81
- maxWidth: (screenWidth - 32) / 8 * 2,
82
- minWidth: (screenWidth - 32) / 8 * 2
85
+ maxWidth: (deviceWindow.width - 32) / 8 * 2,
86
+ minWidth: (deviceWindow.width - 32) / 8 * 2
83
87
  }]
84
88
  }, !!dismissIcon && /*#__PURE__*/React.createElement(TouchableHighlight, _extends({
85
89
  onPress: handleDismiss,
@@ -87,8 +91,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
87
91
  underlayColor: 'transparent'
88
92
  }, dismissIconProps), dismissIcon)), /*#__PURE__*/React.createElement(View, {
89
93
  style: [{
90
- maxWidth: (screenWidth - 32) / 8 * 4,
91
- minWidth: (screenWidth - 32) / 8 * 4
94
+ maxWidth: (deviceWindow.width - 32) / 8 * 4,
95
+ minWidth: (deviceWindow.width - 32) / 8 * 4
92
96
  }]
93
97
  }, !!title && /*#__PURE__*/React.createElement(Typography, _extends({
94
98
  variant: "subtitle1",
@@ -96,8 +100,8 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
96
100
  numberOfLines: 2
97
101
  }, titleProps), title)), /*#__PURE__*/React.createElement(View, {
98
102
  style: [{
99
- maxWidth: (screenWidth - 32) / 8 * 2,
100
- minWidth: (screenWidth - 32) / 8 * 2
103
+ maxWidth: (deviceWindow.width - 32) / 8 * 2,
104
+ minWidth: (deviceWindow.width - 32) / 8 * 2
101
105
  }, computedStyle.sheetActionWrapper]
102
106
  }, action || null)), !!subtitle && /*#__PURE__*/React.createElement(Typography, _extends({
103
107
  variant: "body2",
@@ -114,31 +118,34 @@ const BottomSheet = /*#__PURE__*/React.forwardRef((props, ref) => {
114
118
  style: [computedStyle.largeIconAbsoluteWrapper]
115
119
  }, largeIcon));
116
120
  };
117
- return /*#__PURE__*/React.createElement(Modal, {
118
- animated: true,
119
- animationType: animationType,
120
- visible: visibility,
121
- transparent: true,
122
- onRequestClose: handleDismiss
123
- }, /*#__PURE__*/React.createElement(View, {
124
- style: [computedStyle.flex, computedStyle.overlayColor]
125
- }, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
126
- onPress: handleDismiss,
127
- disabled: isOverlayDismissDisabled
128
- }, /*#__PURE__*/React.createElement(View, {
129
- style: [computedStyle.overlay]
130
- })), /*#__PURE__*/React.createElement(Animated.View, {
121
+ return /*#__PURE__*/React.createElement(Modal, _extends({
122
+ isVisible: visibility,
123
+ backdropTransitionOutTiming: backdropTransitionOutTiming,
124
+ onBackdropPress: () => {
125
+ onBackdropPress();
126
+ handleDismiss();
127
+ },
128
+ onBackButtonPress: () => {
129
+ onBackButtonPress();
130
+ handleDismiss();
131
+ },
132
+ onSwipeComplete: () => handleDismiss(),
131
133
  style: {
132
- ...computedStyle.container,
134
+ flex: 1,
135
+ margin: 0
136
+ }
137
+ }, rest), /*#__PURE__*/React.createElement(Animated.View, {
138
+ style: [computedStyle.container, {
139
+ maxHeight: deviceWindow.height * maxSheetHeight,
133
140
  transform: [{
134
141
  translateY: translateY
135
142
  }]
136
- }
137
- }, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, _extends({
143
+ }]
144
+ }, /*#__PURE__*/React.createElement(View, _extends({
138
145
  style: [computedStyle.sheetIndicatorWrapper]
139
146
  }, panResponders.panHandlers), !largeIcon && /*#__PURE__*/React.createElement(View, {
140
147
  style: computedStyle.sliderIndicator
141
- })), largeIcon ? renderLargeIconComponent() : renderSheetHeader()), children)));
148
+ })), largeIcon ? renderLargeIconComponent() : renderSheetHeader(), children));
142
149
  });
143
150
  export { BottomSheet };
144
151
  //# sourceMappingURL=BottomSheet.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Dimensions","PanResponder","Modal","TouchableWithoutFeedback","View","getStyle","Typography","TouchableHighlight","BottomSheet","forwardRef","props","ref","onDismiss","title","titleProps","subtitle","subtitleProps","isOverlayDismissDisabled","dismissIcon","dismissIconProps","action","largeIcon","largeIconContainerHeight","animationType","children","screenHeight","get","height","screenWidth","width","panY","useRef","Value","current","visibility","setVisibility","useState","useImperativeHandle","open","close","computedStyle","resetPositionAnim","timing","toValue","duration","useNativeDriver","closeAnim","translateY","interpolate","inputRange","outputRange","handleDismiss","start","useEffect","panResponders","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","event","dy","onPanResponderRelease","_","gs","vy","renderSheetHeader","sheetHeaderWrapper","sheetHeader","maxWidth","minWidth","sheetDismissIconWrapper","textCenter","sheetActionWrapper","renderLargeIconComponent","largeIconContainer","largeIconAbsoluteWrapper","flex","overlayColor","overlay","container","transform","sheetIndicatorWrapper","panHandlers","sliderIndicator"],"sourceRoot":"../../src","sources":["BottomSheet.component.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,KAAK,EACLC,wBAAwB,EACxBC,IAAI,QACC,cAAc;AAErB,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,UAAU,QAAQ,oCAAoC;AAG/D,SAASC,kBAAkB,QAAQ,cAAc;AASjD,MAAMC,WAAW,gBAAGV,KAAK,CAACW,UAAU,CAClC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,UAAU,GAAG,CAAC,CAAC;IACfC,QAAQ;IACRC,aAAa,GAAG,CAAC,CAAC;IAClBC,wBAAwB,GAAG,KAAK;IAChCC,WAAW,GAAG,IAAI;IAClBC,gBAAgB,GAAG,CAAC,CAAC;IACrBC,MAAM,GAAG,IAAI;IACbC,SAAS,GAAG,IAAI;IAChBC,wBAAwB,GAAG,EAAE;IAC7BC,aAAa,GAAG,OAAO;IACvBC;EACF,CAAC,GAAGd,KAAK;EACT,MAAMe,YAAY,GAAGzB,UAAU,CAAC0B,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM;EACpD,MAAMC,WAAW,GAAG5B,UAAU,CAAC0B,GAAG,CAAC,QAAQ,CAAC,CAACG,KAAK;EAClD,MAAMC,IAAI,GAAGhC,KAAK,CAACiC,MAAM,CAAC,IAAIhC,QAAQ,CAACiC,KAAK,CAACP,YAAY,CAAC,CAAC,CAACQ,OAAO;EAEnE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGrC,KAAK,CAACsC,QAAQ,CAAC,KAAK,CAAC;EAEzDtC,KAAK,CAACuC,mBAAmB,CACvB1B,GAAG,EACH,MAAM;IACJ,OAAO;MACL2B,IAAI,GAAG;QACLH,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC;MACDI,KAAK,GAAG;QACNJ,aAAa,CAAC,KAAK,CAAC;MACtB;IACF,CAAC;EACH,CAAC,EACD,EAAE,CACH;EAED,MAAMK,aAAa,GAAGnC,QAAQ,EAAE;EAEhC,MAAMoC,iBAAiB,GAAG1C,QAAQ,CAAC2C,MAAM,CAACZ,IAAI,EAAE;IAC9Ca,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAG/C,QAAQ,CAAC2C,MAAM,CAACZ,IAAI,EAAE;IACtCa,OAAO,EAAElB,YAAY;IACrBmB,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,MAAME,UAAU,GAAGjB,IAAI,CAACkB,WAAW,CAAC;IAClCC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;EACvB,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAG,MAAM;IAC1BhB,aAAa,CAAC,KAAK,CAAC;IACpBW,SAAS,CAACM,KAAK,CAACxC,SAAS,CAAC;EAC5B,CAAC;EAEDd,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpBZ,iBAAiB,CAACW,KAAK,EAAE;EAC3B,CAAC,EAAE,CAACX,iBAAiB,CAAC,CAAC;EAEvB,MAAMa,aAAa,GAAGxD,KAAK,CAACiC,MAAM,CAChC9B,YAAY,CAACsD,MAAM,CAAC;IAClBC,4BAA4B,EAAE,MAAM,IAAI;IACxCC,2BAA2B,EAAE,MAAM,KAAK;IACxCC,kBAAkB,EAAE3D,QAAQ,CAAC4D,KAAK,CAAC,CAAC,IAAI,EAAE;MAAEC,EAAE,EAAE9B;IAAK,CAAC,CAAC,EAAE;MACvDe,eAAe,EAAE;IACnB,CAAC,CAAC;IACFgB,qBAAqB,EAAE,CAACC,CAAC,EAAEC,EAAE,KAAK;MAChC,IAAIA,EAAE,CAACH,EAAE,GAAG,CAAC,IAAIG,EAAE,CAACC,EAAE,GAAG,GAAG,EAAE;QAC5B,OAAOb,aAAa,EAAE;MACxB;MACA,OAAOV,iBAAiB,CAACW,KAAK,EAAE;IAClC;EACF,CAAC,CAAC,CACH,CAACnB,OAAO;EAET,MAAMgC,iBAAiB,GAAG,MAAM;IAC9B,oBACE,oBAAC,IAAI;MAAC,KAAK,EAAE,CAACzB,aAAa,CAAC0B,kBAAkB;IAAE,gBAC9C,oBAAC,IAAI;MAAC,KAAK,EAAE,CAAC1B,aAAa,CAAC2B,WAAW;IAAE,gBACvC,oBAAC,IAAI;MACH,KAAK,EAAE,CACL;QACEC,QAAQ,EAAG,CAACxC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;QACtCyC,QAAQ,EAAG,CAACzC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI;MACvC,CAAC;IACD,GAED,CAAC,CAACV,WAAW,iBACZ,oBAAC,kBAAkB;MACjB,OAAO,EAAEiC,aAAc;MACvB,KAAK,EAAE,CAACX,aAAa,CAAC8B,uBAAuB,CAAE;MAC/C,aAAa,EAAE;IAAc,GACzBnD,gBAAgB,GAEnBD,WAAW,CAEf,CACI,eACP,oBAAC,IAAI;MACH,KAAK,EAAE,CACL;QACEkD,QAAQ,EAAG,CAACxC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;QACtCyC,QAAQ,EAAG,CAACzC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI;MACvC,CAAC;IACD,GAED,CAAC,CAACf,KAAK,iBACN,oBAAC,UAAU;MACT,OAAO,EAAC,WAAW;MACnB,KAAK,EAAE,CAAC2B,aAAa,CAAC+B,UAAU,CAAE;MAClC,aAAa,EAAE;IAAE,GACbzD,UAAU,GAEbD,KAAK,CAET,CACI,eACP,oBAAC,IAAI;MACH,KAAK,EAAE,CACL;QACEuD,QAAQ,EAAG,CAACxC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;QACtCyC,QAAQ,EAAG,CAACzC,WAAW,GAAG,EAAE,IAAI,CAAC,GAAI;MACvC,CAAC,EACDY,aAAa,CAACgC,kBAAkB;IAChC,GAEDpD,MAAM,IAAI,IAAI,CACV,CACF,EACN,CAAC,CAACL,QAAQ,iBACT,oBAAC,UAAU;MACT,OAAO,EAAC,OAAO;MACf,aAAa,EAAE,CAAE;MACjB,KAAK,EAAE,CAACyB,aAAa,CAAC+B,UAAU;IAAE,GAC9BvD,aAAa,GAEhBD,QAAQ,CAEZ,CACI;EAEX,CAAC;EAED,MAAM0D,wBAAwB,GAAG,MAAM;IACrC,oBACE,oBAAC,IAAI;MACH,KAAK,EAAE,CACLjC,aAAa,CAACkC,kBAAkB,EAChC;QAAE/C,MAAM,EAAEL;MAAyB,CAAC;IACpC,gBAEF,oBAAC,IAAI;MAAC,KAAK,EAAE,CAACkB,aAAa,CAACmC,wBAAwB;IAAE,GACnDtD,SAAS,CACL,CACF;EAEX,CAAC;EAED,oBACE,oBAAC,KAAK;IACJ,QAAQ;IACR,aAAa,EAAEE,aAAc;IAC7B,OAAO,EAAEW,UAAW;IACpB,WAAW;IACX,cAAc,EAAEiB;EAAc,gBAE9B,oBAAC,IAAI;IAAC,KAAK,EAAE,CAACX,aAAa,CAACoC,IAAI,EAAEpC,aAAa,CAACqC,YAAY;EAAE,gBAC5D,oBAAC,wBAAwB;IACvB,OAAO,EAAE1B,aAAc;IACvB,QAAQ,EAAElC;EAAyB,gBAEnC,oBAAC,IAAI;IAAC,KAAK,EAAE,CAACuB,aAAa,CAACsC,OAAO;EAAE,EAAG,CACf,eAC3B,oBAAC,QAAQ,CAAC,IAAI;IACZ,KAAK,EAAE;MACL,GAAGtC,aAAa,CAACuC,SAAS;MAC1BC,SAAS,EAAE,CAAC;QAAEjC,UAAU,EAAEA;MAAW,CAAC;IACxC;EAAE,gBAEF,oBAAC,IAAI,qBACH,oBAAC,IAAI;IACH,KAAK,EAAE,CAACP,aAAa,CAACyC,qBAAqB;EAAE,GACzC3B,aAAa,CAAC4B,WAAW,GAE5B,CAAC7D,SAAS,iBAAI,oBAAC,IAAI;IAAC,KAAK,EAAEmB,aAAa,CAAC2C;EAAgB,EAAG,CACxD,EACN9D,SAAS,GAAGoD,wBAAwB,EAAE,GAAGR,iBAAiB,EAAE,CACxD,EAENzC,QAAQ,CACK,CACX,CACD;AAEZ,CAAC,CACF;AAED,SAAShB,WAAW"}
1
+ {"version":3,"names":["React","Animated","Dimensions","PanResponder","View","Modal","getStyle","Typography","TouchableHighlight","deviceWindow","get","BottomSheet","forwardRef","props","ref","onDismiss","title","titleProps","subtitle","subtitleProps","dismissIcon","dismissIconProps","action","largeIcon","largeIconContainerHeight","maxSheetHeight","backdropTransitionOutTiming","onBackdropPress","onBackButtonPress","children","rest","computedStyle","visibility","setVisibility","useState","panY","useRef","Value","height","current","useImperativeHandle","open","console","log","close","handleDismiss","closeAnim","start","resetPositionAnim","timing","toValue","duration","useNativeDriver","translateY","interpolate","inputRange","outputRange","useEffect","panResponders","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","event","dy","onPanResponderRelease","_","gs","vy","renderSheetHeader","sheetHeaderWrapper","sheetHeader","maxWidth","width","minWidth","sheetDismissIconWrapper","textCenter","sheetActionWrapper","renderLargeIconComponent","largeIconContainer","largeIconAbsoluteWrapper","flex","margin","container","maxHeight","transform","sheetIndicatorWrapper","panHandlers","sliderIndicator"],"sourceRoot":"../../src","sources":["BottomSheet.component.tsx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Dimensions, StyleSheet } from 'react-native';
2
- import { Palettes, Radius, Spacing } from '../../../src/themes';
1
+ import { StyleSheet } from 'react-native';
2
+ import { Palettes, Radius, Spacing } from '../../themes';
3
3
  export const getStyle = () => {
4
4
  const computedStyle = {};
5
5
  computedStyle.flex = {
@@ -9,14 +9,13 @@ export const getStyle = () => {
9
9
  flex: 1,
10
10
  justifyContent: 'flex-end'
11
11
  };
12
- computedStyle.overlayColor = {
13
- backgroundColor: 'rgba(0,0,0,0.2)'
14
- };
15
12
  computedStyle.container = {
16
- maxHeight: Dimensions.get('window').height / 8 * 7,
17
- borderTopRightRadius: Radius[16],
18
- borderTopLeftRadius: Radius[16],
19
- backgroundColor: Palettes.whiteDark[50]
13
+ backgroundColor: Palettes.white[50],
14
+ position: 'absolute',
15
+ bottom: 0,
16
+ width: '100%',
17
+ borderTopEndRadius: Spacing[16],
18
+ borderTopStartRadius: Spacing[16]
20
19
  };
21
20
  computedStyle.sliderIndicator = {
22
21
  height: 5,
@@ -35,7 +34,8 @@ export const getStyle = () => {
35
34
  justifyContent: 'space-between'
36
35
  };
37
36
  computedStyle.sheetHeaderWrapper = {
38
- paddingHorizontal: Spacing[16]
37
+ paddingHorizontal: Spacing[16],
38
+ paddingBottom: Spacing[8]
39
39
  };
40
40
  computedStyle.sheetDismissIconWrapper = {
41
41
  padding: 4
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","StyleSheet","Palettes","Radius","Spacing","getStyle","computedStyle","flex","overlay","justifyContent","overlayColor","backgroundColor","container","maxHeight","get","height","borderTopRightRadius","borderTopLeftRadius","whiteDark","sliderIndicator","width","borderRadius","full","grey","sheetIndicatorWrapper","alignItems","sheetHeader","flexDirection","sheetHeaderWrapper","paddingHorizontal","sheetDismissIconWrapper","padding","sheetActionWrapper","textCenter","textAlign","largeIconContainer","largeIconAbsoluteWrapper","position","bottom","create"],"sourceRoot":"../../src","sources":["BottomSheet.style.tsx"],"mappings":"AACA,SAASA,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAErD,SAASC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAQ,qBAAqB;AAmB/D,OAAO,MAAMC,QAAQ,GAAG,MAAM;EAC5B,MAAMC,aAAiC,GAAG,CAAC,CAAC;EAE5CA,aAAa,CAACC,IAAI,GAAG;IACnBA,IAAI,EAAE;EACR,CAAC;EAEDD,aAAa,CAACE,OAAO,GAAG;IACtBD,IAAI,EAAE,CAAC;IACPE,cAAc,EAAE;EAClB,CAAC;EACDH,aAAa,CAACI,YAAY,GAAG;IAC3BC,eAAe,EAAE;EACnB,CAAC;EAEDL,aAAa,CAACM,SAAS,GAAG;IACxBC,SAAS,EAAGb,UAAU,CAACc,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG,CAAC,GAAI,CAAC;IACpDC,oBAAoB,EAAEb,MAAM,CAAC,EAAE,CAAC;IAChCc,mBAAmB,EAAEd,MAAM,CAAC,EAAE,CAAC;IAC/BQ,eAAe,EAAET,QAAQ,CAACgB,SAAS,CAAC,EAAE;EACxC,CAAC;EACDZ,aAAa,CAACa,eAAe,GAAG;IAC9BJ,MAAM,EAAE,CAAC;IACTK,KAAK,EAAE,GAAG;IACVC,YAAY,EAAElB,MAAM,CAACmB,IAAI;IACzBX,eAAe,EAAET,QAAQ,CAACqB,IAAI,CAAC,GAAG;EACpC,CAAC;EAEDjB,aAAa,CAACkB,qBAAqB,GAAG;IACpCT,MAAM,EAAE,EAAE;IACVU,UAAU,EAAE,QAAQ;IACpBhB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACoB,WAAW,GAAG;IAC1BC,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBhB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACsB,kBAAkB,GAAG;IACjCC,iBAAiB,EAAEzB,OAAO,CAAC,EAAE;EAC/B,CAAC;EACDE,aAAa,CAACwB,uBAAuB,GAAG;IACtCC,OAAO,EAAE;EACX,CAAC;EACDzB,aAAa,CAAC0B,kBAAkB,GAAG;IACjCL,aAAa,EAAE,KAAK;IACpBlB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAAC2B,UAAU,GAAG;IACzBC,SAAS,EAAE;EACb,CAAC;EAED5B,aAAa,CAAC6B,kBAAkB,GAAG;IACjCV,UAAU,EAAE;EACd,CAAC;EAEDnB,aAAa,CAAC8B,wBAAwB,GAAG;IACvCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV,CAAC;EAED,OAAOrC,UAAU,CAACsC,MAAM,CAACjC,aAAa,CAAC;AACzC,CAAC"}
1
+ {"version":3,"names":["StyleSheet","Palettes","Radius","Spacing","getStyle","computedStyle","flex","overlay","justifyContent","container","backgroundColor","white","position","bottom","width","borderTopEndRadius","borderTopStartRadius","sliderIndicator","height","borderRadius","full","grey","sheetIndicatorWrapper","alignItems","sheetHeader","flexDirection","sheetHeaderWrapper","paddingHorizontal","paddingBottom","sheetDismissIconWrapper","padding","sheetActionWrapper","textCenter","textAlign","largeIconContainer","largeIconAbsoluteWrapper","create"],"sourceRoot":"../../src","sources":["BottomSheet.style.tsx"],"mappings":"AACA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAQ,cAAc;AAmBxD,OAAO,MAAMC,QAAQ,GAAG,MAAM;EAC5B,MAAMC,aAAiC,GAAG,CAAC,CAAC;EAE5CA,aAAa,CAACC,IAAI,GAAG;IACnBA,IAAI,EAAE;EACR,CAAC;EAEDD,aAAa,CAACE,OAAO,GAAG;IACtBD,IAAI,EAAE,CAAC;IACPE,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACI,SAAS,GAAG;IACxBC,eAAe,EAAET,QAAQ,CAACU,KAAK,CAAC,EAAE,CAAC;IACnCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE,MAAM;IACbC,kBAAkB,EAAEZ,OAAO,CAAC,EAAE,CAAC;IAC/Ba,oBAAoB,EAAEb,OAAO,CAAC,EAAE;EAClC,CAAC;EAEDE,aAAa,CAACY,eAAe,GAAG;IAC9BC,MAAM,EAAE,CAAC;IACTJ,KAAK,EAAE,GAAG;IACVK,YAAY,EAAEjB,MAAM,CAACkB,IAAI;IACzBV,eAAe,EAAET,QAAQ,CAACoB,IAAI,CAAC,GAAG;EACpC,CAAC;EAEDhB,aAAa,CAACiB,qBAAqB,GAAG;IACpCJ,MAAM,EAAE,EAAE;IACVK,UAAU,EAAE,QAAQ;IACpBf,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACmB,WAAW,GAAG;IAC1BC,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBf,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAACqB,kBAAkB,GAAG;IACjCC,iBAAiB,EAAExB,OAAO,CAAC,EAAE,CAAC;IAC9ByB,aAAa,EAAEzB,OAAO,CAAC,CAAC;EAC1B,CAAC;EACDE,aAAa,CAACwB,uBAAuB,GAAG;IACtCC,OAAO,EAAE;EACX,CAAC;EACDzB,aAAa,CAAC0B,kBAAkB,GAAG;IACjCN,aAAa,EAAE,KAAK;IACpBjB,cAAc,EAAE;EAClB,CAAC;EAEDH,aAAa,CAAC2B,UAAU,GAAG;IACzBC,SAAS,EAAE;EACb,CAAC;EAED5B,aAAa,CAAC6B,kBAAkB,GAAG;IACjCX,UAAU,EAAE;EACd,CAAC;EAEDlB,aAAa,CAAC8B,wBAAwB,GAAG;IACvCvB,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV,CAAC;EAED,OAAOb,UAAU,CAACoC,MAAM,CAAC/B,aAAa,CAAC;AACzC,CAAC"}
@@ -11,7 +11,7 @@ export { StepperCounter } from './StepperCounter/StepperCounter.component';
11
11
  export { Divider } from './Divider/Divider.component';
12
12
  export { Tabs } from './Tabs/Tabs.component';
13
13
  export { RadioButton } from './RadioButton/RadioButton.component';
14
- export { BottomSheet } from './BottomSheet/BottomSheet.component';
14
+ export { BottomSheet, BottomSheetHandler } from './BottomSheet/BottomSheet.component';
15
15
  export { RadioInput } from './RadioInput/RadioInput.component';
16
16
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
17
17
  export { Checkbox } from './Checkbox/Checkbox.component';
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Label","BaseComponent","Typography","Coachmark","TextLink","SliderIndicator","TextInput","TextArea","StepperCounter","Divider","Tabs","RadioButton","BottomSheet","RadioInput","CheckBoxInput","Checkbox","Appbar","Snackbar","SnackbarComponent","Switch","Dot","InformationBox","RoundedTab","Countdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,2BAA2B;AAClD,SAASC,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,eAAe,QAAQ,+CAA+C;AAC/E,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,QAAQ,EAAEC,iBAAiB,QAAQ,+BAA+B;AAC3E,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,GAAG,QAAQ,qBAAqB;AACzC,SAASC,cAAc,QAAQ,6CAA6C;AAC5E,SAASC,UAAU,QAAQ,qCAAqC;AAChE,SAASC,SAAS,QAAQ,iCAAiC"}
1
+ {"version":3,"names":["Button","Label","BaseComponent","Typography","Coachmark","TextLink","SliderIndicator","TextInput","TextArea","StepperCounter","Divider","Tabs","RadioButton","BottomSheet","BottomSheetHandler","RadioInput","CheckBoxInput","Checkbox","Appbar","Snackbar","SnackbarComponent","Switch","Dot","InformationBox","RoundedTab","Countdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,2BAA2B;AAClD,SAASC,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,eAAe,QAAQ,+CAA+C;AAC/E,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SACEC,WAAW,EACXC,kBAAkB,QACb,qCAAqC;AAC5C,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,QAAQ,EAAEC,iBAAiB,QAAQ,+BAA+B;AAC3E,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,GAAG,QAAQ,qBAAqB;AACzC,SAASC,cAAc,QAAQ,6CAA6C;AAC5E,SAASC,UAAU,QAAQ,qCAAqC;AAChE,SAASC,SAAS,QAAQ,iCAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.component.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,aAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,oBAAY,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtE,QAAA,MAAM,WAAW,+FA0MhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"BottomSheet.component.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,aAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,oBAAY,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAItE,QAAA,MAAM,WAAW,+FA4MhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.style.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.style.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,wBAAwB,CAAC,EAAE,SAAS,CAAC;CACtC;AAED,eAAO,MAAM,QAAQ,0BAiEpB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.style.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.style.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,wBAAwB,CAAC,EAAE,SAAS,CAAC;CACtC;AAED,eAAO,MAAM,QAAQ,0BAkEpB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import type { TextProps, TouchableHighlightProps } from 'react-native';
3
- export interface BottomSheetProps {
3
+ import type { ModalProps } from 'react-native-modal';
4
+ export interface BottomSheetProps extends Omit<ModalProps, 'isVisible'> {
4
5
  onDismiss?: () => void;
5
6
  sheetHeader?: ReactNode;
6
7
  title: string;
@@ -13,8 +14,10 @@ export interface BottomSheetProps {
13
14
  action?: ReactNode;
14
15
  largeIcon?: ReactNode;
15
16
  largeIconContainerHeight?: number;
16
- animationType?: 'slide' | 'none' | 'fade';
17
- children?: ReactNode;
17
+ /**
18
+ * Decimal number between 0 - 1
19
+ */
20
+ maxSheetHeight?: number;
18
21
  }
19
22
  export declare type BottomSheetRefHandle = {
20
23
  open: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.type.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAE3C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAE1C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.type.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/BottomSheet.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAE3C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC"}
@@ -11,7 +11,7 @@ export { StepperCounter } from './StepperCounter/StepperCounter.component';
11
11
  export { Divider } from './Divider/Divider.component';
12
12
  export { Tabs } from './Tabs/Tabs.component';
13
13
  export { RadioButton } from './RadioButton/RadioButton.component';
14
- export { BottomSheet } from './BottomSheet/BottomSheet.component';
14
+ export { BottomSheet, BottomSheetHandler, } from './BottomSheet/BottomSheet.component';
15
15
  export { RadioInput } from './RadioInput/RadioInput.component';
16
16
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
17
17
  export { Checkbox } from './Checkbox/Checkbox.component';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,WAAW,EACX,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adiraku/react-native-ui",
3
- "version": "0.2.4",
4
- "description": "test",
3
+ "version": "1.0.1",
4
+ "description": "UI library for Adiraku apps",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "lib/typescript/index.d.ts",
@@ -80,7 +80,7 @@
80
80
  "peerDependencies": {
81
81
  "react": "*",
82
82
  "react-native": "*",
83
- "react-native-svg": "*"
83
+ "react-native-svg": "9.9.3"
84
84
  },
85
85
  "packageManager": "^yarn@1.22.15",
86
86
  "jest": {
@@ -126,6 +126,7 @@
126
126
  ]
127
127
  },
128
128
  "dependencies": {
129
+ "react-native-modal": "^11.5.6",
129
130
  "react-native-toast-message": "^2.1.6"
130
131
  }
131
132
  }
@@ -1,12 +1,6 @@
1
1
  import * as React from 'react';
2
- import {
3
- Animated,
4
- Dimensions,
5
- PanResponder,
6
- Modal,
7
- TouchableWithoutFeedback,
8
- View,
9
- } from 'react-native';
2
+ import { Animated, Dimensions, PanResponder, View } from 'react-native';
3
+ import Modal from 'react-native-modal';
10
4
 
11
5
  import { getStyle } from './BottomSheet.style';
12
6
  import { Typography } from '../typography/typography.component';
@@ -21,6 +15,8 @@ type BottomSheetRefHandle = {
21
15
 
22
16
  export type BottomSheetHandler = React.ElementRef<typeof BottomSheet>;
23
17
 
18
+ const deviceWindow = Dimensions.get('window');
19
+
24
20
  const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
25
21
  (props, ref) => {
26
22
  const {
@@ -29,26 +25,30 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
29
25
  titleProps = {},
30
26
  subtitle,
31
27
  subtitleProps = {},
32
- isOverlayDismissDisabled = false,
33
28
  dismissIcon = null,
34
29
  dismissIconProps = {},
35
30
  action = null,
36
31
  largeIcon = null,
37
32
  largeIconContainerHeight = 50,
38
- animationType = 'slide',
33
+ maxSheetHeight = 0.85,
34
+ backdropTransitionOutTiming = 0,
35
+ onBackdropPress = () => {},
36
+ onBackButtonPress = () => {},
39
37
  children,
38
+ ...rest
40
39
  } = props;
41
- const screenHeight = Dimensions.get('screen').height;
42
- const screenWidth = Dimensions.get('screen').width;
43
- const panY = React.useRef(new Animated.Value(screenHeight)).current;
40
+
41
+ const computedStyle = getStyle();
44
42
 
45
43
  const [visibility, setVisibility] = React.useState(false);
44
+ const panY = React.useRef(new Animated.Value(deviceWindow.height)).current;
46
45
 
47
46
  React.useImperativeHandle(
48
47
  ref,
49
48
  () => {
50
49
  return {
51
50
  open() {
51
+ console.log('clicked');
52
52
  setVisibility(true);
53
53
  },
54
54
  close() {
@@ -59,7 +59,10 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
59
59
  []
60
60
  );
61
61
 
62
- const computedStyle = getStyle();
62
+ const handleDismiss = () => {
63
+ setVisibility(false);
64
+ closeAnim.start(onDismiss);
65
+ };
63
66
 
64
67
  const resetPositionAnim = Animated.timing(panY, {
65
68
  toValue: 0,
@@ -68,7 +71,7 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
68
71
  });
69
72
 
70
73
  const closeAnim = Animated.timing(panY, {
71
- toValue: screenHeight,
74
+ toValue: deviceWindow.height,
72
75
  duration: 300,
73
76
  useNativeDriver: true,
74
77
  });
@@ -78,11 +81,6 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
78
81
  outputRange: [0, 0, 1],
79
82
  });
80
83
 
81
- const handleDismiss = () => {
82
- setVisibility(false);
83
- closeAnim.start(onDismiss);
84
- };
85
-
86
84
  React.useEffect(() => {
87
85
  resetPositionAnim.start();
88
86
  }, [resetPositionAnim]);
@@ -110,8 +108,8 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
110
108
  <View
111
109
  style={[
112
110
  {
113
- maxWidth: ((screenWidth - 32) / 8) * 2,
114
- minWidth: ((screenWidth - 32) / 8) * 2,
111
+ maxWidth: ((deviceWindow.width - 32) / 8) * 2,
112
+ minWidth: ((deviceWindow.width - 32) / 8) * 2,
115
113
  },
116
114
  ]}
117
115
  >
@@ -129,8 +127,8 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
129
127
  <View
130
128
  style={[
131
129
  {
132
- maxWidth: ((screenWidth - 32) / 8) * 4,
133
- minWidth: ((screenWidth - 32) / 8) * 4,
130
+ maxWidth: ((deviceWindow.width - 32) / 8) * 4,
131
+ minWidth: ((deviceWindow.width - 32) / 8) * 4,
134
132
  },
135
133
  ]}
136
134
  >
@@ -148,8 +146,8 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
148
146
  <View
149
147
  style={[
150
148
  {
151
- maxWidth: ((screenWidth - 32) / 8) * 2,
152
- minWidth: ((screenWidth - 32) / 8) * 2,
149
+ maxWidth: ((deviceWindow.width - 32) / 8) * 2,
150
+ minWidth: ((deviceWindow.width - 32) / 8) * 2,
153
151
  },
154
152
  computedStyle.sheetActionWrapper,
155
153
  ]}
@@ -188,38 +186,38 @@ const BottomSheet = React.forwardRef<BottomSheetRefHandle, BottomSheetProps>(
188
186
 
189
187
  return (
190
188
  <Modal
191
- animated
192
- animationType={animationType}
193
- visible={visibility}
194
- transparent
195
- onRequestClose={handleDismiss}
189
+ isVisible={visibility}
190
+ backdropTransitionOutTiming={backdropTransitionOutTiming}
191
+ onBackdropPress={() => {
192
+ onBackdropPress();
193
+ handleDismiss();
194
+ }}
195
+ onBackButtonPress={() => {
196
+ onBackButtonPress();
197
+ handleDismiss();
198
+ }}
199
+ onSwipeComplete={() => handleDismiss()}
200
+ style={{ flex: 1, margin: 0 }}
201
+ {...rest}
196
202
  >
197
- <View style={[computedStyle.flex, computedStyle.overlayColor]}>
198
- <TouchableWithoutFeedback
199
- onPress={handleDismiss}
200
- disabled={isOverlayDismissDisabled}
201
- >
202
- <View style={[computedStyle.overlay]} />
203
- </TouchableWithoutFeedback>
204
- <Animated.View
205
- style={{
206
- ...computedStyle.container,
203
+ <Animated.View
204
+ style={[
205
+ computedStyle.container,
206
+ {
207
+ maxHeight: deviceWindow.height * maxSheetHeight,
207
208
  transform: [{ translateY: translateY }],
208
- }}
209
+ },
210
+ ]}
211
+ >
212
+ <View
213
+ style={[computedStyle.sheetIndicatorWrapper]}
214
+ {...panResponders.panHandlers}
209
215
  >
210
- <View>
211
- <View
212
- style={[computedStyle.sheetIndicatorWrapper]}
213
- {...panResponders.panHandlers}
214
- >
215
- {!largeIcon && <View style={computedStyle.sliderIndicator} />}
216
- </View>
217
- {largeIcon ? renderLargeIconComponent() : renderSheetHeader()}
218
- </View>
219
-
220
- {children}
221
- </Animated.View>
222
- </View>
216
+ {!largeIcon && <View style={computedStyle.sliderIndicator} />}
217
+ </View>
218
+ {largeIcon ? renderLargeIconComponent() : renderSheetHeader()}
219
+ {children}
220
+ </Animated.View>
223
221
  </Modal>
224
222
  );
225
223
  }
@@ -1,7 +1,7 @@
1
1
  import type { ViewStyle, TextStyle } from 'react-native';
2
- import { Dimensions, StyleSheet } from 'react-native';
2
+ import { StyleSheet } from 'react-native';
3
3
 
4
- import { Palettes, Radius, Spacing } from '../../../src/themes';
4
+ import { Palettes, Radius, Spacing } from '../../themes';
5
5
 
6
6
  interface ComputedStyleProps {
7
7
  overlay?: ViewStyle;
@@ -31,16 +31,16 @@ export const getStyle = () => {
31
31
  flex: 1,
32
32
  justifyContent: 'flex-end',
33
33
  };
34
- computedStyle.overlayColor = {
35
- backgroundColor: 'rgba(0,0,0,0.2)',
36
- };
37
34
 
38
35
  computedStyle.container = {
39
- maxHeight: (Dimensions.get('window').height / 8) * 7,
40
- borderTopRightRadius: Radius[16],
41
- borderTopLeftRadius: Radius[16],
42
- backgroundColor: Palettes.whiteDark[50],
36
+ backgroundColor: Palettes.white[50],
37
+ position: 'absolute',
38
+ bottom: 0,
39
+ width: '100%',
40
+ borderTopEndRadius: Spacing[16],
41
+ borderTopStartRadius: Spacing[16],
43
42
  };
43
+
44
44
  computedStyle.sliderIndicator = {
45
45
  height: 5,
46
46
  width: 100,
@@ -62,6 +62,7 @@ export const getStyle = () => {
62
62
 
63
63
  computedStyle.sheetHeaderWrapper = {
64
64
  paddingHorizontal: Spacing[16],
65
+ paddingBottom: Spacing[8],
65
66
  };
66
67
  computedStyle.sheetDismissIconWrapper = {
67
68
  padding: 4,
@@ -1,8 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
2
 
3
3
  import type { TextProps, TouchableHighlightProps } from 'react-native';
4
+ import type { ModalProps } from 'react-native-modal';
4
5
 
5
- export interface BottomSheetProps {
6
+ export interface BottomSheetProps extends Omit<ModalProps, 'isVisible'> {
6
7
  onDismiss?: () => void;
7
8
 
8
9
  sheetHeader?: ReactNode;
@@ -27,9 +28,10 @@ export interface BottomSheetProps {
27
28
 
28
29
  largeIconContainerHeight?: number;
29
30
 
30
- animationType?: 'slide' | 'none' | 'fade';
31
-
32
- children?: ReactNode;
31
+ /**
32
+ * Decimal number between 0 - 1
33
+ */
34
+ maxSheetHeight?: number;
33
35
  }
34
36
 
35
37
  export type BottomSheetRefHandle = {
@@ -11,7 +11,10 @@ export { StepperCounter } from './StepperCounter/StepperCounter.component';
11
11
  export { Divider } from './Divider/Divider.component';
12
12
  export { Tabs } from './Tabs/Tabs.component';
13
13
  export { RadioButton } from './RadioButton/RadioButton.component';
14
- export { BottomSheet } from './BottomSheet/BottomSheet.component';
14
+ export {
15
+ BottomSheet,
16
+ BottomSheetHandler,
17
+ } from './BottomSheet/BottomSheet.component';
15
18
  export { RadioInput } from './RadioInput/RadioInput.component';
16
19
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
17
20
  export { Checkbox } from './Checkbox/Checkbox.component';