@oxy.so/bloom 4.28.0 → 4.29.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/docs/carousel.mdx +2 -0
- package/lib/commonjs/carousel/Carousel.js +41 -25
- package/lib/commonjs/carousel/Carousel.js.map +1 -1
- package/lib/module/carousel/Carousel.js +42 -26
- package/lib/module/carousel/Carousel.js.map +1 -1
- package/lib/typescript/commonjs/carousel/Carousel.d.ts +1 -1
- package/lib/typescript/commonjs/carousel/Carousel.d.ts.map +1 -1
- package/lib/typescript/commonjs/carousel/types.d.ts +13 -0
- package/lib/typescript/commonjs/carousel/types.d.ts.map +1 -1
- package/lib/typescript/module/carousel/Carousel.d.ts +1 -1
- package/lib/typescript/module/carousel/Carousel.d.ts.map +1 -1
- package/lib/typescript/module/carousel/types.d.ts +13 -0
- package/lib/typescript/module/carousel/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/carousel/Carousel.tsx +19 -8
- package/src/carousel/types.ts +13 -0
package/docs/carousel.mdx
CHANGED
|
@@ -26,10 +26,12 @@ import { Carousel, CarouselItem } from '@oxy.so/bloom/carousel';
|
|
|
26
26
|
|
|
27
27
|
| Prop | Default | |
|
|
28
28
|
| --- | --- | --- |
|
|
29
|
+
| `header` | | Leading content of the arrows row, e.g. a section title. Header at the start, arrows at the end — one row, not two. |
|
|
29
30
|
| `showArrows` | `true` | Prev/next buttons, right-aligned above the track. They disable at each end. |
|
|
30
31
|
| `showDots` | `true` | Position indicator; never shown for a single slide. Each dot is a button. |
|
|
31
32
|
| `align` | `'start'` | Where a slide rests when it snaps: `'start'` or `'center'`. |
|
|
32
33
|
| `gap` | `16` | Space between slides, px. |
|
|
34
|
+
| `inset` | `0` | Horizontal padding of the header row, the dots and the track's two ends. Slides scroll under it to the edges, and a start-aligned slide snaps to the inset rather than flush. |
|
|
33
35
|
| `onIndexChange` | | The slide in view changed. |
|
|
34
36
|
| `previousLabel` / `nextLabel` / `dotLabel` | English | Localised button names. |
|
|
35
37
|
|
|
@@ -25,6 +25,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
25
25
|
* prev/next buttons above and a position indicator below.
|
|
26
26
|
*
|
|
27
27
|
* column gap 16
|
|
28
|
+
* header optional leading content of the arrows row (a title)
|
|
28
29
|
* arrows right-aligned row, gap 8, small secondary icon buttons
|
|
29
30
|
* (Bloom's pill `Button`, sized to a 32px square icon button)
|
|
30
31
|
* track native horizontal scrolling that SNAPS to each slide — CSS
|
|
@@ -83,6 +84,7 @@ const DOT = '[data-bloom-carousel-dot]';
|
|
|
83
84
|
const BLOOM_CAROUSEL_CSS = `
|
|
84
85
|
${TRACK} {
|
|
85
86
|
scroll-snap-type: x mandatory;
|
|
87
|
+
scroll-padding-inline: var(--bloom-carousel-inset, 0px);
|
|
86
88
|
overscroll-behavior-x: contain;
|
|
87
89
|
scrollbar-width: none;
|
|
88
90
|
outline: none;
|
|
@@ -233,10 +235,12 @@ function CarouselDot({
|
|
|
233
235
|
const CarouselComponent = function Carousel({
|
|
234
236
|
children,
|
|
235
237
|
accessibilityLabel,
|
|
238
|
+
header,
|
|
236
239
|
showArrows = true,
|
|
237
240
|
showDots = true,
|
|
238
241
|
align = 'start',
|
|
239
242
|
gap = 16,
|
|
243
|
+
inset = 0,
|
|
240
244
|
onIndexChange,
|
|
241
245
|
previousLabel = 'Previous slide',
|
|
242
246
|
nextLabel = 'Next slide',
|
|
@@ -302,10 +306,10 @@ const CarouselComponent = function Carousel({
|
|
|
302
306
|
}
|
|
303
307
|
}, [count, trackWidth]);
|
|
304
308
|
const targetFor = (0, _react.useCallback)(item => {
|
|
305
|
-
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x;
|
|
309
|
+
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x - inset;
|
|
306
310
|
const max = Math.max(0, scroll.current.contentWidth - trackWidth);
|
|
307
311
|
return Math.min(Math.max(0, raw), max);
|
|
308
|
-
}, [align, trackWidth]);
|
|
312
|
+
}, [align, inset, trackWidth]);
|
|
309
313
|
const recomputeSnaps = (0, _react.useCallback)(() => {
|
|
310
314
|
if (IS_WEB) return; // CSS scroll-snap owns snapping on web.
|
|
311
315
|
const all = offsets.current.slice(0, count);
|
|
@@ -359,7 +363,9 @@ const CarouselComponent = function Carousel({
|
|
|
359
363
|
const trackStyle = {
|
|
360
364
|
width: '100%',
|
|
361
365
|
// The `:focus-visible` ring colour, read by the adopted sheet.
|
|
362
|
-
'--bloom-carousel-ring': paint.ring
|
|
366
|
+
'--bloom-carousel-ring': paint.ring,
|
|
367
|
+
// Where a start-aligned slide snaps to on web, matching `inset` on native.
|
|
368
|
+
'--bloom-carousel-inset': `${inset}px`
|
|
363
369
|
};
|
|
364
370
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
365
371
|
role: "group",
|
|
@@ -373,30 +379,38 @@ const CarouselComponent = function Carousel({
|
|
|
373
379
|
gap: 16
|
|
374
380
|
}, style],
|
|
375
381
|
testID: testID,
|
|
376
|
-
children: [showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
382
|
+
children: [header != null || showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
377
383
|
style: {
|
|
378
384
|
flexDirection: 'row',
|
|
379
385
|
alignItems: 'center',
|
|
380
|
-
|
|
381
|
-
|
|
386
|
+
gap: 8,
|
|
387
|
+
paddingHorizontal: inset
|
|
382
388
|
},
|
|
383
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
389
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
390
|
+
style: {
|
|
391
|
+
flex: 1,
|
|
392
|
+
minWidth: 0
|
|
393
|
+
},
|
|
394
|
+
children: header
|
|
395
|
+
}), showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
396
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
397
|
+
size: "sm",
|
|
398
|
+
icon: _RiArrowLeftSLine.RiArrowLeftSLine,
|
|
399
|
+
accessibilityLabel: previousLabel,
|
|
400
|
+
disabled: atStart,
|
|
401
|
+
onPress: () => scrollToIndex(active - 1),
|
|
402
|
+
appearance: "subtle",
|
|
403
|
+
tone: "neutral"
|
|
404
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
405
|
+
size: "sm",
|
|
406
|
+
icon: _RiArrowRightSLine.RiArrowRightSLine,
|
|
407
|
+
accessibilityLabel: nextLabel,
|
|
408
|
+
disabled: atEnd,
|
|
409
|
+
onPress: () => scrollToIndex(active + 1),
|
|
410
|
+
appearance: "subtle",
|
|
411
|
+
tone: "neutral"
|
|
412
|
+
})]
|
|
413
|
+
}) : null]
|
|
400
414
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.CarouselContext.Provider, {
|
|
401
415
|
value: contextValue,
|
|
402
416
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
@@ -418,7 +432,8 @@ const CarouselComponent = function Carousel({
|
|
|
418
432
|
disableIntervalMomentum: true,
|
|
419
433
|
style: trackStyle,
|
|
420
434
|
contentContainerStyle: {
|
|
421
|
-
gap
|
|
435
|
+
gap,
|
|
436
|
+
paddingHorizontal: inset
|
|
422
437
|
},
|
|
423
438
|
children: slides.map((child, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.CarouselItemIndexContext.Provider, {
|
|
424
439
|
value: index,
|
|
@@ -430,7 +445,8 @@ const CarouselComponent = function Carousel({
|
|
|
430
445
|
flexDirection: 'row',
|
|
431
446
|
alignItems: 'center',
|
|
432
447
|
justifyContent: 'center',
|
|
433
|
-
gap: 6
|
|
448
|
+
gap: 6,
|
|
449
|
+
paddingHorizontal: inset
|
|
434
450
|
},
|
|
435
451
|
children: Array.from({
|
|
436
452
|
length: count
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_button","_shared","_RiArrowLeftSLine","_RiArrowRightSLine","_useInteractionState","_interactiveWebCss","_tokens","_webData","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","IS_WEB","Platform","OS","DOT_TRANSITION_MS","DOT_HEIGHT","DOT_WIDTH","DOT_ACTIVE_WIDTH","resolveCarouselPaint","theme","accent","resolveButtonRamps","dotActive","colors","text","dot","backgroundSecondary","dotHover","textSecondary","ring","STYLE_ID","TRACK","DOT","BLOOM_CAROUSEL_CSS","CarouselItemComponent","CarouselItem","children","width","accessibilityLabel","style","testID","ctx","useContext","CarouselContext","index","CarouselItemIndexContext","reportOffset","onLayout","useCallback","event","x","w","nativeEvent","layout","slideWidth","trackWidth","undefined","jsx","View","webDataSet","bloomCarouselItem","role","count","flexShrink","exports","memo","displayName","CarouselDot","active","paint","label","reducedMotion","onPress","state","hovered","onIn","onOut","useInteractionState","useRef","Animated","Value","current","useEffect","to","setValue","timing","toValue","duration","useNativeDriver","start","background","Pressable","bloomCarouselDot","accessibilityRole","onHoverIn","onHoverOut","hitSlop","top","bottom","left","right","height","borderRadius","full","backgroundColor","CarouselComponent","Carousel","showArrows","showDots","align","gap","onIndexChange","previousLabel","nextLabel","dotLabel","useTheme","useInteractiveWebCss","useReducedMotion","useMemo","slides","Children","toArray","filter","isValidElement","length","scrollRef","offsets","scroll","contentWidth","setTrackWidth","useState","snapOffsets","setSnapOffsets","setActive","atStart","setAtStart","atEnd","setAtEnd","onIndexChangeRef","activeRef","measure","viewport","end","all","slice","next","shortest","Number","POSITIVE_INFINITY","forEach","item","distance","Math","abs","targetFor","raw","max","min","recomputeSnaps","some","map","scrollToIndex","target","scrollTo","animated","onScroll","contentOffset","contentSize","onContentSizeChange","contextValue","trackStyle","jsxs","flexDirection","alignItems","justifyContent","Button","size","icon","RiArrowLeftSLine","disabled","appearance","tone","RiArrowRightSLine","Provider","value","ScrollView","ref","bloomCarouselTrack","tabIndex","horizontal","showsHorizontalScrollIndicator","scrollEventThrottle","snapToOffsets","decelerationRate","disableIntervalMomentum","contentContainerStyle","child","key","Array","from","_"],"sourceRoot":"../../../src","sources":["carousel/Carousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_button","_shared","_RiArrowLeftSLine","_RiArrowRightSLine","_useInteractionState","_interactiveWebCss","_tokens","_webData","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","IS_WEB","Platform","OS","DOT_TRANSITION_MS","DOT_HEIGHT","DOT_WIDTH","DOT_ACTIVE_WIDTH","resolveCarouselPaint","theme","accent","resolveButtonRamps","dotActive","colors","text","dot","backgroundSecondary","dotHover","textSecondary","ring","STYLE_ID","TRACK","DOT","BLOOM_CAROUSEL_CSS","CarouselItemComponent","CarouselItem","children","width","accessibilityLabel","style","testID","ctx","useContext","CarouselContext","index","CarouselItemIndexContext","reportOffset","onLayout","useCallback","event","x","w","nativeEvent","layout","slideWidth","trackWidth","undefined","jsx","View","webDataSet","bloomCarouselItem","role","count","flexShrink","exports","memo","displayName","CarouselDot","active","paint","label","reducedMotion","onPress","state","hovered","onIn","onOut","useInteractionState","useRef","Animated","Value","current","useEffect","to","setValue","timing","toValue","duration","useNativeDriver","start","background","Pressable","bloomCarouselDot","accessibilityRole","onHoverIn","onHoverOut","hitSlop","top","bottom","left","right","height","borderRadius","full","backgroundColor","CarouselComponent","Carousel","header","showArrows","showDots","align","gap","inset","onIndexChange","previousLabel","nextLabel","dotLabel","useTheme","useInteractiveWebCss","useReducedMotion","useMemo","slides","Children","toArray","filter","isValidElement","length","scrollRef","offsets","scroll","contentWidth","setTrackWidth","useState","snapOffsets","setSnapOffsets","setActive","atStart","setAtStart","atEnd","setAtEnd","onIndexChangeRef","activeRef","measure","viewport","end","all","slice","next","shortest","Number","POSITIVE_INFINITY","forEach","item","distance","Math","abs","targetFor","raw","max","min","recomputeSnaps","some","map","scrollToIndex","target","scrollTo","animated","onScroll","contentOffset","contentSize","onContentSizeChange","contextValue","trackStyle","jsxs","flexDirection","alignItems","paddingHorizontal","flex","minWidth","Fragment","Button","size","icon","RiArrowLeftSLine","disabled","appearance","tone","RiArrowRightSLine","Provider","value","ScrollView","ref","bloomCarouselTrack","tabIndex","horizontal","showsHorizontalScrollIndicator","scrollEventThrottle","snapToOffsets","decelerationRate","disableIntervalMomentum","contentContainerStyle","child","key","justifyContent","Array","from","_"],"sourceRoot":"../../../src","sources":["carousel/Carousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,12 +13,13 @@ import { borderRadius } from "../styles/tokens.js";
|
|
|
13
13
|
import { webDataSet } from "../styles/web-data.js";
|
|
14
14
|
import { useTheme } from "../theme/use-theme.js";
|
|
15
15
|
import { CarouselContext, CarouselItemIndexContext } from "./context.js";
|
|
16
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
/**
|
|
18
18
|
* A gallery carousel: a horizontal run of slides you scroll through, with
|
|
19
19
|
* prev/next buttons above and a position indicator below.
|
|
20
20
|
*
|
|
21
21
|
* column gap 16
|
|
22
|
+
* header optional leading content of the arrows row (a title)
|
|
22
23
|
* arrows right-aligned row, gap 8, small secondary icon buttons
|
|
23
24
|
* (Bloom's pill `Button`, sized to a 32px square icon button)
|
|
24
25
|
* track native horizontal scrolling that SNAPS to each slide — CSS
|
|
@@ -77,6 +78,7 @@ const DOT = '[data-bloom-carousel-dot]';
|
|
|
77
78
|
const BLOOM_CAROUSEL_CSS = `
|
|
78
79
|
${TRACK} {
|
|
79
80
|
scroll-snap-type: x mandatory;
|
|
81
|
+
scroll-padding-inline: var(--bloom-carousel-inset, 0px);
|
|
80
82
|
overscroll-behavior-x: contain;
|
|
81
83
|
scrollbar-width: none;
|
|
82
84
|
outline: none;
|
|
@@ -227,10 +229,12 @@ function CarouselDot({
|
|
|
227
229
|
const CarouselComponent = function Carousel({
|
|
228
230
|
children,
|
|
229
231
|
accessibilityLabel,
|
|
232
|
+
header,
|
|
230
233
|
showArrows = true,
|
|
231
234
|
showDots = true,
|
|
232
235
|
align = 'start',
|
|
233
236
|
gap = 16,
|
|
237
|
+
inset = 0,
|
|
234
238
|
onIndexChange,
|
|
235
239
|
previousLabel = 'Previous slide',
|
|
236
240
|
nextLabel = 'Next slide',
|
|
@@ -296,10 +300,10 @@ const CarouselComponent = function Carousel({
|
|
|
296
300
|
}
|
|
297
301
|
}, [count, trackWidth]);
|
|
298
302
|
const targetFor = useCallback(item => {
|
|
299
|
-
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x;
|
|
303
|
+
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x - inset;
|
|
300
304
|
const max = Math.max(0, scroll.current.contentWidth - trackWidth);
|
|
301
305
|
return Math.min(Math.max(0, raw), max);
|
|
302
|
-
}, [align, trackWidth]);
|
|
306
|
+
}, [align, inset, trackWidth]);
|
|
303
307
|
const recomputeSnaps = useCallback(() => {
|
|
304
308
|
if (IS_WEB) return; // CSS scroll-snap owns snapping on web.
|
|
305
309
|
const all = offsets.current.slice(0, count);
|
|
@@ -353,7 +357,9 @@ const CarouselComponent = function Carousel({
|
|
|
353
357
|
const trackStyle = {
|
|
354
358
|
width: '100%',
|
|
355
359
|
// The `:focus-visible` ring colour, read by the adopted sheet.
|
|
356
|
-
'--bloom-carousel-ring': paint.ring
|
|
360
|
+
'--bloom-carousel-ring': paint.ring,
|
|
361
|
+
// Where a start-aligned slide snaps to on web, matching `inset` on native.
|
|
362
|
+
'--bloom-carousel-inset': `${inset}px`
|
|
357
363
|
};
|
|
358
364
|
return /*#__PURE__*/_jsxs(View, {
|
|
359
365
|
role: "group",
|
|
@@ -367,30 +373,38 @@ const CarouselComponent = function Carousel({
|
|
|
367
373
|
gap: 16
|
|
368
374
|
}, style],
|
|
369
375
|
testID: testID,
|
|
370
|
-
children: [showArrows && count > 0 ? /*#__PURE__*/_jsxs(View, {
|
|
376
|
+
children: [header != null || showArrows && count > 0 ? /*#__PURE__*/_jsxs(View, {
|
|
371
377
|
style: {
|
|
372
378
|
flexDirection: 'row',
|
|
373
379
|
alignItems: 'center',
|
|
374
|
-
|
|
375
|
-
|
|
380
|
+
gap: 8,
|
|
381
|
+
paddingHorizontal: inset
|
|
376
382
|
},
|
|
377
|
-
children: [/*#__PURE__*/_jsx(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
383
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
384
|
+
style: {
|
|
385
|
+
flex: 1,
|
|
386
|
+
minWidth: 0
|
|
387
|
+
},
|
|
388
|
+
children: header
|
|
389
|
+
}), showArrows && count > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
390
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
391
|
+
size: "sm",
|
|
392
|
+
icon: RiArrowLeftSLine,
|
|
393
|
+
accessibilityLabel: previousLabel,
|
|
394
|
+
disabled: atStart,
|
|
395
|
+
onPress: () => scrollToIndex(active - 1),
|
|
396
|
+
appearance: "subtle",
|
|
397
|
+
tone: "neutral"
|
|
398
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
399
|
+
size: "sm",
|
|
400
|
+
icon: RiArrowRightSLine,
|
|
401
|
+
accessibilityLabel: nextLabel,
|
|
402
|
+
disabled: atEnd,
|
|
403
|
+
onPress: () => scrollToIndex(active + 1),
|
|
404
|
+
appearance: "subtle",
|
|
405
|
+
tone: "neutral"
|
|
406
|
+
})]
|
|
407
|
+
}) : null]
|
|
394
408
|
}) : null, /*#__PURE__*/_jsx(CarouselContext.Provider, {
|
|
395
409
|
value: contextValue,
|
|
396
410
|
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
@@ -412,7 +426,8 @@ const CarouselComponent = function Carousel({
|
|
|
412
426
|
disableIntervalMomentum: true,
|
|
413
427
|
style: trackStyle,
|
|
414
428
|
contentContainerStyle: {
|
|
415
|
-
gap
|
|
429
|
+
gap,
|
|
430
|
+
paddingHorizontal: inset
|
|
416
431
|
},
|
|
417
432
|
children: slides.map((child, index) => /*#__PURE__*/_jsx(CarouselItemIndexContext.Provider, {
|
|
418
433
|
value: index,
|
|
@@ -424,7 +439,8 @@ const CarouselComponent = function Carousel({
|
|
|
424
439
|
flexDirection: 'row',
|
|
425
440
|
alignItems: 'center',
|
|
426
441
|
justifyContent: 'center',
|
|
427
|
-
gap: 6
|
|
442
|
+
gap: 6,
|
|
443
|
+
paddingHorizontal: inset
|
|
428
444
|
},
|
|
429
445
|
children: Array.from({
|
|
430
446
|
length: count
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Children","isValidElement","memo","useCallback","useContext","useEffect","useMemo","useRef","useState","Animated","Platform","Pressable","ScrollView","View","useReducedMotion","Button","resolveButtonRamps","RiArrowLeftSLine","RiArrowRightSLine","useInteractionState","useInteractiveWebCss","borderRadius","webDataSet","useTheme","CarouselContext","CarouselItemIndexContext","jsx","_jsx","jsxs","_jsxs","IS_WEB","OS","DOT_TRANSITION_MS","DOT_HEIGHT","DOT_WIDTH","DOT_ACTIVE_WIDTH","resolveCarouselPaint","theme","accent","dotActive","colors","text","dot","backgroundSecondary","dotHover","textSecondary","ring","STYLE_ID","TRACK","DOT","BLOOM_CAROUSEL_CSS","CarouselItemComponent","CarouselItem","children","width","accessibilityLabel","style","testID","ctx","index","reportOffset","onLayout","event","x","w","nativeEvent","layout","slideWidth","trackWidth","undefined","bloomCarouselItem","role","count","flexShrink","displayName","CarouselDot","active","paint","label","reducedMotion","onPress","state","hovered","onIn","onOut","Value","current","to","setValue","timing","toValue","duration","useNativeDriver","start","background","bloomCarouselDot","accessibilityRole","onHoverIn","onHoverOut","hitSlop","top","bottom","left","right","height","full","backgroundColor","CarouselComponent","Carousel","showArrows","showDots","align","gap","onIndexChange","previousLabel","nextLabel","dotLabel","slides","toArray","filter","length","scrollRef","offsets","scroll","contentWidth","setTrackWidth","snapOffsets","setSnapOffsets","setActive","atStart","setAtStart","atEnd","setAtEnd","onIndexChangeRef","activeRef","measure","viewport","end","all","slice","next","shortest","Number","POSITIVE_INFINITY","forEach","item","distance","Math","abs","targetFor","raw","max","min","recomputeSnaps","some","o","map","scrollToIndex","target","scrollTo","animated","onScroll","contentOffset","contentSize","onContentSizeChange","contextValue","trackStyle","flexDirection","alignItems","justifyContent","size","icon","disabled","appearance","tone","Provider","value","ref","bloomCarouselTrack","tabIndex","horizontal","showsHorizontalScrollIndicator","scrollEventThrottle","snapToOffsets","decelerationRate","disableIntervalMomentum","contentContainerStyle","child","key","Array","from","_"],"sourceRoot":"../../../src","sources":["carousel/Carousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Children","isValidElement","memo","useCallback","useContext","useEffect","useMemo","useRef","useState","Animated","Platform","Pressable","ScrollView","View","useReducedMotion","Button","resolveButtonRamps","RiArrowLeftSLine","RiArrowRightSLine","useInteractionState","useInteractiveWebCss","borderRadius","webDataSet","useTheme","CarouselContext","CarouselItemIndexContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","IS_WEB","OS","DOT_TRANSITION_MS","DOT_HEIGHT","DOT_WIDTH","DOT_ACTIVE_WIDTH","resolveCarouselPaint","theme","accent","dotActive","colors","text","dot","backgroundSecondary","dotHover","textSecondary","ring","STYLE_ID","TRACK","DOT","BLOOM_CAROUSEL_CSS","CarouselItemComponent","CarouselItem","children","width","accessibilityLabel","style","testID","ctx","index","reportOffset","onLayout","event","x","w","nativeEvent","layout","slideWidth","trackWidth","undefined","bloomCarouselItem","role","count","flexShrink","displayName","CarouselDot","active","paint","label","reducedMotion","onPress","state","hovered","onIn","onOut","Value","current","to","setValue","timing","toValue","duration","useNativeDriver","start","background","bloomCarouselDot","accessibilityRole","onHoverIn","onHoverOut","hitSlop","top","bottom","left","right","height","full","backgroundColor","CarouselComponent","Carousel","header","showArrows","showDots","align","gap","inset","onIndexChange","previousLabel","nextLabel","dotLabel","slides","toArray","filter","length","scrollRef","offsets","scroll","contentWidth","setTrackWidth","snapOffsets","setSnapOffsets","setActive","atStart","setAtStart","atEnd","setAtEnd","onIndexChangeRef","activeRef","measure","viewport","end","all","slice","next","shortest","Number","POSITIVE_INFINITY","forEach","item","distance","Math","abs","targetFor","raw","max","min","recomputeSnaps","some","o","map","scrollToIndex","target","scrollTo","animated","onScroll","contentOffset","contentSize","onContentSizeChange","contextValue","trackStyle","flexDirection","alignItems","paddingHorizontal","flex","minWidth","size","icon","disabled","appearance","tone","Provider","value","ref","bloomCarouselTrack","tabIndex","horizontal","showsHorizontalScrollIndicator","scrollEventThrottle","snapToOffsets","decelerationRate","disableIntervalMomentum","contentContainerStyle","child","key","justifyContent","Array","from","_"],"sourceRoot":"../../../src","sources":["carousel/Carousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,6 @@ interface CarouselPaint {
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function resolveCarouselPaint(theme: Theme): CarouselPaint;
|
|
18
18
|
export declare const CarouselItem: React.MemoExoticComponent<({ children, width, accessibilityLabel, style, testID, }: CarouselItemProps) => import("react/jsx-runtime").JSX.Element>;
|
|
19
|
-
export declare const Carousel: React.MemoExoticComponent<({ children, accessibilityLabel, showArrows, showDots, align, gap, onIndexChange, previousLabel, nextLabel, dotLabel, style, testID, }: CarouselProps) => import("react/jsx-runtime").JSX.Element>;
|
|
19
|
+
export declare const Carousel: React.MemoExoticComponent<({ children, accessibilityLabel, header, showArrows, showDots, align, gap, inset, onIndexChange, previousLabel, nextLabel, dotLabel, style, testID, }: CarouselProps) => import("react/jsx-runtime").JSX.Element>;
|
|
20
20
|
export {};
|
|
21
21
|
//# sourceMappingURL=Carousel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAsBf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAsBf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAgChE,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAQhE;AA6FD,eAAO,MAAM,YAAY,sFA9BtB,iBAAiB,6CA8BmC,CAAC;AA6RxD,eAAO,MAAM,QAAQ,mLAzLlB,aAAa,6CAyL+B,CAAC"}
|
|
@@ -8,6 +8,12 @@ export interface CarouselProps {
|
|
|
8
8
|
* `aria-label`). The region announces itself as a "carousel".
|
|
9
9
|
*/
|
|
10
10
|
accessibilityLabel: string;
|
|
11
|
+
/**
|
|
12
|
+
* Leading content of the row above the track — typically the section title
|
|
13
|
+
* and a "See all" link. It shares the row with the arrows (header at the
|
|
14
|
+
* start, arrows at the end), so a titled carousel costs one row, not two.
|
|
15
|
+
*/
|
|
16
|
+
header?: ReactNode;
|
|
11
17
|
/** Previous / next buttons above the track. Defaults to `true`. */
|
|
12
18
|
showArrows?: boolean;
|
|
13
19
|
/** Position indicator below the track. Defaults to `true`. */
|
|
@@ -16,6 +22,13 @@ export interface CarouselProps {
|
|
|
16
22
|
align?: 'start' | 'center';
|
|
17
23
|
/** Gap between slides, in px. Defaults to `16`. */
|
|
18
24
|
gap?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Horizontal inset, in px, of the header row, the dots and the first and
|
|
27
|
+
* last slide. Slides still scroll under it to the carousel's edges (it is
|
|
28
|
+
* padding INSIDE the track, not a margin around it), and a snapped slide
|
|
29
|
+
* rests at the inset, not flush. Defaults to `0`.
|
|
30
|
+
*/
|
|
31
|
+
inset?: number;
|
|
19
32
|
/** Called when the slide in view changes. */
|
|
20
33
|
onIndexChange?: (index: number) => void;
|
|
21
34
|
/** Accessible name of the previous button. Defaults to `'Previous slide'`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -16,6 +16,6 @@ interface CarouselPaint {
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function resolveCarouselPaint(theme: Theme): CarouselPaint;
|
|
18
18
|
export declare const CarouselItem: React.MemoExoticComponent<({ children, width, accessibilityLabel, style, testID, }: CarouselItemProps) => import("react/jsx-runtime").JSX.Element>;
|
|
19
|
-
export declare const Carousel: React.MemoExoticComponent<({ children, accessibilityLabel, showArrows, showDots, align, gap, onIndexChange, previousLabel, nextLabel, dotLabel, style, testID, }: CarouselProps) => import("react/jsx-runtime").JSX.Element>;
|
|
19
|
+
export declare const Carousel: React.MemoExoticComponent<({ children, accessibilityLabel, header, showArrows, showDots, align, gap, inset, onIndexChange, previousLabel, nextLabel, dotLabel, style, testID, }: CarouselProps) => import("react/jsx-runtime").JSX.Element>;
|
|
20
20
|
export {};
|
|
21
21
|
//# sourceMappingURL=Carousel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAsBf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAsBf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAgChE,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAQhE;AA6FD,eAAO,MAAM,YAAY,sFA9BtB,iBAAiB,6CA8BmC,CAAC;AA6RxD,eAAO,MAAM,QAAQ,mLAzLlB,aAAa,6CAyL+B,CAAC"}
|
|
@@ -8,6 +8,12 @@ export interface CarouselProps {
|
|
|
8
8
|
* `aria-label`). The region announces itself as a "carousel".
|
|
9
9
|
*/
|
|
10
10
|
accessibilityLabel: string;
|
|
11
|
+
/**
|
|
12
|
+
* Leading content of the row above the track — typically the section title
|
|
13
|
+
* and a "See all" link. It shares the row with the arrows (header at the
|
|
14
|
+
* start, arrows at the end), so a titled carousel costs one row, not two.
|
|
15
|
+
*/
|
|
16
|
+
header?: ReactNode;
|
|
11
17
|
/** Previous / next buttons above the track. Defaults to `true`. */
|
|
12
18
|
showArrows?: boolean;
|
|
13
19
|
/** Position indicator below the track. Defaults to `true`. */
|
|
@@ -16,6 +22,13 @@ export interface CarouselProps {
|
|
|
16
22
|
align?: 'start' | 'center';
|
|
17
23
|
/** Gap between slides, in px. Defaults to `16`. */
|
|
18
24
|
gap?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Horizontal inset, in px, of the header row, the dots and the first and
|
|
27
|
+
* last slide. Slides still scroll under it to the carousel's edges (it is
|
|
28
|
+
* padding INSIDE the track, not a margin around it), and a snapped slide
|
|
29
|
+
* rests at the inset, not flush. Defaults to `0`.
|
|
30
|
+
*/
|
|
31
|
+
inset?: number;
|
|
19
32
|
/** Called when the slide in view changes. */
|
|
20
33
|
onIndexChange?: (index: number) => void;
|
|
21
34
|
/** Accessible name of the previous button. Defaults to `'Previous slide'`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/package.json
CHANGED
|
@@ -40,6 +40,7 @@ import type { CarouselItemProps, CarouselProps } from './types';
|
|
|
40
40
|
* prev/next buttons above and a position indicator below.
|
|
41
41
|
*
|
|
42
42
|
* column gap 16
|
|
43
|
+
* header optional leading content of the arrows row (a title)
|
|
43
44
|
* arrows right-aligned row, gap 8, small secondary icon buttons
|
|
44
45
|
* (Bloom's pill `Button`, sized to a 32px square icon button)
|
|
45
46
|
* track native horizontal scrolling that SNAPS to each slide — CSS
|
|
@@ -105,6 +106,7 @@ const DOT = '[data-bloom-carousel-dot]';
|
|
|
105
106
|
const BLOOM_CAROUSEL_CSS = `
|
|
106
107
|
${TRACK} {
|
|
107
108
|
scroll-snap-type: x mandatory;
|
|
109
|
+
scroll-padding-inline: var(--bloom-carousel-inset, 0px);
|
|
108
110
|
overscroll-behavior-x: contain;
|
|
109
111
|
scrollbar-width: none;
|
|
110
112
|
outline: none;
|
|
@@ -266,10 +268,12 @@ interface SlideOffset {
|
|
|
266
268
|
const CarouselComponent = function Carousel({
|
|
267
269
|
children,
|
|
268
270
|
accessibilityLabel,
|
|
271
|
+
header,
|
|
269
272
|
showArrows = true,
|
|
270
273
|
showDots = true,
|
|
271
274
|
align = 'start',
|
|
272
275
|
gap = 16,
|
|
276
|
+
inset = 0,
|
|
273
277
|
onIndexChange,
|
|
274
278
|
previousLabel = 'Previous slide',
|
|
275
279
|
nextLabel = 'Next slide',
|
|
@@ -337,11 +341,11 @@ const CarouselComponent = function Carousel({
|
|
|
337
341
|
|
|
338
342
|
const targetFor = useCallback(
|
|
339
343
|
(item: SlideOffset) => {
|
|
340
|
-
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x;
|
|
344
|
+
const raw = align === 'center' ? item.x - (trackWidth - item.width) / 2 : item.x - inset;
|
|
341
345
|
const max = Math.max(0, scroll.current.contentWidth - trackWidth);
|
|
342
346
|
return Math.min(Math.max(0, raw), max);
|
|
343
347
|
},
|
|
344
|
-
[align, trackWidth],
|
|
348
|
+
[align, inset, trackWidth],
|
|
345
349
|
);
|
|
346
350
|
|
|
347
351
|
const recomputeSnaps = useCallback(() => {
|
|
@@ -392,6 +396,8 @@ const CarouselComponent = function Carousel({
|
|
|
392
396
|
width: '100%',
|
|
393
397
|
// The `:focus-visible` ring colour, read by the adopted sheet.
|
|
394
398
|
'--bloom-carousel-ring': paint.ring,
|
|
399
|
+
// Where a start-aligned slide snaps to on web, matching `inset` on native.
|
|
400
|
+
'--bloom-carousel-inset': `${inset}px`,
|
|
395
401
|
};
|
|
396
402
|
|
|
397
403
|
return (
|
|
@@ -402,10 +408,15 @@ const CarouselComponent = function Carousel({
|
|
|
402
408
|
style={[{ width: '100%', flexDirection: 'column', gap: 16 }, style]}
|
|
403
409
|
testID={testID}
|
|
404
410
|
>
|
|
405
|
-
{showArrows && count > 0 ? (
|
|
406
|
-
<View style={{ flexDirection: 'row', alignItems: 'center',
|
|
407
|
-
<
|
|
408
|
-
|
|
411
|
+
{header != null || (showArrows && count > 0) ? (
|
|
412
|
+
<View style={{ flexDirection: 'row', alignItems: 'center', gap: 8, paddingHorizontal: inset }}>
|
|
413
|
+
<View style={{ flex: 1, minWidth: 0 }}>{header}</View>
|
|
414
|
+
{showArrows && count > 0 ? (
|
|
415
|
+
<>
|
|
416
|
+
<Button size="sm" icon={RiArrowLeftSLine} accessibilityLabel={previousLabel} disabled={atStart} onPress={() => scrollToIndex(active - 1)} appearance="subtle" tone="neutral" />
|
|
417
|
+
<Button size="sm" icon={RiArrowRightSLine} accessibilityLabel={nextLabel} disabled={atEnd} onPress={() => scrollToIndex(active + 1)} appearance="subtle" tone="neutral" />
|
|
418
|
+
</>
|
|
419
|
+
) : null}
|
|
409
420
|
</View>
|
|
410
421
|
) : null}
|
|
411
422
|
|
|
@@ -426,7 +437,7 @@ const CarouselComponent = function Carousel({
|
|
|
426
437
|
decelerationRate={IS_WEB ? undefined : 'fast'}
|
|
427
438
|
disableIntervalMomentum
|
|
428
439
|
style={trackStyle}
|
|
429
|
-
contentContainerStyle={{ gap }}
|
|
440
|
+
contentContainerStyle={{ gap, paddingHorizontal: inset }}
|
|
430
441
|
>
|
|
431
442
|
{slides.map((child, index) => (
|
|
432
443
|
<CarouselItemIndexContext.Provider key={child.key ?? index} value={index}>
|
|
@@ -437,7 +448,7 @@ const CarouselComponent = function Carousel({
|
|
|
437
448
|
</CarouselContext.Provider>
|
|
438
449
|
|
|
439
450
|
{showDots && count > 1 ? (
|
|
440
|
-
<View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center', gap: 6 }}>
|
|
451
|
+
<View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center', gap: 6, paddingHorizontal: inset }}>
|
|
441
452
|
{Array.from({ length: count }, (_, index) => (
|
|
442
453
|
<CarouselDot
|
|
443
454
|
key={index}
|
package/src/carousel/types.ts
CHANGED
|
@@ -9,6 +9,12 @@ export interface CarouselProps {
|
|
|
9
9
|
* `aria-label`). The region announces itself as a "carousel".
|
|
10
10
|
*/
|
|
11
11
|
accessibilityLabel: string;
|
|
12
|
+
/**
|
|
13
|
+
* Leading content of the row above the track — typically the section title
|
|
14
|
+
* and a "See all" link. It shares the row with the arrows (header at the
|
|
15
|
+
* start, arrows at the end), so a titled carousel costs one row, not two.
|
|
16
|
+
*/
|
|
17
|
+
header?: ReactNode;
|
|
12
18
|
/** Previous / next buttons above the track. Defaults to `true`. */
|
|
13
19
|
showArrows?: boolean;
|
|
14
20
|
/** Position indicator below the track. Defaults to `true`. */
|
|
@@ -17,6 +23,13 @@ export interface CarouselProps {
|
|
|
17
23
|
align?: 'start' | 'center';
|
|
18
24
|
/** Gap between slides, in px. Defaults to `16`. */
|
|
19
25
|
gap?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Horizontal inset, in px, of the header row, the dots and the first and
|
|
28
|
+
* last slide. Slides still scroll under it to the carousel's edges (it is
|
|
29
|
+
* padding INSIDE the track, not a margin around it), and a snapped slide
|
|
30
|
+
* rests at the inset, not flush. Defaults to `0`.
|
|
31
|
+
*/
|
|
32
|
+
inset?: number;
|
|
20
33
|
/** Called when the slide in view changes. */
|
|
21
34
|
onIndexChange?: (index: number) => void;
|
|
22
35
|
/** Accessible name of the previous button. Defaults to `'Previous slide'`. */
|