@cdx-ui/components 0.0.1-beta.110 → 0.0.1-beta.111
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/lib/commonjs/components/Carousel/index.js +153 -0
- package/lib/commonjs/components/Carousel/index.js.map +1 -0
- package/lib/commonjs/components/Carousel/paginationNavigation.js +35 -0
- package/lib/commonjs/components/Carousel/paginationNavigation.js.map +1 -0
- package/lib/commonjs/components/Carousel/styles.js +21 -0
- package/lib/commonjs/components/Carousel/styles.js.map +1 -0
- package/lib/commonjs/components/index.js +12 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/module/components/Carousel/index.js +147 -0
- package/lib/module/components/Carousel/index.js.map +1 -0
- package/lib/module/components/Carousel/paginationNavigation.js +31 -0
- package/lib/module/components/Carousel/paginationNavigation.js.map +1 -0
- package/lib/module/components/Carousel/styles.js +18 -0
- package/lib/module/components/Carousel/styles.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/typescript/components/Carousel/index.d.ts +70 -0
- package/lib/typescript/components/Carousel/index.d.ts.map +1 -0
- package/lib/typescript/components/Carousel/paginationNavigation.d.ts +12 -0
- package/lib/typescript/components/Carousel/paginationNavigation.d.ts.map +1 -0
- package/lib/typescript/components/Carousel/styles.d.ts +8 -0
- package/lib/typescript/components/Carousel/styles.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/components/Carousel/index.tsx +263 -0
- package/src/components/Carousel/paginationNavigation.ts +32 -0
- package/src/components/Carousel/styles.ts +18 -0
- package/src/components/index.ts +1 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Carousel = void 0;
|
|
7
|
+
exports.useCarousel = useCarousel;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
var _reactNativeReanimatedCarousel = _interopRequireWildcard(require("react-native-reanimated-carousel"));
|
|
11
|
+
var _uniwind = require("uniwind");
|
|
12
|
+
var _utils = require("@cdx-ui/utils");
|
|
13
|
+
var _paginationNavigation = require("./paginationNavigation");
|
|
14
|
+
var _styles = require("./styles");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
/**
|
|
18
|
+
* Full passthrough of `react-native-reanimated-carousel`'s own props (per `01-api-design.md`,
|
|
19
|
+
* Resolved Question #1) — re-exported under a Forge-owned name so consumers never import the
|
|
20
|
+
* adopted library directly. A type alias (not `interface extends`) because `TCarouselProps<T>`
|
|
21
|
+
* is itself a union-containing type (vertical/mode discriminants), which interfaces cannot extend.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/** Mirrors the adopted library's private `DotStyle` shape (not exported) without importing it. */
|
|
25
|
+
|
|
26
|
+
const [CarouselProgressProvider, useCarouselProgressContext] = (0, _utils.createContext)('CarouselProgress', {
|
|
27
|
+
strict: false
|
|
28
|
+
});
|
|
29
|
+
function isSharedValueProgress(value) {
|
|
30
|
+
return typeof value === 'object' && value !== null && 'value' in value;
|
|
31
|
+
}
|
|
32
|
+
function CarouselInner({
|
|
33
|
+
className,
|
|
34
|
+
style,
|
|
35
|
+
onProgressChange,
|
|
36
|
+
children,
|
|
37
|
+
loop = true,
|
|
38
|
+
defaultIndex = 0,
|
|
39
|
+
...rest
|
|
40
|
+
}, ref) {
|
|
41
|
+
const internalRef = (0, _react.useRef)(null);
|
|
42
|
+
const internalProgress = (0, _reactNativeReanimated.useSharedValue)(defaultIndex);
|
|
43
|
+
const resolvedClassNameStyle = (0, _uniwind.useResolveClassNames)((0, _utils.cn)(className));
|
|
44
|
+
const handleProgressChange = (0, _react.useCallback)((offsetProgress, absoluteProgress) => {
|
|
45
|
+
internalProgress.value = absoluteProgress;
|
|
46
|
+
if (typeof onProgressChange === 'function') {
|
|
47
|
+
onProgressChange(offsetProgress, absoluteProgress);
|
|
48
|
+
}
|
|
49
|
+
}, [onProgressChange, internalProgress]);
|
|
50
|
+
const consumerProgress = isSharedValueProgress(onProgressChange) ? onProgressChange : undefined;
|
|
51
|
+
const contextValue = {
|
|
52
|
+
progress: consumerProgress ?? internalProgress,
|
|
53
|
+
carouselRef: internalRef,
|
|
54
|
+
loop
|
|
55
|
+
};
|
|
56
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CarouselProgressProvider, {
|
|
57
|
+
value: contextValue,
|
|
58
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimatedCarousel.default, {
|
|
59
|
+
ref: (0, _utils.mergeRefs)(ref, internalRef),
|
|
60
|
+
style: [resolvedClassNameStyle, style],
|
|
61
|
+
onProgressChange: consumerProgress ?? handleProgressChange,
|
|
62
|
+
loop: loop,
|
|
63
|
+
defaultIndex: defaultIndex,
|
|
64
|
+
...rest
|
|
65
|
+
}), children]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const CarouselRoot = /*#__PURE__*/(0, _react.forwardRef)(CarouselInner);
|
|
69
|
+
|
|
70
|
+
// =============================================================================
|
|
71
|
+
// PAGINATION
|
|
72
|
+
// =============================================================================
|
|
73
|
+
|
|
74
|
+
function CarouselPaginationComponent({
|
|
75
|
+
className,
|
|
76
|
+
progress: progressProp,
|
|
77
|
+
carouselRef: carouselRefProp,
|
|
78
|
+
loop: loopProp,
|
|
79
|
+
onPress,
|
|
80
|
+
...rest
|
|
81
|
+
}) {
|
|
82
|
+
// `strict: false` with no `defaultValue` means this returns `undefined` outside a
|
|
83
|
+
// `<Carousel>` provider at runtime; cast to communicate that to TypeScript, since
|
|
84
|
+
// `createContext`'s helper type always reports `T` (see `@cdx-ui/utils`).
|
|
85
|
+
const context = useCarouselProgressContext();
|
|
86
|
+
const progress = progressProp ?? context?.progress;
|
|
87
|
+
const carouselRef = carouselRefProp ?? context?.carouselRef;
|
|
88
|
+
const loop = loopProp ?? context?.loop ?? true;
|
|
89
|
+
if (!progress) {
|
|
90
|
+
throw new Error('Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `progress` prop.');
|
|
91
|
+
}
|
|
92
|
+
if (!onPress && !carouselRef) {
|
|
93
|
+
throw new Error('Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `carouselRef` prop (or a custom `onPress`).');
|
|
94
|
+
}
|
|
95
|
+
const handlePress = (0, _react.useCallback)(index => {
|
|
96
|
+
if (onPress) {
|
|
97
|
+
onPress(index);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const carousel = carouselRef?.current;
|
|
101
|
+
if (!carousel) return;
|
|
102
|
+
const scrollAction = (0, _paginationNavigation.resolveCarouselPaginationScrollAction)(carousel.getCurrentIndex(), index, rest.data.length, loop);
|
|
103
|
+
if (scrollAction) {
|
|
104
|
+
carousel.scrollTo(scrollAction);
|
|
105
|
+
}
|
|
106
|
+
}, [onPress, carouselRef, loop, rest.data.length]);
|
|
107
|
+
const containerStyle = (0, _uniwind.useResolveClassNames)((0, _utils.cn)(_styles.carouselPaginationContainerClassName, className));
|
|
108
|
+
const dotStyle = (0, _uniwind.useResolveClassNames)((0, _styles.carouselPaginationDotVariants)({
|
|
109
|
+
active: false
|
|
110
|
+
}));
|
|
111
|
+
const activeDotStyle = (0, _uniwind.useResolveClassNames)((0, _styles.carouselPaginationDotVariants)({
|
|
112
|
+
active: true
|
|
113
|
+
}));
|
|
114
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimatedCarousel.Pagination.Custom, {
|
|
115
|
+
...rest,
|
|
116
|
+
progress: progress,
|
|
117
|
+
onPress: handlePress,
|
|
118
|
+
containerStyle: containerStyle,
|
|
119
|
+
dotStyle: {
|
|
120
|
+
width: 6,
|
|
121
|
+
height: 6,
|
|
122
|
+
...dotStyle
|
|
123
|
+
},
|
|
124
|
+
activeDotStyle: {
|
|
125
|
+
width: 18,
|
|
126
|
+
height: 6,
|
|
127
|
+
...activeDotStyle
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
CarouselPaginationComponent.displayName = 'Carousel.Pagination';
|
|
132
|
+
const CarouselPagination = CarouselPaginationComponent;
|
|
133
|
+
const Carousel = exports.Carousel = Object.assign(CarouselRoot, {
|
|
134
|
+
Pagination: CarouselPagination
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// =============================================================================
|
|
138
|
+
// HOOK
|
|
139
|
+
// =============================================================================
|
|
140
|
+
|
|
141
|
+
function useCarousel(options) {
|
|
142
|
+
const ref = (0, _react.useRef)(null);
|
|
143
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(options?.defaultIndex ?? 0);
|
|
144
|
+
return {
|
|
145
|
+
ref,
|
|
146
|
+
/** Bind to `Carousel`'s `onProgressChange` and sibling `Carousel.Pagination`'s `progress`. */
|
|
147
|
+
progress,
|
|
148
|
+
next: opts => ref.current?.next(opts),
|
|
149
|
+
prev: opts => ref.current?.prev(opts),
|
|
150
|
+
scrollTo: opts => ref.current?.scrollTo(opts)
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_reactNativeReanimatedCarousel","_interopRequireWildcard","_uniwind","_utils","_paginationNavigation","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CarouselProgressProvider","useCarouselProgressContext","createContext","strict","isSharedValueProgress","value","CarouselInner","className","style","onProgressChange","children","loop","defaultIndex","rest","ref","internalRef","useRef","internalProgress","useSharedValue","resolvedClassNameStyle","useResolveClassNames","cn","handleProgressChange","useCallback","offsetProgress","absoluteProgress","consumerProgress","undefined","contextValue","progress","carouselRef","jsxs","jsx","mergeRefs","CarouselRoot","forwardRef","CarouselPaginationComponent","progressProp","carouselRefProp","loopProp","onPress","context","Error","handlePress","index","carousel","current","scrollAction","resolveCarouselPaginationScrollAction","getCurrentIndex","data","length","scrollTo","containerStyle","carouselPaginationContainerClassName","dotStyle","carouselPaginationDotVariants","active","activeDotStyle","Pagination","Custom","width","height","displayName","CarouselPagination","Carousel","exports","assign","useCarousel","options","next","opts","prev"],"sourceRoot":"../../../../src","sources":["components/Carousel/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveCarouselPaginationScrollAction = resolveCarouselPaginationScrollAction;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the shortest `scrollTo` action for pagination dot presses.
|
|
9
|
+
*
|
|
10
|
+
* In loop mode the library's absolute `scrollTo({ index })` can animate through every
|
|
11
|
+
* slide when the current index is past the halfway point of the loop buffer (e.g. index 2 → 3
|
|
12
|
+
* with four items). Relative `count` navigation avoids that wrap-around path.
|
|
13
|
+
*/
|
|
14
|
+
function resolveCarouselPaginationScrollAction(currentIndex, targetIndex, dataLength, loop) {
|
|
15
|
+
if (currentIndex === targetIndex) return null;
|
|
16
|
+
if (!loop) {
|
|
17
|
+
return {
|
|
18
|
+
index: targetIndex,
|
|
19
|
+
animated: true
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const forwardDelta = (targetIndex - currentIndex + dataLength) % dataLength;
|
|
23
|
+
const backwardDelta = (currentIndex - targetIndex + dataLength) % dataLength;
|
|
24
|
+
if (forwardDelta <= backwardDelta) {
|
|
25
|
+
return {
|
|
26
|
+
count: forwardDelta,
|
|
27
|
+
animated: true
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
count: -backwardDelta,
|
|
32
|
+
animated: true
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=paginationNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveCarouselPaginationScrollAction","currentIndex","targetIndex","dataLength","loop","index","animated","forwardDelta","backwardDelta","count"],"sourceRoot":"../../../../src","sources":["components/Carousel/paginationNavigation.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qCAAqCA,CACnDC,YAAoB,EACpBC,WAAmB,EACnBC,UAAkB,EAClBC,IAAa,EAC0B;EACvC,IAAIH,YAAY,KAAKC,WAAW,EAAE,OAAO,IAAI;EAE7C,IAAI,CAACE,IAAI,EAAE;IACT,OAAO;MAAEC,KAAK,EAAEH,WAAW;MAAEI,QAAQ,EAAE;IAAK,CAAC;EAC/C;EAEA,MAAMC,YAAY,GAAG,CAACL,WAAW,GAAGD,YAAY,GAAGE,UAAU,IAAIA,UAAU;EAC3E,MAAMK,aAAa,GAAG,CAACP,YAAY,GAAGC,WAAW,GAAGC,UAAU,IAAIA,UAAU;EAE5E,IAAII,YAAY,IAAIC,aAAa,EAAE;IACjC,OAAO;MAAEC,KAAK,EAAEF,YAAY;MAAED,QAAQ,EAAE;IAAK,CAAC;EAChD;EAEA,OAAO;IAAEG,KAAK,EAAE,CAACD,aAAa;IAAEF,QAAQ,EAAE;EAAK,CAAC;AAClD","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.carouselPaginationDotVariants = exports.carouselPaginationContainerClassName = void 0;
|
|
7
|
+
var _classVarianceAuthority = require("class-variance-authority");
|
|
8
|
+
/** Small default gap between dots — the library ships no default spacing between pagination items. */
|
|
9
|
+
const carouselPaginationContainerClassName = exports.carouselPaginationContainerClassName = 'gap-2 py-1';
|
|
10
|
+
const carouselPaginationDotVariants = exports.carouselPaginationDotVariants = (0, _classVarianceAuthority.cva)('rounded-full', {
|
|
11
|
+
variants: {
|
|
12
|
+
active: {
|
|
13
|
+
true: 'bg-surface-neutral-strong',
|
|
14
|
+
false: 'bg-surface-neutral-subtle'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
active: false
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_classVarianceAuthority","require","carouselPaginationContainerClassName","exports","carouselPaginationDotVariants","cva","variants","active","true","false","defaultVariants"],"sourceRoot":"../../../../src","sources":["components/Carousel/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAEA;AACO,MAAMC,oCAAoC,GAAAC,OAAA,CAAAD,oCAAA,GAAG,YAAY;AAEzD,MAAME,6BAA6B,GAAAD,OAAA,CAAAC,6BAAA,GAAG,IAAAC,2BAAG,EAAC,cAAc,EAAE;EAC/DC,QAAQ,EAAE;IACRC,MAAM,EAAE;MACNC,IAAI,EAAE,2BAA2B;MACjCC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -115,6 +115,18 @@ Object.keys(_Card).forEach(function (key) {
|
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
|
+
var _Carousel = require("./Carousel");
|
|
119
|
+
Object.keys(_Carousel).forEach(function (key) {
|
|
120
|
+
if (key === "default" || key === "__esModule") return;
|
|
121
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
122
|
+
if (key in exports && exports[key] === _Carousel[key]) return;
|
|
123
|
+
Object.defineProperty(exports, key, {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
get: function () {
|
|
126
|
+
return _Carousel[key];
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
});
|
|
118
130
|
var _Checkbox = require("./Checkbox");
|
|
119
131
|
Object.keys(_Checkbox).forEach(function (key) {
|
|
120
132
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Alert","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_AlertDialog","_Avatar","_Badge","_BottomSheet","_Box","_Button","_Card","_Checkbox","_Chip","_CurrencyInput","_Dialog","_Divider","_Field","_Form","_Image","_InsuranceDisclosure","_Input","_OtpInput","_Link","_ListItem","_ProgressBar","_Skeleton","_ProgressSegmented","_Radio","_ScopedTheme","_Select","_VirtualizedList","_Switch","_Textarea","_Tile","_Toast","_Stack","_Heading","_Text","_Icon","_IconButton","_QuickActionButton"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Alert","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_AlertDialog","_Avatar","_Badge","_BottomSheet","_Box","_Button","_Card","_Carousel","_Checkbox","_Chip","_CurrencyInput","_Dialog","_Divider","_Field","_Form","_Image","_InsuranceDisclosure","_Input","_OtpInput","_Link","_ListItem","_ProgressBar","_Skeleton","_ProgressSegmented","_Radio","_ScopedTheme","_Select","_VirtualizedList","_Switch","_Textarea","_Tile","_Toast","_Stack","_Heading","_Text","_Icon","_IconButton","_QuickActionButton"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useCallback, useRef } from 'react';
|
|
4
|
+
import { useSharedValue } from 'react-native-reanimated';
|
|
5
|
+
import RNCarousel, { Pagination as RNCarouselPagination } from 'react-native-reanimated-carousel';
|
|
6
|
+
import { useResolveClassNames } from 'uniwind';
|
|
7
|
+
import { cn, createContext, mergeRefs } from '@cdx-ui/utils';
|
|
8
|
+
import { resolveCarouselPaginationScrollAction } from './paginationNavigation';
|
|
9
|
+
import { carouselPaginationContainerClassName, carouselPaginationDotVariants } from './styles';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Full passthrough of `react-native-reanimated-carousel`'s own props (per `01-api-design.md`,
|
|
13
|
+
* Resolved Question #1) — re-exported under a Forge-owned name so consumers never import the
|
|
14
|
+
* adopted library directly. A type alias (not `interface extends`) because `TCarouselProps<T>`
|
|
15
|
+
* is itself a union-containing type (vertical/mode discriminants), which interfaces cannot extend.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** Mirrors the adopted library's private `DotStyle` shape (not exported) without importing it. */
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
|
+
const [CarouselProgressProvider, useCarouselProgressContext] = createContext('CarouselProgress', {
|
|
21
|
+
strict: false
|
|
22
|
+
});
|
|
23
|
+
function isSharedValueProgress(value) {
|
|
24
|
+
return typeof value === 'object' && value !== null && 'value' in value;
|
|
25
|
+
}
|
|
26
|
+
function CarouselInner({
|
|
27
|
+
className,
|
|
28
|
+
style,
|
|
29
|
+
onProgressChange,
|
|
30
|
+
children,
|
|
31
|
+
loop = true,
|
|
32
|
+
defaultIndex = 0,
|
|
33
|
+
...rest
|
|
34
|
+
}, ref) {
|
|
35
|
+
const internalRef = useRef(null);
|
|
36
|
+
const internalProgress = useSharedValue(defaultIndex);
|
|
37
|
+
const resolvedClassNameStyle = useResolveClassNames(cn(className));
|
|
38
|
+
const handleProgressChange = useCallback((offsetProgress, absoluteProgress) => {
|
|
39
|
+
internalProgress.value = absoluteProgress;
|
|
40
|
+
if (typeof onProgressChange === 'function') {
|
|
41
|
+
onProgressChange(offsetProgress, absoluteProgress);
|
|
42
|
+
}
|
|
43
|
+
}, [onProgressChange, internalProgress]);
|
|
44
|
+
const consumerProgress = isSharedValueProgress(onProgressChange) ? onProgressChange : undefined;
|
|
45
|
+
const contextValue = {
|
|
46
|
+
progress: consumerProgress ?? internalProgress,
|
|
47
|
+
carouselRef: internalRef,
|
|
48
|
+
loop
|
|
49
|
+
};
|
|
50
|
+
return /*#__PURE__*/_jsxs(CarouselProgressProvider, {
|
|
51
|
+
value: contextValue,
|
|
52
|
+
children: [/*#__PURE__*/_jsx(RNCarousel, {
|
|
53
|
+
ref: mergeRefs(ref, internalRef),
|
|
54
|
+
style: [resolvedClassNameStyle, style],
|
|
55
|
+
onProgressChange: consumerProgress ?? handleProgressChange,
|
|
56
|
+
loop: loop,
|
|
57
|
+
defaultIndex: defaultIndex,
|
|
58
|
+
...rest
|
|
59
|
+
}), children]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
const CarouselRoot = /*#__PURE__*/forwardRef(CarouselInner);
|
|
63
|
+
|
|
64
|
+
// =============================================================================
|
|
65
|
+
// PAGINATION
|
|
66
|
+
// =============================================================================
|
|
67
|
+
|
|
68
|
+
function CarouselPaginationComponent({
|
|
69
|
+
className,
|
|
70
|
+
progress: progressProp,
|
|
71
|
+
carouselRef: carouselRefProp,
|
|
72
|
+
loop: loopProp,
|
|
73
|
+
onPress,
|
|
74
|
+
...rest
|
|
75
|
+
}) {
|
|
76
|
+
// `strict: false` with no `defaultValue` means this returns `undefined` outside a
|
|
77
|
+
// `<Carousel>` provider at runtime; cast to communicate that to TypeScript, since
|
|
78
|
+
// `createContext`'s helper type always reports `T` (see `@cdx-ui/utils`).
|
|
79
|
+
const context = useCarouselProgressContext();
|
|
80
|
+
const progress = progressProp ?? context?.progress;
|
|
81
|
+
const carouselRef = carouselRefProp ?? context?.carouselRef;
|
|
82
|
+
const loop = loopProp ?? context?.loop ?? true;
|
|
83
|
+
if (!progress) {
|
|
84
|
+
throw new Error('Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `progress` prop.');
|
|
85
|
+
}
|
|
86
|
+
if (!onPress && !carouselRef) {
|
|
87
|
+
throw new Error('Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `carouselRef` prop (or a custom `onPress`).');
|
|
88
|
+
}
|
|
89
|
+
const handlePress = useCallback(index => {
|
|
90
|
+
if (onPress) {
|
|
91
|
+
onPress(index);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const carousel = carouselRef?.current;
|
|
95
|
+
if (!carousel) return;
|
|
96
|
+
const scrollAction = resolveCarouselPaginationScrollAction(carousel.getCurrentIndex(), index, rest.data.length, loop);
|
|
97
|
+
if (scrollAction) {
|
|
98
|
+
carousel.scrollTo(scrollAction);
|
|
99
|
+
}
|
|
100
|
+
}, [onPress, carouselRef, loop, rest.data.length]);
|
|
101
|
+
const containerStyle = useResolveClassNames(cn(carouselPaginationContainerClassName, className));
|
|
102
|
+
const dotStyle = useResolveClassNames(carouselPaginationDotVariants({
|
|
103
|
+
active: false
|
|
104
|
+
}));
|
|
105
|
+
const activeDotStyle = useResolveClassNames(carouselPaginationDotVariants({
|
|
106
|
+
active: true
|
|
107
|
+
}));
|
|
108
|
+
return /*#__PURE__*/_jsx(RNCarouselPagination.Custom, {
|
|
109
|
+
...rest,
|
|
110
|
+
progress: progress,
|
|
111
|
+
onPress: handlePress,
|
|
112
|
+
containerStyle: containerStyle,
|
|
113
|
+
dotStyle: {
|
|
114
|
+
width: 6,
|
|
115
|
+
height: 6,
|
|
116
|
+
...dotStyle
|
|
117
|
+
},
|
|
118
|
+
activeDotStyle: {
|
|
119
|
+
width: 18,
|
|
120
|
+
height: 6,
|
|
121
|
+
...activeDotStyle
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
CarouselPaginationComponent.displayName = 'Carousel.Pagination';
|
|
126
|
+
const CarouselPagination = CarouselPaginationComponent;
|
|
127
|
+
export const Carousel = Object.assign(CarouselRoot, {
|
|
128
|
+
Pagination: CarouselPagination
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
// =============================================================================
|
|
132
|
+
// HOOK
|
|
133
|
+
// =============================================================================
|
|
134
|
+
|
|
135
|
+
export function useCarousel(options) {
|
|
136
|
+
const ref = useRef(null);
|
|
137
|
+
const progress = useSharedValue(options?.defaultIndex ?? 0);
|
|
138
|
+
return {
|
|
139
|
+
ref,
|
|
140
|
+
/** Bind to `Carousel`'s `onProgressChange` and sibling `Carousel.Pagination`'s `progress`. */
|
|
141
|
+
progress,
|
|
142
|
+
next: opts => ref.current?.next(opts),
|
|
143
|
+
prev: opts => ref.current?.prev(opts),
|
|
144
|
+
scrollTo: opts => ref.current?.scrollTo(opts)
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useRef","useSharedValue","RNCarousel","Pagination","RNCarouselPagination","useResolveClassNames","cn","createContext","mergeRefs","resolveCarouselPaginationScrollAction","carouselPaginationContainerClassName","carouselPaginationDotVariants","jsx","_jsx","jsxs","_jsxs","CarouselProgressProvider","useCarouselProgressContext","strict","isSharedValueProgress","value","CarouselInner","className","style","onProgressChange","children","loop","defaultIndex","rest","ref","internalRef","internalProgress","resolvedClassNameStyle","handleProgressChange","offsetProgress","absoluteProgress","consumerProgress","undefined","contextValue","progress","carouselRef","CarouselRoot","CarouselPaginationComponent","progressProp","carouselRefProp","loopProp","onPress","context","Error","handlePress","index","carousel","current","scrollAction","getCurrentIndex","data","length","scrollTo","containerStyle","dotStyle","active","activeDotStyle","Custom","width","height","displayName","CarouselPagination","Carousel","Object","assign","useCarousel","options","next","opts","prev"],"sourceRoot":"../../../../src","sources":["components/Carousel/index.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,MAAM,QAKD,OAAO;AAEd,SAASC,cAAc,QAAQ,yBAAyB;AAExD,OAAOC,UAAU,IACfC,UAAU,IAAIC,oBAAoB,QAG7B,kCAAkC;AACzC,SAASC,oBAAoB,QAAQ,SAAS;AAC9C,SAASC,EAAE,EAAEC,aAAa,EAAEC,SAAS,QAAQ,eAAe;AAC5D,SAASC,qCAAqC,QAAQ,wBAAwB;AAC9E,SAASC,oCAAoC,EAAEC,6BAA6B,QAAQ,UAAU;;AAI9F;AACA;AACA;AACA;AACA;AACA;;AAOA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAcA,MAAM,CAACC,wBAAwB,EAAEC,0BAA0B,CAAC,GAAGV,aAAa,CAC1E,kBAAkB,EAClB;EAAEW,MAAM,EAAE;AAAM,CAClB,CAAC;AAED,SAASC,qBAAqBA,CAACC,KAAc,EAAgC;EAC3E,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,OAAO,IAAIA,KAAK;AACxE;AAEA,SAASC,aAAaA,CACpB;EACEC,SAAS;EACTC,KAAK;EACLC,gBAAgB;EAChBC,QAAQ;EACRC,IAAI,GAAG,IAAI;EACXC,YAAY,GAAG,CAAC;EAChB,GAAGC;AACa,CAAC,EACnBC,GAA2B,EAC3B;EACA,MAAMC,WAAW,GAAG9B,MAAM,CAAoB,IAAI,CAAC;EACnD,MAAM+B,gBAAgB,GAAG9B,cAAc,CAAC0B,YAAY,CAAC;EACrD,MAAMK,sBAAsB,GAAG3B,oBAAoB,CAACC,EAAE,CAACgB,SAAS,CAAC,CAAC;EAElE,MAAMW,oBAAoB,GAAGlC,WAAW,CACtC,CAACmC,cAAsB,EAAEC,gBAAwB,KAAK;IACpDJ,gBAAgB,CAACX,KAAK,GAAGe,gBAAgB;IACzC,IAAI,OAAOX,gBAAgB,KAAK,UAAU,EAAE;MAC1CA,gBAAgB,CAACU,cAAc,EAAEC,gBAAgB,CAAC;IACpD;EACF,CAAC,EACD,CAACX,gBAAgB,EAAEO,gBAAgB,CACrC,CAAC;EAED,MAAMK,gBAAgB,GAAGjB,qBAAqB,CAACK,gBAAgB,CAAC,GAAGA,gBAAgB,GAAGa,SAAS;EAC/F,MAAMC,YAAkC,GAAG;IACzCC,QAAQ,EAAEH,gBAAgB,IAAIL,gBAAgB;IAC9CS,WAAW,EAAEV,WAAW;IACxBJ;EACF,CAAC;EAED,oBACEX,KAAA,CAACC,wBAAwB;IAACI,KAAK,EAAEkB,YAAa;IAAAb,QAAA,gBAC5CZ,IAAA,CAACX,UAAU;MACT2B,GAAG,EAAErB,SAAS,CAACqB,GAAG,EAAEC,WAAW,CAAE;MACjCP,KAAK,EAAE,CAACS,sBAAsB,EAAET,KAAK,CAAE;MACvCC,gBAAgB,EAAEY,gBAAgB,IAAIH,oBAAqB;MAC3DP,IAAI,EAAEA,IAAK;MACXC,YAAY,EAAEA,YAAa;MAAA,GACvBC;IAAI,CACT,CAAC,EACDH,QAAQ;EAAA,CACe,CAAC;AAE/B;AAEA,MAAMgB,YAAY,gBAAG3C,UAAU,CAACuB,aAAa,CAErB;;AAExB;AACA;AACA;;AAuCA,SAASqB,2BAA2BA,CAAmB;EACrDpB,SAAS;EACTiB,QAAQ,EAAEI,YAAY;EACtBH,WAAW,EAAEI,eAAe;EAC5BlB,IAAI,EAAEmB,QAAQ;EACdC,OAAO;EACP,GAAGlB;AACuB,CAAC,EAAE;EAC7B;EACA;EACA;EACA,MAAMmB,OAAO,GAAG9B,0BAA0B,CAAC,CAAqC;EAChF,MAAMsB,QAAQ,GAAGI,YAAY,IAAII,OAAO,EAAER,QAAQ;EAClD,MAAMC,WAAW,GAAGI,eAAe,IAAIG,OAAO,EAAEP,WAAW;EAC3D,MAAMd,IAAI,GAAGmB,QAAQ,IAAIE,OAAO,EAAErB,IAAI,IAAI,IAAI;EAE9C,IAAI,CAACa,QAAQ,EAAE;IACb,MAAM,IAAIS,KAAK,CACb,gGACF,CAAC;EACH;EAEA,IAAI,CAACF,OAAO,IAAI,CAACN,WAAW,EAAE;IAC5B,MAAM,IAAIQ,KAAK,CACb,2HACF,CAAC;EACH;EAEA,MAAMC,WAAW,GAAGlD,WAAW,CAC5BmD,KAAa,IAAK;IACjB,IAAIJ,OAAO,EAAE;MACXA,OAAO,CAACI,KAAK,CAAC;MACd;IACF;IAEA,MAAMC,QAAQ,GAAGX,WAAW,EAAEY,OAAO;IACrC,IAAI,CAACD,QAAQ,EAAE;IAEf,MAAME,YAAY,GAAG5C,qCAAqC,CACxD0C,QAAQ,CAACG,eAAe,CAAC,CAAC,EAC1BJ,KAAK,EACLtB,IAAI,CAAC2B,IAAI,CAACC,MAAM,EAChB9B,IACF,CAAC;IAED,IAAI2B,YAAY,EAAE;MAChBF,QAAQ,CAACM,QAAQ,CAACJ,YAAY,CAAC;IACjC;EACF,CAAC,EACD,CAACP,OAAO,EAAEN,WAAW,EAAEd,IAAI,EAAEE,IAAI,CAAC2B,IAAI,CAACC,MAAM,CAC/C,CAAC;EAED,MAAME,cAAc,GAAGrD,oBAAoB,CAACC,EAAE,CAACI,oCAAoC,EAAEY,SAAS,CAAC,CAAC;EAChG,MAAMqC,QAAQ,GAAGtD,oBAAoB,CAACM,6BAA6B,CAAC;IAAEiD,MAAM,EAAE;EAAM,CAAC,CAAC,CAAC;EACvF,MAAMC,cAAc,GAAGxD,oBAAoB,CAACM,6BAA6B,CAAC;IAAEiD,MAAM,EAAE;EAAK,CAAC,CAAC,CAAC;EAE5F,oBACE/C,IAAA,CAACT,oBAAoB,CAAC0D,MAAM;IAAA,GACtBlC,IAAI;IACRW,QAAQ,EAAEA,QAAS;IACnBO,OAAO,EAAEG,WAAY;IACrBS,cAAc,EAAEA,cAAe;IAC/BC,QAAQ,EAAE;MACRI,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACT,GAAIL;IACN,CAAE;IACFE,cAAc,EAAE;MACdE,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,CAAC;MACT,GAAIH;IACN;EAAE,CACH,CAAC;AAEN;AAEAnB,2BAA2B,CAACuB,WAAW,GAAG,qBAAqB;AAE/D,MAAMC,kBAAkB,GAAGxB,2BAEH;AAMxB,OAAO,MAAMyB,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC5B,YAAY,EAAE;EAClDtC,UAAU,EAAE+D;AACd,CAAC,CAA8B;;AAE/B;AACA;AACA;;AAOA,OAAO,SAASI,WAAWA,CAACC,OAA4B,EAAE;EACxD,MAAM1C,GAAG,GAAG7B,MAAM,CAAoB,IAAI,CAAC;EAC3C,MAAMuC,QAAQ,GAAGtC,cAAc,CAACsE,OAAO,EAAE5C,YAAY,IAAI,CAAC,CAAC;EAC3D,OAAO;IACLE,GAAG;IACH;IACAU,QAAQ;IACRiC,IAAI,EAAGC,IAA+C,IAAK5C,GAAG,CAACuB,OAAO,EAAEoB,IAAI,CAACC,IAAI,CAAC;IAClFC,IAAI,EAAGD,IAA+C,IAAK5C,GAAG,CAACuB,OAAO,EAAEsB,IAAI,CAACD,IAAI,CAAC;IAClFhB,QAAQ,EAAGgB,IAAmD,IAAK5C,GAAG,CAACuB,OAAO,EAAEK,QAAQ,CAACgB,IAAI;EAC/F,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the shortest `scrollTo` action for pagination dot presses.
|
|
5
|
+
*
|
|
6
|
+
* In loop mode the library's absolute `scrollTo({ index })` can animate through every
|
|
7
|
+
* slide when the current index is past the halfway point of the loop buffer (e.g. index 2 → 3
|
|
8
|
+
* with four items). Relative `count` navigation avoids that wrap-around path.
|
|
9
|
+
*/
|
|
10
|
+
export function resolveCarouselPaginationScrollAction(currentIndex, targetIndex, dataLength, loop) {
|
|
11
|
+
if (currentIndex === targetIndex) return null;
|
|
12
|
+
if (!loop) {
|
|
13
|
+
return {
|
|
14
|
+
index: targetIndex,
|
|
15
|
+
animated: true
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const forwardDelta = (targetIndex - currentIndex + dataLength) % dataLength;
|
|
19
|
+
const backwardDelta = (currentIndex - targetIndex + dataLength) % dataLength;
|
|
20
|
+
if (forwardDelta <= backwardDelta) {
|
|
21
|
+
return {
|
|
22
|
+
count: forwardDelta,
|
|
23
|
+
animated: true
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
count: -backwardDelta,
|
|
28
|
+
animated: true
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=paginationNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveCarouselPaginationScrollAction","currentIndex","targetIndex","dataLength","loop","index","animated","forwardDelta","backwardDelta","count"],"sourceRoot":"../../../../src","sources":["components/Carousel/paginationNavigation.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qCAAqCA,CACnDC,YAAoB,EACpBC,WAAmB,EACnBC,UAAkB,EAClBC,IAAa,EAC0B;EACvC,IAAIH,YAAY,KAAKC,WAAW,EAAE,OAAO,IAAI;EAE7C,IAAI,CAACE,IAAI,EAAE;IACT,OAAO;MAAEC,KAAK,EAAEH,WAAW;MAAEI,QAAQ,EAAE;IAAK,CAAC;EAC/C;EAEA,MAAMC,YAAY,GAAG,CAACL,WAAW,GAAGD,YAAY,GAAGE,UAAU,IAAIA,UAAU;EAC3E,MAAMK,aAAa,GAAG,CAACP,YAAY,GAAGC,WAAW,GAAGC,UAAU,IAAIA,UAAU;EAE5E,IAAII,YAAY,IAAIC,aAAa,EAAE;IACjC,OAAO;MAAEC,KAAK,EAAEF,YAAY;MAAED,QAAQ,EAAE;IAAK,CAAC;EAChD;EAEA,OAAO;IAAEG,KAAK,EAAE,CAACD,aAAa;IAAEF,QAAQ,EAAE;EAAK,CAAC;AAClD","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
/** Small default gap between dots — the library ships no default spacing between pagination items. */
|
|
6
|
+
export const carouselPaginationContainerClassName = 'gap-2 py-1';
|
|
7
|
+
export const carouselPaginationDotVariants = cva('rounded-full', {
|
|
8
|
+
variants: {
|
|
9
|
+
active: {
|
|
10
|
+
true: 'bg-surface-neutral-strong',
|
|
11
|
+
false: 'bg-surface-neutral-subtle'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: {
|
|
15
|
+
active: false
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["cva","carouselPaginationContainerClassName","carouselPaginationDotVariants","variants","active","true","false","defaultVariants"],"sourceRoot":"../../../../src","sources":["components/Carousel/styles.ts"],"mappings":";;AAAA,SAASA,GAAG,QAA2B,0BAA0B;;AAEjE;AACA,OAAO,MAAMC,oCAAoC,GAAG,YAAY;AAEhE,OAAO,MAAMC,6BAA6B,GAAGF,GAAG,CAAC,cAAc,EAAE;EAC/DG,QAAQ,EAAE;IACRC,MAAM,EAAE;MACNC,IAAI,EAAE,2BAA2B;MACjCC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,uBAAuB;AACrC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,qBAAqB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,uBAAuB;AACrC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode, type Ref, type RefObject } from 'react';
|
|
2
|
+
import type { AccessibilityRole, AccessibilityState } from 'react-native';
|
|
3
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
4
|
+
import { type ICarouselInstance, type TCarouselProps } from 'react-native-reanimated-carousel';
|
|
5
|
+
export type CarouselRef = ICarouselInstance;
|
|
6
|
+
/**
|
|
7
|
+
* Full passthrough of `react-native-reanimated-carousel`'s own props (per `01-api-design.md`,
|
|
8
|
+
* Resolved Question #1) — re-exported under a Forge-owned name so consumers never import the
|
|
9
|
+
* adopted library directly. A type alias (not `interface extends`) because `TCarouselProps<T>`
|
|
10
|
+
* is itself a union-containing type (vertical/mode discriminants), which interfaces cannot extend.
|
|
11
|
+
*/
|
|
12
|
+
export type CarouselProps<T> = TCarouselProps<T> & {
|
|
13
|
+
className?: string;
|
|
14
|
+
/** Rendered inside the carousel's progress-sharing provider — use to compose `Carousel.Pagination`. */
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
};
|
|
17
|
+
declare const CarouselRoot: <T>(props: CarouselProps<T> & {
|
|
18
|
+
ref?: Ref<ICarouselInstance>;
|
|
19
|
+
}) => ReactElement | null;
|
|
20
|
+
export interface CarouselPaginationItemAccessibilityOverrides {
|
|
21
|
+
accessibilityLabel?: string;
|
|
22
|
+
accessibilityHint?: string;
|
|
23
|
+
accessibilityRole?: AccessibilityRole;
|
|
24
|
+
accessibilityState?: AccessibilityState;
|
|
25
|
+
}
|
|
26
|
+
export interface CarouselPaginationProps<T = unknown> {
|
|
27
|
+
/** Carousel items — must be the same array (or same length) passed to `Carousel`'s `data`. */
|
|
28
|
+
data: T[];
|
|
29
|
+
/** Lay dots out vertically instead of horizontally. @default true (horizontal) */
|
|
30
|
+
horizontal?: boolean;
|
|
31
|
+
/** Custom content per dot; defaults to the library's built-in dot rendering. */
|
|
32
|
+
renderItem?: (item: T, index: number) => ReactNode;
|
|
33
|
+
/** Dot size in pixels (both width and height). */
|
|
34
|
+
size?: number;
|
|
35
|
+
/** Included in the default accessibility label, e.g. `"Slide 1 of 4 - {carouselName}"`. */
|
|
36
|
+
carouselName?: string;
|
|
37
|
+
/** Per-dot accessibility overrides. Defaults to `"Slide N of M"` / `"Go to Slide N of M"`. */
|
|
38
|
+
paginationItemAccessibility?: (index: number, length: number) => CarouselPaginationItemAccessibilityOverrides;
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Explicit progress value — only required when rendered outside `<Carousel>` (sibling composition). */
|
|
41
|
+
progress?: SharedValue<number>;
|
|
42
|
+
/** Explicit carousel ref for the default press-to-navigate behavior — only required outside `<Carousel>`. */
|
|
43
|
+
carouselRef?: RefObject<ICarouselInstance | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Mirrors `Carousel`'s `loop` prop for shortest-path dot navigation.
|
|
46
|
+
* Defaults to `true` (same as `Carousel`) when omitted outside context.
|
|
47
|
+
*/
|
|
48
|
+
loop?: boolean;
|
|
49
|
+
/** Overrides the default press-to-navigate behavior (`scrollTo({ index })`). */
|
|
50
|
+
onPress?: (index: number) => void;
|
|
51
|
+
}
|
|
52
|
+
declare const CarouselPagination: <T>(props: CarouselPaginationProps<T>) => ReactElement | null;
|
|
53
|
+
type CarouselCompoundComponent = typeof CarouselRoot & {
|
|
54
|
+
Pagination: typeof CarouselPagination;
|
|
55
|
+
};
|
|
56
|
+
export declare const Carousel: CarouselCompoundComponent;
|
|
57
|
+
export interface UseCarouselOptions {
|
|
58
|
+
/** Seed `progress` to match `Carousel`'s `defaultIndex` in sibling composition. @default 0 */
|
|
59
|
+
defaultIndex?: number;
|
|
60
|
+
}
|
|
61
|
+
export declare function useCarousel(options?: UseCarouselOptions): {
|
|
62
|
+
ref: RefObject<ICarouselInstance | null>;
|
|
63
|
+
/** Bind to `Carousel`'s `onProgressChange` and sibling `Carousel.Pagination`'s `progress`. */
|
|
64
|
+
progress: SharedValue<number>;
|
|
65
|
+
next: (opts?: Parameters<ICarouselInstance["next"]>[0]) => void | undefined;
|
|
66
|
+
prev: (opts?: Parameters<ICarouselInstance["prev"]>[0]) => void | undefined;
|
|
67
|
+
scrollTo: (opts?: Parameters<ICarouselInstance["scrollTo"]>[0]) => void | undefined;
|
|
68
|
+
};
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ICarouselInstance } from 'react-native-reanimated-carousel';
|
|
2
|
+
type CarouselPaginationScrollAction = NonNullable<Parameters<ICarouselInstance['scrollTo']>[0]>;
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the shortest `scrollTo` action for pagination dot presses.
|
|
5
|
+
*
|
|
6
|
+
* In loop mode the library's absolute `scrollTo({ index })` can animate through every
|
|
7
|
+
* slide when the current index is past the halfway point of the loop buffer (e.g. index 2 → 3
|
|
8
|
+
* with four items). Relative `count` navigation avoids that wrap-around path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveCarouselPaginationScrollAction(currentIndex: number, targetIndex: number, dataLength: number, loop: boolean): CarouselPaginationScrollAction | null;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=paginationNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginationNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/paginationNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,KAAK,8BAA8B,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhG;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,8BAA8B,GAAG,IAAI,CAevC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
/** Small default gap between dots — the library ships no default spacing between pagination items. */
|
|
3
|
+
export declare const carouselPaginationContainerClassName = "gap-2 py-1";
|
|
4
|
+
export declare const carouselPaginationDotVariants: (props?: ({
|
|
5
|
+
active?: boolean | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type CarouselPaginationDotVariants = VariantProps<typeof carouselPaginationDotVariants>;
|
|
8
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,sGAAsG;AACtG,eAAO,MAAM,oCAAoC,eAAe,CAAC;AAEjE,eAAO,MAAM,6BAA6B;;8EAUxC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/components",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.111",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@shopify/flash-list": ">=2.0.0",
|
|
46
46
|
"react": "^18.2.0 || ^19.0.0",
|
|
47
47
|
"react-native": ">=0.76.0",
|
|
48
|
-
"react-native-reanimated": ">=
|
|
48
|
+
"react-native-reanimated": ">=4.0.0",
|
|
49
49
|
"react-native-safe-area-context": ">=4.0.0",
|
|
50
50
|
"react-native-web": ">=0.19.0"
|
|
51
51
|
},
|
|
@@ -66,10 +66,11 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@gorhom/bottom-sheet": "^5.2.6",
|
|
68
68
|
"class-variance-authority": "^0.7.1",
|
|
69
|
+
"react-native-reanimated-carousel": "5.0.0-beta.5",
|
|
69
70
|
"uniwind": "1.10.0",
|
|
70
|
-
"@cdx-ui/primitives": "0.0.1-beta.
|
|
71
|
-
"@cdx-ui/utils": "0.0.1-beta.
|
|
72
|
-
"@cdx-ui/icons": "0.0.1-beta.
|
|
71
|
+
"@cdx-ui/primitives": "0.0.1-beta.111",
|
|
72
|
+
"@cdx-ui/utils": "0.0.1-beta.111",
|
|
73
|
+
"@cdx-ui/icons": "0.0.1-beta.111"
|
|
73
74
|
},
|
|
74
75
|
"devDependencies": {
|
|
75
76
|
"@react-navigation/bottom-tabs": "*",
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
useCallback,
|
|
4
|
+
useRef,
|
|
5
|
+
type ReactElement,
|
|
6
|
+
type ReactNode,
|
|
7
|
+
type Ref,
|
|
8
|
+
type RefObject,
|
|
9
|
+
} from 'react';
|
|
10
|
+
import type { AccessibilityRole, AccessibilityState, ViewStyle } from 'react-native';
|
|
11
|
+
import { useSharedValue } from 'react-native-reanimated';
|
|
12
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
13
|
+
import RNCarousel, {
|
|
14
|
+
Pagination as RNCarouselPagination,
|
|
15
|
+
type ICarouselInstance,
|
|
16
|
+
type TCarouselProps,
|
|
17
|
+
} from 'react-native-reanimated-carousel';
|
|
18
|
+
import { useResolveClassNames } from 'uniwind';
|
|
19
|
+
import { cn, createContext, mergeRefs } from '@cdx-ui/utils';
|
|
20
|
+
import { resolveCarouselPaginationScrollAction } from './paginationNavigation';
|
|
21
|
+
import { carouselPaginationContainerClassName, carouselPaginationDotVariants } from './styles';
|
|
22
|
+
|
|
23
|
+
export type CarouselRef = ICarouselInstance;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Full passthrough of `react-native-reanimated-carousel`'s own props (per `01-api-design.md`,
|
|
27
|
+
* Resolved Question #1) — re-exported under a Forge-owned name so consumers never import the
|
|
28
|
+
* adopted library directly. A type alias (not `interface extends`) because `TCarouselProps<T>`
|
|
29
|
+
* is itself a union-containing type (vertical/mode discriminants), which interfaces cannot extend.
|
|
30
|
+
*/
|
|
31
|
+
export type CarouselProps<T> = TCarouselProps<T> & {
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Rendered inside the carousel's progress-sharing provider — use to compose `Carousel.Pagination`. */
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/** Mirrors the adopted library's private `DotStyle` shape (not exported) without importing it. */
|
|
38
|
+
type CarouselDotStyle = Omit<ViewStyle, 'width' | 'height' | 'backgroundColor' | 'borderRadius'> & {
|
|
39
|
+
width?: number;
|
|
40
|
+
height?: number;
|
|
41
|
+
backgroundColor?: string;
|
|
42
|
+
borderRadius?: number;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
interface CarouselContextValue {
|
|
46
|
+
progress: SharedValue<number>;
|
|
47
|
+
carouselRef: RefObject<ICarouselInstance | null>;
|
|
48
|
+
loop: boolean;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const [CarouselProgressProvider, useCarouselProgressContext] = createContext<CarouselContextValue>(
|
|
52
|
+
'CarouselProgress',
|
|
53
|
+
{ strict: false },
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
function isSharedValueProgress(value: unknown): value is SharedValue<number> {
|
|
57
|
+
return typeof value === 'object' && value !== null && 'value' in value;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function CarouselInner<T>(
|
|
61
|
+
{
|
|
62
|
+
className,
|
|
63
|
+
style,
|
|
64
|
+
onProgressChange,
|
|
65
|
+
children,
|
|
66
|
+
loop = true,
|
|
67
|
+
defaultIndex = 0,
|
|
68
|
+
...rest
|
|
69
|
+
}: CarouselProps<T>,
|
|
70
|
+
ref: Ref<ICarouselInstance>,
|
|
71
|
+
) {
|
|
72
|
+
const internalRef = useRef<ICarouselInstance>(null);
|
|
73
|
+
const internalProgress = useSharedValue(defaultIndex);
|
|
74
|
+
const resolvedClassNameStyle = useResolveClassNames(cn(className));
|
|
75
|
+
|
|
76
|
+
const handleProgressChange = useCallback(
|
|
77
|
+
(offsetProgress: number, absoluteProgress: number) => {
|
|
78
|
+
internalProgress.value = absoluteProgress;
|
|
79
|
+
if (typeof onProgressChange === 'function') {
|
|
80
|
+
onProgressChange(offsetProgress, absoluteProgress);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
[onProgressChange, internalProgress],
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
const consumerProgress = isSharedValueProgress(onProgressChange) ? onProgressChange : undefined;
|
|
87
|
+
const contextValue: CarouselContextValue = {
|
|
88
|
+
progress: consumerProgress ?? internalProgress,
|
|
89
|
+
carouselRef: internalRef,
|
|
90
|
+
loop,
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
return (
|
|
94
|
+
<CarouselProgressProvider value={contextValue}>
|
|
95
|
+
<RNCarousel
|
|
96
|
+
ref={mergeRefs(ref, internalRef)}
|
|
97
|
+
style={[resolvedClassNameStyle, style]}
|
|
98
|
+
onProgressChange={consumerProgress ?? handleProgressChange}
|
|
99
|
+
loop={loop}
|
|
100
|
+
defaultIndex={defaultIndex}
|
|
101
|
+
{...rest}
|
|
102
|
+
/>
|
|
103
|
+
{children}
|
|
104
|
+
</CarouselProgressProvider>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const CarouselRoot = forwardRef(CarouselInner) as <T>(
|
|
109
|
+
props: CarouselProps<T> & { ref?: Ref<ICarouselInstance> },
|
|
110
|
+
) => ReactElement | null;
|
|
111
|
+
|
|
112
|
+
// =============================================================================
|
|
113
|
+
// PAGINATION
|
|
114
|
+
// =============================================================================
|
|
115
|
+
|
|
116
|
+
export interface CarouselPaginationItemAccessibilityOverrides {
|
|
117
|
+
accessibilityLabel?: string;
|
|
118
|
+
accessibilityHint?: string;
|
|
119
|
+
accessibilityRole?: AccessibilityRole;
|
|
120
|
+
accessibilityState?: AccessibilityState;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface CarouselPaginationProps<T = unknown> {
|
|
124
|
+
/** Carousel items — must be the same array (or same length) passed to `Carousel`'s `data`. */
|
|
125
|
+
data: T[];
|
|
126
|
+
/** Lay dots out vertically instead of horizontally. @default true (horizontal) */
|
|
127
|
+
horizontal?: boolean;
|
|
128
|
+
/** Custom content per dot; defaults to the library's built-in dot rendering. */
|
|
129
|
+
renderItem?: (item: T, index: number) => ReactNode;
|
|
130
|
+
/** Dot size in pixels (both width and height). */
|
|
131
|
+
size?: number;
|
|
132
|
+
/** Included in the default accessibility label, e.g. `"Slide 1 of 4 - {carouselName}"`. */
|
|
133
|
+
carouselName?: string;
|
|
134
|
+
/** Per-dot accessibility overrides. Defaults to `"Slide N of M"` / `"Go to Slide N of M"`. */
|
|
135
|
+
paginationItemAccessibility?: (
|
|
136
|
+
index: number,
|
|
137
|
+
length: number,
|
|
138
|
+
) => CarouselPaginationItemAccessibilityOverrides;
|
|
139
|
+
className?: string;
|
|
140
|
+
/** Explicit progress value — only required when rendered outside `<Carousel>` (sibling composition). */
|
|
141
|
+
progress?: SharedValue<number>;
|
|
142
|
+
/** Explicit carousel ref for the default press-to-navigate behavior — only required outside `<Carousel>`. */
|
|
143
|
+
carouselRef?: RefObject<ICarouselInstance | null>;
|
|
144
|
+
/**
|
|
145
|
+
* Mirrors `Carousel`'s `loop` prop for shortest-path dot navigation.
|
|
146
|
+
* Defaults to `true` (same as `Carousel`) when omitted outside context.
|
|
147
|
+
*/
|
|
148
|
+
loop?: boolean;
|
|
149
|
+
/** Overrides the default press-to-navigate behavior (`scrollTo({ index })`). */
|
|
150
|
+
onPress?: (index: number) => void;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function CarouselPaginationComponent<T extends object>({
|
|
154
|
+
className,
|
|
155
|
+
progress: progressProp,
|
|
156
|
+
carouselRef: carouselRefProp,
|
|
157
|
+
loop: loopProp,
|
|
158
|
+
onPress,
|
|
159
|
+
...rest
|
|
160
|
+
}: CarouselPaginationProps<T>) {
|
|
161
|
+
// `strict: false` with no `defaultValue` means this returns `undefined` outside a
|
|
162
|
+
// `<Carousel>` provider at runtime; cast to communicate that to TypeScript, since
|
|
163
|
+
// `createContext`'s helper type always reports `T` (see `@cdx-ui/utils`).
|
|
164
|
+
const context = useCarouselProgressContext() as CarouselContextValue | undefined;
|
|
165
|
+
const progress = progressProp ?? context?.progress;
|
|
166
|
+
const carouselRef = carouselRefProp ?? context?.carouselRef;
|
|
167
|
+
const loop = loopProp ?? context?.loop ?? true;
|
|
168
|
+
|
|
169
|
+
if (!progress) {
|
|
170
|
+
throw new Error(
|
|
171
|
+
'Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `progress` prop.',
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (!onPress && !carouselRef) {
|
|
176
|
+
throw new Error(
|
|
177
|
+
'Carousel.Pagination must be rendered inside <Carousel> or receive an explicit `carouselRef` prop (or a custom `onPress`).',
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const handlePress = useCallback(
|
|
182
|
+
(index: number) => {
|
|
183
|
+
if (onPress) {
|
|
184
|
+
onPress(index);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const carousel = carouselRef?.current;
|
|
189
|
+
if (!carousel) return;
|
|
190
|
+
|
|
191
|
+
const scrollAction = resolveCarouselPaginationScrollAction(
|
|
192
|
+
carousel.getCurrentIndex(),
|
|
193
|
+
index,
|
|
194
|
+
rest.data.length,
|
|
195
|
+
loop,
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
if (scrollAction) {
|
|
199
|
+
carousel.scrollTo(scrollAction);
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
[onPress, carouselRef, loop, rest.data.length],
|
|
203
|
+
);
|
|
204
|
+
|
|
205
|
+
const containerStyle = useResolveClassNames(cn(carouselPaginationContainerClassName, className));
|
|
206
|
+
const dotStyle = useResolveClassNames(carouselPaginationDotVariants({ active: false }));
|
|
207
|
+
const activeDotStyle = useResolveClassNames(carouselPaginationDotVariants({ active: true }));
|
|
208
|
+
|
|
209
|
+
return (
|
|
210
|
+
<RNCarouselPagination.Custom
|
|
211
|
+
{...rest}
|
|
212
|
+
progress={progress}
|
|
213
|
+
onPress={handlePress}
|
|
214
|
+
containerStyle={containerStyle}
|
|
215
|
+
dotStyle={{
|
|
216
|
+
width: 6,
|
|
217
|
+
height: 6,
|
|
218
|
+
...(dotStyle as CarouselDotStyle),
|
|
219
|
+
}}
|
|
220
|
+
activeDotStyle={{
|
|
221
|
+
width: 18,
|
|
222
|
+
height: 6,
|
|
223
|
+
...(activeDotStyle as CarouselDotStyle),
|
|
224
|
+
}}
|
|
225
|
+
/>
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
CarouselPaginationComponent.displayName = 'Carousel.Pagination';
|
|
230
|
+
|
|
231
|
+
const CarouselPagination = CarouselPaginationComponent as <T>(
|
|
232
|
+
props: CarouselPaginationProps<T>,
|
|
233
|
+
) => ReactElement | null;
|
|
234
|
+
|
|
235
|
+
type CarouselCompoundComponent = typeof CarouselRoot & {
|
|
236
|
+
Pagination: typeof CarouselPagination;
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
export const Carousel = Object.assign(CarouselRoot, {
|
|
240
|
+
Pagination: CarouselPagination,
|
|
241
|
+
}) as CarouselCompoundComponent;
|
|
242
|
+
|
|
243
|
+
// =============================================================================
|
|
244
|
+
// HOOK
|
|
245
|
+
// =============================================================================
|
|
246
|
+
|
|
247
|
+
export interface UseCarouselOptions {
|
|
248
|
+
/** Seed `progress` to match `Carousel`'s `defaultIndex` in sibling composition. @default 0 */
|
|
249
|
+
defaultIndex?: number;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export function useCarousel(options?: UseCarouselOptions) {
|
|
253
|
+
const ref = useRef<ICarouselInstance>(null);
|
|
254
|
+
const progress = useSharedValue(options?.defaultIndex ?? 0);
|
|
255
|
+
return {
|
|
256
|
+
ref,
|
|
257
|
+
/** Bind to `Carousel`'s `onProgressChange` and sibling `Carousel.Pagination`'s `progress`. */
|
|
258
|
+
progress,
|
|
259
|
+
next: (opts?: Parameters<ICarouselInstance['next']>[0]) => ref.current?.next(opts),
|
|
260
|
+
prev: (opts?: Parameters<ICarouselInstance['prev']>[0]) => ref.current?.prev(opts),
|
|
261
|
+
scrollTo: (opts?: Parameters<ICarouselInstance['scrollTo']>[0]) => ref.current?.scrollTo(opts),
|
|
262
|
+
};
|
|
263
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ICarouselInstance } from 'react-native-reanimated-carousel';
|
|
2
|
+
|
|
3
|
+
type CarouselPaginationScrollAction = NonNullable<Parameters<ICarouselInstance['scrollTo']>[0]>;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Resolves the shortest `scrollTo` action for pagination dot presses.
|
|
7
|
+
*
|
|
8
|
+
* In loop mode the library's absolute `scrollTo({ index })` can animate through every
|
|
9
|
+
* slide when the current index is past the halfway point of the loop buffer (e.g. index 2 → 3
|
|
10
|
+
* with four items). Relative `count` navigation avoids that wrap-around path.
|
|
11
|
+
*/
|
|
12
|
+
export function resolveCarouselPaginationScrollAction(
|
|
13
|
+
currentIndex: number,
|
|
14
|
+
targetIndex: number,
|
|
15
|
+
dataLength: number,
|
|
16
|
+
loop: boolean,
|
|
17
|
+
): CarouselPaginationScrollAction | null {
|
|
18
|
+
if (currentIndex === targetIndex) return null;
|
|
19
|
+
|
|
20
|
+
if (!loop) {
|
|
21
|
+
return { index: targetIndex, animated: true };
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const forwardDelta = (targetIndex - currentIndex + dataLength) % dataLength;
|
|
25
|
+
const backwardDelta = (currentIndex - targetIndex + dataLength) % dataLength;
|
|
26
|
+
|
|
27
|
+
if (forwardDelta <= backwardDelta) {
|
|
28
|
+
return { count: forwardDelta, animated: true };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return { count: -backwardDelta, animated: true };
|
|
32
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
|
+
|
|
3
|
+
/** Small default gap between dots — the library ships no default spacing between pagination items. */
|
|
4
|
+
export const carouselPaginationContainerClassName = 'gap-2 py-1';
|
|
5
|
+
|
|
6
|
+
export const carouselPaginationDotVariants = cva('rounded-full', {
|
|
7
|
+
variants: {
|
|
8
|
+
active: {
|
|
9
|
+
true: 'bg-surface-neutral-strong',
|
|
10
|
+
false: 'bg-surface-neutral-subtle',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
active: false,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export type CarouselPaginationDotVariants = VariantProps<typeof carouselPaginationDotVariants>;
|
package/src/components/index.ts
CHANGED