@lodev09/react-native-true-sheet 1.1.0 → 2.0.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.
- package/android/build.gradle +11 -18
- package/android/gradle.properties +5 -5
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetDialog.kt +31 -8
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetEvent.kt +22 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +133 -53
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +11 -13
- package/android/src/main/java/com/lodev09/truesheet/core/RootSheetView.kt +4 -13
- package/ios/Extensions/UIView+pinTo.swift +5 -0
- package/ios/TrueSheetEvent.swift +48 -0
- package/ios/TrueSheetView.swift +109 -69
- package/ios/TrueSheetViewController.swift +96 -31
- package/ios/TrueSheetViewManager.m +3 -0
- package/lib/commonjs/TrueSheet.js +17 -2
- package/lib/commonjs/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.js +17 -2
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/typescript/commonjs/src/TrueSheet.d.ts +8 -0
- package/lib/typescript/commonjs/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/TrueSheet.types.d.ts +33 -5
- package/lib/typescript/commonjs/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/module/src/TrueSheet.d.ts +8 -0
- package/lib/typescript/module/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/module/src/TrueSheet.types.d.ts +33 -5
- package/lib/typescript/module/src/TrueSheet.types.d.ts.map +1 -1
- package/package.json +8 -6
- package/react-native-true-sheet.podspec +1 -1
- package/src/TrueSheet.tsx +31 -10
- package/src/TrueSheet.types.ts +43 -5
- package/android/src/main/java/com/lodev09/truesheet/events/ContainerSizeChangeEvent.kt +0 -23
- package/android/src/main/java/com/lodev09/truesheet/events/DismissEvent.kt +0 -16
- package/android/src/main/java/com/lodev09/truesheet/events/MountEvent.kt +0 -16
- package/android/src/main/java/com/lodev09/truesheet/events/PresentEvent.kt +0 -23
- package/android/src/main/java/com/lodev09/truesheet/events/SizeChangeEvent.kt +0 -23
package/lib/module/TrueSheet.js
CHANGED
|
@@ -28,6 +28,9 @@ export class TrueSheet extends PureComponent {
|
|
|
28
28
|
this.onDismiss = this.onDismiss.bind(this);
|
|
29
29
|
this.onPresent = this.onPresent.bind(this);
|
|
30
30
|
this.onSizeChange = this.onSizeChange.bind(this);
|
|
31
|
+
this.onDragBegin = this.onDragBegin.bind(this);
|
|
32
|
+
this.onDragChange = this.onDragChange.bind(this);
|
|
33
|
+
this.onDragEnd = this.onDragEnd.bind(this);
|
|
31
34
|
this.onContentLayout = this.onContentLayout.bind(this);
|
|
32
35
|
this.onFooterLayout = this.onFooterLayout.bind(this);
|
|
33
36
|
this.onContainerSizeChange = this.onContainerSizeChange.bind(this);
|
|
@@ -92,7 +95,7 @@ export class TrueSheet extends PureComponent {
|
|
|
92
95
|
});
|
|
93
96
|
}
|
|
94
97
|
onSizeChange(event) {
|
|
95
|
-
this.props.onSizeChange?.(event
|
|
98
|
+
this.props.onSizeChange?.(event);
|
|
96
99
|
}
|
|
97
100
|
onContainerSizeChange(event) {
|
|
98
101
|
this.setState({
|
|
@@ -101,7 +104,7 @@ export class TrueSheet extends PureComponent {
|
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
106
|
onPresent(event) {
|
|
104
|
-
this.props.onPresent?.(event
|
|
107
|
+
this.props.onPresent?.(event);
|
|
105
108
|
}
|
|
106
109
|
onFooterLayout(event) {
|
|
107
110
|
this.setState({
|
|
@@ -119,6 +122,15 @@ export class TrueSheet extends PureComponent {
|
|
|
119
122
|
onMount() {
|
|
120
123
|
this.props.onMount?.();
|
|
121
124
|
}
|
|
125
|
+
onDragBegin(event) {
|
|
126
|
+
this.props.onDragBegin?.(event);
|
|
127
|
+
}
|
|
128
|
+
onDragChange(event) {
|
|
129
|
+
this.props.onDragChange?.(event);
|
|
130
|
+
}
|
|
131
|
+
onDragEnd(event) {
|
|
132
|
+
this.props.onDragEnd?.(event);
|
|
133
|
+
}
|
|
122
134
|
|
|
123
135
|
/**
|
|
124
136
|
* Present the sheet. Optionally accepts a size `index`.
|
|
@@ -196,6 +208,9 @@ export class TrueSheet extends PureComponent {
|
|
|
196
208
|
onPresent: this.onPresent,
|
|
197
209
|
onDismiss: this.onDismiss,
|
|
198
210
|
onSizeChange: this.onSizeChange,
|
|
211
|
+
onDragBegin: this.onDragBegin,
|
|
212
|
+
onDragChange: this.onDragChange,
|
|
213
|
+
onDragEnd: this.onDragEnd,
|
|
199
214
|
onContainerSizeChange: this.onContainerSizeChange,
|
|
200
215
|
children: /*#__PURE__*/_jsxs(View, {
|
|
201
216
|
collapsable: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","requireNativeComponent","Platform","findNodeHandle","View","processColor","TrueSheetModule","TrueSheetGrabber","TrueSheetFooter","jsx","_jsx","jsxs","_jsxs","NATIVE_COMPONENT_NAME","LINKING_ERROR","select","ios","default","TrueSheetNativeView","Error","TrueSheet","displayName","handles","constructor","props","ref","onMount","bind","onDismiss","onPresent","onSizeChange","onContentLayout","onFooterLayout","onContainerSizeChange","state","containerWidth","undefined","containerHeight","contentHeight","footerHeight","scrollableHandle","getHandle","name","handle","console","warn","present","index","dismiss","resize","nodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","width","height","layout","componentDidMount","sizes","length","componentDidUpdate","render","backgroundColor","dismissible","grabber","dimmed","initialIndexAnimated","edgeToEdge","keyboardMode","initialIndex","dimmedIndex","grabberProps","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","$nativeSheet","background","collapsable","overflow","android","onLayout","Component","OS","visible","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAA6BC,SAAS,QAAwB,OAAO;AAC3F,SACEC,sBAAsB,EACtBC,QAAQ,EACRC,cAAc,EACdC,IAAI,EAMJC,YAAY,QACP,cAAc;
|
|
1
|
+
{"version":3,"names":["PureComponent","createRef","requireNativeComponent","Platform","findNodeHandle","View","processColor","TrueSheetModule","TrueSheetGrabber","TrueSheetFooter","jsx","_jsx","jsxs","_jsxs","NATIVE_COMPONENT_NAME","LINKING_ERROR","select","ios","default","TrueSheetNativeView","Error","TrueSheet","displayName","handles","constructor","props","ref","onMount","bind","onDismiss","onPresent","onSizeChange","onDragBegin","onDragChange","onDragEnd","onContentLayout","onFooterLayout","onContainerSizeChange","state","containerWidth","undefined","containerHeight","contentHeight","footerHeight","scrollableHandle","getHandle","name","handle","console","warn","present","index","dismiss","resize","nodeHandle","current","updateState","scrollRef","setState","event","nativeEvent","width","height","layout","componentDidMount","sizes","length","componentDidUpdate","render","backgroundColor","dismissible","grabber","dimmed","initialIndexAnimated","edgeToEdge","keyboardMode","initialIndex","dimmedIndex","grabberProps","blurTint","cornerRadius","maxHeight","FooterComponent","style","contentContainerStyle","children","rest","$nativeSheet","background","collapsable","overflow","android","onLayout","Component","OS","visible","position","left","zIndex"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { PureComponent, type ReactNode } from 'react';
|
|
2
|
+
import { type NativeSyntheticEvent } from 'react-native';
|
|
2
3
|
import type { TrueSheetProps } from './TrueSheet.types';
|
|
4
|
+
export type ContainerSizeChangeEvent = NativeSyntheticEvent<{
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}>;
|
|
3
8
|
interface TrueSheetState {
|
|
4
9
|
containerWidth?: number;
|
|
5
10
|
containerHeight?: number;
|
|
@@ -40,6 +45,9 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
|
|
|
40
45
|
private onContentLayout;
|
|
41
46
|
private onDismiss;
|
|
42
47
|
private onMount;
|
|
48
|
+
private onDragBegin;
|
|
49
|
+
private onDragChange;
|
|
50
|
+
private onDragEnd;
|
|
43
51
|
/**
|
|
44
52
|
* Present the sheet. Optionally accepts a size `index`.
|
|
45
53
|
* See `sizes` prop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3F,OAAO,EAOL,KAAK,oBAAoB,EAI1B,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAA;AAY1B,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAY9F,UAAU,cAAc;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAQD,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAE1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAEpD,KAAK,EAAE,cAAc;IAyBjC,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB;;;OAGG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU;IAO3D;;;OAGG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM;IAOxC;;;OAGG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAItD,OAAO,KAAK,MAAM,GAOjB;IAED,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB;;;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,iBAAiB,IAAI,IAAI;IAUzB,kBAAkB,IAAI,IAAI;IAI1B,MAAM,IAAI,SAAS;CA8EpB"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { Component, ComponentType, ReactElement, RefObject } from 'react';
|
|
2
|
-
import type { ColorValue, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorValue, NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
3
3
|
import type { TrueSheetGrabberProps } from './TrueSheetGrabber';
|
|
4
4
|
export interface SizeInfo {
|
|
5
5
|
index: number;
|
|
6
6
|
value: number;
|
|
7
7
|
}
|
|
8
|
+
export type SizeChangeEvent = NativeSyntheticEvent<SizeInfo>;
|
|
9
|
+
export type PresentEvent = NativeSyntheticEvent<SizeInfo>;
|
|
10
|
+
export type DragBeginEvent = NativeSyntheticEvent<SizeInfo>;
|
|
11
|
+
export type DragChangeEvent = NativeSyntheticEvent<SizeInfo>;
|
|
12
|
+
export type DragEndEvent = NativeSyntheticEvent<SizeInfo>;
|
|
8
13
|
/**
|
|
9
14
|
* Blur style mapped to native values in IOS.
|
|
10
15
|
*
|
|
@@ -126,8 +131,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
126
131
|
dismissible?: boolean;
|
|
127
132
|
/**
|
|
128
133
|
* Main sheet background color.
|
|
129
|
-
|
|
130
|
-
*
|
|
134
|
+
|
|
131
135
|
* @default white
|
|
132
136
|
*/
|
|
133
137
|
backgroundColor?: ColorValue;
|
|
@@ -199,7 +203,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
199
203
|
* Called when the Sheet has been presented.
|
|
200
204
|
* Comes with the size info.
|
|
201
205
|
*/
|
|
202
|
-
onPresent?: (
|
|
206
|
+
onPresent?: (event: PresentEvent) => void;
|
|
203
207
|
/**
|
|
204
208
|
* Called when the Sheet has been dismissed
|
|
205
209
|
*/
|
|
@@ -208,6 +212,30 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
208
212
|
* Called when the size of the sheet has changed.
|
|
209
213
|
* Either by dragging or programatically.
|
|
210
214
|
*/
|
|
211
|
-
onSizeChange?: (
|
|
215
|
+
onSizeChange?: (event: SizeChangeEvent) => void;
|
|
216
|
+
/**
|
|
217
|
+
* Called when the sheet has began dragging.
|
|
218
|
+
* Comes with the size info.
|
|
219
|
+
*
|
|
220
|
+
* @platform android
|
|
221
|
+
* @platform ios 15+
|
|
222
|
+
*/
|
|
223
|
+
onDragBegin?: (event: DragBeginEvent) => void;
|
|
224
|
+
/**
|
|
225
|
+
* Called when the sheet is being dragged.
|
|
226
|
+
* Comes with the size info.
|
|
227
|
+
*
|
|
228
|
+
* @platform android
|
|
229
|
+
* @platform ios 15+
|
|
230
|
+
*/
|
|
231
|
+
onDragChange?: (event: DragChangeEvent) => void;
|
|
232
|
+
/**
|
|
233
|
+
* Called when the sheet dragging has ended.
|
|
234
|
+
* Comes with the size info.
|
|
235
|
+
*
|
|
236
|
+
* @platform android
|
|
237
|
+
* @platform ios 15+
|
|
238
|
+
*/
|
|
239
|
+
onDragEnd?: (event: DragEndEvent) => void;
|
|
212
240
|
}
|
|
213
241
|
//# sourceMappingURL=TrueSheet.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { PureComponent, type ReactNode } from 'react';
|
|
2
|
+
import { type NativeSyntheticEvent } from 'react-native';
|
|
2
3
|
import type { TrueSheetProps } from './TrueSheet.types';
|
|
4
|
+
export type ContainerSizeChangeEvent = NativeSyntheticEvent<{
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}>;
|
|
3
8
|
interface TrueSheetState {
|
|
4
9
|
containerWidth?: number;
|
|
5
10
|
containerHeight?: number;
|
|
@@ -40,6 +45,9 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
|
|
|
40
45
|
private onContentLayout;
|
|
41
46
|
private onDismiss;
|
|
42
47
|
private onMount;
|
|
48
|
+
private onDragBegin;
|
|
49
|
+
private onDragChange;
|
|
50
|
+
private onDragEnd;
|
|
43
51
|
/**
|
|
44
52
|
* Present the sheet. Optionally accepts a size `index`.
|
|
45
53
|
* See `sizes` prop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3F,OAAO,EAOL,KAAK,oBAAoB,EAI1B,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAA;AAY1B,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAY9F,UAAU,cAAc;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAQD,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAE1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAEpD,KAAK,EAAE,cAAc;IAyBjC,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB;;;OAGG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU;IAO3D;;;OAGG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM;IAOxC;;;OAGG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAItD,OAAO,KAAK,MAAM,GAOjB;IAED,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB;;;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,iBAAiB,IAAI,IAAI;IAUzB,kBAAkB,IAAI,IAAI;IAI1B,MAAM,IAAI,SAAS;CA8EpB"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { Component, ComponentType, ReactElement, RefObject } from 'react';
|
|
2
|
-
import type { ColorValue, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorValue, NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
3
3
|
import type { TrueSheetGrabberProps } from './TrueSheetGrabber';
|
|
4
4
|
export interface SizeInfo {
|
|
5
5
|
index: number;
|
|
6
6
|
value: number;
|
|
7
7
|
}
|
|
8
|
+
export type SizeChangeEvent = NativeSyntheticEvent<SizeInfo>;
|
|
9
|
+
export type PresentEvent = NativeSyntheticEvent<SizeInfo>;
|
|
10
|
+
export type DragBeginEvent = NativeSyntheticEvent<SizeInfo>;
|
|
11
|
+
export type DragChangeEvent = NativeSyntheticEvent<SizeInfo>;
|
|
12
|
+
export type DragEndEvent = NativeSyntheticEvent<SizeInfo>;
|
|
8
13
|
/**
|
|
9
14
|
* Blur style mapped to native values in IOS.
|
|
10
15
|
*
|
|
@@ -126,8 +131,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
126
131
|
dismissible?: boolean;
|
|
127
132
|
/**
|
|
128
133
|
* Main sheet background color.
|
|
129
|
-
|
|
130
|
-
*
|
|
134
|
+
|
|
131
135
|
* @default white
|
|
132
136
|
*/
|
|
133
137
|
backgroundColor?: ColorValue;
|
|
@@ -199,7 +203,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
199
203
|
* Called when the Sheet has been presented.
|
|
200
204
|
* Comes with the size info.
|
|
201
205
|
*/
|
|
202
|
-
onPresent?: (
|
|
206
|
+
onPresent?: (event: PresentEvent) => void;
|
|
203
207
|
/**
|
|
204
208
|
* Called when the Sheet has been dismissed
|
|
205
209
|
*/
|
|
@@ -208,6 +212,30 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
208
212
|
* Called when the size of the sheet has changed.
|
|
209
213
|
* Either by dragging or programatically.
|
|
210
214
|
*/
|
|
211
|
-
onSizeChange?: (
|
|
215
|
+
onSizeChange?: (event: SizeChangeEvent) => void;
|
|
216
|
+
/**
|
|
217
|
+
* Called when the sheet has began dragging.
|
|
218
|
+
* Comes with the size info.
|
|
219
|
+
*
|
|
220
|
+
* @platform android
|
|
221
|
+
* @platform ios 15+
|
|
222
|
+
*/
|
|
223
|
+
onDragBegin?: (event: DragBeginEvent) => void;
|
|
224
|
+
/**
|
|
225
|
+
* Called when the sheet is being dragged.
|
|
226
|
+
* Comes with the size info.
|
|
227
|
+
*
|
|
228
|
+
* @platform android
|
|
229
|
+
* @platform ios 15+
|
|
230
|
+
*/
|
|
231
|
+
onDragChange?: (event: DragChangeEvent) => void;
|
|
232
|
+
/**
|
|
233
|
+
* Called when the sheet dragging has ended.
|
|
234
|
+
* Comes with the size info.
|
|
235
|
+
*
|
|
236
|
+
* @platform android
|
|
237
|
+
* @platform ios 15+
|
|
238
|
+
*/
|
|
239
|
+
onDragEnd?: (event: DragEndEvent) => void;
|
|
212
240
|
}
|
|
213
241
|
//# sourceMappingURL=TrueSheet.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodev09/react-native-true-sheet",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "The true native bottom sheet experience for your React Native Apps.",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"lint": "eslint --fix \"**/*.{js,ts,tsx}\"",
|
|
45
45
|
"format": "prettier --write \"**/*.{js,ts,tsx}\"",
|
|
46
46
|
"tidy": "yarn typecheck && yarn lint && yarn format && scripts/swiftlint.sh && scripts/ktlint.sh",
|
|
47
|
-
"clean": "
|
|
47
|
+
"clean": "scripts/clean.sh",
|
|
48
48
|
"prepare": "bob build",
|
|
49
49
|
"release": "yarn tidy && release-it"
|
|
50
50
|
},
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
"@evilmartians/lefthook": "^1.5.0",
|
|
75
75
|
"@react-native-community/cli": "15.0.1",
|
|
76
76
|
"@react-native/eslint-config": "^0.73.1",
|
|
77
|
+
"@release-it/conventional-changelog": "^9.0.2",
|
|
77
78
|
"@types/jest": "^29.5.5",
|
|
78
79
|
"@types/react": "^18.2.44",
|
|
79
80
|
"commitlint": "^17.0.2",
|
|
@@ -84,9 +85,10 @@
|
|
|
84
85
|
"jest": "^29.7.0",
|
|
85
86
|
"prettier": "^3.0.3",
|
|
86
87
|
"react": "18.3.1",
|
|
87
|
-
"react-native": "0.
|
|
88
|
-
"react-native-builder-bob": "^0.
|
|
88
|
+
"react-native": "0.77.1",
|
|
89
|
+
"react-native-builder-bob": "^0.37.0",
|
|
89
90
|
"release-it": "^17.10.0",
|
|
91
|
+
"turbo": "^1.10.7",
|
|
90
92
|
"typescript": "^5.2.2"
|
|
91
93
|
},
|
|
92
94
|
"resolutions": {
|
|
@@ -194,8 +196,8 @@
|
|
|
194
196
|
]
|
|
195
197
|
},
|
|
196
198
|
"create-react-native-library": {
|
|
197
|
-
"type": "view
|
|
199
|
+
"type": "legacy-view",
|
|
198
200
|
"languages": "kotlin-swift",
|
|
199
|
-
"version": "0.
|
|
201
|
+
"version": "0.47.0"
|
|
200
202
|
}
|
|
201
203
|
}
|
|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.license = package["license"]
|
|
12
12
|
s.authors = package["author"]
|
|
13
13
|
|
|
14
|
-
s.platforms = { :ios =>
|
|
14
|
+
s.platforms = { :ios => "13.4" }
|
|
15
15
|
s.source = { :git => "https://github.com/lodev09/react-native-true-sheet.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
package/src/TrueSheet.tsx
CHANGED
|
@@ -12,7 +12,14 @@ import {
|
|
|
12
12
|
processColor,
|
|
13
13
|
} from 'react-native'
|
|
14
14
|
|
|
15
|
-
import type {
|
|
15
|
+
import type {
|
|
16
|
+
TrueSheetProps,
|
|
17
|
+
DragBeginEvent,
|
|
18
|
+
DragChangeEvent,
|
|
19
|
+
DragEndEvent,
|
|
20
|
+
SizeChangeEvent,
|
|
21
|
+
PresentEvent,
|
|
22
|
+
} from './TrueSheet.types'
|
|
16
23
|
import { TrueSheetModule } from './TrueSheetModule'
|
|
17
24
|
import { TrueSheetGrabber } from './TrueSheetGrabber'
|
|
18
25
|
import { TrueSheetFooter } from './TrueSheetFooter'
|
|
@@ -24,17 +31,13 @@ const LINKING_ERROR =
|
|
|
24
31
|
'- You rebuilt the app after installing the package\n' +
|
|
25
32
|
'- You are not using Expo Go\n'
|
|
26
33
|
|
|
27
|
-
type ContainerSizeChangeEvent = NativeSyntheticEvent<{ width: number; height: number }>
|
|
28
|
-
type SizeChangeEvent = NativeSyntheticEvent<SizeInfo>
|
|
34
|
+
export type ContainerSizeChangeEvent = NativeSyntheticEvent<{ width: number; height: number }>
|
|
29
35
|
|
|
30
|
-
interface TrueSheetNativeViewProps
|
|
31
|
-
extends Omit<TrueSheetProps, 'onPresent' | 'onSizeChange' | 'backgroundColor'> {
|
|
36
|
+
interface TrueSheetNativeViewProps extends Omit<TrueSheetProps, 'backgroundColor'> {
|
|
32
37
|
contentHeight?: number
|
|
33
38
|
footerHeight?: number
|
|
34
39
|
background?: ProcessedColorValue | null
|
|
35
40
|
scrollableHandle: number | null
|
|
36
|
-
onPresent: (event: SizeChangeEvent) => void
|
|
37
|
-
onSizeChange: (event: SizeChangeEvent) => void
|
|
38
41
|
onContainerSizeChange: (event: ContainerSizeChangeEvent) => void
|
|
39
42
|
}
|
|
40
43
|
|
|
@@ -73,6 +76,9 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
73
76
|
this.onDismiss = this.onDismiss.bind(this)
|
|
74
77
|
this.onPresent = this.onPresent.bind(this)
|
|
75
78
|
this.onSizeChange = this.onSizeChange.bind(this)
|
|
79
|
+
this.onDragBegin = this.onDragBegin.bind(this)
|
|
80
|
+
this.onDragChange = this.onDragChange.bind(this)
|
|
81
|
+
this.onDragEnd = this.onDragEnd.bind(this)
|
|
76
82
|
this.onContentLayout = this.onContentLayout.bind(this)
|
|
77
83
|
this.onFooterLayout = this.onFooterLayout.bind(this)
|
|
78
84
|
this.onContainerSizeChange = this.onContainerSizeChange.bind(this)
|
|
@@ -150,7 +156,7 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
150
156
|
}
|
|
151
157
|
|
|
152
158
|
private onSizeChange(event: SizeChangeEvent): void {
|
|
153
|
-
this.props.onSizeChange?.(event
|
|
159
|
+
this.props.onSizeChange?.(event)
|
|
154
160
|
}
|
|
155
161
|
|
|
156
162
|
private onContainerSizeChange(event: ContainerSizeChangeEvent): void {
|
|
@@ -160,8 +166,8 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
160
166
|
})
|
|
161
167
|
}
|
|
162
168
|
|
|
163
|
-
private onPresent(event:
|
|
164
|
-
this.props.onPresent?.(event
|
|
169
|
+
private onPresent(event: PresentEvent): void {
|
|
170
|
+
this.props.onPresent?.(event)
|
|
165
171
|
}
|
|
166
172
|
|
|
167
173
|
private onFooterLayout(event: LayoutChangeEvent): void {
|
|
@@ -184,6 +190,18 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
184
190
|
this.props.onMount?.()
|
|
185
191
|
}
|
|
186
192
|
|
|
193
|
+
private onDragBegin(event: DragBeginEvent): void {
|
|
194
|
+
this.props.onDragBegin?.(event)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private onDragChange(event: DragChangeEvent): void {
|
|
198
|
+
this.props.onDragChange?.(event)
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
private onDragEnd(event: DragEndEvent): void {
|
|
202
|
+
this.props.onDragEnd?.(event)
|
|
203
|
+
}
|
|
204
|
+
|
|
187
205
|
/**
|
|
188
206
|
* Present the sheet. Optionally accepts a size `index`.
|
|
189
207
|
* See `sizes` prop
|
|
@@ -268,6 +286,9 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
268
286
|
onPresent={this.onPresent}
|
|
269
287
|
onDismiss={this.onDismiss}
|
|
270
288
|
onSizeChange={this.onSizeChange}
|
|
289
|
+
onDragBegin={this.onDragBegin}
|
|
290
|
+
onDragChange={this.onDragChange}
|
|
291
|
+
onDragEnd={this.onDragEnd}
|
|
271
292
|
onContainerSizeChange={this.onContainerSizeChange}
|
|
272
293
|
>
|
|
273
294
|
<View
|
package/src/TrueSheet.types.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { Component, ComponentType, ReactElement, RefObject } from 'react'
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
ColorValue,
|
|
4
|
+
NativeSyntheticEvent,
|
|
5
|
+
StyleProp,
|
|
6
|
+
ViewProps,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native'
|
|
3
9
|
|
|
4
10
|
import type { TrueSheetGrabberProps } from './TrueSheetGrabber'
|
|
5
11
|
|
|
@@ -8,6 +14,12 @@ export interface SizeInfo {
|
|
|
8
14
|
value: number
|
|
9
15
|
}
|
|
10
16
|
|
|
17
|
+
export type SizeChangeEvent = NativeSyntheticEvent<SizeInfo>
|
|
18
|
+
export type PresentEvent = NativeSyntheticEvent<SizeInfo>
|
|
19
|
+
export type DragBeginEvent = NativeSyntheticEvent<SizeInfo>
|
|
20
|
+
export type DragChangeEvent = NativeSyntheticEvent<SizeInfo>
|
|
21
|
+
export type DragEndEvent = NativeSyntheticEvent<SizeInfo>
|
|
22
|
+
|
|
11
23
|
/**
|
|
12
24
|
* Blur style mapped to native values in IOS.
|
|
13
25
|
*
|
|
@@ -163,8 +175,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
163
175
|
|
|
164
176
|
/**
|
|
165
177
|
* Main sheet background color.
|
|
166
|
-
|
|
167
|
-
*
|
|
178
|
+
|
|
168
179
|
* @default white
|
|
169
180
|
*/
|
|
170
181
|
backgroundColor?: ColorValue
|
|
@@ -248,7 +259,7 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
248
259
|
* Called when the Sheet has been presented.
|
|
249
260
|
* Comes with the size info.
|
|
250
261
|
*/
|
|
251
|
-
onPresent?: (
|
|
262
|
+
onPresent?: (event: PresentEvent) => void
|
|
252
263
|
|
|
253
264
|
/**
|
|
254
265
|
* Called when the Sheet has been dismissed
|
|
@@ -259,5 +270,32 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
259
270
|
* Called when the size of the sheet has changed.
|
|
260
271
|
* Either by dragging or programatically.
|
|
261
272
|
*/
|
|
262
|
-
onSizeChange?: (
|
|
273
|
+
onSizeChange?: (event: SizeChangeEvent) => void
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Called when the sheet has began dragging.
|
|
277
|
+
* Comes with the size info.
|
|
278
|
+
*
|
|
279
|
+
* @platform android
|
|
280
|
+
* @platform ios 15+
|
|
281
|
+
*/
|
|
282
|
+
onDragBegin?: (event: DragBeginEvent) => void
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Called when the sheet is being dragged.
|
|
286
|
+
* Comes with the size info.
|
|
287
|
+
*
|
|
288
|
+
* @platform android
|
|
289
|
+
* @platform ios 15+
|
|
290
|
+
*/
|
|
291
|
+
onDragChange?: (event: DragChangeEvent) => void
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Called when the sheet dragging has ended.
|
|
295
|
+
* Comes with the size info.
|
|
296
|
+
*
|
|
297
|
+
* @platform android
|
|
298
|
+
* @platform ios 15+
|
|
299
|
+
*/
|
|
300
|
+
onDragEnd?: (event: DragEndEvent) => void
|
|
263
301
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
package com.lodev09.truesheet.events
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.WritableMap
|
|
5
|
-
import com.facebook.react.uimanager.events.Event
|
|
6
|
-
|
|
7
|
-
// onContainerSizeChange
|
|
8
|
-
class ContainerSizeChangeEvent(surfaceId: Int, viewId: Int, private val width: Float, private val height: Float) :
|
|
9
|
-
Event<ContainerSizeChangeEvent>(surfaceId, viewId) {
|
|
10
|
-
override fun getEventName() = EVENT_NAME
|
|
11
|
-
|
|
12
|
-
override fun getEventData(): WritableMap {
|
|
13
|
-
val data = Arguments.createMap()
|
|
14
|
-
data.putDouble("width", width.toDouble())
|
|
15
|
-
data.putDouble("height", height.toDouble())
|
|
16
|
-
|
|
17
|
-
return data
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
companion object {
|
|
21
|
-
const val EVENT_NAME = "containerSizeChange"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
package com.lodev09.truesheet.events
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.WritableMap
|
|
5
|
-
import com.facebook.react.uimanager.events.Event
|
|
6
|
-
|
|
7
|
-
// onDismiss
|
|
8
|
-
class DismissEvent(surfaceId: Int, viewId: Int) : Event<DismissEvent>(surfaceId, viewId) {
|
|
9
|
-
override fun getEventName() = EVENT_NAME
|
|
10
|
-
|
|
11
|
-
override fun getEventData(): WritableMap = Arguments.createMap()
|
|
12
|
-
|
|
13
|
-
companion object {
|
|
14
|
-
const val EVENT_NAME = "dismiss"
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
package com.lodev09.truesheet.events
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.WritableMap
|
|
5
|
-
import com.facebook.react.uimanager.events.Event
|
|
6
|
-
|
|
7
|
-
// onMount
|
|
8
|
-
class MountEvent(surfaceId: Int, viewId: Int) : Event<MountEvent>(surfaceId, viewId) {
|
|
9
|
-
override fun getEventName() = EVENT_NAME
|
|
10
|
-
|
|
11
|
-
override fun getEventData(): WritableMap = Arguments.createMap()
|
|
12
|
-
|
|
13
|
-
companion object {
|
|
14
|
-
const val EVENT_NAME = "ready"
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
package com.lodev09.truesheet.events
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.WritableMap
|
|
5
|
-
import com.facebook.react.uimanager.events.Event
|
|
6
|
-
import com.lodev09.truesheet.SizeInfo
|
|
7
|
-
|
|
8
|
-
// onPresent
|
|
9
|
-
class PresentEvent(surfaceId: Int, viewId: Int, private val sizeInfo: SizeInfo) : Event<PresentEvent>(surfaceId, viewId) {
|
|
10
|
-
override fun getEventName() = EVENT_NAME
|
|
11
|
-
|
|
12
|
-
override fun getEventData(): WritableMap {
|
|
13
|
-
val data = Arguments.createMap()
|
|
14
|
-
data.putInt("index", sizeInfo.index)
|
|
15
|
-
data.putDouble("value", sizeInfo.value.toDouble())
|
|
16
|
-
|
|
17
|
-
return data
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
companion object {
|
|
21
|
-
const val EVENT_NAME = "present"
|
|
22
|
-
}
|
|
23
|
-
}
|