jfs-components 0.0.21 → 0.0.24

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 (50) hide show
  1. package/lib/commonjs/assets/fonts/JioType Var.ttf +0 -0
  2. package/lib/commonjs/components/Carousel/Carousel.js +341 -0
  3. package/lib/commonjs/components/Carousel/Carousel.js.map +1 -0
  4. package/lib/commonjs/components/Carousel/Carousel.mdx +154 -0
  5. package/lib/commonjs/components/Drawer/Drawer.js +9 -2
  6. package/lib/commonjs/components/Drawer/Drawer.js.map +1 -1
  7. package/lib/commonjs/components/RadioButton/RadioButton.js +194 -0
  8. package/lib/commonjs/components/RadioButton/RadioButton.js.map +1 -0
  9. package/lib/commonjs/components/RadioButton/RadioButton.mdx +92 -0
  10. package/lib/commonjs/components/UpiHandle/UpiHandle.js +3 -1
  11. package/lib/commonjs/components/UpiHandle/UpiHandle.js.map +1 -1
  12. package/lib/commonjs/components/index.js +7 -0
  13. package/lib/commonjs/components/index.js.map +1 -1
  14. package/lib/commonjs/design-tokens/figma-variables-resolver.js +9 -3
  15. package/lib/commonjs/icons/registry.js +1 -1
  16. package/lib/module/assets/fonts/JioType Var.ttf +0 -0
  17. package/lib/module/components/Carousel/Carousel.js +333 -0
  18. package/lib/module/components/Carousel/Carousel.js.map +1 -0
  19. package/lib/module/components/Carousel/Carousel.mdx +154 -0
  20. package/lib/module/components/Drawer/Drawer.js +10 -3
  21. package/lib/module/components/Drawer/Drawer.js.map +1 -1
  22. package/lib/module/components/RadioButton/RadioButton.js +188 -0
  23. package/lib/module/components/RadioButton/RadioButton.js.map +1 -0
  24. package/lib/module/components/RadioButton/RadioButton.mdx +92 -0
  25. package/lib/module/components/UpiHandle/UpiHandle.js +3 -1
  26. package/lib/module/components/UpiHandle/UpiHandle.js.map +1 -1
  27. package/lib/module/components/index.js +1 -0
  28. package/lib/module/components/index.js.map +1 -1
  29. package/lib/module/icons/registry.js +1 -1
  30. package/lib/typescript/components/Carousel/Carousel.d.ts +48 -0
  31. package/lib/typescript/components/Carousel/Carousel.d.ts.map +1 -0
  32. package/lib/typescript/components/Drawer/Drawer.d.ts.map +1 -1
  33. package/lib/typescript/components/RadioButton/RadioButton.d.ts +30 -0
  34. package/lib/typescript/components/RadioButton/RadioButton.d.ts.map +1 -0
  35. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts +4 -2
  36. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts.map +1 -1
  37. package/lib/typescript/components/index.d.ts +1 -0
  38. package/lib/typescript/components/index.d.ts.map +1 -1
  39. package/lib/typescript/icons/registry.d.ts +1 -1
  40. package/package.json +3 -3
  41. package/src/assets/fonts/JioType Var.ttf +0 -0
  42. package/src/components/.token-metadata.json +72 -0
  43. package/src/components/Carousel/Carousel.mdx +154 -0
  44. package/src/components/Carousel/Carousel.tsx +472 -0
  45. package/src/components/Drawer/Drawer.tsx +10 -2
  46. package/src/components/RadioButton/RadioButton.mdx +92 -0
  47. package/src/components/RadioButton/RadioButton.tsx +226 -0
  48. package/src/components/UpiHandle/UpiHandle.tsx +5 -2
  49. package/src/components/index.ts +1 -0
  50. package/src/icons/registry.ts +1 -1
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp } from 'react-native';
3
+ export interface CarouselProps {
4
+ /** Content items to display (should be Carousel.Item or any React nodes). */
5
+ children?: React.ReactNode;
6
+ /** Modes object for design-token resolution. */
7
+ modes?: Record<string, any>;
8
+ /** Enable auto-play. Default: false. */
9
+ autoPlay?: boolean;
10
+ /** Auto-play interval in ms. Default: 4000. */
11
+ autoPlayInterval?: number;
12
+ /** Show pagination dots. Default: true. */
13
+ showPagination?: boolean;
14
+ /** Enable looping (jumps back to first after last). Default: true. */
15
+ loop?: boolean;
16
+ /** Gap between items in px. Resolved from token `carousel/gap` or defaults to 12. */
17
+ gap?: number;
18
+ /** Width of each carousel item. When undefined, items take full container width. */
19
+ itemWidth?: number;
20
+ /** Horizontal padding around the carousel track, allowing peek of adjacent items. Defaults to 0. */
21
+ peekOffset?: number;
22
+ /** Called when the active index changes. */
23
+ onIndexChange?: (index: number) => void;
24
+ /** Style overrides for the outermost container. */
25
+ style?: StyleProp<ViewStyle>;
26
+ }
27
+ export declare function Carousel({ children, modes, autoPlay, autoPlayInterval, showPagination, loop, gap: gapProp, itemWidth: itemWidthProp, peekOffset: peekOffsetProp, onIndexChange, style, }: CarouselProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace Carousel {
29
+ var Item: typeof import("./Carousel").Item;
30
+ var Pagination: typeof import("./Carousel").Pagination;
31
+ }
32
+ export interface CarouselItemProps {
33
+ children?: React.ReactNode;
34
+ modes?: Record<string, any>;
35
+ style?: StyleProp<ViewStyle>;
36
+ }
37
+ /**
38
+ * Optional wrapper for carousel items. Not strictly required — any
39
+ * React node works as a direct child of `<Carousel>`.
40
+ */
41
+ export declare function Item({ children, modes: _modes, style }: CarouselItemProps): import("react/jsx-runtime").JSX.Element;
42
+ export interface PaginationProps {
43
+ modes?: Record<string, any>;
44
+ style?: StyleProp<ViewStyle>;
45
+ }
46
+ export declare function Pagination({ modes: propModes, style }: PaginationProps): import("react/jsx-runtime").JSX.Element;
47
+ export default Carousel;
48
+ //# sourceMappingURL=Carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAA;AACd,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EAIf,MAAM,cAAc,CAAA;AA6BrB,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,mDAAmD;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B;AAMD,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,KAAU,EACV,QAAgB,EAChB,gBAAuB,EACvB,cAAqB,EACrB,IAAW,EACX,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,aAAa,EACb,KAAK,GACN,EAAE,aAAa,2CAoOf;yBAhPe,QAAQ;;;;AAsPxB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAEzE;AAMD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,2CA+DtE;AA8DD,eAAe,QAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAqDvE,KAAK,WAAW,GAAG;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IACvC,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC1F,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,iBAAS,MAAM,CAAC,EAEd,KAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,eAAqB,EACrB,aAAoB,EACpB,YAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,4BAAmC,EACnC,WAAgB,GACjB,EAAE,WAAW,2CAqPb;AA8BD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAsDvE,KAAK,WAAW,GAAG;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IACvC,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC1F,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,iBAAS,MAAM,CAAC,EAEd,KAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,eAAqB,EACrB,aAAoB,EACpB,YAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,4BAAmC,EACnC,WAAgB,GACjB,EAAE,WAAW,2CA4Pb;AA8BD,eAAe,MAAM,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { ViewStyle, StyleProp } from 'react-native';
2
+ export interface RadioButtonProps {
3
+ /**
4
+ * Whether the radio button is selected.
5
+ */
6
+ selected?: boolean;
7
+ /**
8
+ * Whether the radio button is disabled.
9
+ */
10
+ disabled?: boolean;
11
+ /**
12
+ * Function to call when the radio button is pressed.
13
+ */
14
+ onPress?: () => void;
15
+ /**
16
+ * Modes object for design-token resolution.
17
+ */
18
+ modes?: Record<string, any>;
19
+ /**
20
+ * Custom style for the radio button container.
21
+ */
22
+ style?: StyleProp<ViewStyle>;
23
+ /**
24
+ * Test ID for testing.
25
+ */
26
+ testID?: string;
27
+ }
28
+ export declare function RadioButton({ selected, disabled, onPress, modes, style, testID, }: RadioButtonProps): import("react/jsx-runtime").JSX.Element;
29
+ export default RadioButton;
30
+ //# sourceMappingURL=RadioButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAKH,SAAS,EAET,SAAS,EACZ,MAAM,cAAc,CAAA;AAOrB,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,wBAAgB,WAAW,CAAC,EACxB,QAAgB,EAChB,QAAgB,EAChB,OAAO,EACP,KAAU,EACV,KAAK,EACL,MAAM,GACT,EAAE,gBAAgB,2CAyKlB;AAED,eAAe,WAAW,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import { View } from 'react-native';
2
+ import { View, type ImageSourcePropType } from 'react-native';
3
3
  type UpiHandleProps = {
4
4
  label?: string;
5
5
  modes?: Record<string, any>;
6
6
  showIcon?: boolean;
7
7
  iconName?: string;
8
+ avatarSource?: ImageSourcePropType;
8
9
  accessibilityLabel?: string;
9
10
  accessibilityHint?: string;
10
11
  onPress?: () => void;
@@ -27,9 +28,10 @@ type UpiHandleProps = {
27
28
  * @param {Object} [props.modes={}] - Modes object passed directly to `getVariableByName`.
28
29
  * @param {boolean} [props.showIcon=true] - Toggles the trailing icon visibility.
29
30
  * @param {string} [props.iconName='ic_scan_qr_code'] - Icon name from the actions set (e.g. 'ic_qr_code', 'ic_scan_qr_code').
31
+ * @param {ImageSourcePropType} [props.avatarSource] - Optional custom image source for the avatar.
30
32
  * @param {string} [props.accessibilityLabel] - Accessibility label for screen readers. If not provided, uses label
31
33
  * @param {string} [props.accessibilityHint] - Additional accessibility hint for screen readers
32
34
  */
33
- declare function UpiHandle({ label, modes: propModes, showIcon, iconName, onPress, disabled, accessibilityLabel, accessibilityHint, ...rest }: UpiHandleProps): import("react/jsx-runtime").JSX.Element;
35
+ declare function UpiHandle({ label, modes: propModes, showIcon, iconName, avatarSource, onPress, disabled, accessibilityLabel, accessibilityHint, ...rest }: UpiHandleProps): import("react/jsx-runtime").JSX.Element;
34
36
  export default UpiHandle;
35
37
  //# sourceMappingURL=UpiHandle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpiHandle.d.ts","sourceRoot":"","sources":["../../../../src/components/UpiHandle/UpiHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,EAAa,IAAI,EAAgE,MAAM,cAAc,CAAA;AAS5G,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC,CAAC;AAExH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iBAAS,SAAS,CAAC,EACjB,KAAe,EACf,KAAK,EAAE,SAAc,EACrB,QAAe,EACf,QAA4B,EAC5B,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,cAAc,2CA0IhB;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"UpiHandle.d.ts","sourceRoot":"","sources":["../../../../src/components/UpiHandle/UpiHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,EAAa,IAAI,EAAgE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAStI,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC,CAAC;AAExH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,SAAS,CAAC,EACjB,KAAe,EACf,KAAK,EAAE,SAAc,EACrB,QAAe,EACf,QAA4B,EAC5B,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,cAAc,2CA0IhB;AAED,eAAe,SAAS,CAAA"}
@@ -47,4 +47,5 @@ export { default as ChipSelect, type ChipSelectProps } from './ChipSelect/ChipSe
47
47
  export { default as InputSearch, type InputSearchProps } from './InputSearch/InputSearch';
48
48
  export { default as SupportText, type SupportTextProps } from './SupportText/SupportText';
49
49
  export { default as SupportTextIcon, type SupportTextIconProps } from './SupportText/SupportTextIcon';
50
+ export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton';
50
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Auto-generated from SVG files in src/icons/
5
5
  * DO NOT EDIT MANUALLY - Run "npm run icons:generate" to regenerate
6
6
  *
7
- * Generated: 2026-02-06T15:39:03.973Z
7
+ * Generated: 2026-02-10T13:33:16.682Z
8
8
  */
9
9
  export declare const iconRegistry: Record<string, {
10
10
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jfs-components",
3
- "version": "0.0.21",
3
+ "version": "0.0.24",
4
4
  "description": "React Native Jio Finance Components Library",
5
5
  "author": "sunshuaiqi@gmail.com",
6
6
  "license": "MIT",
@@ -69,7 +69,7 @@
69
69
  "ajv": "^8.17.1",
70
70
  "ajv-keywords": "^5.1.0",
71
71
  "react-native-gesture-handler": "^2.29.1",
72
- "react-native-reanimated": "^4.1.5",
72
+ "react-native-reanimated": "3.18.1",
73
73
  "react-native-safe-area-context": "^5.6.2",
74
74
  "react-native-svg": "^15.15.0",
75
75
  "react-native-web": "^0.21.2",
@@ -134,4 +134,4 @@
134
134
  "jest": {
135
135
  "preset": "react-native"
136
136
  }
137
- }
137
+ }
Binary file
@@ -485,6 +485,23 @@
485
485
  },
486
486
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/CardFeedback/CardFeedback.tsx"
487
487
  },
488
+ "Carousel": {
489
+ "tokens": [
490
+ "carousel/gap",
491
+ "carousel/padding/horizontal",
492
+ "carousel/padding/vertical",
493
+ "carousel/pagination/dotActiveColor",
494
+ "carousel/pagination/dotActiveWidth",
495
+ "carousel/pagination/dotColor",
496
+ "carousel/pagination/dotGap",
497
+ "carousel/pagination/dotRadius",
498
+ "carousel/pagination/dotSize",
499
+ "carousel/pagination/gap",
500
+ "carousel/peekOffset"
501
+ ],
502
+ "collections": {},
503
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/Carousel/Carousel.tsx"
504
+ },
488
505
  "ChipGroup": {
489
506
  "tokens": [
490
507
  "chipGroup/gap"
@@ -1179,6 +1196,61 @@
1179
1196
  },
1180
1197
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/PageTitle/PageTitle.tsx"
1181
1198
  },
1199
+ "RadioButton": {
1200
+ "tokens": [
1201
+ "radio/background/color",
1202
+ "radio/disabled/background/color",
1203
+ "radio/disabled/border/color",
1204
+ "radio/disabled/radio/disabled/border/size",
1205
+ "radio/disabledSelected/background",
1206
+ "radio/disabledSelected/border/color",
1207
+ "radio/disabledSelected/selector/background/color",
1208
+ "radio/focus/background/color",
1209
+ "radio/focus/border/color",
1210
+ "radio/focus/border/size",
1211
+ "radio/focus/boxShadow/size",
1212
+ "radio/focus/shadow/color",
1213
+ "radio/focusSelected/background/color",
1214
+ "radio/focusSelected/border/size",
1215
+ "radio/focusSelected/selector/background/color",
1216
+ "radio/height",
1217
+ "radio/hover/background/color",
1218
+ "radio/hover/border/color",
1219
+ "radio/hover/boxShadow/size",
1220
+ "radio/hover/shadow/color",
1221
+ "radio/hoverSelected/background/color",
1222
+ "radio/hoverSelected/border/color",
1223
+ "radio/hoverSelected/boxShadow/size",
1224
+ "radio/hoverSelected/selector/background/color",
1225
+ "radio/hoverSelected/shadow/color",
1226
+ "radio/idle/background/color",
1227
+ "radio/idle/border/color",
1228
+ "radio/selected/background/color",
1229
+ "radio/selected/border/color",
1230
+ "radio/selected/selector/background/color",
1231
+ "radio/selector/size",
1232
+ "radio/width"
1233
+ ],
1234
+ "collections": {
1235
+ "Color Mode": {
1236
+ "modes": [
1237
+ "Light",
1238
+ "Dark"
1239
+ ],
1240
+ "defaultMode": "Light",
1241
+ "hasMultipleModes": true
1242
+ },
1243
+ "Colors Router": {
1244
+ "modes": [
1245
+ "POC",
1246
+ "Old"
1247
+ ],
1248
+ "defaultMode": "POC",
1249
+ "hasMultipleModes": true
1250
+ }
1251
+ },
1252
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/RadioButton/RadioButton.tsx"
1253
+ },
1182
1254
  "Screen": {
1183
1255
  "tokens": [
1184
1256
  "screen/body/background"
@@ -0,0 +1,154 @@
1
+ import { Meta, Story, Canvas, Controls } from '@storybook/blocks';
2
+ import * as CarouselStories from './Carousel.stories';
3
+ import Carousel from './Carousel';
4
+ import { AnatomySection, UsageConstraintsSection } from '../docs/DocSections';
5
+ import { View, Image, Text } from 'react-native';
6
+
7
+ <Meta of={CarouselStories} />
8
+
9
+ ## Available Collections and Modes
10
+
11
+ This component does not use any design token collections with multiple modes.
12
+ ## Usage
13
+
14
+ <Canvas>
15
+ <Story of={CarouselStories.Default} />
16
+ </Canvas>
17
+
18
+ ### Example Usage
19
+
20
+ ```tsx
21
+ import { Image, View } from 'react-native';
22
+ import Carousel from './components/Carousel/Carousel';
23
+ import MediaCard from './components/MediaCard/MediaCard';
24
+ import Avatar from './components/Avatar/Avatar';
25
+ import Button from './components/Button/Button';
26
+
27
+ function MyCarousel() {
28
+ const modes = {
29
+ 'Contrast Context': 'on dark',
30
+ 'Colors Router': 'POC',
31
+ };
32
+
33
+ return (
34
+ <Carousel
35
+ modes={modes}
36
+ autoPlay
37
+ autoPlayInterval={4000}
38
+ showPagination
39
+ loop
40
+ >
41
+ <Carousel.Item>
42
+ <MediaCard
43
+ modes={modes}
44
+ media={
45
+ <Image
46
+ source={{ uri: 'https://picsum.photos/400/400' }}
47
+ style={{ width: '100%', height: '100%' }}
48
+ resizeMode="cover"
49
+ />
50
+ }
51
+ >
52
+ <MediaCard.Header>
53
+ <MediaCard.Title>Huge Title</MediaCard.Title>
54
+ </MediaCard.Header>
55
+ <MediaCard.Footer>
56
+ <Avatar
57
+ initials="JS"
58
+ modes={{ 'Avatar / Size': 'S' }}
59
+ />
60
+ <View style={{ flex: 1 }}>
61
+ <MediaCard.FooterTitle>Subscribed</MediaCard.FooterTitle>
62
+ <MediaCard.FooterSubtitle>Active now</MediaCard.FooterSubtitle>
63
+ </View>
64
+ <Button
65
+ label="Open"
66
+ modes={{ 'Button / Size': 'S' }}
67
+ onPress={() => console.log('Open')}
68
+ />
69
+ </MediaCard.Footer>
70
+ </MediaCard>
71
+ </Carousel.Item>
72
+
73
+ <Carousel.Item>
74
+ <MediaCard
75
+ modes={modes}
76
+ media={
77
+ <Image
78
+ source={{ uri: 'https://picsum.photos/seed/two/400/400' }}
79
+ style={{ width: '100%', height: '100%' }}
80
+ resizeMode="cover"
81
+ />
82
+ }
83
+ >
84
+ <MediaCard.Header>
85
+ <MediaCard.Title>Discover</MediaCard.Title>
86
+ </MediaCard.Header>
87
+ <MediaCard.Footer>
88
+ <MediaCard.FooterTitle>Mutual Fund Insights</MediaCard.FooterTitle>
89
+ </MediaCard.Footer>
90
+ </MediaCard>
91
+ </Carousel.Item>
92
+ </Carousel>
93
+ );
94
+ }
95
+ ```
96
+
97
+ ### Peek Cards (adjacent items visible)
98
+
99
+ <Canvas>
100
+ <Story of={CarouselStories.PeekCards} />
101
+ </Canvas>
102
+
103
+ ### Auto-play
104
+
105
+ <Canvas>
106
+ <Story of={CarouselStories.AutoPlay} />
107
+ </Canvas>
108
+
109
+ ### Fixed-width items
110
+
111
+ <Canvas>
112
+ <Story of={CarouselStories.FixedWidth} />
113
+ </Canvas>
114
+
115
+ <AnatomySection>
116
+ <ul>
117
+ <li><strong>Container</strong> — Outer <code>View</code> that measures width and holds the scroll track + pagination.</li>
118
+ <li><strong>ScrollView Track</strong> — Horizontal <code>ScrollView</code> with snap-to-interval behavior and optional CSS scroll-snap on web.</li>
119
+ <li><strong>Carousel.Item</strong> — Optional wrapper for each slide. Any React node works as a direct child.</li>
120
+ <li><strong>Pagination</strong> — Row of animated dots. Active dot widens and changes color. Each dot is pressable to navigate.</li>
121
+ </ul>
122
+ </AnatomySection>
123
+
124
+ <UsageConstraintsSection>
125
+ <ul>
126
+ <li>Each child of <code>Carousel</code> becomes one slide. Use <code>Carousel.Item</code> for semantic clarity.</li>
127
+ <li>When <code>itemWidth</code> is not provided, items expand to fill the container width minus <code>peekOffset</code>.</li>
128
+ <li>Auto-play pauses automatically while the user is dragging.</li>
129
+ <li>The <code>modes</code> prop is forwarded to all children via <code>cloneElement</code>.</li>
130
+ <li>On web, CSS <code>scroll-snap-type</code> is applied for native-feeling snap behavior.</li>
131
+ </ul>
132
+ </UsageConstraintsSection>
133
+
134
+ ## Props
135
+
136
+ <Controls />
137
+
138
+ ## Design Tokens
139
+
140
+ This component uses the following design tokens, resolved through `getVariableByName`:
141
+
142
+ - **`carousel/gap`**
143
+ - **`carousel/padding/horizontal`**
144
+ - **`carousel/padding/vertical`**
145
+ - **`carousel/pagination/dotActiveColor`**
146
+ - **`carousel/pagination/dotActiveWidth`**
147
+ - **`carousel/pagination/dotColor`**
148
+ - **`carousel/pagination/dotGap`**
149
+ - **`carousel/pagination/dotRadius`**
150
+ - **`carousel/pagination/dotSize`**
151
+ - **`carousel/pagination/gap`**
152
+ - **`carousel/peekOffset`**
153
+
154
+ All tokens support mode-based theming through the `modes` prop.