@lodev09/react-native-true-sheet 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ struct SizeInfo {
18
18
  protocol TrueSheetViewControllerDelegate: AnyObject {
19
19
  func viewControllerDidChangeWidth(_ width: CGFloat)
20
20
  func viewControllerDidDismiss()
21
- func viewControllerSheetDidChangeSize(_ value: CGFloat, at index: Int)
21
+ func viewControllerSheetDidChangeSize(_ sizeInfo: SizeInfo)
22
22
  func viewControllerWillAppear()
23
23
  }
24
24
 
@@ -32,6 +32,23 @@ class TrueSheetViewController: UIViewController, UISheetPresentationControllerDe
32
32
  var sizes: [Any] = ["medium", "large"]
33
33
  var maxHeight: CGFloat?
34
34
 
35
+ var cornerRadius: CGFloat? {
36
+ didSet {
37
+ if #available(iOS 15.0, *) {
38
+ sheet?.preferredCornerRadius = cornerRadius
39
+ }
40
+ }
41
+ }
42
+
43
+ var grabber = true {
44
+ didSet {
45
+ if #available(iOS 15.0, *) {
46
+ sheet?.prefersGrabberVisible = grabber
47
+ }
48
+ }
49
+ }
50
+
51
+ var blurView: UIVisualEffectView
35
52
  var lastViewWidth: CGFloat = 0
36
53
  var detentValues: [String: SizeInfo] = [:]
37
54
 
@@ -40,13 +57,41 @@ class TrueSheetViewController: UIViewController, UISheetPresentationControllerDe
40
57
  return sheetPresentationController
41
58
  }
42
59
 
60
+ @available(iOS 15.0, *)
61
+ var selectedSizeInfo: SizeInfo? {
62
+ guard let rawValue = sheet?.selectedDetentIdentifier?.rawValue else {
63
+ return nil
64
+ }
65
+
66
+ return detentValues[rawValue]
67
+ }
68
+
43
69
  // MARK: - Setup
44
70
 
71
+ init() {
72
+ blurView = UIVisualEffectView()
73
+
74
+ super.init(nibName: nil, bundle: nil)
75
+
76
+ view.addSubview(blurView)
77
+ view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
78
+
79
+ let blurEffect = UIBlurEffect(style: .light)
80
+ blurView.effect = blurEffect
81
+ blurView.frame = view.bounds
82
+ blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
83
+ }
84
+
85
+ @available(*, unavailable)
86
+ required init?(coder _: NSCoder) {
87
+ fatalError("init(coder:) has not been implemented")
88
+ }
89
+
45
90
  @available(iOS 15.0, *)
46
91
  func sheetPresentationControllerDidChangeSelectedDetentIdentifier(_ sheet: UISheetPresentationController) {
47
- if let identifer = sheet.selectedDetentIdentifier,
48
- let size = detentValues[identifer.rawValue] {
49
- delegate?.viewControllerSheetDidChangeSize(size.value, at: size.index)
92
+ if let rawValue = sheet.selectedDetentIdentifier?.rawValue,
93
+ let sizeInfo = detentValues[rawValue] {
94
+ delegate?.viewControllerSheetDidChangeSize(sizeInfo)
50
95
  }
51
96
  }
52
97
 
@@ -90,9 +135,9 @@ class TrueSheetViewController: UIViewController, UISheetPresentationControllerDe
90
135
  }
91
136
 
92
137
  sheet.detents = detents
93
- sheet.prefersGrabberVisible = true
94
138
  sheet.prefersEdgeAttachedInCompactHeight = true
95
- // sheet.prefersScrollingExpandsWhenScrolledToEdge = false
139
+ sheet.prefersGrabberVisible = grabber
140
+ sheet.preferredCornerRadius = cornerRadius
96
141
 
97
142
  sheet.delegate = self
98
143
 
@@ -31,5 +31,8 @@ RCT_EXPORT_VIEW_PROPERTY(onSizeChange, RCTDirectEventBlock)
31
31
  RCT_EXPORT_VIEW_PROPERTY(scrollableHandle, NSNumber)
32
32
  RCT_EXPORT_VIEW_PROPERTY(maxHeight, NSNumber)
33
33
  RCT_EXPORT_VIEW_PROPERTY(sizes, NSArray)
34
+ RCT_EXPORT_VIEW_PROPERTY(blurStyle, NSString)
35
+ RCT_EXPORT_VIEW_PROPERTY(cornerRadius, NSNumber)
36
+ RCT_EXPORT_VIEW_PROPERTY(grabber, BOOL)
34
37
 
35
38
  @end
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _TrueSheetModule = require("./TrueSheetModule");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ 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); }
12
13
  const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
13
14
  ios: "- You have run 'pod install'\n",
14
15
  default: ''
@@ -46,8 +47,8 @@ class TrueSheet extends _react.PureComponent {
46
47
  onSizeChange(event) {
47
48
  this.props.onSizeChange?.(event.nativeEvent);
48
49
  }
49
- onPresent() {
50
- this.props.onPresent?.();
50
+ onPresent(event) {
51
+ this.props.onPresent?.(event.nativeEvent);
51
52
  }
52
53
  onDismiss() {
53
54
  this.props.onDismiss?.();
@@ -71,31 +72,53 @@ class TrueSheet extends _react.PureComponent {
71
72
  }
72
73
 
73
74
  /**
74
- * Dismiss the Sheet
75
+ * Dismisses the Sheet
75
76
  */
76
77
  async dismiss() {
77
78
  await _TrueSheetModule.TrueSheetModule.dismiss(this.handle);
78
79
  }
79
80
  render() {
80
- const FooterComponent = this.props.FooterComponent;
81
+ const {
82
+ sizes,
83
+ backgroundColor,
84
+ blurStyle,
85
+ cornerRadius,
86
+ grabber,
87
+ maxHeight,
88
+ FooterComponent,
89
+ testID,
90
+ style,
91
+ children,
92
+ ...rest
93
+ } = this.props;
81
94
  return /*#__PURE__*/_react.default.createElement(TrueSheetNativeView, {
82
95
  ref: this.ref,
83
96
  style: $nativeSheet,
84
97
  scrollableHandle: this.state.scrollableHandle,
85
- sizes: this.props.sizes ?? ['medium', 'large'],
86
- maxHeight: this.props.maxHeight,
98
+ sizes: sizes ?? ['medium', 'large'],
99
+ blurStyle: blurStyle,
100
+ cornerRadius: cornerRadius,
101
+ grabber: grabber ?? true,
102
+ maxHeight: maxHeight,
87
103
  onPresent: this.onPresent,
88
104
  onDismiss: this.onDismiss,
89
- onSizeChange: this.onSizeChange
90
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
105
+ onSizeChange: this.onSizeChange,
106
+ testID: testID
107
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
91
108
  collapsable: false,
92
- style: {
93
- backgroundColor: this.props.backgroundColor ?? 'white'
94
- }
95
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
109
+ style: [$sheetWrapper, {
110
+ borderTopLeftRadius: cornerRadius,
111
+ borderTopRightRadius: cornerRadius,
112
+ // Remove backgroundColor if `blurStyle` is set on iOS
113
+ backgroundColor: _reactNative.Platform.select({
114
+ ios: blurStyle ? undefined : backgroundColor ?? 'white',
115
+ android: backgroundColor ?? 'white'
116
+ })
117
+ }]
118
+ }, rest), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
96
119
  collapsable: false,
97
- style: this.props.style
98
- }, this.props.children), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
120
+ style: style
121
+ }, children), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
99
122
  collapsable: false
100
123
  }, !!FooterComponent && /*#__PURE__*/_react.default.createElement(FooterComponent, null))));
101
124
  }
@@ -103,6 +126,10 @@ class TrueSheet extends _react.PureComponent {
103
126
  exports.TrueSheet = TrueSheet;
104
127
  const $nativeSheet = {
105
128
  position: 'absolute',
129
+ width: 0,
106
130
  zIndex: -9999
107
131
  };
132
+ const $sheetWrapper = {
133
+ overflow: 'hidden'
134
+ };
108
135
  //# sourceMappingURL=TrueSheet.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TrueSheetModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","ComponentName","TrueSheetNativeView","requireNativeComponent","Error","TrueSheet","PureComponent","displayName","constructor","props","ref","createRef","onDismiss","bind","onPresent","onSizeChange","state","scrollableHandle","handle","nodeHandle","findNodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","componentDidMount","sizes","length","console","warn","componentDidUpdate","present","index","TrueSheetModule","dismiss","render","FooterComponent","createElement","style","$nativeSheet","maxHeight","View","collapsable","backgroundColor","children","exports","position","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TrueSheetModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","LINKING_ERROR","Platform","select","ios","ComponentName","TrueSheetNativeView","requireNativeComponent","Error","TrueSheet","PureComponent","displayName","constructor","props","ref","createRef","onDismiss","onPresent","onSizeChange","state","scrollableHandle","handle","nodeHandle","findNodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","componentDidMount","sizes","console","warn","componentDidUpdate","present","index","TrueSheetModule","dismiss","render","backgroundColor","blurStyle","cornerRadius","grabber","maxHeight","FooterComponent","testID","style","children","rest","createElement","$nativeSheet","View","collapsable","$sheetWrapper","borderTopLeftRadius","borderTopRightRadius","undefined","android","exports","position","width","zIndex","overflow"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.TrueSheet = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -14,5 +14,5 @@ class TrueSheet extends _react.default.Component {
14
14
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, this.props);
15
15
  }
16
16
  }
17
- exports.default = TrueSheet;
18
- //# sourceMappingURL=TrueSheet.js.map
17
+ exports.TrueSheet = TrueSheet;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","TrueSheet","React","Component","dismiss","jest","fn","present","render","createElement","View","props","exports"],"sourceRoot":"../../../src","sources":["__mocks__/index.js"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAmC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE5B,MAAMG,SAAS,SAASC,cAAK,CAACC,SAAS,CAAC;EAC7CC,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACnBC,OAAO,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EAEnBE,MAAMA,CAAA,EAAG;IACP,oBAAOd,MAAA,CAAAM,OAAA,CAAAS,aAAA,CAACZ,YAAA,CAAAa,IAAI,EAAK,IAAI,CAACC,KAAQ,CAAC;EACjC;AACF;AAACC,OAAA,CAAAX,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1,3 +1,4 @@
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); }
1
2
  import React, { PureComponent, createRef } from 'react';
2
3
  import { requireNativeComponent, Platform, findNodeHandle, View } from 'react-native';
3
4
  import { TrueSheetModule } from './TrueSheetModule';
@@ -38,8 +39,8 @@ export class TrueSheet extends PureComponent {
38
39
  onSizeChange(event) {
39
40
  this.props.onSizeChange?.(event.nativeEvent);
40
41
  }
41
- onPresent() {
42
- this.props.onPresent?.();
42
+ onPresent(event) {
43
+ this.props.onPresent?.(event.nativeEvent);
43
44
  }
44
45
  onDismiss() {
45
46
  this.props.onDismiss?.();
@@ -63,37 +64,63 @@ export class TrueSheet extends PureComponent {
63
64
  }
64
65
 
65
66
  /**
66
- * Dismiss the Sheet
67
+ * Dismisses the Sheet
67
68
  */
68
69
  async dismiss() {
69
70
  await TrueSheetModule.dismiss(this.handle);
70
71
  }
71
72
  render() {
72
- const FooterComponent = this.props.FooterComponent;
73
+ const {
74
+ sizes,
75
+ backgroundColor,
76
+ blurStyle,
77
+ cornerRadius,
78
+ grabber,
79
+ maxHeight,
80
+ FooterComponent,
81
+ testID,
82
+ style,
83
+ children,
84
+ ...rest
85
+ } = this.props;
73
86
  return /*#__PURE__*/React.createElement(TrueSheetNativeView, {
74
87
  ref: this.ref,
75
88
  style: $nativeSheet,
76
89
  scrollableHandle: this.state.scrollableHandle,
77
- sizes: this.props.sizes ?? ['medium', 'large'],
78
- maxHeight: this.props.maxHeight,
90
+ sizes: sizes ?? ['medium', 'large'],
91
+ blurStyle: blurStyle,
92
+ cornerRadius: cornerRadius,
93
+ grabber: grabber ?? true,
94
+ maxHeight: maxHeight,
79
95
  onPresent: this.onPresent,
80
96
  onDismiss: this.onDismiss,
81
- onSizeChange: this.onSizeChange
82
- }, /*#__PURE__*/React.createElement(View, {
97
+ onSizeChange: this.onSizeChange,
98
+ testID: testID
99
+ }, /*#__PURE__*/React.createElement(View, _extends({
83
100
  collapsable: false,
84
- style: {
85
- backgroundColor: this.props.backgroundColor ?? 'white'
86
- }
87
- }, /*#__PURE__*/React.createElement(View, {
101
+ style: [$sheetWrapper, {
102
+ borderTopLeftRadius: cornerRadius,
103
+ borderTopRightRadius: cornerRadius,
104
+ // Remove backgroundColor if `blurStyle` is set on iOS
105
+ backgroundColor: Platform.select({
106
+ ios: blurStyle ? undefined : backgroundColor ?? 'white',
107
+ android: backgroundColor ?? 'white'
108
+ })
109
+ }]
110
+ }, rest), /*#__PURE__*/React.createElement(View, {
88
111
  collapsable: false,
89
- style: this.props.style
90
- }, this.props.children), /*#__PURE__*/React.createElement(View, {
112
+ style: style
113
+ }, children), /*#__PURE__*/React.createElement(View, {
91
114
  collapsable: false
92
115
  }, !!FooterComponent && /*#__PURE__*/React.createElement(FooterComponent, null))));
93
116
  }
94
117
  }
95
118
  const $nativeSheet = {
96
119
  position: 'absolute',
120
+ width: 0,
97
121
  zIndex: -9999
98
122
  };
123
+ const $sheetWrapper = {
124
+ overflow: 'hidden'
125
+ };
99
126
  //# sourceMappingURL=TrueSheet.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","createRef","requireNativeComponent","Platform","findNodeHandle","View","TrueSheetModule","LINKING_ERROR","select","ios","default","ComponentName","TrueSheetNativeView","Error","TrueSheet","displayName","constructor","props","ref","onDismiss","bind","onPresent","onSizeChange","state","scrollableHandle","handle","nodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","componentDidMount","sizes","length","console","warn","componentDidUpdate","present","index","dismiss","render","FooterComponent","createElement","style","$nativeSheet","maxHeight","collapsable","backgroundColor","children","position","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAA6BC,SAAS,QAAwB,OAAO;AAClG,SACEC,sBAAsB,EACtBC,QAAQ,EACRC,cAAc,EACdC,IAAI,QAKC,cAAc;AAGrB,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,MAAMC,aAAa,GAChB,2FAA0F,GAC3FJ,QAAQ,CAACK,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,aAAa,GAAG,eAAe;AAarC,MAAMC,mBAAmB,GAAGV,sBAAsB,CAA2BS,aAAa,CAAC;AAE3F,IAAI,CAACC,mBAAmB,EAAE;EACxB,MAAM,IAAIC,KAAK,CAACN,aAAa,CAAC;AAChC;AAQA,OAAO,MAAMO,SAAS,SAASd,aAAa,CAAiC;EAC3Ee,WAAW,GAAG,WAAW;EAIzBC,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,GAAG,gBAAGjB,SAAS,CAAY,CAAC;IAEjC,IAAI,CAACkB,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACD,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAEhD,IAAI,CAACG,KAAK,GAAG;MACXC,gBAAgB,EAAE;IACpB,CAAC;EACH;EAEA,IAAYC,MAAMA,CAAA,EAAW;IAC3B,MAAMC,UAAU,GAAGtB,cAAc,CAAC,IAAI,CAACc,GAAG,CAACS,OAAO,CAAC;IACnD,IAAID,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAE;MAC3C,MAAM,IAAIb,KAAK,CAAE,+BAA8B,CAAC;IAClD;IAEA,OAAOa,UAAU;EACnB;EAEQE,WAAWA,CAAA,EAAG;IACpB,MAAMJ,gBAAgB,GAAG,IAAI,CAACP,KAAK,CAACY,SAAS,EAAEF,OAAO,GAClDvB,cAAc,CAAC,IAAI,CAACa,KAAK,CAACY,SAAS,CAACF,OAAO,CAAC,GAC5C,IAAI;IAER,IAAI,CAACG,QAAQ,CAAC;MACZN;IACF,CAAC,CAAC;EACJ;EAEQF,YAAYA,CAACS,KAA4C,EAAE;IACjE,IAAI,CAACd,KAAK,CAACK,YAAY,GAAGS,KAAK,CAACC,WAAW,CAAC;EAC9C;EAEQX,SAASA,CAAA,EAAS;IACxB,IAAI,CAACJ,KAAK,CAACI,SAAS,GAAG,CAAC;EAC1B;EAEQF,SAASA,CAAA,EAAS;IACxB,IAAI,CAACF,KAAK,CAACE,SAAS,GAAG,CAAC;EAC1B;EAEAc,iBAAiBA,CAAA,EAAS;IACxB,IAAI,IAAI,CAAChB,KAAK,CAACiB,KAAK,IAAI,IAAI,CAACjB,KAAK,CAACiB,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;MACnDC,OAAO,CAACC,IAAI,CACV,+GACF,CAAC;IACH;IAEA,IAAI,CAACT,WAAW,CAAC,CAAC;EACpB;EAEAU,kBAAkBA,CAAA,EAAS;IACzB,IAAI,CAACV,WAAW,CAAC,CAAC;EACpB;;EAEA;AACF;AACA;AACA;EACE,MAAaW,OAAOA,CAACC,KAAa,GAAG,CAAC,EAAE;IACtC,MAAMlC,eAAe,CAACiC,OAAO,CAAC,IAAI,CAACd,MAAM,EAAEe,KAAK,CAAC;EACnD;;EAEA;AACF;AACA;EACE,MAAaC,OAAOA,CAAA,EAAG;IACrB,MAAMnC,eAAe,CAACmC,OAAO,CAAC,IAAI,CAAChB,MAAM,CAAC;EAC5C;EAEAiB,MAAMA,CAAA,EAAc;IAClB,MAAMC,eAAe,GAAG,IAAI,CAAC1B,KAAK,CAAC0B,eAAe;IAElD,oBACE5C,KAAA,CAAA6C,aAAA,CAAChC,mBAAmB;MAClBM,GAAG,EAAE,IAAI,CAACA,GAAI;MACd2B,KAAK,EAAEC,YAAa;MACpBtB,gBAAgB,EAAE,IAAI,CAACD,KAAK,CAACC,gBAAiB;MAC9CU,KAAK,EAAE,IAAI,CAACjB,KAAK,CAACiB,KAAK,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAE;MAC/Ca,SAAS,EAAE,IAAI,CAAC9B,KAAK,CAAC8B,SAAU;MAChC1B,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BF,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BG,YAAY,EAAE,IAAI,CAACA;IAAa,gBAEhCvB,KAAA,CAAA6C,aAAA,CAACvC,IAAI;MACH2C,WAAW,EAAE,KAAM;MACnBH,KAAK,EAAE;QAAEI,eAAe,EAAE,IAAI,CAAChC,KAAK,CAACgC,eAAe,IAAI;MAAQ;IAAE,gBAElElD,KAAA,CAAA6C,aAAA,CAACvC,IAAI;MAAC2C,WAAW,EAAE,KAAM;MAACH,KAAK,EAAE,IAAI,CAAC5B,KAAK,CAAC4B;IAAM,GAC/C,IAAI,CAAC5B,KAAK,CAACiC,QACR,CAAC,eACPnD,KAAA,CAAA6C,aAAA,CAACvC,IAAI;MAAC2C,WAAW,EAAE;IAAM,GAAE,CAAC,CAACL,eAAe,iBAAI5C,KAAA,CAAA6C,aAAA,CAACD,eAAe,MAAE,CAAQ,CACtE,CACa,CAAC;EAE1B;AACF;AAEA,MAAMG,YAAuB,GAAG;EAC9BK,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,CAAC;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","PureComponent","createRef","requireNativeComponent","Platform","findNodeHandle","View","TrueSheetModule","LINKING_ERROR","select","ios","default","ComponentName","TrueSheetNativeView","Error","TrueSheet","displayName","constructor","props","ref","onDismiss","bind","onPresent","onSizeChange","state","scrollableHandle","handle","nodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","componentDidMount","sizes","length","console","warn","componentDidUpdate","present","index","dismiss","render","backgroundColor","blurStyle","cornerRadius","grabber","maxHeight","FooterComponent","testID","style","children","rest","createElement","$nativeSheet","_extends","collapsable","$sheetWrapper","borderTopLeftRadius","borderTopRightRadius","undefined","android","position","width","zIndex","overflow"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
- export default class TrueSheet extends React.Component {
3
+ export class TrueSheet extends React.Component {
4
4
  dismiss = jest.fn();
5
5
  present = jest.fn();
6
6
  render() {
7
7
  return /*#__PURE__*/React.createElement(View, this.props);
8
8
  }
9
9
  }
10
- //# sourceMappingURL=TrueSheet.js.map
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","TrueSheet","Component","dismiss","jest","fn","present","render","createElement","props"],"sourceRoot":"../../../src","sources":["__mocks__/index.js"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,SAAS,SAASF,KAAK,CAACG,SAAS,CAAC;EAC7CC,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACnBC,OAAO,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EAEnBE,MAAMA,CAAA,EAAG;IACP,oBAAOR,KAAA,CAAAS,aAAA,CAACR,IAAI,EAAK,IAAI,CAACS,KAAQ,CAAC;EACjC;AACF","ignoreList":[]}
@@ -20,7 +20,7 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
20
20
  */
21
21
  present(index?: number): Promise<void>;
22
22
  /**
23
- * Dismiss the Sheet
23
+ * Dismisses the Sheet
24
24
  */
25
25
  dismiss(): Promise<void>;
26
26
  render(): ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAYlG,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AA8B9D,UAAU,cAAc;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAE9B,KAAK,EAAE,cAAc;IAcjC,OAAO,KAAK,MAAM,GAOjB;IAED,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAIjB,iBAAiB,IAAI,IAAI;IAUzB,kBAAkB,IAAI,IAAI;IAI1B;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU;IAItC;;OAEG;IACU,OAAO;IAIpB,MAAM,IAAI,SAAS;CA0BpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWlG,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,SAAS,CAAA;AAyBvD,UAAU,cAAc;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAE9B,KAAK,EAAE,cAAc;IAcjC,OAAO,KAAK,MAAM,GAOjB;IAED,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAIjB,iBAAiB,IAAI,IAAI;IAUzB,kBAAkB,IAAI,IAAI;IAI1B;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU;IAItC;;OAEG;IACU,OAAO;IAIpB,MAAM,IAAI,SAAS;CAuDpB"}
@@ -1,12 +1,20 @@
1
1
  import type { Component, ComponentType, RefObject } from 'react';
2
2
  import type { ColorValue, ViewProps } from 'react-native';
3
- export interface SizeChangeEvent {
3
+ export interface SizeInfo {
4
4
  index: number;
5
5
  value: number;
6
6
  }
7
+ /**
8
+ * Blur style mapped to native values in IOS.
9
+ *
10
+ * @platform ios
11
+ */
12
+ export type BlurStyle = 'light' | 'dark' | 'default' | 'extraLight' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
7
13
  /**
8
14
  * Supported Sheet size.
9
- * Requires IOS 15+
15
+ *
16
+ * @platform android
17
+ * @platform ios 15+
10
18
  */
11
19
  export type SheetSize =
12
20
  /**
@@ -52,15 +60,6 @@ export type SheetSize =
52
60
  */
53
61
  | 'large';
54
62
  export interface TrueSheetProps extends ViewProps {
55
- /**
56
- * Main sheet background color
57
- */
58
- backgroundColor?: ColorValue;
59
- /**
60
- * The main scrollable ref that Sheet should handle on IOS.
61
- * @platform ios
62
- */
63
- scrollRef?: RefObject<Component<unknown>>;
64
63
  /**
65
64
  * The sizes you want the Sheet to support.
66
65
  * Maximum of 3 sizes only; collapsed, half-expanded, expanded.
@@ -73,6 +72,37 @@ export interface TrueSheetProps extends ViewProps {
73
72
  * @default ['medium', 'large']
74
73
  */
75
74
  sizes?: SheetSize[];
75
+ /**
76
+ * Main sheet background color
77
+ */
78
+ backgroundColor?: ColorValue;
79
+ /**
80
+ * The sheet corner radius.
81
+ *
82
+ * @platform android
83
+ * @platform ios 15+
84
+ */
85
+ cornerRadius?: number;
86
+ /**
87
+ * Shows native grabber (or handle) on IOS
88
+ *
89
+ * @platform ios
90
+ * @default true
91
+ */
92
+ grabber?: boolean;
93
+ /**
94
+ * The blur effect style on iOS.
95
+ * Overrides `backgroundColor` if set.
96
+ *
97
+ * @platform ios
98
+ */
99
+ blurStyle?: BlurStyle;
100
+ /**
101
+ * The main scrollable ref that Sheet should handle on IOS.
102
+ *
103
+ * @platform ios
104
+ */
105
+ scrollRef?: RefObject<Component<unknown>>;
76
106
  /**
77
107
  * Overrides `large` or `100%` height.
78
108
  */
@@ -83,9 +113,9 @@ export interface TrueSheetProps extends ViewProps {
83
113
  FooterComponent?: ComponentType<unknown>;
84
114
  /**
85
115
  * Called when the Sheet has been presented.
86
- * Comes with the size index.
116
+ * Comes with the size info.
87
117
  */
88
- onPresent?: () => void;
118
+ onPresent?: (info: SizeInfo) => void;
89
119
  /**
90
120
  * Called when the Sheet has been dismissed
91
121
  */
@@ -94,6 +124,6 @@ export interface TrueSheetProps extends ViewProps {
94
124
  * Called when the size of the sheet has changed.
95
125
  * Either by dragging or programatically.
96
126
  */
97
- onSizeChange?: (event: SizeChangeEvent) => void;
127
+ onSizeChange?: (info: SizeInfo) => void;
98
128
  }
99
129
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS;AACnB;;;;;GAKG;AACD,MAAM;AAER;;;;;GAKG;GACD,MAAM;AAER;;;;;GAKG;GACD,GAAG,MAAM,GAAG;AAEd;;;;;GAKG;GACD,OAAO;AAET;;;;;GAKG;GACD,QAAQ;AAEV;;;;;GAKG;GACD,OAAO,CAAA;AAEX,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAA;IAE5B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAEzC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAExC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEzD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,MAAM,GACN,SAAS,GACT,YAAY,GACZ,SAAS,GACT,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,GACtB,8BAA8B,GAC9B,yBAAyB,GACzB,qBAAqB,GACrB,0BAA0B,GAC1B,2BAA2B,GAC3B,6BAA6B,GAC7B,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,0BAA0B,CAAA;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,SAAS;AACnB;;;;;GAKG;AACD,MAAM;AAER;;;;;GAKG;GACD,MAAM;AAER;;;;;GAKG;GACD,GAAG,MAAM,GAAG;AAEd;;;;;GAKG;GACD,OAAO;AAET;;;;;GAKG;GACD,QAAQ;AAEV;;;;;GAKG;GACD,OAAO,CAAA;AAEX,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAA;IAE5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAExC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAEpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;CACxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "description": "The true native bottom sheet. 💩",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -38,7 +38,10 @@
38
38
  "keywords": [
39
39
  "react-native",
40
40
  "ios",
41
- "android"
41
+ "android",
42
+ "bottom-sheet",
43
+ "native-sheet",
44
+ "sheet"
42
45
  ],
43
46
  "repository": {
44
47
  "type": "git",
@@ -128,7 +131,7 @@
128
131
  "root": true,
129
132
  "ignorePatterns": [
130
133
  "lib",
131
- "src/__mocks__"
134
+ "__mocks__"
132
135
  ],
133
136
  "extends": [
134
137
  "plugin:@typescript-eslint/recommended",