@oxy.so/bloom 4.28.0 → 4.29.1

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);
@@ -332,6 +336,25 @@ const CarouselComponent = function Carousel({
332
336
  animated: !reducedMotion
333
337
  });
334
338
  };
339
+
340
+ /**
341
+ * The arrows step from where the track IS, not from the active index. Slides
342
+ * narrower than the track share the end offset — every one that cannot reach
343
+ * the start edge clamps to it — so near the end "the slide before the active
344
+ * one" is often where the track already rests, and an index step would scroll
345
+ * nowhere and stay stuck there. Step to the nearest DISTINCT resting place
346
+ * instead (1px of slack, as in `measure`).
347
+ */
348
+ const step = direction => {
349
+ const x = scroll.current.x;
350
+ const targets = offsets.current.slice(0, count).filter(item => Boolean(item)).map(targetFor);
351
+ const next = direction === 1 ? targets.filter(t => t > x + 1).reduce((a, b) => Math.min(a, b), Number.POSITIVE_INFINITY) : targets.filter(t => t < x - 1).reduce((a, b) => Math.max(a, b), Number.NEGATIVE_INFINITY);
352
+ if (!Number.isFinite(next)) return;
353
+ scrollRef.current?.scrollTo({
354
+ x: next,
355
+ animated: !reducedMotion
356
+ });
357
+ };
335
358
  const onScroll = event => {
336
359
  const {
337
360
  contentOffset,
@@ -359,7 +382,9 @@ const CarouselComponent = function Carousel({
359
382
  const trackStyle = {
360
383
  width: '100%',
361
384
  // The `:focus-visible` ring colour, read by the adopted sheet.
362
- '--bloom-carousel-ring': paint.ring
385
+ '--bloom-carousel-ring': paint.ring,
386
+ // Where a start-aligned slide snaps to on web, matching `inset` on native.
387
+ '--bloom-carousel-inset': `${inset}px`
363
388
  };
364
389
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
365
390
  role: "group",
@@ -373,30 +398,38 @@ const CarouselComponent = function Carousel({
373
398
  gap: 16
374
399
  }, style],
375
400
  testID: testID,
376
- children: [showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
401
+ children: [header != null || showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
377
402
  style: {
378
403
  flexDirection: 'row',
379
404
  alignItems: 'center',
380
- justifyContent: 'flex-end',
381
- gap: 8
405
+ gap: 8,
406
+ paddingHorizontal: inset
382
407
  },
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
- })]
408
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
409
+ style: {
410
+ flex: 1,
411
+ minWidth: 0
412
+ },
413
+ children: header
414
+ }), showArrows && count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
415
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
416
+ size: "sm",
417
+ icon: _RiArrowLeftSLine.RiArrowLeftSLine,
418
+ accessibilityLabel: previousLabel,
419
+ disabled: atStart,
420
+ onPress: () => step(-1),
421
+ appearance: "subtle",
422
+ tone: "neutral"
423
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
424
+ size: "sm",
425
+ icon: _RiArrowRightSLine.RiArrowRightSLine,
426
+ accessibilityLabel: nextLabel,
427
+ disabled: atEnd,
428
+ onPress: () => step(1),
429
+ appearance: "subtle",
430
+ tone: "neutral"
431
+ })]
432
+ }) : null]
400
433
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.CarouselContext.Provider, {
401
434
  value: contextValue,
402
435
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
@@ -418,7 +451,8 @@ const CarouselComponent = function Carousel({
418
451
  disableIntervalMomentum: true,
419
452
  style: trackStyle,
420
453
  contentContainerStyle: {
421
- gap
454
+ gap,
455
+ paddingHorizontal: inset
422
456
  },
423
457
  children: slides.map((child, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.CarouselItemIndexContext.Provider, {
424
458
  value: index,
@@ -430,7 +464,8 @@ const CarouselComponent = function Carousel({
430
464
  flexDirection: 'row',
431
465
  alignItems: 'center',
432
466
  justifyContent: 'center',
433
- gap: 6
467
+ gap: 6,
468
+ paddingHorizontal: inset
434
469
  },
435
470
  children: Array.from({
436
471
  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","step","direction","targets","Boolean","reduce","a","b","NEGATIVE_INFINITY","isFinite","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);
@@ -326,6 +330,25 @@ const CarouselComponent = function Carousel({
326
330
  animated: !reducedMotion
327
331
  });
328
332
  };
333
+
334
+ /**
335
+ * The arrows step from where the track IS, not from the active index. Slides
336
+ * narrower than the track share the end offset — every one that cannot reach
337
+ * the start edge clamps to it — so near the end "the slide before the active
338
+ * one" is often where the track already rests, and an index step would scroll
339
+ * nowhere and stay stuck there. Step to the nearest DISTINCT resting place
340
+ * instead (1px of slack, as in `measure`).
341
+ */
342
+ const step = direction => {
343
+ const x = scroll.current.x;
344
+ const targets = offsets.current.slice(0, count).filter(item => Boolean(item)).map(targetFor);
345
+ const next = direction === 1 ? targets.filter(t => t > x + 1).reduce((a, b) => Math.min(a, b), Number.POSITIVE_INFINITY) : targets.filter(t => t < x - 1).reduce((a, b) => Math.max(a, b), Number.NEGATIVE_INFINITY);
346
+ if (!Number.isFinite(next)) return;
347
+ scrollRef.current?.scrollTo({
348
+ x: next,
349
+ animated: !reducedMotion
350
+ });
351
+ };
329
352
  const onScroll = event => {
330
353
  const {
331
354
  contentOffset,
@@ -353,7 +376,9 @@ const CarouselComponent = function Carousel({
353
376
  const trackStyle = {
354
377
  width: '100%',
355
378
  // The `:focus-visible` ring colour, read by the adopted sheet.
356
- '--bloom-carousel-ring': paint.ring
379
+ '--bloom-carousel-ring': paint.ring,
380
+ // Where a start-aligned slide snaps to on web, matching `inset` on native.
381
+ '--bloom-carousel-inset': `${inset}px`
357
382
  };
358
383
  return /*#__PURE__*/_jsxs(View, {
359
384
  role: "group",
@@ -367,30 +392,38 @@ const CarouselComponent = function Carousel({
367
392
  gap: 16
368
393
  }, style],
369
394
  testID: testID,
370
- children: [showArrows && count > 0 ? /*#__PURE__*/_jsxs(View, {
395
+ children: [header != null || showArrows && count > 0 ? /*#__PURE__*/_jsxs(View, {
371
396
  style: {
372
397
  flexDirection: 'row',
373
398
  alignItems: 'center',
374
- justifyContent: 'flex-end',
375
- gap: 8
399
+ gap: 8,
400
+ paddingHorizontal: inset
376
401
  },
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
- })]
402
+ children: [/*#__PURE__*/_jsx(View, {
403
+ style: {
404
+ flex: 1,
405
+ minWidth: 0
406
+ },
407
+ children: header
408
+ }), showArrows && count > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
409
+ children: [/*#__PURE__*/_jsx(Button, {
410
+ size: "sm",
411
+ icon: RiArrowLeftSLine,
412
+ accessibilityLabel: previousLabel,
413
+ disabled: atStart,
414
+ onPress: () => step(-1),
415
+ appearance: "subtle",
416
+ tone: "neutral"
417
+ }), /*#__PURE__*/_jsx(Button, {
418
+ size: "sm",
419
+ icon: RiArrowRightSLine,
420
+ accessibilityLabel: nextLabel,
421
+ disabled: atEnd,
422
+ onPress: () => step(1),
423
+ appearance: "subtle",
424
+ tone: "neutral"
425
+ })]
426
+ }) : null]
394
427
  }) : null, /*#__PURE__*/_jsx(CarouselContext.Provider, {
395
428
  value: contextValue,
396
429
  children: /*#__PURE__*/_jsx(ScrollView, {
@@ -412,7 +445,8 @@ const CarouselComponent = function Carousel({
412
445
  disableIntervalMomentum: true,
413
446
  style: trackStyle,
414
447
  contentContainerStyle: {
415
- gap
448
+ gap,
449
+ paddingHorizontal: inset
416
450
  },
417
451
  children: slides.map((child, index) => /*#__PURE__*/_jsx(CarouselItemIndexContext.Provider, {
418
452
  value: index,
@@ -424,7 +458,8 @@ const CarouselComponent = function Carousel({
424
458
  flexDirection: 'row',
425
459
  alignItems: 'center',
426
460
  justifyContent: 'center',
427
- gap: 6
461
+ gap: 6,
462
+ paddingHorizontal: inset
428
463
  },
429
464
  children: Array.from({
430
465
  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","step","direction","targets","Boolean","t","reduce","a","b","NEGATIVE_INFINITY","isFinite","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;AAmTxD,eAAO,MAAM,QAAQ,mLA/MlB,aAAa,6CA+M+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;AAmTxD,eAAO,MAAM,QAAQ,mLA/MlB,aAAa,6CA+M+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.1",
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(() => {
@@ -371,6 +375,28 @@ const CarouselComponent = function Carousel({
371
375
  scrollRef.current?.scrollTo({ x: targetFor(target), animated: !reducedMotion });
372
376
  };
373
377
 
378
+ /**
379
+ * The arrows step from where the track IS, not from the active index. Slides
380
+ * narrower than the track share the end offset — every one that cannot reach
381
+ * the start edge clamps to it — so near the end "the slide before the active
382
+ * one" is often where the track already rests, and an index step would scroll
383
+ * nowhere and stay stuck there. Step to the nearest DISTINCT resting place
384
+ * instead (1px of slack, as in `measure`).
385
+ */
386
+ const step = (direction: -1 | 1) => {
387
+ const x = scroll.current.x;
388
+ const targets = offsets.current
389
+ .slice(0, count)
390
+ .filter((item): item is SlideOffset => Boolean(item))
391
+ .map(targetFor);
392
+ const next =
393
+ direction === 1
394
+ ? targets.filter((t) => t > x + 1).reduce((a, b) => Math.min(a, b), Number.POSITIVE_INFINITY)
395
+ : targets.filter((t) => t < x - 1).reduce((a, b) => Math.max(a, b), Number.NEGATIVE_INFINITY);
396
+ if (!Number.isFinite(next)) return;
397
+ scrollRef.current?.scrollTo({ x: next, animated: !reducedMotion });
398
+ };
399
+
374
400
  const onScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {
375
401
  const { contentOffset, contentSize } = event.nativeEvent;
376
402
  scroll.current = { x: contentOffset.x, contentWidth: contentSize.width };
@@ -392,6 +418,8 @@ const CarouselComponent = function Carousel({
392
418
  width: '100%',
393
419
  // The `:focus-visible` ring colour, read by the adopted sheet.
394
420
  '--bloom-carousel-ring': paint.ring,
421
+ // Where a start-aligned slide snaps to on web, matching `inset` on native.
422
+ '--bloom-carousel-inset': `${inset}px`,
395
423
  };
396
424
 
397
425
  return (
@@ -402,10 +430,15 @@ const CarouselComponent = function Carousel({
402
430
  style={[{ width: '100%', flexDirection: 'column', gap: 16 }, style]}
403
431
  testID={testID}
404
432
  >
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" />
433
+ {header != null || (showArrows && count > 0) ? (
434
+ <View style={{ flexDirection: 'row', alignItems: 'center', gap: 8, paddingHorizontal: inset }}>
435
+ <View style={{ flex: 1, minWidth: 0 }}>{header}</View>
436
+ {showArrows && count > 0 ? (
437
+ <>
438
+ <Button size="sm" icon={RiArrowLeftSLine} accessibilityLabel={previousLabel} disabled={atStart} onPress={() => step(-1)} appearance="subtle" tone="neutral" />
439
+ <Button size="sm" icon={RiArrowRightSLine} accessibilityLabel={nextLabel} disabled={atEnd} onPress={() => step(1)} appearance="subtle" tone="neutral" />
440
+ </>
441
+ ) : null}
409
442
  </View>
410
443
  ) : null}
411
444
 
@@ -426,7 +459,7 @@ const CarouselComponent = function Carousel({
426
459
  decelerationRate={IS_WEB ? undefined : 'fast'}
427
460
  disableIntervalMomentum
428
461
  style={trackStyle}
429
- contentContainerStyle={{ gap }}
462
+ contentContainerStyle={{ gap, paddingHorizontal: inset }}
430
463
  >
431
464
  {slides.map((child, index) => (
432
465
  <CarouselItemIndexContext.Provider key={child.key ?? index} value={index}>
@@ -437,7 +470,7 @@ const CarouselComponent = function Carousel({
437
470
  </CarouselContext.Provider>
438
471
 
439
472
  {showDots && count > 1 ? (
440
- <View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center', gap: 6 }}>
473
+ <View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center', gap: 6, paddingHorizontal: inset }}>
441
474
  {Array.from({ length: count }, (_, index) => (
442
475
  <CarouselDot
443
476
  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'`. */