@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 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
- justifyContent: 'flex-end',
381
- gap: 8
386
+ gap: 8,
387
+ paddingHorizontal: inset
382
388
  },
383
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
384
- size: "sm",
385
- icon: _RiArrowLeftSLine.RiArrowLeftSLine,
386
- accessibilityLabel: previousLabel,
387
- disabled: atStart,
388
- onPress: () => scrollToIndex(active - 1),
389
- appearance: "subtle",
390
- tone: "neutral"
391
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
392
- size: "sm",
393
- icon: _RiArrowRightSLine.RiArrowRightSLine,
394
- accessibilityLabel: nextLabel,
395
- disabled: atEnd,
396
- onPress: () => scrollToIndex(active + 1),
397
- appearance: "subtle",
398
- tone: "neutral"
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
- justifyContent: 'flex-end',
375
- gap: 8
380
+ gap: 8,
381
+ paddingHorizontal: inset
376
382
  },
377
- children: [/*#__PURE__*/_jsx(Button, {
378
- size: "sm",
379
- icon: RiArrowLeftSLine,
380
- accessibilityLabel: previousLabel,
381
- disabled: atStart,
382
- onPress: () => scrollToIndex(active - 1),
383
- appearance: "subtle",
384
- tone: "neutral"
385
- }), /*#__PURE__*/_jsx(Button, {
386
- size: "sm",
387
- icon: RiArrowRightSLine,
388
- accessibilityLabel: nextLabel,
389
- disabled: atEnd,
390
- onPress: () => scrollToIndex(active + 1),
391
- appearance: "subtle",
392
- tone: "neutral"
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;AA+BhE,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;AA4FD,eAAO,MAAM,YAAY,sFA9BtB,iBAAiB,6CA8BmC,CAAC;AAoRxD,eAAO,MAAM,QAAQ,oKAlLlB,aAAa,6CAkL+B,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;AA+BhE,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;AA4FD,eAAO,MAAM,YAAY,sFA9BtB,iBAAiB,6CA8BmC,CAAC;AAoRxD,eAAO,MAAM,QAAQ,oKAlLlB,aAAa,6CAkL+B,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/bloom",
3
- "version": "4.28.0",
3
+ "version": "4.29.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -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', justifyContent: 'flex-end', gap: 8 }}>
407
- <Button size="sm" icon={RiArrowLeftSLine} accessibilityLabel={previousLabel} disabled={atStart} onPress={() => scrollToIndex(active - 1)} appearance="subtle" tone="neutral" />
408
- <Button size="sm" icon={RiArrowRightSLine} accessibilityLabel={nextLabel} disabled={atEnd} onPress={() => scrollToIndex(active + 1)} appearance="subtle" tone="neutral" />
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}
@@ -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'`. */