jfs-components 0.0.21 → 0.0.24

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 (50) hide show
  1. package/lib/commonjs/assets/fonts/JioType Var.ttf +0 -0
  2. package/lib/commonjs/components/Carousel/Carousel.js +341 -0
  3. package/lib/commonjs/components/Carousel/Carousel.js.map +1 -0
  4. package/lib/commonjs/components/Carousel/Carousel.mdx +154 -0
  5. package/lib/commonjs/components/Drawer/Drawer.js +9 -2
  6. package/lib/commonjs/components/Drawer/Drawer.js.map +1 -1
  7. package/lib/commonjs/components/RadioButton/RadioButton.js +194 -0
  8. package/lib/commonjs/components/RadioButton/RadioButton.js.map +1 -0
  9. package/lib/commonjs/components/RadioButton/RadioButton.mdx +92 -0
  10. package/lib/commonjs/components/UpiHandle/UpiHandle.js +3 -1
  11. package/lib/commonjs/components/UpiHandle/UpiHandle.js.map +1 -1
  12. package/lib/commonjs/components/index.js +7 -0
  13. package/lib/commonjs/components/index.js.map +1 -1
  14. package/lib/commonjs/design-tokens/figma-variables-resolver.js +9 -3
  15. package/lib/commonjs/icons/registry.js +1 -1
  16. package/lib/module/assets/fonts/JioType Var.ttf +0 -0
  17. package/lib/module/components/Carousel/Carousel.js +333 -0
  18. package/lib/module/components/Carousel/Carousel.js.map +1 -0
  19. package/lib/module/components/Carousel/Carousel.mdx +154 -0
  20. package/lib/module/components/Drawer/Drawer.js +10 -3
  21. package/lib/module/components/Drawer/Drawer.js.map +1 -1
  22. package/lib/module/components/RadioButton/RadioButton.js +188 -0
  23. package/lib/module/components/RadioButton/RadioButton.js.map +1 -0
  24. package/lib/module/components/RadioButton/RadioButton.mdx +92 -0
  25. package/lib/module/components/UpiHandle/UpiHandle.js +3 -1
  26. package/lib/module/components/UpiHandle/UpiHandle.js.map +1 -1
  27. package/lib/module/components/index.js +1 -0
  28. package/lib/module/components/index.js.map +1 -1
  29. package/lib/module/icons/registry.js +1 -1
  30. package/lib/typescript/components/Carousel/Carousel.d.ts +48 -0
  31. package/lib/typescript/components/Carousel/Carousel.d.ts.map +1 -0
  32. package/lib/typescript/components/Drawer/Drawer.d.ts.map +1 -1
  33. package/lib/typescript/components/RadioButton/RadioButton.d.ts +30 -0
  34. package/lib/typescript/components/RadioButton/RadioButton.d.ts.map +1 -0
  35. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts +4 -2
  36. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts.map +1 -1
  37. package/lib/typescript/components/index.d.ts +1 -0
  38. package/lib/typescript/components/index.d.ts.map +1 -1
  39. package/lib/typescript/icons/registry.d.ts +1 -1
  40. package/package.json +3 -3
  41. package/src/assets/fonts/JioType Var.ttf +0 -0
  42. package/src/components/.token-metadata.json +72 -0
  43. package/src/components/Carousel/Carousel.mdx +154 -0
  44. package/src/components/Carousel/Carousel.tsx +472 -0
  45. package/src/components/Drawer/Drawer.tsx +10 -2
  46. package/src/components/RadioButton/RadioButton.mdx +92 -0
  47. package/src/components/RadioButton/RadioButton.tsx +226 -0
  48. package/src/components/UpiHandle/UpiHandle.tsx +5 -2
  49. package/src/components/index.ts +1 -0
  50. package/src/icons/registry.ts +1 -1
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+
3
+ import React, { createContext, useContext, useRef, useState, useEffect, useCallback, useMemo } from 'react';
4
+ import { View, ScrollView, Animated, Pressable } from 'react-native';
5
+ import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
+
7
+ // ---------------------------------------------------------------------------
8
+ // Context
9
+ // ---------------------------------------------------------------------------
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const CarouselContext = /*#__PURE__*/createContext({
12
+ modes: {},
13
+ activeIndex: 0,
14
+ totalItems: 0,
15
+ goTo: () => {},
16
+ goNext: () => {},
17
+ goPrev: () => {}
18
+ });
19
+
20
+ // ---------------------------------------------------------------------------
21
+ // Types
22
+ // ---------------------------------------------------------------------------
23
+
24
+ // ---------------------------------------------------------------------------
25
+ // Carousel
26
+ // ---------------------------------------------------------------------------
27
+
28
+ export function Carousel({
29
+ children,
30
+ modes = {},
31
+ autoPlay = false,
32
+ autoPlayInterval = 4000,
33
+ showPagination = true,
34
+ loop = true,
35
+ gap: gapProp,
36
+ itemWidth: itemWidthProp,
37
+ peekOffset: peekOffsetProp,
38
+ onIndexChange,
39
+ style
40
+ }) {
41
+ // ---- Token resolution ----
42
+ const tokenGap = parseFloat(getVariableByName('carousel/gap', modes) || '12');
43
+ const gap = gapProp ?? tokenGap;
44
+ const tokenPeekOffset = parseFloat(getVariableByName('carousel/peekOffset', modes) || '0');
45
+ const peekOffset = peekOffsetProp ?? tokenPeekOffset;
46
+ const containerPaddingH = parseFloat(getVariableByName('carousel/padding/horizontal', modes) || '0');
47
+ const containerPaddingV = parseFloat(getVariableByName('carousel/padding/vertical', modes) || '0');
48
+ const paginationGap = parseFloat(getVariableByName('carousel/pagination/gap', modes) || '12');
49
+
50
+ // ---- Refs & state ----
51
+ const scrollRef = useRef(null);
52
+ const [activeIndex, setActiveIndex] = useState(0);
53
+ const [containerWidth, setContainerWidth] = useState(0);
54
+ const autoPlayTimer = useRef(null);
55
+ const userInteracting = useRef(false);
56
+
57
+ // Flatten children so we can count items
58
+ const items = useMemo(() => React.Children.toArray(children).filter(React.isValidElement), [children]);
59
+ const totalItems = items.length;
60
+
61
+ // Effective item width: provided prop, or full container width minus peek offsets
62
+ const effectiveItemWidth = useMemo(() => {
63
+ if (itemWidthProp != null) return itemWidthProp;
64
+ if (containerWidth === 0) return 0;
65
+ // Full-width minus peekOffset on each side
66
+ return containerWidth - peekOffset * 2 - containerPaddingH * 2;
67
+ }, [itemWidthProp, containerWidth, peekOffset, containerPaddingH]);
68
+
69
+ // Snap interval = item width + gap
70
+ const snapInterval = effectiveItemWidth + gap;
71
+
72
+ // ---- Navigation helpers ----
73
+ const scrollToIndex = useCallback((index, animated = true) => {
74
+ if (totalItems === 0 || snapInterval === 0) return;
75
+ let targetIndex = index;
76
+ if (loop) {
77
+ targetIndex = (index % totalItems + totalItems) % totalItems;
78
+ } else {
79
+ targetIndex = Math.max(0, Math.min(index, totalItems - 1));
80
+ }
81
+ scrollRef.current?.scrollTo({
82
+ x: targetIndex * snapInterval,
83
+ animated
84
+ });
85
+ setActiveIndex(targetIndex);
86
+ onIndexChange?.(targetIndex);
87
+ }, [totalItems, snapInterval, loop, onIndexChange]);
88
+ const goTo = useCallback(index => scrollToIndex(index), [scrollToIndex]);
89
+ const goNext = useCallback(() => scrollToIndex(activeIndex + 1), [scrollToIndex, activeIndex]);
90
+ const goPrev = useCallback(() => scrollToIndex(activeIndex - 1), [scrollToIndex, activeIndex]);
91
+
92
+ // ---- Scroll event handler ----
93
+ const handleScroll = useCallback(event => {
94
+ if (snapInterval === 0) return;
95
+ const offsetX = event.nativeEvent.contentOffset.x;
96
+ const newIndex = Math.round(offsetX / snapInterval);
97
+ const clampedIndex = Math.max(0, Math.min(newIndex, totalItems - 1));
98
+ if (clampedIndex !== activeIndex) {
99
+ setActiveIndex(clampedIndex);
100
+ onIndexChange?.(clampedIndex);
101
+ }
102
+ }, [snapInterval, totalItems, activeIndex, onIndexChange]);
103
+
104
+ // ---- Auto-play ----
105
+ const clearAutoPlay = useCallback(() => {
106
+ if (autoPlayTimer.current != null) {
107
+ clearInterval(autoPlayTimer.current);
108
+ autoPlayTimer.current = null;
109
+ }
110
+ }, []);
111
+ const startAutoPlay = useCallback(() => {
112
+ if (!autoPlay || totalItems <= 1) return;
113
+ clearAutoPlay();
114
+ autoPlayTimer.current = setInterval(() => {
115
+ if (!userInteracting.current) {
116
+ setActiveIndex(prev => {
117
+ const next = loop ? (prev + 1) % totalItems : Math.min(prev + 1, totalItems - 1);
118
+ scrollRef.current?.scrollTo({
119
+ x: next * snapInterval,
120
+ animated: true
121
+ });
122
+ onIndexChange?.(next);
123
+ return next;
124
+ });
125
+ }
126
+ }, autoPlayInterval);
127
+ }, [autoPlay, totalItems, loop, snapInterval, autoPlayInterval, clearAutoPlay, onIndexChange]);
128
+ useEffect(() => {
129
+ startAutoPlay();
130
+ return clearAutoPlay;
131
+ }, [startAutoPlay, clearAutoPlay]);
132
+ const handleScrollBeginDrag = useCallback(() => {
133
+ userInteracting.current = true;
134
+ }, []);
135
+ const handleScrollEndDrag = useCallback(() => {
136
+ userInteracting.current = false;
137
+ // Reset autoplay timer after interaction
138
+ if (autoPlay) startAutoPlay();
139
+ }, [autoPlay, startAutoPlay]);
140
+
141
+ // ---- Layout ----
142
+ const handleLayout = useCallback(e => {
143
+ setContainerWidth(e.nativeEvent.layout.width);
144
+ }, []);
145
+
146
+ // ---- Context value ----
147
+ const contextValue = useMemo(() => ({
148
+ modes,
149
+ activeIndex,
150
+ totalItems,
151
+ goTo,
152
+ goNext,
153
+ goPrev
154
+ }), [modes, activeIndex, totalItems, goTo, goNext, goPrev]);
155
+
156
+ // ---- Render ----
157
+ const outerStyle = {
158
+ paddingVertical: containerPaddingV
159
+ };
160
+ const contentContainerStyle = {
161
+ paddingHorizontal: peekOffset + containerPaddingH,
162
+ gap,
163
+ // Align items to the start so snap works correctly
164
+ alignItems: 'flex-start'
165
+ };
166
+ return /*#__PURE__*/_jsx(CarouselContext.Provider, {
167
+ value: contextValue,
168
+ children: /*#__PURE__*/_jsxs(View, {
169
+ style: [outerStyle, style],
170
+ onLayout: handleLayout,
171
+ children: [/*#__PURE__*/_jsx(ScrollView, {
172
+ ref: scrollRef,
173
+ horizontal: true,
174
+ pagingEnabled: false,
175
+ showsHorizontalScrollIndicator: false,
176
+ decelerationRate: "fast",
177
+ snapToInterval: snapInterval > 0 ? snapInterval : undefined,
178
+ snapToAlignment: "start",
179
+ contentContainerStyle: contentContainerStyle,
180
+ onScroll: handleScroll,
181
+ scrollEventThrottle: 16,
182
+ onScrollBeginDrag: handleScrollBeginDrag,
183
+ onScrollEndDrag: handleScrollEndDrag,
184
+ children: items.map((child, index) => {
185
+ const itemStyle = {
186
+ width: effectiveItemWidth > 0 ? effectiveItemWidth : undefined
187
+ };
188
+
189
+ // Pass modes down to children
190
+ const childWithModes = /*#__PURE__*/React.isValidElement(child) ? /*#__PURE__*/React.cloneElement(child, {
191
+ modes: {
192
+ ...(child.props?.modes || {}),
193
+ ...modes
194
+ },
195
+ style: [itemStyle, child.props?.style]
196
+ }) : child;
197
+ return /*#__PURE__*/_jsx(View, {
198
+ style: itemStyle,
199
+ children: childWithModes
200
+ }, index);
201
+ })
202
+ }), showPagination && totalItems > 1 && /*#__PURE__*/_jsx(Pagination, {
203
+ modes: modes,
204
+ style: {
205
+ marginTop: paginationGap
206
+ }
207
+ })]
208
+ })
209
+ });
210
+ }
211
+
212
+ // ---------------------------------------------------------------------------
213
+ // Carousel.Item
214
+ // ---------------------------------------------------------------------------
215
+
216
+ /**
217
+ * Optional wrapper for carousel items. Not strictly required — any
218
+ * React node works as a direct child of `<Carousel>`.
219
+ */
220
+ export function Item({
221
+ children,
222
+ modes: _modes,
223
+ style
224
+ }) {
225
+ return /*#__PURE__*/_jsx(View, {
226
+ style: style,
227
+ children: children
228
+ });
229
+ }
230
+
231
+ // ---------------------------------------------------------------------------
232
+ // Carousel.Pagination
233
+ // ---------------------------------------------------------------------------
234
+
235
+ export function Pagination({
236
+ modes: propModes,
237
+ style
238
+ }) {
239
+ const {
240
+ modes: ctxModes,
241
+ activeIndex,
242
+ totalItems,
243
+ goTo
244
+ } = useContext(CarouselContext);
245
+ const modes = propModes || ctxModes || {};
246
+
247
+ // Token resolution for dots
248
+ const dotSize = parseFloat(getVariableByName('carousel/pagination/dotSize', modes) || '8');
249
+ const dotActiveWidth = parseFloat(getVariableByName('carousel/pagination/dotActiveWidth', modes) || '24');
250
+ const dotGap = parseFloat(getVariableByName('carousel/pagination/dotGap', modes) || '8');
251
+ const dotColor = getVariableByName('carousel/pagination/dotColor', modes) || 'rgba(255,255,255,0.35)';
252
+ const dotActiveColor = getVariableByName('carousel/pagination/dotActiveColor', modes) || '#ffffff';
253
+ const dotRadius = parseFloat(getVariableByName('carousel/pagination/dotRadius', modes) || '4');
254
+ const containerStyle = {
255
+ flexDirection: 'row',
256
+ justifyContent: 'center',
257
+ alignItems: 'center',
258
+ gap: dotGap
259
+ };
260
+ return /*#__PURE__*/_jsx(View, {
261
+ style: [containerStyle, style],
262
+ accessibilityRole: "tablist",
263
+ accessibilityLabel: "Carousel pagination",
264
+ children: Array.from({
265
+ length: totalItems
266
+ }).map((_, i) => {
267
+ const isActive = i === activeIndex;
268
+ return /*#__PURE__*/_jsx(Pressable, {
269
+ onPress: () => goTo(i),
270
+ accessibilityRole: "tab",
271
+ accessibilityState: {
272
+ selected: isActive
273
+ },
274
+ accessibilityLabel: `Go to slide ${i + 1}`,
275
+ children: /*#__PURE__*/_jsx(AnimatedDot, {
276
+ isActive: isActive,
277
+ size: dotSize,
278
+ activeWidth: dotActiveWidth,
279
+ radius: dotRadius,
280
+ color: dotColor,
281
+ activeColor: dotActiveColor
282
+ })
283
+ }, i);
284
+ })
285
+ });
286
+ }
287
+
288
+ // ---------------------------------------------------------------------------
289
+ // AnimatedDot (internal)
290
+ // ---------------------------------------------------------------------------
291
+
292
+ function AnimatedDot({
293
+ isActive,
294
+ size,
295
+ activeWidth,
296
+ radius,
297
+ color,
298
+ activeColor
299
+ }) {
300
+ const animValue = useRef(new Animated.Value(isActive ? 1 : 0)).current;
301
+ useEffect(() => {
302
+ Animated.timing(animValue, {
303
+ toValue: isActive ? 1 : 0,
304
+ duration: 250,
305
+ useNativeDriver: false
306
+ }).start();
307
+ }, [isActive, animValue]);
308
+ const width = animValue.interpolate({
309
+ inputRange: [0, 1],
310
+ outputRange: [size, activeWidth]
311
+ });
312
+ const backgroundColor = animValue.interpolate({
313
+ inputRange: [0, 1],
314
+ outputRange: [color, activeColor]
315
+ });
316
+ return /*#__PURE__*/_jsx(Animated.View, {
317
+ style: {
318
+ width,
319
+ height: size,
320
+ borderRadius: radius,
321
+ backgroundColor
322
+ }
323
+ });
324
+ }
325
+
326
+ // ---------------------------------------------------------------------------
327
+ // Attach sub-components
328
+ // ---------------------------------------------------------------------------
329
+
330
+ Carousel.Item = Item;
331
+ Carousel.Pagination = Pagination;
332
+ export default Carousel;
333
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useRef","useState","useEffect","useCallback","useMemo","View","ScrollView","Animated","Pressable","getVariableByName","jsx","_jsx","jsxs","_jsxs","CarouselContext","modes","activeIndex","totalItems","goTo","goNext","goPrev","Carousel","children","autoPlay","autoPlayInterval","showPagination","loop","gap","gapProp","itemWidth","itemWidthProp","peekOffset","peekOffsetProp","onIndexChange","style","tokenGap","parseFloat","tokenPeekOffset","containerPaddingH","containerPaddingV","paginationGap","scrollRef","setActiveIndex","containerWidth","setContainerWidth","autoPlayTimer","userInteracting","items","Children","toArray","filter","isValidElement","length","effectiveItemWidth","snapInterval","scrollToIndex","index","animated","targetIndex","Math","max","min","current","scrollTo","x","handleScroll","event","offsetX","nativeEvent","contentOffset","newIndex","round","clampedIndex","clearAutoPlay","clearInterval","startAutoPlay","setInterval","prev","next","handleScrollBeginDrag","handleScrollEndDrag","handleLayout","e","layout","width","contextValue","outerStyle","paddingVertical","contentContainerStyle","paddingHorizontal","alignItems","Provider","value","onLayout","ref","horizontal","pagingEnabled","showsHorizontalScrollIndicator","decelerationRate","snapToInterval","undefined","snapToAlignment","onScroll","scrollEventThrottle","onScrollBeginDrag","onScrollEndDrag","map","child","itemStyle","childWithModes","cloneElement","props","Pagination","marginTop","Item","_modes","propModes","ctxModes","dotSize","dotActiveWidth","dotGap","dotColor","dotActiveColor","dotRadius","containerStyle","flexDirection","justifyContent","accessibilityRole","accessibilityLabel","Array","from","_","i","isActive","onPress","accessibilityState","selected","AnimatedDot","size","activeWidth","radius","color","activeColor","animValue","Value","timing","toValue","duration","useNativeDriver","start","interpolate","inputRange","outputRange","backgroundColor","height","borderRadius"],"sourceRoot":"../../../../src","sources":["components/Carousel/Carousel.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,154 @@
1
+ import { Meta, Story, Canvas, Controls } from '@storybook/blocks';
2
+ import * as CarouselStories from './Carousel.stories';
3
+ import Carousel from './Carousel';
4
+ import { AnatomySection, UsageConstraintsSection } from '../docs/DocSections';
5
+ import { View, Image, Text } from 'react-native';
6
+
7
+ <Meta of={CarouselStories} />
8
+
9
+ ## Available Collections and Modes
10
+
11
+ This component does not use any design token collections with multiple modes.
12
+ ## Usage
13
+
14
+ <Canvas>
15
+ <Story of={CarouselStories.Default} />
16
+ </Canvas>
17
+
18
+ ### Example Usage
19
+
20
+ ```tsx
21
+ import { Image, View } from 'react-native';
22
+ import Carousel from './components/Carousel/Carousel';
23
+ import MediaCard from './components/MediaCard/MediaCard';
24
+ import Avatar from './components/Avatar/Avatar';
25
+ import Button from './components/Button/Button';
26
+
27
+ function MyCarousel() {
28
+ const modes = {
29
+ 'Contrast Context': 'on dark',
30
+ 'Colors Router': 'POC',
31
+ };
32
+
33
+ return (
34
+ <Carousel
35
+ modes={modes}
36
+ autoPlay
37
+ autoPlayInterval={4000}
38
+ showPagination
39
+ loop
40
+ >
41
+ <Carousel.Item>
42
+ <MediaCard
43
+ modes={modes}
44
+ media={
45
+ <Image
46
+ source={{ uri: 'https://picsum.photos/400/400' }}
47
+ style={{ width: '100%', height: '100%' }}
48
+ resizeMode="cover"
49
+ />
50
+ }
51
+ >
52
+ <MediaCard.Header>
53
+ <MediaCard.Title>Huge Title</MediaCard.Title>
54
+ </MediaCard.Header>
55
+ <MediaCard.Footer>
56
+ <Avatar
57
+ initials="JS"
58
+ modes={{ 'Avatar / Size': 'S' }}
59
+ />
60
+ <View style={{ flex: 1 }}>
61
+ <MediaCard.FooterTitle>Subscribed</MediaCard.FooterTitle>
62
+ <MediaCard.FooterSubtitle>Active now</MediaCard.FooterSubtitle>
63
+ </View>
64
+ <Button
65
+ label="Open"
66
+ modes={{ 'Button / Size': 'S' }}
67
+ onPress={() => console.log('Open')}
68
+ />
69
+ </MediaCard.Footer>
70
+ </MediaCard>
71
+ </Carousel.Item>
72
+
73
+ <Carousel.Item>
74
+ <MediaCard
75
+ modes={modes}
76
+ media={
77
+ <Image
78
+ source={{ uri: 'https://picsum.photos/seed/two/400/400' }}
79
+ style={{ width: '100%', height: '100%' }}
80
+ resizeMode="cover"
81
+ />
82
+ }
83
+ >
84
+ <MediaCard.Header>
85
+ <MediaCard.Title>Discover</MediaCard.Title>
86
+ </MediaCard.Header>
87
+ <MediaCard.Footer>
88
+ <MediaCard.FooterTitle>Mutual Fund Insights</MediaCard.FooterTitle>
89
+ </MediaCard.Footer>
90
+ </MediaCard>
91
+ </Carousel.Item>
92
+ </Carousel>
93
+ );
94
+ }
95
+ ```
96
+
97
+ ### Peek Cards (adjacent items visible)
98
+
99
+ <Canvas>
100
+ <Story of={CarouselStories.PeekCards} />
101
+ </Canvas>
102
+
103
+ ### Auto-play
104
+
105
+ <Canvas>
106
+ <Story of={CarouselStories.AutoPlay} />
107
+ </Canvas>
108
+
109
+ ### Fixed-width items
110
+
111
+ <Canvas>
112
+ <Story of={CarouselStories.FixedWidth} />
113
+ </Canvas>
114
+
115
+ <AnatomySection>
116
+ <ul>
117
+ <li><strong>Container</strong> — Outer <code>View</code> that measures width and holds the scroll track + pagination.</li>
118
+ <li><strong>ScrollView Track</strong> — Horizontal <code>ScrollView</code> with snap-to-interval behavior and optional CSS scroll-snap on web.</li>
119
+ <li><strong>Carousel.Item</strong> — Optional wrapper for each slide. Any React node works as a direct child.</li>
120
+ <li><strong>Pagination</strong> — Row of animated dots. Active dot widens and changes color. Each dot is pressable to navigate.</li>
121
+ </ul>
122
+ </AnatomySection>
123
+
124
+ <UsageConstraintsSection>
125
+ <ul>
126
+ <li>Each child of <code>Carousel</code> becomes one slide. Use <code>Carousel.Item</code> for semantic clarity.</li>
127
+ <li>When <code>itemWidth</code> is not provided, items expand to fill the container width minus <code>peekOffset</code>.</li>
128
+ <li>Auto-play pauses automatically while the user is dragging.</li>
129
+ <li>The <code>modes</code> prop is forwarded to all children via <code>cloneElement</code>.</li>
130
+ <li>On web, CSS <code>scroll-snap-type</code> is applied for native-feeling snap behavior.</li>
131
+ </ul>
132
+ </UsageConstraintsSection>
133
+
134
+ ## Props
135
+
136
+ <Controls />
137
+
138
+ ## Design Tokens
139
+
140
+ This component uses the following design tokens, resolved through `getVariableByName`:
141
+
142
+ - **`carousel/gap`**
143
+ - **`carousel/padding/horizontal`**
144
+ - **`carousel/padding/vertical`**
145
+ - **`carousel/pagination/dotActiveColor`**
146
+ - **`carousel/pagination/dotActiveWidth`**
147
+ - **`carousel/pagination/dotColor`**
148
+ - **`carousel/pagination/dotGap`**
149
+ - **`carousel/pagination/dotRadius`**
150
+ - **`carousel/pagination/dotSize`**
151
+ - **`carousel/pagination/gap`**
152
+ - **`carousel/peekOffset`**
153
+
154
+ All tokens support mode-based theming through the `modes` prop.
@@ -3,7 +3,7 @@
3
3
  import React, { useCallback, useEffect, useState, useRef } from 'react';
4
4
  import { StyleSheet, Text, useWindowDimensions, View } from 'react-native';
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView, ScrollView } from 'react-native-gesture-handler';
6
- import Animated, { runOnJS, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
6
+ import Animated, { runOnJS, useAnimatedProps, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
7
7
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const AnimatedScrollView = Animated.createAnimatedComponent(ScrollView);
@@ -78,6 +78,13 @@ function Drawer({
78
78
  const scrollY = useSharedValue(0);
79
79
  const scrollRef = useRef(null);
80
80
 
81
+ // Dynamically disable top bounce so a downward swipe at the top of
82
+ // the content drags the whole drawer instead of rubber-banding the
83
+ // scroll view. Bottom bounce is preserved when the user has scrolled.
84
+ const animatedScrollProps = useAnimatedProps(() => ({
85
+ bounces: scrollY.value > 1
86
+ }));
87
+
81
88
  // We need to know if we are currently dragging the drawer or scrolling the content
82
89
  // to prevent conflict.
83
90
  const isDrawerActive = useSharedValue(false);
@@ -266,8 +273,8 @@ function Drawer({
266
273
  alignItems: 'stretch'
267
274
  }, contentContainerStyle],
268
275
  showsVerticalScrollIndicator: showsVerticalScrollIndicator,
269
- bounces: true,
270
- alwaysBounceVertical: true,
276
+ animatedProps: animatedScrollProps,
277
+ alwaysBounceVertical: false,
271
278
  overScrollMode: "always",
272
279
  onScroll: useAnimatedScrollHandler(event => {
273
280
  scrollY.value = event.contentOffset.y;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useState","useRef","StyleSheet","Text","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","ScrollView","Animated","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","withSpring","getVariableByName","jsx","_jsx","jsxs","_jsxs","AnimatedScrollView","createAnimatedComponent","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","rubberBand","value","min","max","friction","overshoot","damped","Math","exp","Drawer","modes","style","title","header","children","collapsedHeight","expandedRatio","initialState","contentStyle","sheetStyle","accessibilityLabel","accessibilityHint","contentContainerStyle","showsVerticalScrollIndicator","bottomInset","height","screenHeight","expandedHeight","maxTranslateY","minTranslateY","translateY","context","y","scrollY","scrollRef","isDrawerActive","gestureStartedExpanded","scrollTopTranslationOffset","prevAtTop","mode","setMode","target","scrollTo","destination","updateMode","newMode","gesture","Pan","simultaneousWithExternalGesture","activeOffsetY","activeOffsetX","onStart","abs","onUpdate","event","isAtTop","translationY","effectiveTranslation","isDraggingDown","rawTargetY","dampedTargetY","onEnd","totalRange","currentRatio","velocityY","animatedStyle","transform","backgroundColor","radius","handleColor","handleWidth","handleHeight","handleRadius","paddingLeft","paddingRight","paddingBottom","drawerGap","titleColor","titleSize","titleWeight","titleLineHeight","titlePaddingBottom","defaultAccessibilityLabel","styles","host","pointerEvents","sheet","borderTopLeftRadius","borderTopRightRadius","rowGap","accessible","accessibilityRole","handleArea","width","borderRadius","color","fontSize","fontWeight","lineHeight","marginBottom","ref","content","gap","flexDirection","alignItems","bounces","alwaysBounceVertical","overScrollMode","onScroll","contentOffset","scrollEventThrottle","create","flex","justifyContent","position","top","overflow","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/Drawer/Drawer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useState","useRef","StyleSheet","Text","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","ScrollView","Animated","runOnJS","useAnimatedProps","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","withSpring","getVariableByName","jsx","_jsx","jsxs","_jsxs","AnimatedScrollView","createAnimatedComponent","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","rubberBand","value","min","max","friction","overshoot","damped","Math","exp","Drawer","modes","style","title","header","children","collapsedHeight","expandedRatio","initialState","contentStyle","sheetStyle","accessibilityLabel","accessibilityHint","contentContainerStyle","showsVerticalScrollIndicator","bottomInset","height","screenHeight","expandedHeight","maxTranslateY","minTranslateY","translateY","context","y","scrollY","scrollRef","animatedScrollProps","bounces","isDrawerActive","gestureStartedExpanded","scrollTopTranslationOffset","prevAtTop","mode","setMode","target","scrollTo","destination","updateMode","newMode","gesture","Pan","simultaneousWithExternalGesture","activeOffsetY","activeOffsetX","onStart","abs","onUpdate","event","isAtTop","translationY","effectiveTranslation","isDraggingDown","rawTargetY","dampedTargetY","onEnd","totalRange","currentRatio","velocityY","animatedStyle","transform","backgroundColor","radius","handleColor","handleWidth","handleHeight","handleRadius","paddingLeft","paddingRight","paddingBottom","drawerGap","titleColor","titleSize","titleWeight","titleLineHeight","titlePaddingBottom","defaultAccessibilityLabel","styles","host","pointerEvents","sheet","borderTopLeftRadius","borderTopRightRadius","rowGap","accessible","accessibilityRole","handleArea","width","borderRadius","color","fontSize","fontWeight","lineHeight","marginBottom","ref","content","gap","flexDirection","alignItems","animatedProps","alwaysBounceVertical","overScrollMode","onScroll","contentOffset","scrollEventThrottle","create","flex","justifyContent","position","top","overflow","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/Drawer/Drawer.tsx"],"mappings":"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","ignoreList":[]}