@draftbit/core 49.7.6-e09d3d.2 → 49.7.7-ba2f6c.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "49.7.6-e09d3d.2+e09d3da",
3
+ "version": "49.7.7-ba2f6c.2+ba2f6c0",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "types": "lib/typescript/src/index.d.ts",
@@ -42,7 +42,7 @@
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@dotlottie/react-player": "1.6.1",
44
44
  "@draftbit/react-theme-provider": "^2.1.1",
45
- "@draftbit/theme": "^49.7.6-e09d3d.2+e09d3da",
45
+ "@draftbit/theme": "^49.7.7-ba2f6c.2+ba2f6c0",
46
46
  "@expo/vector-icons": "^13.0.0",
47
47
  "@gorhom/bottom-sheet": "5.0.0-alpha.7",
48
48
  "@lottiefiles/react-lottie-player": "3.5.3",
@@ -120,5 +120,5 @@
120
120
  ],
121
121
  "testEnvironment": "node"
122
122
  },
123
- "gitHead": "e09d3dab6b2efa177d2dc8a071ce5e7e176d55e3"
123
+ "gitHead": "ba2f6c09749aac6bf01271ef53289e32024bae12"
124
124
  }
@@ -7,7 +7,7 @@ const windowHeight = Dimensions.get("window").height;
7
7
  // Clarification:
8
8
  // Input of snap points is sorted top -> bottom where each value represents distance from top
9
9
  // Implementation using `@gorhom/bottom-sheet` is sorted bottom -> top where each value represents distance from bottom
10
- const BottomSheet = React.forwardRef(({ snapPoints: snapPointsProp, topSnapPosition = "10%", middleSnapPosition = "50%", bottomSnapPosition = "80%", initialSnapIndex, initialSnapPosition = "bottom", showHandle = true, handleColor, topBorderRadius = 20, borderWidth = 1, borderColor, onSettle, style, children, ...rest }, ref) => {
10
+ const BottomSheet = React.forwardRef(({ snapPoints: snapPointsProp, topSnapPosition = "10%", middleSnapPosition = "50%", bottomSnapPosition = "80%", initialSnapIndex, initialSnapPosition = "bottom", showHandle = true, handleColor, topBorderRadius = 20, borderWidth = 1, borderColor, enableDynamicSizing = true, onSettle, style, children, ...rest }, ref) => {
11
11
  const theme = useTheme();
12
12
  const backgroundColor = (style === null || style === void 0 ? void 0 : style.backgroundColor) || theme.colors.background.brand;
13
13
  const snapPoints = snapPointsProp !== null && snapPointsProp !== void 0 ? snapPointsProp : [
@@ -26,7 +26,7 @@ const BottomSheet = React.forwardRef(({ snapPoints: snapPointsProp, topSnapPosit
26
26
  return 2;
27
27
  }
28
28
  };
29
- return (React.createElement(BottomSheetComponent, { ref: ref, snapPoints: mappedSnapPoints, index: initialSnapIndex !== undefined
29
+ return (React.createElement(BottomSheetComponent, { ref: ref, enableDynamicSizing: enableDynamicSizing, snapPoints: mappedSnapPoints, index: initialSnapIndex !== undefined
30
30
  ? mappedSnapPoints.length - initialSnapIndex - 1
31
31
  : getSnapIndexFromPosition(initialSnapPosition), handleIndicatorStyle: [
32
32
  { backgroundColor: handleColor !== null && handleColor !== void 0 ? handleColor : theme.colors.border.brand },
@@ -37,7 +37,12 @@ const BottomSheet = React.forwardRef(({ snapPoints: snapPointsProp, topSnapPosit
37
37
  borderTopRightRadius: topBorderRadius,
38
38
  borderWidth,
39
39
  borderColor: borderColor !== null && borderColor !== void 0 ? borderColor : theme.colors.border.brand,
40
- }, onChange: (index) => onSettle === null || onSettle === void 0 ? void 0 : onSettle(mappedSnapPoints.length - index - 1) },
40
+ }, onChange: (index) =>
41
+ // Convert bottom-sheet index to match our top-to-bottom ordering
42
+ // When dynamic sizing is enabled, we don't need to subtract 1 since an extra snap point may be added
43
+ enableDynamicSizing
44
+ ? onSettle === null || onSettle === void 0 ? void 0 : onSettle(mappedSnapPoints.length - index)
45
+ : onSettle === null || onSettle === void 0 ? void 0 : onSettle(mappedSnapPoints.length - index - 1) },
41
46
  React.createElement(BottomSheetScrollView, { contentContainerStyle: [styles.contentContainerStyle, style], ...rest }, children)));
42
47
  });
43
48
  // @gorhom/bottom-sheet has a different format for snap points and requires some manipulation
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.js","sourceRoot":"","sources":["BottomSheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BottomSheet.js","sourceRoot":"","sources":["BottomSheet.tsx"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ export interface BottomSheetProps extends ScrollViewProps {
35
35
  topBorderRadius?: number;
36
36
  borderWidth?: number;
37
37
  borderColor?: string;
38
+ enableDynamicSizing?: boolean;
38
39
  onSettle?: (index: number) => void;
39
40
  style?: StyleProp<ViewStyle>;
40
41
  }
@@ -56,6 +57,7 @@ const BottomSheet = React.forwardRef<BottomSheetComponent, BottomSheetProps>(
56
57
  topBorderRadius = 20,
57
58
  borderWidth = 1,
58
59
  borderColor,
60
+ enableDynamicSizing = true,
59
61
  onSettle,
60
62
  style,
61
63
  children,
@@ -92,6 +94,7 @@ const BottomSheet = React.forwardRef<BottomSheetComponent, BottomSheetProps>(
92
94
  return (
93
95
  <BottomSheetComponent
94
96
  ref={ref}
97
+ enableDynamicSizing={enableDynamicSizing}
95
98
  snapPoints={mappedSnapPoints}
96
99
  index={
97
100
  initialSnapIndex !== undefined
@@ -109,7 +112,13 @@ const BottomSheet = React.forwardRef<BottomSheetComponent, BottomSheetProps>(
109
112
  borderWidth,
110
113
  borderColor: borderColor ?? theme.colors.border.brand,
111
114
  }}
112
- onChange={(index) => onSettle?.(mappedSnapPoints.length - index - 1)}
115
+ onChange={(index) =>
116
+ // Convert bottom-sheet index to match our top-to-bottom ordering
117
+ // When dynamic sizing is enabled, we don't need to subtract 1 since an extra snap point may be added
118
+ enableDynamicSizing
119
+ ? onSettle?.(mappedSnapPoints.length - index)
120
+ : onSettle?.(mappedSnapPoints.length - index - 1)
121
+ }
113
122
  >
114
123
  <BottomSheetScrollView
115
124
  contentContainerStyle={[styles.contentContainerStyle, style]}
@@ -1,8 +1,8 @@
1
1
  import { withTheme } from "@draftbit/theme";
2
- import React from "react";
2
+ import React, { forwardRef, useImperativeHandle } from "react";
3
3
  import { View } from "react-native";
4
4
  import SwiperComponent from "react-native-web-swiper";
5
- const Swiper = ({ theme, vertical = false, loop = false, timeout = 0, from = 0, prevTitle = "", nextTitle = "", prevTitleColor, nextTitleColor, dotsTouchable = true, dotColor = theme.colors.foreground.brand, dotActiveColor = theme.colors.branding.primary, data, keyExtractor, renderItem, children: childrenProp, onIndexChanged: onIndexChangedProp, onSwipe, onSwipedNext, onSwipedPrevious, minDistanceForAction, minDistanceToCapture, style, }) => {
5
+ const Swiper = forwardRef(({ theme, vertical = false, loop = false, timeout = 0, from = 0, prevTitle = "", nextTitle = "", prevTitleColor, nextTitleColor, dotsTouchable = true, dotColor = theme === null || theme === void 0 ? void 0 : theme.colors.foreground.brand, dotActiveColor = theme === null || theme === void 0 ? void 0 : theme.colors.branding.primary, data, keyExtractor, renderItem, children: childrenProp, onIndexChanged: onIndexChangedProp, onSwipe, onSwipedNext, onSwipedPrevious, minDistanceForAction, minDistanceToCapture, style, }, ref) => {
6
6
  var _a;
7
7
  const [currentIndex, setCurrentIndex] = React.useState(0);
8
8
  const numberOfItems = (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : React.Children.count(childrenProp);
@@ -56,6 +56,20 @@ const Swiper = ({ theme, vertical = false, loop = false, timeout = 0, from = 0,
56
56
  swiperRef.current.forceUpdate();
57
57
  }
58
58
  }, [children]);
59
+ useImperativeHandle(ref, () => ({
60
+ swipeTo: (index) => {
61
+ var _a;
62
+ (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.goTo(index);
63
+ },
64
+ swipeNext: () => {
65
+ var _a;
66
+ (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.goToNext();
67
+ },
68
+ swipePrev: () => {
69
+ var _a;
70
+ (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.goToPrev();
71
+ },
72
+ }));
59
73
  return (React.createElement(View, { style: style },
60
74
  React.createElement(SwiperComponent, { ref: swiperRef, from: from, loop: loop, timeout: timeout, vertical: vertical, onIndexChanged: onIndexChanged, minDistanceForAction: minDistanceForAction, minDistanceToCapture: minDistanceToCapture, controlsProps: {
61
75
  prevTitle,
@@ -70,6 +84,6 @@ const Swiper = ({ theme, vertical = false, loop = false, timeout = 0, from = 0,
70
84
  ? { dotActiveStyle: { backgroundColor: dotActiveColor } }
71
85
  : {}),
72
86
  } }, children)));
73
- };
87
+ });
74
88
  export default withTheme(Swiper);
75
89
  //# sourceMappingURL=Swiper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Swiper.js","sourceRoot":"","sources":["Swiper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Swiper.js","sourceRoot":"","sources":["Swiper.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  import { ReadTheme, withTheme } from "@draftbit/theme";
2
- import React from "react";
2
+ import React, { forwardRef, useImperativeHandle } from "react";
3
3
  import { View, StyleProp, ViewStyle } from "react-native";
4
4
  import SwiperComponent from "react-native-web-swiper";
5
5
 
6
+ export interface SwiperRef {
7
+ swipeTo: (index: number) => void;
8
+ swipeNext: () => void;
9
+ swipePrev: () => void;
10
+ }
11
+
6
12
  export interface SwiperProps<T> {
7
13
  onSwipe?: (index: number) => void;
8
14
  onSwipedNext?: (index: number) => void;
@@ -29,123 +35,140 @@ export interface SwiperProps<T> {
29
35
  theme: ReadTheme;
30
36
  }
31
37
 
32
- const Swiper = ({
33
- theme,
34
- vertical = false,
35
- loop = false,
36
- timeout = 0,
37
- from = 0,
38
- prevTitle = "",
39
- nextTitle = "",
40
- prevTitleColor,
41
- nextTitleColor,
42
- dotsTouchable = true,
43
- dotColor = theme.colors.foreground.brand,
44
- dotActiveColor = theme.colors.branding.primary,
45
- data,
46
- keyExtractor,
47
- renderItem,
48
- children: childrenProp,
49
- onIndexChanged: onIndexChangedProp,
50
- onSwipe,
51
- onSwipedNext,
52
- onSwipedPrevious,
53
- minDistanceForAction,
54
- minDistanceToCapture,
55
- style,
56
- }: SwiperProps<any>) => {
57
- const [currentIndex, setCurrentIndex] = React.useState(0);
58
- const numberOfItems = data?.length ?? React.Children.count(childrenProp);
59
- const swiperRef = React.useRef<any>(null);
60
-
61
- const onIndexChanged = (index: number) => {
62
- const previous = currentIndex;
63
- const current = index;
38
+ const Swiper = forwardRef<SwiperRef, SwiperProps<any>>(
39
+ (
40
+ {
41
+ theme,
42
+ vertical = false,
43
+ loop = false,
44
+ timeout = 0,
45
+ from = 0,
46
+ prevTitle = "",
47
+ nextTitle = "",
48
+ prevTitleColor,
49
+ nextTitleColor,
50
+ dotsTouchable = true,
51
+ dotColor = theme?.colors.foreground.brand,
52
+ dotActiveColor = theme?.colors.branding.primary,
53
+ data,
54
+ keyExtractor,
55
+ renderItem,
56
+ children: childrenProp,
57
+ onIndexChanged: onIndexChangedProp,
58
+ onSwipe,
59
+ onSwipedNext,
60
+ onSwipedPrevious,
61
+ minDistanceForAction,
62
+ minDistanceToCapture,
63
+ style,
64
+ }: SwiperProps<any>,
65
+ ref
66
+ ) => {
67
+ const [currentIndex, setCurrentIndex] = React.useState(0);
68
+ const numberOfItems = data?.length ?? React.Children.count(childrenProp);
69
+ const swiperRef = React.useRef<any>(null);
64
70
 
65
- onIndexChangedProp?.(index);
66
- setCurrentIndex(index);
71
+ const onIndexChanged = (index: number) => {
72
+ const previous = currentIndex;
73
+ const current = index;
67
74
 
68
- if (previous === numberOfItems - 1 && current === 0) {
69
- //Last -> first swipe
70
- onSwipedNext?.(previous);
71
- } else if (previous === 0 && current === numberOfItems - 1) {
72
- //First -> last swipe
73
- onSwipedPrevious?.(previous);
74
- } else if (current > previous) {
75
- onSwipedNext?.(previous);
76
- } else if (current < previous) {
77
- onSwipedPrevious?.(previous);
78
- }
79
- onSwipe?.(previous);
80
- };
75
+ onIndexChangedProp?.(index);
76
+ setCurrentIndex(index);
81
77
 
82
- const children: React.ReactNode = React.useMemo(
83
- () =>
84
- Array.isArray(data) && renderItem
85
- ? data.map((item, index) => {
86
- const component = renderItem({ item, index });
78
+ if (previous === numberOfItems - 1 && current === 0) {
79
+ //Last -> first swipe
80
+ onSwipedNext?.(previous);
81
+ } else if (previous === 0 && current === numberOfItems - 1) {
82
+ //First -> last swipe
83
+ onSwipedPrevious?.(previous);
84
+ } else if (current > previous) {
85
+ onSwipedNext?.(previous);
86
+ } else if (current < previous) {
87
+ onSwipedPrevious?.(previous);
88
+ }
89
+ onSwipe?.(previous);
90
+ };
87
91
 
88
- if (!component) {
89
- return null;
90
- }
92
+ const children: React.ReactNode = React.useMemo(
93
+ () =>
94
+ Array.isArray(data) && renderItem
95
+ ? data.map((item, index) => {
96
+ const component = renderItem({ item, index });
91
97
 
92
- const key = keyExtractor ? keyExtractor(item, index) : index;
93
- return React.cloneElement(component, {
94
- key,
95
- });
96
- })
97
- : childrenProp,
98
- [childrenProp, data, renderItem, keyExtractor]
99
- );
98
+ if (!component) {
99
+ return null;
100
+ }
100
101
 
101
- /*
102
- react-native-web-swiper assigns it's 'children' attribute as follows: `children = (() => React.Children.toArray(this.props.children))();`
103
- This is probelematic when state is involved due to anoynmous function effectivley creating new components everytime, losing any state
104
-
105
- This is a monkey patch that updates the 'children' attribute to just use the children from the props
106
- Can be removed when/if https://github.com/reactrondev/react-native-web-swiper/pull/102 is merged
107
- */
108
- React.useEffect(() => {
109
- const childrenArray = React.Children.toArray(
110
- swiperRef.current?.props?.children
102
+ const key = keyExtractor ? keyExtractor(item, index) : index;
103
+ return React.cloneElement(component, {
104
+ key,
105
+ });
106
+ })
107
+ : childrenProp,
108
+ [childrenProp, data, renderItem, keyExtractor]
111
109
  );
112
- if (swiperRef.current) {
113
- swiperRef.current.children = childrenArray;
114
- swiperRef.current.count = childrenArray.length;
115
- swiperRef.current.forceUpdate();
116
- }
117
- }, [children]);
118
110
 
119
- return (
120
- <View style={style}>
121
- {/* @ts-ignore */}
122
- <SwiperComponent
123
- ref={swiperRef}
124
- from={from}
125
- loop={loop}
126
- timeout={timeout}
127
- vertical={vertical}
128
- onIndexChanged={onIndexChanged}
129
- minDistanceForAction={minDistanceForAction}
130
- minDistanceToCapture={minDistanceToCapture}
131
- controlsProps={{
132
- prevTitle,
133
- nextTitle,
134
- prevTitleStyle: { color: prevTitleColor },
135
- nextTitleStyle: { color: nextTitleColor },
136
- dotsTouchable,
137
- ...(dotColor
138
- ? { dotProps: { badgeStyle: { backgroundColor: dotColor } } }
139
- : {}),
140
- ...(dotActiveColor
141
- ? { dotActiveStyle: { backgroundColor: dotActiveColor } }
142
- : {}),
143
- }}
144
- >
145
- {children}
146
- </SwiperComponent>
147
- </View>
148
- );
149
- };
111
+ /*
112
+ react-native-web-swiper assigns it's 'children' attribute as follows: `children = (() => React.Children.toArray(this.props.children))();`
113
+ This is probelematic when state is involved due to anoynmous function effectivley creating new components everytime, losing any state
114
+
115
+ This is a monkey patch that updates the 'children' attribute to just use the children from the props
116
+ Can be removed when/if https://github.com/reactrondev/react-native-web-swiper/pull/102 is merged
117
+ */
118
+ React.useEffect(() => {
119
+ const childrenArray = React.Children.toArray(
120
+ swiperRef.current?.props?.children
121
+ );
122
+ if (swiperRef.current) {
123
+ swiperRef.current.children = childrenArray;
124
+ swiperRef.current.count = childrenArray.length;
125
+ swiperRef.current.forceUpdate();
126
+ }
127
+ }, [children]);
128
+
129
+ useImperativeHandle(ref, () => ({
130
+ swipeTo: (index: number) => {
131
+ swiperRef.current?.goTo(index);
132
+ },
133
+ swipeNext: () => {
134
+ swiperRef.current?.goToNext();
135
+ },
136
+ swipePrev: () => {
137
+ swiperRef.current?.goToPrev();
138
+ },
139
+ }));
140
+
141
+ return (
142
+ <View style={style}>
143
+ {/* @ts-ignore */}
144
+ <SwiperComponent
145
+ ref={swiperRef}
146
+ from={from}
147
+ loop={loop}
148
+ timeout={timeout}
149
+ vertical={vertical}
150
+ onIndexChanged={onIndexChanged}
151
+ minDistanceForAction={minDistanceForAction}
152
+ minDistanceToCapture={minDistanceToCapture}
153
+ controlsProps={{
154
+ prevTitle,
155
+ nextTitle,
156
+ prevTitleStyle: { color: prevTitleColor },
157
+ nextTitleStyle: { color: nextTitleColor },
158
+ dotsTouchable,
159
+ ...(dotColor
160
+ ? { dotProps: { badgeStyle: { backgroundColor: dotColor } } }
161
+ : {}),
162
+ ...(dotActiveColor
163
+ ? { dotActiveStyle: { backgroundColor: dotActiveColor } }
164
+ : {}),
165
+ }}
166
+ >
167
+ {children}
168
+ </SwiperComponent>
169
+ </View>
170
+ );
171
+ }
172
+ );
150
173
 
151
174
  export default withTheme(Swiper);