@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.
Files changed (29) hide show
  1. package/lib/commonjs/components/Carousel/index.js +153 -0
  2. package/lib/commonjs/components/Carousel/index.js.map +1 -0
  3. package/lib/commonjs/components/Carousel/paginationNavigation.js +35 -0
  4. package/lib/commonjs/components/Carousel/paginationNavigation.js.map +1 -0
  5. package/lib/commonjs/components/Carousel/styles.js +21 -0
  6. package/lib/commonjs/components/Carousel/styles.js.map +1 -0
  7. package/lib/commonjs/components/index.js +12 -0
  8. package/lib/commonjs/components/index.js.map +1 -1
  9. package/lib/module/components/Carousel/index.js +147 -0
  10. package/lib/module/components/Carousel/index.js.map +1 -0
  11. package/lib/module/components/Carousel/paginationNavigation.js +31 -0
  12. package/lib/module/components/Carousel/paginationNavigation.js.map +1 -0
  13. package/lib/module/components/Carousel/styles.js +18 -0
  14. package/lib/module/components/Carousel/styles.js.map +1 -0
  15. package/lib/module/components/index.js +1 -0
  16. package/lib/module/components/index.js.map +1 -1
  17. package/lib/typescript/components/Carousel/index.d.ts +70 -0
  18. package/lib/typescript/components/Carousel/index.d.ts.map +1 -0
  19. package/lib/typescript/components/Carousel/paginationNavigation.d.ts +12 -0
  20. package/lib/typescript/components/Carousel/paginationNavigation.d.ts.map +1 -0
  21. package/lib/typescript/components/Carousel/styles.d.ts +8 -0
  22. package/lib/typescript/components/Carousel/styles.d.ts.map +1 -0
  23. package/lib/typescript/components/index.d.ts +1 -0
  24. package/lib/typescript/components/index.d.ts.map +1 -1
  25. package/package.json +6 -5
  26. package/src/components/Carousel/index.tsx +263 -0
  27. package/src/components/Carousel/paginationNavigation.ts +32 -0
  28. package/src/components/Carousel/styles.ts +18 -0
  29. 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":"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","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":[]}
@@ -8,6 +8,7 @@ export * from './BottomSheet';
8
8
  export * from './Box';
9
9
  export * from './Button';
10
10
  export * from './Card';
11
+ export * from './Carousel';
11
12
  export * from './Checkbox';
12
13
  export * from './Chip';
13
14
  export * from './CurrencyInput';
@@ -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"}
@@ -6,6 +6,7 @@ export * from './BottomSheet';
6
6
  export * from './Box';
7
7
  export * from './Button';
8
8
  export * from './Card';
9
+ export * from './Carousel';
9
10
  export * from './Checkbox';
10
11
  export * from './Chip';
11
12
  export * from './CurrencyInput';
@@ -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.110",
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": ">=3.0.0",
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.110",
71
- "@cdx-ui/utils": "0.0.1-beta.110",
72
- "@cdx-ui/icons": "0.0.1-beta.110"
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>;
@@ -6,6 +6,7 @@ export * from './BottomSheet';
6
6
  export * from './Box';
7
7
  export * from './Button';
8
8
  export * from './Card';
9
+ export * from './Carousel';
9
10
  export * from './Checkbox';
10
11
  export * from './Chip';
11
12
  export * from './CurrencyInput';