@lodev09/react-native-true-sheet 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +34 -18
  2. package/android/src/main/java/com/lodev09/truesheet/{core/TrueSheetBehavior.kt → TrueSheetBehavior.kt} +69 -39
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetDialog.kt +84 -0
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +82 -61
  5. package/android/src/main/java/com/lodev09/truesheet/core/Events.kt +1 -0
  6. package/android/src/main/java/com/lodev09/truesheet/core/KeyboardManager.kt +53 -0
  7. package/android/src/main/java/com/lodev09/truesheet/core/RootViewGroup.kt +1 -1
  8. package/android/src/main/java/com/lodev09/truesheet/core/Utils.kt +5 -37
  9. package/ios/Extensions/UIView+pinTo.swift +54 -10
  10. package/ios/TrueSheetView.swift +56 -22
  11. package/ios/TrueSheetViewController.swift +36 -0
  12. package/lib/commonjs/TrueSheet.js +4 -1
  13. package/lib/commonjs/TrueSheet.js.map +1 -1
  14. package/lib/commonjs/TrueSheetGrabber.js +56 -0
  15. package/lib/commonjs/TrueSheetGrabber.js.map +1 -0
  16. package/lib/commonjs/index.js +11 -0
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/module/TrueSheet.js +4 -1
  19. package/lib/module/TrueSheet.js.map +1 -1
  20. package/lib/module/TrueSheetGrabber.js +48 -0
  21. package/lib/module/TrueSheetGrabber.js.map +1 -0
  22. package/lib/module/index.js +1 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  25. package/lib/typescript/src/TrueSheetGrabber.d.ts +31 -0
  26. package/lib/typescript/src/TrueSheetGrabber.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +1 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/src/TrueSheet.tsx +2 -0
  31. package/src/TrueSheetGrabber.tsx +74 -0
  32. package/src/index.ts +1 -0
@@ -1,46 +1,14 @@
1
1
  package com.lodev09.truesheet.core
2
2
 
3
- import android.annotation.SuppressLint
4
- import android.content.Context
5
- import android.graphics.Point
6
- import android.view.WindowManager
7
- import com.facebook.infer.annotation.Assertions
3
+ import android.view.View
8
4
  import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactContext
9
6
  import com.facebook.react.uimanager.PixelUtil
10
7
 
11
8
  object Utils {
12
- @SuppressLint("DiscouragedApi", "InternalInsetResource")
13
- fun maxSize(context: Context): Point {
14
- val minPoint = Point()
15
- val maxPoint = Point()
16
- val sizePoint = Point()
17
-
18
- val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
19
- val display = Assertions.assertNotNull(wm).defaultDisplay
20
- // getCurrentSizeRange will return the min and max width and height that the window can be
21
- display.getCurrentSizeRange(minPoint, maxPoint)
22
- // getSize will return the dimensions of the screen in its current orientation
23
- display.getSize(sizePoint)
24
- val attrs = intArrayOf(android.R.attr.windowFullscreen)
25
- val theme = context.theme
26
- val ta = theme.obtainStyledAttributes(attrs)
27
- val windowFullscreen = ta.getBoolean(0, false)
28
-
29
- // We need to add the status bar height to the height if we have a fullscreen window,
30
- // because Display.getCurrentSizeRange doesn't include it.
31
- val resources = context.resources
32
- val statusBarId = resources.getIdentifier("status_bar_height", "dimen", "android")
33
- var statusBarHeight = 0
34
- if (windowFullscreen && statusBarId > 0) {
35
- statusBarHeight = resources.getDimension(statusBarId).toInt()
36
- }
37
- return if (sizePoint.x < sizePoint.y) {
38
- // If we are vertical the width value comes from min width and height comes from max height
39
- Point(minPoint.x, maxPoint.y + statusBarHeight)
40
- } else {
41
- // If we are horizontal the width value comes from max width and height comes from min height
42
- Point(maxPoint.x, minPoint.y + statusBarHeight)
43
- }
9
+ fun activityView(reactContext: ReactContext): View? {
10
+ val activity = reactContext.currentActivity ?: return null
11
+ return activity.findViewById(android.R.id.content)
44
12
  }
45
13
 
46
14
  fun toDIP(value: Int): Float = PixelUtil.toDIPFromPixel(value.toFloat())
@@ -6,20 +6,64 @@
6
6
  // LICENSE file in the root directory of this source tree.
7
7
  //
8
8
 
9
+ // MARK: - Constraints
10
+
11
+ struct Constraints {
12
+ var top: NSLayoutConstraint?
13
+ var bottom: NSLayoutConstraint?
14
+ var left: NSLayoutConstraint?
15
+ var right: NSLayoutConstraint?
16
+ var height: NSLayoutConstraint?
17
+ }
18
+
9
19
  extension UIView {
10
- func pinTo(view: UIView, from edges: UIRectEdge = .all, with height: CGFloat? = nil) {
11
- var constraints: [NSLayoutConstraint] = []
20
+ /// Pin a view to the given view.
21
+ /// Optionally accepts a completion handler for the resulting constraints
22
+ func pinTo(
23
+ view: UIView,
24
+ from edges: UIRectEdge = .all,
25
+ with height: CGFloat? = nil,
26
+ constraints: ((Constraints) -> Void)?
27
+ ) {
28
+ translatesAutoresizingMaskIntoConstraints = false
12
29
 
13
- if edges.contains(.top) { constraints.append(topAnchor.constraint(equalTo: view.topAnchor)) }
14
- if edges.contains(.bottom) { constraints.append(bottomAnchor.constraint(equalTo: view.bottomAnchor)) }
15
- if edges.contains(.left) { constraints.append(leadingAnchor.constraint(equalTo: view.leadingAnchor)) }
16
- if edges.contains(.right) { constraints.append(trailingAnchor.constraint(equalTo: view.trailingAnchor)) }
30
+ var topConstraint: NSLayoutConstraint?
31
+ var bottomConstraint: NSLayoutConstraint?
32
+ var leftConstraint: NSLayoutConstraint?
33
+ var rightConstraint: NSLayoutConstraint?
34
+ var heightConstraint: NSLayoutConstraint?
17
35
 
18
- if let height { constraints.append(heightAnchor.constraint(equalToConstant: height)) }
36
+ if edges.contains(.top) {
37
+ topConstraint = topAnchor.constraint(equalTo: view.topAnchor)
38
+ topConstraint?.isActive = true
39
+ }
40
+
41
+ if edges.contains(.bottom) {
42
+ bottomConstraint = bottomAnchor.constraint(equalTo: view.bottomAnchor)
43
+ bottomConstraint?.isActive = true
44
+ }
19
45
 
20
- if !constraints.isEmpty {
21
- translatesAutoresizingMaskIntoConstraints = false
22
- NSLayoutConstraint.activate(constraints)
46
+ if edges.contains(.left) {
47
+ leftConstraint = leadingAnchor.constraint(equalTo: view.leadingAnchor)
48
+ leftConstraint?.isActive = true
23
49
  }
50
+
51
+ if edges.contains(.right) {
52
+ rightConstraint = trailingAnchor.constraint(equalTo: view.trailingAnchor)
53
+ rightConstraint?.isActive = true
54
+ }
55
+
56
+ if let height {
57
+ heightConstraint = heightAnchor.constraint(equalToConstant: height)
58
+ heightConstraint?.isActive = true
59
+ }
60
+
61
+ constraints?(Constraints(
62
+ top: topConstraint,
63
+ bottom: bottomConstraint,
64
+ left: leftConstraint,
65
+ right: rightConstraint,
66
+ height: heightConstraint
67
+ ))
24
68
  }
25
69
  }
@@ -31,6 +31,13 @@ class TrueSheetView: UIView, RCTInvalidating, TrueSheetViewControllerDelegate {
31
31
 
32
32
  private var contentView: UIView?
33
33
  private var footerView: UIView?
34
+
35
+ // Reference the bottom constraint to adjust during keyboard event
36
+ private var footerViewBottomConstraint: NSLayoutConstraint?
37
+
38
+ // Reference height constraint during content updates
39
+ private var footerViewHeightConstraint: NSLayoutConstraint?
40
+
34
41
  private var rctScrollView: RCTScrollView?
35
42
 
36
43
  // Content height minus the footer height for `auto` layout
@@ -109,15 +116,43 @@ class TrueSheetView: UIView, RCTInvalidating, TrueSheetViewControllerDelegate {
109
116
  contentView = containerView.subviews[0]
110
117
  footerView = containerView.subviews[1]
111
118
 
112
- containerView.pinTo(view: viewController.view)
119
+ containerView.pinTo(view: viewController.view, constraints: nil)
113
120
 
114
- // Setup content constraints
121
+ // Set footer constraints
122
+ if let footerView {
123
+ footerView.pinTo(view: viewController.view, from: [.left, .right, .bottom], with: 0) { constraints in
124
+ self.footerViewBottomConstraint = constraints.bottom
125
+ self.footerViewHeightConstraint = constraints.height
126
+ }
127
+ }
128
+
129
+ // Update content containers
115
130
  setupContent()
116
131
  }
117
132
  }
118
133
 
119
134
  // MARK: - ViewController delegate
120
135
 
136
+ func viewControllerKeyboardWillHide() {
137
+ guard let footerViewBottomConstraint else { return }
138
+
139
+ footerViewBottomConstraint.constant = 0
140
+
141
+ UIView.animate(withDuration: 0.3) {
142
+ self.viewController.view.layoutIfNeeded()
143
+ }
144
+ }
145
+
146
+ func viewControllerKeyboardWillShow(_ keyboardHeight: CGFloat) {
147
+ guard let footerViewBottomConstraint else { return }
148
+
149
+ footerViewBottomConstraint.constant = -keyboardHeight
150
+
151
+ UIView.animate(withDuration: 0.3) {
152
+ self.viewController.view.layoutIfNeeded()
153
+ }
154
+ }
155
+
121
156
  func viewControllerDidChangeWidth(_ width: CGFloat) {
122
157
  guard let containerView else { return }
123
158
 
@@ -238,41 +273,40 @@ class TrueSheetView: UIView, RCTInvalidating, TrueSheetViewControllerDelegate {
238
273
  }
239
274
  }
240
275
 
241
- func dismiss(promise: Promise) {
242
- if isPresented {
243
- viewController.dismiss(animated: true) {
244
- promise.resolve(nil)
245
- }
246
- } else {
247
- promise.resolve(nil)
248
- }
249
- }
250
-
251
276
  func setupContent() {
252
277
  guard let contentView, let containerView else { return }
253
278
 
254
279
  // Add constraints to fix weirdness and support ScrollView
255
280
  if let rctScrollView {
256
- contentView.pinTo(view: containerView)
257
- rctScrollView.pinTo(view: contentView)
281
+ contentView.pinTo(view: containerView, constraints: nil)
282
+ rctScrollView.pinTo(view: contentView, constraints: nil)
258
283
  }
259
284
 
260
- // Pin footer at the bottom
261
- if let footerView {
285
+ if let footerView, let footerViewHeightConstraint {
262
286
  if let footerContent = footerView.subviews.first {
263
287
  containerView.bringSubviewToFront(footerView)
264
- footerView.pinTo(
265
- view: viewController.view,
266
- from: [.bottom, .left, .right],
267
- with: footerContent.bounds.height
268
- )
288
+ footerViewHeightConstraint.constant = footerContent.bounds.height
269
289
  } else {
270
290
  containerView.sendSubviewToBack(footerView)
271
- footerView.removeConstraints(footerView.constraints)
291
+ footerViewHeightConstraint.constant = 0
272
292
  }
273
293
  }
274
294
  }
275
295
 
296
+ func dismiss(promise: Promise) {
297
+ guard isPresented else {
298
+ promise.resolve(nil)
299
+ return
300
+ }
301
+
302
+ // Dismiss the keyboard
303
+ contentView?.endEditing(true)
304
+
305
+ viewController.dismiss(animated: true) {
306
+ promise.resolve(nil)
307
+ }
308
+ }
309
+
276
310
  func present(at index: Int, promise: Promise) {
277
311
  let rvc = reactViewController()
278
312
 
@@ -20,6 +20,8 @@ protocol TrueSheetViewControllerDelegate: AnyObject {
20
20
  func viewControllerDidDismiss()
21
21
  func viewControllerSheetDidChangeSize(_ sizeInfo: SizeInfo)
22
22
  func viewControllerWillAppear()
23
+ func viewControllerKeyboardWillShow(_ keyboardHeight: CGFloat)
24
+ func viewControllerKeyboardWillHide()
23
25
  }
24
26
 
25
27
  // MARK: - TrueSheetViewController
@@ -52,6 +54,10 @@ class TrueSheetViewController: UIViewController, UISheetPresentationControllerDe
52
54
  view.insertSubview(blurView, at: 0)
53
55
  }
54
56
 
57
+ deinit {
58
+ NotificationCenter.default.removeObserver(self)
59
+ }
60
+
55
61
  @available(*, unavailable)
56
62
  required init?(coder _: NSCoder) {
57
63
  fatalError("init(coder:) has not been implemented")
@@ -65,6 +71,36 @@ class TrueSheetViewController: UIViewController, UISheetPresentationControllerDe
65
71
  }
66
72
  }
67
73
 
74
+ override func viewDidLoad() {
75
+ super.viewDidLoad()
76
+
77
+ NotificationCenter.default.addObserver(
78
+ self, selector: #selector(keyboardWillShow(_:)),
79
+ name: UIResponder.keyboardWillShowNotification,
80
+ object: nil
81
+ )
82
+
83
+ NotificationCenter.default.addObserver(
84
+ self, selector: #selector(keyboardWillHide(_:)),
85
+ name: UIResponder.keyboardWillHideNotification,
86
+ object: nil
87
+ )
88
+ }
89
+
90
+ @objc
91
+ private func keyboardWillShow(_ notification: Notification) {
92
+ guard let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue else {
93
+ return
94
+ }
95
+
96
+ delegate?.viewControllerKeyboardWillShow(keyboardSize.height)
97
+ }
98
+
99
+ @objc
100
+ private func keyboardWillHide(_: Notification) {
101
+ delegate?.viewControllerKeyboardWillHide()
102
+ }
103
+
68
104
  override func viewWillAppear(_ animated: Bool) {
69
105
  super.viewWillAppear(animated)
70
106
  delegate?.viewControllerWillAppear()
@@ -7,6 +7,7 @@ exports.TrueSheet = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _TrueSheetModule = require("./TrueSheetModule");
10
+ var _TrueSheetGrabber = require("./TrueSheetGrabber");
10
11
  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
12
  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
13
  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); }
@@ -133,7 +134,9 @@ class TrueSheet extends _react.PureComponent {
133
134
  style: contentContainerStyle
134
135
  }, children), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
135
136
  collapsable: false
136
- }, !!FooterComponent && /*#__PURE__*/_react.default.createElement(FooterComponent, null))));
137
+ }, !!FooterComponent && /*#__PURE__*/_react.default.createElement(FooterComponent, null)), _reactNative.Platform.OS === 'android' && /*#__PURE__*/_react.default.createElement(_TrueSheetGrabber.TrueSheetGrabber, {
138
+ visible: grabber
139
+ })));
137
140
  }
138
141
  }
139
142
  exports.TrueSheet = TrueSheet;
@@ -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","_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","resize","dismiss","render","backgroundColor","grabber","dismissible","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","createElement","$nativeSheet","View","collapsable","overflow","undefined","android","borderTopLeftRadius","borderTopRightRadius","exports","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TrueSheetModule","_TrueSheetGrabber","_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","resize","dismiss","render","backgroundColor","grabber","dismissible","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","createElement","$nativeSheet","View","collapsable","overflow","undefined","android","borderTopLeftRadius","borderTopRightRadius","OS","TrueSheetGrabber","visible","exports","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TrueSheetGrabber = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ 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); }
11
+ const GRABBER_WRAPPER_HEIGHT = 24;
12
+ const GRABBER_DEFAULT_HEIGHT = 4;
13
+ const GRABBER_DEFAULT_WIDTH = 32;
14
+ const GRABBER_DEFAULT_COLOR = '#49454F';
15
+ /**
16
+ * Little Grabber component.
17
+ * Used by defualt for Android but feel free to re-use.
18
+ */
19
+ const TrueSheetGrabber = props => {
20
+ const {
21
+ visible = true,
22
+ color = GRABBER_DEFAULT_COLOR,
23
+ width = GRABBER_DEFAULT_WIDTH,
24
+ height = GRABBER_DEFAULT_HEIGHT,
25
+ style,
26
+ ...rest
27
+ } = props;
28
+ if (!visible) return null;
29
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
30
+ style: $wrapper
31
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
32
+ style: [$grabber, {
33
+ height,
34
+ width,
35
+ backgroundColor: color
36
+ }, style]
37
+ }, rest)));
38
+ };
39
+ exports.TrueSheetGrabber = TrueSheetGrabber;
40
+ const $wrapper = {
41
+ position: 'absolute',
42
+ top: 0,
43
+ left: 0,
44
+ right: 0,
45
+ alignSelf: 'center',
46
+ height: GRABBER_WRAPPER_HEIGHT,
47
+ alignItems: 'center',
48
+ zIndex: 9999
49
+ };
50
+ const $grabber = {
51
+ // M3 spec for opacity
52
+ opacity: 0.4,
53
+ borderRadius: GRABBER_DEFAULT_HEIGHT / 2,
54
+ top: 6
55
+ };
56
+ //# sourceMappingURL=TrueSheetGrabber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","GRABBER_WRAPPER_HEIGHT","GRABBER_DEFAULT_HEIGHT","GRABBER_DEFAULT_WIDTH","GRABBER_DEFAULT_COLOR","TrueSheetGrabber","props","visible","color","width","height","style","rest","createElement","View","$wrapper","$grabber","backgroundColor","exports","position","top","left","right","alignSelf","alignItems","zIndex","opacity","borderRadius"],"sourceRoot":"../../src","sources":["TrueSheetGrabber.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoF,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEpF,MAAMQ,sBAAsB,GAAG,EAAE;AACjC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,qBAAqB,GAAG,SAAS;AA4BvC;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAIC,KAA4B,IAAK;EAChE,MAAM;IACJC,OAAO,GAAG,IAAI;IACdC,KAAK,GAAGJ,qBAAqB;IAC7BK,KAAK,GAAGN,qBAAqB;IAC7BO,MAAM,GAAGR,sBAAsB;IAC/BS,KAAK;IACL,GAAGC;EACL,CAAC,GAAGN,KAAK;EAET,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACE3B,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAAC9B,YAAA,CAAA+B,IAAI;IAACH,KAAK,EAAEI;EAAS,gBACpBnC,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAAC9B,YAAA,CAAA+B,IAAI,EAAA3B,QAAA;IAACwB,KAAK,EAAE,CAACK,QAAQ,EAAE;MAAEN,MAAM;MAAED,KAAK;MAAEQ,eAAe,EAAET;IAAM,CAAC,EAAEG,KAAK;EAAE,GAAKC,IAAI,CAAG,CAClF,CAAC;AAEX,CAAC;AAAAM,OAAA,CAAAb,gBAAA,GAAAA,gBAAA;AAED,MAAMU,QAAmB,GAAG;EAC1BI,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,QAAQ;EACnBb,MAAM,EAAET,sBAAsB;EAC9BuB,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE;AACV,CAAC;AAED,MAAMT,QAAmB,GAAG;EAC1B;EACAU,OAAO,EAAE,GAAG;EACZC,YAAY,EAAEzB,sBAAsB,GAAG,CAAC;EACxCkB,GAAG,EAAE;AACP,CAAC","ignoreList":[]}
@@ -25,4 +25,15 @@ Object.keys(_TrueSheet).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _TrueSheetGrabber = require("./TrueSheetGrabber");
29
+ Object.keys(_TrueSheetGrabber).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _TrueSheetGrabber[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _TrueSheetGrabber[key];
36
+ }
37
+ });
38
+ });
28
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_TrueSheet"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_TrueSheet","_TrueSheetGrabber"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,iBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,iBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,iBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,iBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -2,6 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import React, { PureComponent, createRef } from 'react';
3
3
  import { requireNativeComponent, Platform, findNodeHandle, View } from 'react-native';
4
4
  import { TrueSheetModule } from './TrueSheetModule';
5
+ import { TrueSheetGrabber } from './TrueSheetGrabber';
5
6
  const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
6
7
  ios: "- You have run 'pod install'\n",
7
8
  default: ''
@@ -125,7 +126,9 @@ export class TrueSheet extends PureComponent {
125
126
  style: contentContainerStyle
126
127
  }, children), /*#__PURE__*/React.createElement(View, {
127
128
  collapsable: false
128
- }, !!FooterComponent && /*#__PURE__*/React.createElement(FooterComponent, null))));
129
+ }, !!FooterComponent && /*#__PURE__*/React.createElement(FooterComponent, null)), Platform.OS === 'android' && /*#__PURE__*/React.createElement(TrueSheetGrabber, {
130
+ visible: grabber
131
+ })));
129
132
  }
130
133
  }
131
134
  const $nativeSheet = {
@@ -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","resize","dismiss","render","backgroundColor","grabber","dismissible","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","createElement","$nativeSheet","_extends","collapsable","overflow","undefined","android","borderTopLeftRadius","borderTopRightRadius","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","PureComponent","createRef","requireNativeComponent","Platform","findNodeHandle","View","TrueSheetModule","TrueSheetGrabber","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","resize","dismiss","render","backgroundColor","grabber","dismissible","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","createElement","$nativeSheet","_extends","collapsable","overflow","undefined","android","borderTopLeftRadius","borderTopRightRadius","OS","visible","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,48 @@
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
+ import React from 'react';
3
+ import { View } from 'react-native';
4
+ const GRABBER_WRAPPER_HEIGHT = 24;
5
+ const GRABBER_DEFAULT_HEIGHT = 4;
6
+ const GRABBER_DEFAULT_WIDTH = 32;
7
+ const GRABBER_DEFAULT_COLOR = '#49454F';
8
+ /**
9
+ * Little Grabber component.
10
+ * Used by defualt for Android but feel free to re-use.
11
+ */
12
+ export const TrueSheetGrabber = props => {
13
+ const {
14
+ visible = true,
15
+ color = GRABBER_DEFAULT_COLOR,
16
+ width = GRABBER_DEFAULT_WIDTH,
17
+ height = GRABBER_DEFAULT_HEIGHT,
18
+ style,
19
+ ...rest
20
+ } = props;
21
+ if (!visible) return null;
22
+ return /*#__PURE__*/React.createElement(View, {
23
+ style: $wrapper
24
+ }, /*#__PURE__*/React.createElement(View, _extends({
25
+ style: [$grabber, {
26
+ height,
27
+ width,
28
+ backgroundColor: color
29
+ }, style]
30
+ }, rest)));
31
+ };
32
+ const $wrapper = {
33
+ position: 'absolute',
34
+ top: 0,
35
+ left: 0,
36
+ right: 0,
37
+ alignSelf: 'center',
38
+ height: GRABBER_WRAPPER_HEIGHT,
39
+ alignItems: 'center',
40
+ zIndex: 9999
41
+ };
42
+ const $grabber = {
43
+ // M3 spec for opacity
44
+ opacity: 0.4,
45
+ borderRadius: GRABBER_DEFAULT_HEIGHT / 2,
46
+ top: 6
47
+ };
48
+ //# sourceMappingURL=TrueSheetGrabber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","GRABBER_WRAPPER_HEIGHT","GRABBER_DEFAULT_HEIGHT","GRABBER_DEFAULT_WIDTH","GRABBER_DEFAULT_COLOR","TrueSheetGrabber","props","visible","color","width","height","style","rest","createElement","$wrapper","_extends","$grabber","backgroundColor","position","top","left","right","alignSelf","alignItems","zIndex","opacity","borderRadius"],"sourceRoot":"../../src","sources":["TrueSheetGrabber.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAyD,cAAc;AAEpF,MAAMC,sBAAsB,GAAG,EAAE;AACjC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,qBAAqB,GAAG,SAAS;AA4BvC;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,KAA4B,IAAK;EAChE,MAAM;IACJC,OAAO,GAAG,IAAI;IACdC,KAAK,GAAGJ,qBAAqB;IAC7BK,KAAK,GAAGN,qBAAqB;IAC7BO,MAAM,GAAGR,sBAAsB;IAC/BS,KAAK;IACL,GAAGC;EACL,CAAC,GAAGN,KAAK;EAET,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACER,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACW,KAAK,EAAEG;EAAS,gBACpBf,KAAA,CAAAc,aAAA,CAACb,IAAI,EAAAe,QAAA;IAACJ,KAAK,EAAE,CAACK,QAAQ,EAAE;MAAEN,MAAM;MAAED,KAAK;MAAEQ,eAAe,EAAET;IAAM,CAAC,EAAEG,KAAK;EAAE,GAAKC,IAAI,CAAG,CAClF,CAAC;AAEX,CAAC;AAED,MAAME,QAAmB,GAAG;EAC1BI,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,QAAQ;EACnBZ,MAAM,EAAET,sBAAsB;EAC9BsB,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE;AACV,CAAC;AAED,MAAMR,QAAmB,GAAG;EAC1B;EACAS,OAAO,EAAE,GAAG;EACZC,YAAY,EAAExB,sBAAsB,GAAG,CAAC;EACxCiB,GAAG,EAAE;AACP,CAAC","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './TrueSheet';
3
+ export * from './TrueSheetGrabber';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,aAAa","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,oBAAoB","ignoreList":[]}
@@ -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;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,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,MAAM,IAAI,SAAS;CAyDpB"}
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;AA0BvD,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,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,MAAM,IAAI,SAAS;CA0DpB"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { type ColorValue, type ViewProps } from 'react-native';
3
+ interface TrueSheetGrabberProps extends ViewProps {
4
+ /**
5
+ * Is grabber visible
6
+ * @default true
7
+ */
8
+ visible?: boolean;
9
+ /**
10
+ * Grabber color according to M3 specs
11
+ * @default #49454F
12
+ */
13
+ color?: ColorValue;
14
+ /**
15
+ * Grabber height according to M3 specs
16
+ * @default 4
17
+ */
18
+ height?: number;
19
+ /**
20
+ * Grabber width according to M3 specs
21
+ * @default 32
22
+ */
23
+ width?: number;
24
+ }
25
+ /**
26
+ * Little Grabber component.
27
+ * Used by defualt for Android but feel free to re-use.
28
+ */
29
+ export declare const TrueSheetGrabber: (props: TrueSheetGrabberProps) => React.JSX.Element | null;
30
+ export {};
31
+ //# sourceMappingURL=TrueSheetGrabber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrueSheetGrabber.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetGrabber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAQ,KAAK,UAAU,EAAE,KAAK,SAAS,EAAkB,MAAM,cAAc,CAAA;AAOpF,UAAU,qBAAsB,SAAQ,SAAS;IAC/C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,6BAiB5D,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './TrueSheet';
3
+ export * from './TrueSheetGrabber';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "The true native bottom sheet. 💩",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/TrueSheet.tsx CHANGED
@@ -11,6 +11,7 @@ import {
11
11
 
12
12
  import type { TrueSheetProps, SizeInfo } from './types'
13
13
  import { TrueSheetModule } from './TrueSheetModule'
14
+ import { TrueSheetGrabber } from './TrueSheetGrabber'
14
15
 
15
16
  const LINKING_ERROR =
16
17
  `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` +
@@ -178,6 +179,7 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
178
179
  {children}
179
180
  </View>
180
181
  <View collapsable={false}>{!!FooterComponent && <FooterComponent />}</View>
182
+ {Platform.OS === 'android' && <TrueSheetGrabber visible={grabber} />}
181
183
  </View>
182
184
  </TrueSheetNativeView>
183
185
  )