jfs-components 0.0.70 → 0.0.72

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 (66) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +203 -0
  3. package/lib/commonjs/components/CardCTA/CardCTA.js +198 -16
  4. package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +213 -0
  5. package/lib/commonjs/components/Carousel/Carousel.js +9 -7
  6. package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +147 -0
  7. package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +258 -0
  8. package/lib/commonjs/components/CircularRating/CircularRating.js +161 -0
  9. package/lib/commonjs/components/Gauge/Gauge.js +223 -0
  10. package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +2 -2
  11. package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +132 -0
  12. package/lib/commonjs/components/ListGroup/ListGroup.js +3 -1
  13. package/lib/commonjs/components/Nudge/Nudge.js +179 -87
  14. package/lib/commonjs/components/Radio/Radio.js +194 -0
  15. package/lib/commonjs/components/RadioButton/RadioButton.js +21 -188
  16. package/lib/commonjs/components/index.js +56 -0
  17. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  18. package/lib/commonjs/icons/registry.js +1 -1
  19. package/lib/module/components/CardAdvisory/CardAdvisory.js +197 -0
  20. package/lib/module/components/CardCTA/CardCTA.js +199 -17
  21. package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +207 -0
  22. package/lib/module/components/Carousel/Carousel.js +9 -7
  23. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +141 -0
  24. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +253 -0
  25. package/lib/module/components/CircularRating/CircularRating.js +155 -0
  26. package/lib/module/components/Gauge/Gauge.js +217 -0
  27. package/lib/module/components/HoldingsCard/HoldingsCard.js +2 -2
  28. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +127 -0
  29. package/lib/module/components/ListGroup/ListGroup.js +3 -1
  30. package/lib/module/components/Nudge/Nudge.js +178 -87
  31. package/lib/module/components/Radio/Radio.js +188 -0
  32. package/lib/module/components/RadioButton/RadioButton.js +20 -185
  33. package/lib/module/components/index.js +12 -0
  34. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  35. package/lib/module/icons/registry.js +1 -1
  36. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +49 -0
  37. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +16 -1
  38. package/lib/typescript/src/components/CardFinancialCondition/CardFinancialCondition.d.ts +50 -0
  39. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +27 -0
  40. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +48 -0
  41. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +49 -0
  42. package/lib/typescript/src/components/Gauge/Gauge.d.ts +53 -0
  43. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +30 -0
  44. package/lib/typescript/src/components/Nudge/Nudge.d.ts +14 -11
  45. package/lib/typescript/src/components/Radio/Radio.d.ts +30 -0
  46. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +20 -28
  47. package/lib/typescript/src/components/index.d.ts +13 -1
  48. package/lib/typescript/src/icons/registry.d.ts +1 -1
  49. package/package.json +1 -1
  50. package/src/components/CardAdvisory/CardAdvisory.tsx +283 -0
  51. package/src/components/CardCTA/CardCTA.tsx +236 -13
  52. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +366 -0
  53. package/src/components/Carousel/Carousel.tsx +14 -6
  54. package/src/components/CircularProgressBar/CircularProgressBar.tsx +190 -0
  55. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +357 -0
  56. package/src/components/CircularRating/CircularRating.tsx +241 -0
  57. package/src/components/Gauge/Gauge.tsx +303 -0
  58. package/src/components/HoldingsCard/HoldingsCard.tsx +2 -2
  59. package/src/components/InstitutionBadge/InstitutionBadge.tsx +216 -0
  60. package/src/components/ListGroup/ListGroup.tsx +3 -1
  61. package/src/components/Nudge/Nudge.tsx +222 -82
  62. package/src/components/Radio/Radio.tsx +227 -0
  63. package/src/components/RadioButton/RadioButton.tsx +23 -225
  64. package/src/components/index.ts +13 -1
  65. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  66. package/src/icons/registry.ts +1 -1
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ type CardAdvisoryBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
4
+ export type CardAdvisoryProps = CardAdvisoryBaseProps & {
5
+ /** Main heading text. */
6
+ title?: string;
7
+ /** Description shown below the heading. */
8
+ description?: string;
9
+ /** Progress score displayed in the circular progress bar. */
10
+ value?: number;
11
+ /** Optional formatted score label. */
12
+ valueLabel?: string;
13
+ /** Show the info icon beside the title. */
14
+ showInfoIcon?: boolean;
15
+ /** Show the bottom advisory nudge. */
16
+ showNudge?: boolean;
17
+ /** Body text for the default nudge. */
18
+ nudgeBody?: string;
19
+ /** Button label for the default nudge. */
20
+ nudgeButtonLabel?: string;
21
+ /** Callback for the default nudge button. */
22
+ onPressNudgeButton?: () => void;
23
+ /** Optional slot replacing the title info icon. Receives `modes` recursively. */
24
+ titleEndSlot?: React.ReactNode;
25
+ /** Optional slot replacing the circular progress bar. Receives `modes` recursively. */
26
+ progressSlot?: React.ReactNode;
27
+ /** Optional slot replacing the bottom nudge. Receives `modes` recursively. */
28
+ nudgeSlot?: React.ReactNode;
29
+ /** Design token modes forwarded to token lookups and child components. */
30
+ modes?: Record<string, any>;
31
+ /** Optional container style override. */
32
+ style?: StyleProp<ViewStyle>;
33
+ /** Optional main content row style override. */
34
+ mainContentStyle?: StyleProp<ViewStyle>;
35
+ /** Optional title text style override. */
36
+ titleStyle?: StyleProp<TextStyle>;
37
+ /** Optional description text style override. */
38
+ descriptionStyle?: StyleProp<TextStyle>;
39
+ /** Optional progress wrapper style override. */
40
+ progressStyle?: StyleProp<ViewStyle>;
41
+ /** Optional nudge style override. */
42
+ nudgeStyle?: StyleProp<ViewStyle>;
43
+ /** Accessibility label for the full card. */
44
+ accessibilityLabel?: string;
45
+ };
46
+ declare function CardAdvisory({ title, description, value, valueLabel, showInfoIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, titleEndSlot, progressSlot, nudgeSlot, modes: propModes, style, mainContentStyle, titleStyle, descriptionStyle, progressStyle, nudgeStyle, accessibilityLabel, ...rest }: CardAdvisoryProps): import("react/jsx-runtime").JSX.Element;
47
+ declare const _default: React.MemoExoticComponent<typeof CardAdvisory>;
48
+ export default _default;
49
+ //# sourceMappingURL=CardAdvisory.d.ts.map
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type StyleProp } from 'react-native';
3
+ export type CardCTAType = 'cta' | 'rating';
3
4
  export type CardCTAProps = {
5
+ /** Visual layout variant */
6
+ type?: CardCTAType;
4
7
  /** Title text */
5
8
  title?: string;
6
9
  /** Body / subtitle text */
@@ -11,15 +14,27 @@ export type CardCTAProps = {
11
14
  buttonLabel?: string;
12
15
  /** Callback for the default Button press */
13
16
  onPressButton?: () => void;
17
+ /** Label shown in the rating badge */
18
+ ratingLabel?: string;
19
+ /** Show like/dislike actions in the rating footer */
20
+ showRatingActions?: boolean;
21
+ /** Callback for the default like action */
22
+ onPressLike?: () => void;
23
+ /** Callback for the default dislike action */
24
+ onPressDislike?: () => void;
14
25
  /** Mode configuration for design token resolution */
15
26
  modes?: Record<string, any>;
16
27
  /** Slot: replaces the default icon area (right side) */
17
28
  iconSlot?: React.ReactNode;
18
29
  /** Slot: replaces the default Button */
19
30
  buttonSlot?: React.ReactNode;
31
+ /** Slot: replaces the default rating badge */
32
+ ratingBadgeSlot?: React.ReactNode;
33
+ /** Slot: replaces the default like/dislike action group */
34
+ ratingActionsSlot?: React.ReactNode;
20
35
  /** Container style overrides */
21
36
  style?: StyleProp<ViewStyle>;
22
37
  };
23
- declare function CardCTA({ title, body, iconName, buttonLabel, onPressButton, modes: propModes, iconSlot, buttonSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
38
+ declare function CardCTA({ type, title, body, iconName, buttonLabel, onPressButton, ratingLabel, showRatingActions, onPressLike, onPressDislike, modes: propModes, iconSlot, buttonSlot, ratingBadgeSlot, ratingActionsSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
24
39
  export default CardCTA;
25
40
  //# sourceMappingURL=CardCTA.d.ts.map
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import { type CircularProgressBarProps } from '../CircularProgressBar/CircularProgressBar';
4
+ type CardFinancialConditionBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
5
+ export type CardFinancialConditionProps = CardFinancialConditionBaseProps & {
6
+ /** Title text shown in the header. */
7
+ title?: string;
8
+ /** Body / description shown below the title. */
9
+ body?: string;
10
+ /** Progress score for the circular indicator. Forwarded to CircularProgressBar. */
11
+ value?: number;
12
+ /** Visual state of the circular indicator. Forwarded to CircularProgressBar. */
13
+ progressState?: CircularProgressBarProps['state'];
14
+ /** Optional formatted value label for the active state. */
15
+ valueLabel?: string;
16
+ /** Show the bottom advisory nudge. */
17
+ showNudge?: boolean;
18
+ /** Body text for the default nudge. Use `\n` to add a second line. */
19
+ nudgeBody?: string;
20
+ /** Show the bottom divider above the action button. */
21
+ showDivider?: boolean;
22
+ /** Show the action button at the bottom of the card. */
23
+ showButton?: boolean;
24
+ /** Label for the default action button. */
25
+ buttonLabel?: string;
26
+ /** Callback for the default action button press. */
27
+ onPressButton?: () => void;
28
+ /** Slot replacing the default circular progress bar. Receives `modes` recursively. */
29
+ progressSlot?: React.ReactNode;
30
+ /** Slot replacing the default Nudge. Receives `modes` recursively. */
31
+ nudgeSlot?: React.ReactNode;
32
+ /** Slot replacing the default action button. Receives `modes` recursively. */
33
+ buttonSlot?: React.ReactNode;
34
+ /** Design token modes forwarded to token lookups and child components. */
35
+ modes?: Record<string, any>;
36
+ /** Container style override. */
37
+ style?: StyleProp<ViewStyle>;
38
+ /** Header row style override. */
39
+ headerStyle?: StyleProp<ViewStyle>;
40
+ /** Title text style override. */
41
+ titleStyle?: StyleProp<TextStyle>;
42
+ /** Body text style override. */
43
+ bodyStyle?: StyleProp<TextStyle>;
44
+ /** Accessibility label for the whole card. */
45
+ accessibilityLabel?: string;
46
+ };
47
+ declare function CardFinancialCondition({ title, body, value, progressState, valueLabel, showNudge, nudgeBody, showDivider, showButton, buttonLabel, onPressButton, progressSlot, nudgeSlot, buttonSlot, modes: propModes, style, headerStyle, titleStyle, bodyStyle, accessibilityLabel, ...rest }: CardFinancialConditionProps): import("react/jsx-runtime").JSX.Element;
48
+ declare const _default: React.MemoExoticComponent<typeof CardFinancialCondition>;
49
+ export default _default;
50
+ //# sourceMappingURL=CardFinancialCondition.d.ts.map
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ type CircularProgressBarBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
4
+ export type CircularProgressBarState = 'Active' | 'Inactive';
5
+ export type CircularProgressBarProps = CircularProgressBarBaseProps & {
6
+ /** Current progress value. Clamped between 0 and 100. */
7
+ value?: number;
8
+ /** Active shows progress and value; inactive shows the track and minus icon. */
9
+ state?: CircularProgressBarState | boolean;
10
+ /** Optional formatted value shown in the active state. */
11
+ valueLabel?: string;
12
+ /** Design token modes forwarded to token lookups. */
13
+ modes?: Record<string, any>;
14
+ /** Container style override. */
15
+ style?: StyleProp<ViewStyle>;
16
+ /** Track stroke style override. */
17
+ trackStyle?: StyleProp<ViewStyle>;
18
+ /** Progress stroke style override. */
19
+ progressStyle?: StyleProp<ViewStyle>;
20
+ /** Value text style override. */
21
+ valueStyle?: StyleProp<TextStyle>;
22
+ /** Accessibility label for the whole progress component. */
23
+ accessibilityLabel?: string;
24
+ };
25
+ declare function CircularProgressBar({ value, state, valueLabel, modes: propModes, style, trackStyle, progressStyle, valueStyle, accessibilityLabel, ...rest }: CircularProgressBarProps): import("react/jsx-runtime").JSX.Element;
26
+ export default CircularProgressBar;
27
+ //# sourceMappingURL=CircularProgressBar.d.ts.map
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ type CircularProgressBarDotedBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
4
+ export type CircularProgressBarDotedProps = CircularProgressBarDotedBaseProps & {
5
+ /** Progress value. Clamped between 0 and 100. */
6
+ value?: number;
7
+ /** Number of dots in the ring. */
8
+ dotCount?: number;
9
+ /** Small label above the score. */
10
+ label?: string;
11
+ /** Text below the score. */
12
+ tierLabel?: string;
13
+ /** Show or hide the chevron after the tier label. */
14
+ showChevron?: boolean;
15
+ /** Called when the component is pressed. */
16
+ onPress?: () => void;
17
+ /** Called when the tier row is pressed. */
18
+ onTierPress?: () => void;
19
+ /** Design token modes forwarded to token lookups and slot children. */
20
+ modes?: Record<string, any>;
21
+ /** Slot rendered in the center of the dotted ring. Receives `modes` recursively. */
22
+ children?: React.ReactNode;
23
+ /** Container style override. */
24
+ style?: StyleProp<ViewStyle>;
25
+ /** Ring wrapper style override. */
26
+ ringStyle?: StyleProp<ViewStyle>;
27
+ /** Track dot style override. */
28
+ trackDotStyle?: StyleProp<ViewStyle>;
29
+ /** Progress dot style override. */
30
+ progressDotStyle?: StyleProp<ViewStyle>;
31
+ /** Center content style override. */
32
+ contentStyle?: StyleProp<ViewStyle>;
33
+ /** Score tier stack style override. */
34
+ scoreTierStyle?: StyleProp<ViewStyle>;
35
+ /** Score trend row style override. */
36
+ scoreTrendStyle?: StyleProp<ViewStyle>;
37
+ /** Label text style override. */
38
+ labelStyle?: StyleProp<TextStyle>;
39
+ /** Score text style override. */
40
+ scoreLabelStyle?: StyleProp<TextStyle>;
41
+ /** Tier text style override. */
42
+ tierLabelStyle?: StyleProp<TextStyle>;
43
+ /** Accessibility label for the whole progress component. */
44
+ accessibilityLabel?: string;
45
+ };
46
+ declare function CircularProgressBarDoted({ value, dotCount, label, tierLabel, showChevron, onPress, onTierPress, modes: propModes, children, style, ringStyle, trackDotStyle, progressDotStyle, contentStyle, scoreTierStyle, scoreTrendStyle, labelStyle, scoreLabelStyle, tierLabelStyle, accessibilityLabel, onLayout, ...rest }: CircularProgressBarDotedProps): import("react/jsx-runtime").JSX.Element;
47
+ export default CircularProgressBarDoted;
48
+ //# sourceMappingURL=CircularProgressBarDoted.d.ts.map
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ type CircularRatingBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
4
+ export type CircularRatingProps = CircularRatingBaseProps & {
5
+ /** Rating value. Clamped by CircularProgressBarDoted between 0 and 100. */
6
+ value?: number;
7
+ /** Number of dots rendered around the rating ring. */
8
+ dotCount?: number;
9
+ /** Small label above the score. */
10
+ label?: string;
11
+ /** Text below the score. */
12
+ tierLabel?: string;
13
+ /** Footer timestamp/copy shown below the rating. */
14
+ footerText?: string;
15
+ /** Show the footer info icon. */
16
+ showFooterIcon?: boolean;
17
+ /** Show the bottom inline nudge. */
18
+ showNudge?: boolean;
19
+ /** Body text for the default bottom nudge. */
20
+ nudgeBody?: string;
21
+ /** Button label for the default bottom nudge. */
22
+ nudgeButtonLabel?: string;
23
+ /** Called when the nudge button is pressed. */
24
+ onPressNudgeButton?: () => void;
25
+ /** Called when the rating tier row is pressed. */
26
+ onTierPress?: () => void;
27
+ /** Optional footer slot. Receives `modes` recursively. */
28
+ footerSlot?: React.ReactNode;
29
+ /** Optional nudge slot. Receives `modes` recursively. */
30
+ nudgeSlot?: React.ReactNode;
31
+ /** Design token modes forwarded to token lookups and child components. */
32
+ modes?: Record<string, any>;
33
+ /** Optional container style overrides. */
34
+ style?: StyleProp<ViewStyle>;
35
+ /** Optional rating ring wrapper style overrides. */
36
+ ratingStyle?: StyleProp<ViewStyle>;
37
+ /** Optional footer row style overrides. */
38
+ footerStyle?: StyleProp<ViewStyle>;
39
+ /** Optional footer text style overrides. */
40
+ footerTextStyle?: StyleProp<TextStyle>;
41
+ /** Optional nudge style overrides. */
42
+ nudgeStyle?: StyleProp<ViewStyle>;
43
+ /** Accessibility label for the whole component. */
44
+ accessibilityLabel?: string;
45
+ };
46
+ declare function CircularRating({ value, dotCount, label, tierLabel, footerText, showFooterIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, onTierPress, footerSlot, nudgeSlot, modes: propModes, style, ratingStyle, footerStyle, footerTextStyle, nudgeStyle, accessibilityLabel, ...rest }: CircularRatingProps): import("react/jsx-runtime").JSX.Element;
47
+ declare const _default: React.MemoExoticComponent<typeof CircularRating>;
48
+ export default _default;
49
+ //# sourceMappingURL=CircularRating.d.ts.map
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import { type SupportTextProps } from '../SupportText/SupportText';
4
+ type GaugeBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
5
+ export type GaugeProps = GaugeBaseProps & {
6
+ /** Current gauge value. Interpreted against `min` and `max`. */
7
+ value?: number;
8
+ /** Lower bound used to normalize progress. */
9
+ min?: number;
10
+ /** Upper bound used to normalize progress. */
11
+ max?: number;
12
+ /** Optional formatted value shown in the default readout. */
13
+ valueLabel?: string;
14
+ /** Heading above the arc. */
15
+ title?: string;
16
+ /** Caption below the arc. */
17
+ caption?: string;
18
+ /** Support text shown in the default readout. */
19
+ supportText?: string;
20
+ /** Status passed to the default SupportText component. */
21
+ supportTextStatus?: SupportTextProps['status'];
22
+ /** Hides the heading while keeping the rest of the layout intact. */
23
+ showTitle?: boolean;
24
+ /** Hides the caption while keeping the rest of the layout intact. */
25
+ showCaption?: boolean;
26
+ /** Hides default support text when no custom readout slot is provided. */
27
+ showSupportText?: boolean;
28
+ /** Design token modes forwarded to token lookups and slot children. */
29
+ modes?: Record<string, any>;
30
+ /** Slot rendered in the center of the gauge arc. Receives `modes` recursively. */
31
+ children?: React.ReactNode;
32
+ /** Container style override. */
33
+ style?: StyleProp<ViewStyle>;
34
+ /** Arc wrapper style override. */
35
+ arcStyle?: StyleProp<ViewStyle>;
36
+ /** Readout container style override. */
37
+ readoutStyle?: StyleProp<ViewStyle>;
38
+ /** Title text style override. */
39
+ titleStyle?: StyleProp<TextStyle>;
40
+ /** Value text style override. */
41
+ valueStyle?: StyleProp<TextStyle>;
42
+ /** Caption text style override. */
43
+ captionStyle?: StyleProp<TextStyle>;
44
+ /** Track stroke style override. */
45
+ trackStyle?: StyleProp<ViewStyle>;
46
+ /** Progress stroke style override. */
47
+ progressStyle?: StyleProp<ViewStyle>;
48
+ /** Accessibility label for the whole gauge. */
49
+ accessibilityLabel?: string;
50
+ };
51
+ declare function Gauge({ value, min, max, valueLabel, title, caption, supportText, supportTextStatus, showTitle, showCaption, showSupportText, modes: propModes, children, style, arcStyle, readoutStyle, titleStyle, valueStyle, captionStyle, trackStyle, progressStyle, accessibilityLabel, ...rest }: GaugeProps): import("react/jsx-runtime").JSX.Element;
52
+ export default Gauge;
53
+ //# sourceMappingURL=Gauge.d.ts.map
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import { type UnifiedSource } from '../../utils/MediaSource';
4
+ type InstitutionBadgeBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
5
+ export type InstitutionBadgeProps = InstitutionBadgeBaseProps & {
6
+ /** Visible label for the institution (e.g. bank name). */
7
+ label?: string;
8
+ /**
9
+ * Unified avatar source. Accepts a remote URI (raster or `.svg`), an
10
+ * inline SVG XML string, a `require()` asset, an SVG React component,
11
+ * or an already-rendered React element. Smart-detects raster vs SVG so
12
+ * the same prop works on iOS, Android and web. See {@link UnifiedSource}.
13
+ * Ignored when `avatarSlot` is provided.
14
+ */
15
+ source?: UnifiedSource;
16
+ /** Slot replacing the default Avatar (e.g. for monogram avatars). Receives `modes` recursively. */
17
+ avatarSlot?: React.ReactNode;
18
+ /** Design token modes forwarded to token lookups and the Avatar slot. */
19
+ modes?: Record<string, any>;
20
+ /** Container style override. */
21
+ style?: StyleProp<ViewStyle>;
22
+ /** Label style override. */
23
+ labelStyle?: StyleProp<TextStyle>;
24
+ /** Accessibility label. Defaults to `label`. */
25
+ accessibilityLabel?: string;
26
+ };
27
+ declare function InstitutionBadge({ label, source, avatarSlot, modes: propModes, style, labelStyle, accessibilityLabel, ...rest }: InstitutionBadgeProps): import("react/jsx-runtime").JSX.Element;
28
+ declare const _default: React.MemoExoticComponent<typeof InstitutionBadge>;
29
+ export default _default;
30
+ //# sourceMappingURL=InstitutionBadge.d.ts.map
@@ -1,31 +1,34 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type StyleProp } from 'react-native';
3
+ export type NudgeType = 'stacked-prominent' | 'stacked-detailed' | 'inline-compact';
3
4
  export type NudgeProps = {
4
5
  /**
5
- * Controls the layout variant.
6
- * - "Default": horizontal layout with optional start icon and content (title/body/button or children slot)
7
- * - "Variant2": vertical layout with header (icon + title) and children slot below
6
+ * Controls the layout type.
7
+ * - "stacked-prominent": icon + title/body/button content
8
+ * - "inline-compact": icon + body/button in one row
9
+ * - "stacked-detailed": header + children detail slot
8
10
  */
9
- variant?: 'Default' | 'Variant2';
11
+ type?: NudgeType;
10
12
  /** Title text displayed in the nudge */
11
13
  title?: string;
12
- /** Body text displayed below the title (Default variant only, when no children are provided) */
14
+ /** Body text displayed in prominent and compact types when no children are provided */
13
15
  body?: string;
14
- /** Label for the default button (Default variant only, when no children are provided) */
16
+ /** Label for the default button when no buttonSlot is provided */
15
17
  buttonLabel?: string;
16
18
  /** Callback for the default button press */
17
19
  onPressButton?: () => void;
18
- /** Custom button slot (Default variant only, overrides buttonLabel/onPressButton) */
20
+ /** Custom button slot, overrides buttonLabel/onPressButton */
19
21
  buttonSlot?: React.ReactNode;
20
- /** Optional leading slot for an icon/element. Pass null or omit to hide. */
21
- startSlot?: React.ReactNode;
22
- /** Content slot — overrides the default title/body/button content */
22
+ /** Optional leading slot. Omit for the token-driven sparkle icon, pass null/false to hide. */
23
+ startSlot?: React.ReactNode | false;
24
+ /** Content slot — overrides default content, or provides detailed list content */
23
25
  children?: React.ReactNode;
24
26
  /** Mode configuration for design token resolution */
25
27
  modes?: Record<string, any>;
26
28
  /** Optional container style overrides */
27
29
  style?: StyleProp<ViewStyle>;
28
30
  };
29
- declare function Nudge({ variant, title, body, buttonLabel, onPressButton, buttonSlot, startSlot, children, modes: propModes, style, }: NudgeProps): import("react/jsx-runtime").JSX.Element;
31
+ declare function NudgeImpl({ type, title, body, buttonLabel, onPressButton, buttonSlot, startSlot, children, modes: propModes, style, }: NudgeProps): import("react/jsx-runtime").JSX.Element;
32
+ declare const Nudge: React.MemoExoticComponent<typeof NudgeImpl>;
30
33
  export default Nudge;
31
34
  //# sourceMappingURL=Nudge.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { ViewStyle, StyleProp } from 'react-native';
2
+ export interface RadioProps {
3
+ /**
4
+ * Whether the radio is selected.
5
+ */
6
+ selected?: boolean;
7
+ /**
8
+ * Whether the radio is disabled.
9
+ */
10
+ disabled?: boolean;
11
+ /**
12
+ * Function to call when the radio 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 container.
21
+ */
22
+ style?: StyleProp<ViewStyle>;
23
+ /**
24
+ * Test ID for testing.
25
+ */
26
+ testID?: string;
27
+ }
28
+ export declare function Radio({ selected, disabled, onPress, modes, style, testID, }: RadioProps): import("react/jsx-runtime").JSX.Element;
29
+ export default Radio;
30
+ //# sourceMappingURL=Radio.d.ts.map
@@ -1,30 +1,22 @@
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;
1
+ /**
2
+ * @deprecated `RadioButton` has been renamed to `Radio`.
3
+ *
4
+ * This file is kept as a backward-compatibility shim for teams that may be
5
+ * importing `RadioButton` directly from this deep path:
6
+ *
7
+ * import RadioButton from 'jfs-components/src/components/RadioButton/RadioButton'
8
+ * import { RadioButton, RadioButtonProps } from '...'
9
+ *
10
+ * The recommended public import is now:
11
+ *
12
+ * import { Radio, type RadioProps } from 'jfs-components'
13
+ *
14
+ * Going forward, this component is called `Radio`. This shim only re-exports
15
+ * the new `Radio` component under the old `RadioButton` names; please migrate
16
+ * existing usages to `Radio` at your earliest convenience.
17
+ */
18
+ import { Radio, type RadioProps } from '../Radio/Radio';
19
+ export type RadioButtonProps = RadioProps;
20
+ export declare const RadioButton: typeof Radio;
29
21
  export default RadioButton;
30
22
  //# sourceMappingURL=RadioButton.d.ts.map
@@ -7,19 +7,25 @@ export { default as BottomNav } from './BottomNav/BottomNav';
7
7
  export { default as BottomNavItem } from './BottomNavItem/BottomNavItem';
8
8
  export { default as Button, type ButtonProps } from './Button/Button';
9
9
  export { default as Card } from './Card/Card';
10
+ export { default as CardAdvisory, type CardAdvisoryProps } from './CardAdvisory/CardAdvisory';
10
11
  export { default as Carousel } from './Carousel/Carousel';
11
12
  export type { CarouselProps, CarouselItemProps, PaginationProps } from './Carousel/Carousel';
12
13
  export { default as Checkbox, type CheckboxProps } from './Checkbox/Checkbox';
13
14
  export { default as CardFeedback, type CardFeedbackProps } from './CardFeedback/CardFeedback';
15
+ export { default as CardFinancialCondition, type CardFinancialConditionProps } from './CardFinancialCondition/CardFinancialCondition';
14
16
  export { default as Disclaimer } from './Disclaimer/Disclaimer';
15
17
  export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider';
16
18
  export { default as Drawer } from './Drawer/Drawer';
17
- export { default as CardCTA, type CardCTAProps } from './CardCTA/CardCTA';
19
+ export { default as CardCTA, type CardCTAProps, type CardCTAType } from './CardCTA/CardCTA';
18
20
  export { default as DebitCard, type DebitCardProps } from './DebitCard/DebitCard';
19
21
  export { default as FilterBar } from './FilterBar/FilterBar';
20
22
  export { default as Form, type FormProps } from './Form/Form';
21
23
  export { useFormContext } from './Form/Form';
22
24
  export { default as FormField, type FormFieldProps, type FormFieldType } from './FormField/FormField';
25
+ export { default as CircularProgressBar, type CircularProgressBarProps } from './CircularProgressBar/CircularProgressBar';
26
+ export { default as CircularProgressBarDoted, type CircularProgressBarDotedProps } from './CircularProgressBarDoted/CircularProgressBarDoted';
27
+ export { default as CircularRating, type CircularRatingProps } from './CircularRating/CircularRating';
28
+ export { default as Gauge, type GaugeProps } from './Gauge/Gauge';
23
29
  export { default as HoldingsCard, type HoldingsCardProps } from './HoldingsCard/HoldingsCard';
24
30
  export { default as HStack, type HStackProps } from './HStack/HStack';
25
31
  export { default as IconButton } from './IconButton/IconButton';
@@ -60,8 +66,14 @@ export { default as ButtonGroup, type ButtonGroupProps } from './ButtonGroup/But
60
66
  export { default as CardProviderInfo, type CardProviderInfoProps } from './CardProviderInfo/CardProviderInfo';
61
67
  export { default as ChipSelect, type ChipSelectProps } from './ChipSelect/ChipSelect';
62
68
  export { default as InputSearch, type InputSearchProps } from './InputSearch/InputSearch';
69
+ export { default as InstitutionBadge, type InstitutionBadgeProps } from './InstitutionBadge/InstitutionBadge';
63
70
  export { default as SupportText, type SupportTextProps } from './SupportText/SupportText';
64
71
  export { default as SupportTextIcon, type SupportTextIconProps, type SupportTextStatus } from './SupportText/SupportTextIcon';
72
+ export { default as Radio, type RadioProps } from './Radio/Radio';
73
+ /**
74
+ * @deprecated Use `Radio` instead. `RadioButton` is kept as an alias for
75
+ * backward compatibility and will be removed in a future major release.
76
+ */
65
77
  export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton';
66
78
  export { default as RechargeCard, type RechargeCardProps } from './RechargeCard/RechargeCard';
67
79
  export { default as Tabs, type TabsProps } from './Tabs/Tabs';
@@ -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-04-23T10:31:30.721Z
7
+ * Generated: 2026-05-04T12:27:11.660Z
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.70",
3
+ "version": "0.0.72",
4
4
  "description": "React Native Jio Finance Components Library",
5
5
  "author": "sunshuaiqi@gmail.com",
6
6
  "license": "MIT",