jfs-components 0.1.23 → 0.1.28

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 (99) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/lib/commonjs/components/AutoplayControl/AutoplayControl.js +66 -0
  3. package/lib/commonjs/components/CardCTA/CardCTA.js +32 -25
  4. package/lib/commonjs/components/Carousel/Carousel.js +112 -19
  5. package/lib/commonjs/components/ChipSelect/ChipSelect.js +2 -1
  6. package/lib/commonjs/components/ContentSheet/ContentSheet.js +39 -5
  7. package/lib/commonjs/components/FormUpload/Additem.js +168 -0
  8. package/lib/commonjs/components/FormUpload/FormUpload.js +198 -0
  9. package/lib/commonjs/components/Grid/Grid.js +206 -0
  10. package/lib/commonjs/components/ListItem/ListItem.js +11 -4
  11. package/lib/commonjs/components/MetricData/MetricData.js +132 -0
  12. package/lib/commonjs/components/NumberPagination/NumberPagination.js +144 -0
  13. package/lib/commonjs/components/ProfileCard/ProfileCard.js +208 -0
  14. package/lib/commonjs/components/Rating/Rating.js +137 -0
  15. package/lib/commonjs/components/UpiHandle/UpiHandle.js +23 -11
  16. package/lib/commonjs/components/index.js +42 -0
  17. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  18. package/lib/commonjs/design-tokens/figma-modes.generated.js +23 -10
  19. package/lib/commonjs/icons/components/IconBrokenimage.js +19 -0
  20. package/lib/commonjs/icons/components/IconImage.js +19 -0
  21. package/lib/commonjs/icons/components/IconMic.js +19 -0
  22. package/lib/commonjs/icons/components/IconMicoff.js +19 -0
  23. package/lib/commonjs/icons/components/IconPause.js +19 -0
  24. package/lib/commonjs/icons/components/IconPlay.js +19 -0
  25. package/lib/commonjs/icons/components/index.js +66 -0
  26. package/lib/commonjs/icons/registry.js +2 -2
  27. package/lib/module/components/AutoplayControl/AutoplayControl.js +60 -0
  28. package/lib/module/components/CardCTA/CardCTA.js +32 -25
  29. package/lib/module/components/Carousel/Carousel.js +111 -19
  30. package/lib/module/components/ChipSelect/ChipSelect.js +2 -1
  31. package/lib/module/components/ContentSheet/ContentSheet.js +41 -7
  32. package/lib/module/components/FormUpload/Additem.js +162 -0
  33. package/lib/module/components/FormUpload/FormUpload.js +192 -0
  34. package/lib/module/components/Grid/Grid.js +201 -0
  35. package/lib/module/components/ListItem/ListItem.js +11 -4
  36. package/lib/module/components/MetricData/MetricData.js +127 -0
  37. package/lib/module/components/NumberPagination/NumberPagination.js +138 -0
  38. package/lib/module/components/ProfileCard/ProfileCard.js +202 -0
  39. package/lib/module/components/Rating/Rating.js +132 -0
  40. package/lib/module/components/UpiHandle/UpiHandle.js +23 -11
  41. package/lib/module/components/index.js +7 -1
  42. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  43. package/lib/module/design-tokens/figma-modes.generated.js +23 -10
  44. package/lib/module/icons/components/IconBrokenimage.js +12 -0
  45. package/lib/module/icons/components/IconImage.js +12 -0
  46. package/lib/module/icons/components/IconMic.js +12 -0
  47. package/lib/module/icons/components/IconMicoff.js +12 -0
  48. package/lib/module/icons/components/IconPause.js +12 -0
  49. package/lib/module/icons/components/IconPlay.js +12 -0
  50. package/lib/module/icons/components/index.js +6 -0
  51. package/lib/module/icons/registry.js +2 -2
  52. package/lib/typescript/src/components/AutoplayControl/AutoplayControl.d.ts +15 -0
  53. package/lib/typescript/src/components/Carousel/Carousel.d.ts +8 -1
  54. package/lib/typescript/src/components/ChipSelect/ChipSelect.d.ts +6 -1
  55. package/lib/typescript/src/components/ContentSheet/ContentSheet.d.ts +7 -1
  56. package/lib/typescript/src/components/FormUpload/Additem.d.ts +96 -0
  57. package/lib/typescript/src/components/FormUpload/FormUpload.d.ts +85 -0
  58. package/lib/typescript/src/components/Grid/Grid.d.ts +87 -0
  59. package/lib/typescript/src/components/MetricData/MetricData.d.ts +53 -0
  60. package/lib/typescript/src/components/NumberPagination/NumberPagination.d.ts +21 -0
  61. package/lib/typescript/src/components/ProfileCard/ProfileCard.d.ts +89 -0
  62. package/lib/typescript/src/components/Rating/Rating.d.ts +30 -0
  63. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
  64. package/lib/typescript/src/components/index.d.ts +34 -28
  65. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +10 -4
  66. package/lib/typescript/src/icons/components/IconBrokenimage.d.ts +3 -0
  67. package/lib/typescript/src/icons/components/IconImage.d.ts +3 -0
  68. package/lib/typescript/src/icons/components/IconMic.d.ts +3 -0
  69. package/lib/typescript/src/icons/components/IconMicoff.d.ts +3 -0
  70. package/lib/typescript/src/icons/components/IconPause.d.ts +3 -0
  71. package/lib/typescript/src/icons/components/IconPlay.d.ts +3 -0
  72. package/lib/typescript/src/icons/components/index.d.ts +6 -0
  73. package/lib/typescript/src/icons/registry.d.ts +1 -1
  74. package/package.json +1 -1
  75. package/src/components/AutoplayControl/AutoplayControl.tsx +77 -0
  76. package/src/components/CardCTA/CardCTA.tsx +30 -15
  77. package/src/components/Carousel/Carousel.tsx +133 -23
  78. package/src/components/ChipSelect/ChipSelect.tsx +7 -1
  79. package/src/components/ContentSheet/ContentSheet.tsx +50 -0
  80. package/src/components/FormUpload/Additem.tsx +262 -0
  81. package/src/components/FormUpload/FormUpload.tsx +313 -0
  82. package/src/components/Grid/Grid.tsx +368 -0
  83. package/src/components/ListItem/ListItem.tsx +11 -4
  84. package/src/components/MetricData/MetricData.tsx +185 -0
  85. package/src/components/NumberPagination/NumberPagination.tsx +170 -0
  86. package/src/components/ProfileCard/ProfileCard.tsx +268 -0
  87. package/src/components/Rating/Rating.tsx +174 -0
  88. package/src/components/UpiHandle/UpiHandle.tsx +35 -24
  89. package/src/components/index.ts +329 -182
  90. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  91. package/src/design-tokens/figma-modes.generated.ts +23 -10
  92. package/src/icons/components/IconBrokenimage.tsx +11 -0
  93. package/src/icons/components/IconImage.tsx +11 -0
  94. package/src/icons/components/IconMic.tsx +11 -0
  95. package/src/icons/components/IconMicoff.tsx +11 -0
  96. package/src/icons/components/IconPause.tsx +11 -0
  97. package/src/icons/components/IconPlay.tsx +11 -0
  98. package/src/icons/components/index.ts +6 -0
  99. package/src/icons/registry.ts +25 -1
@@ -12,23 +12,23 @@ export { default as BrandChip, type BrandChipProps } from './BrandChip/BrandChip
12
12
  export { default as Button, type ButtonProps } from './Button/Button';
13
13
  export { default as Card } from './Card/Card';
14
14
  export { default as CardAdvisory, type CardAdvisoryProps } from './CardAdvisory/CardAdvisory';
15
- export { default as CardBankAccount, type CardBankAccountProps, type CardBankAccountItem } from './CardBankAccount/CardBankAccount';
15
+ export { default as CardBankAccount, type CardBankAccountProps, type CardBankAccountItem, } from './CardBankAccount/CardBankAccount';
16
16
  export { default as Carousel } from './Carousel/Carousel';
17
17
  export type { CarouselProps, CarouselItemProps, PaginationProps } from './Carousel/Carousel';
18
- export { default as CarouselCardAccounts, type CarouselCardAccountsProps } from './CarouselCardAccounts/CarouselCardAccounts';
18
+ export { default as CarouselCardAccounts, type CarouselCardAccountsProps, } from './CarouselCardAccounts/CarouselCardAccounts';
19
19
  export { default as Checkbox, type CheckboxProps } from './Checkbox/Checkbox';
20
20
  export { default as CheckboxItem, type CheckboxItemProps } from './CheckboxItem/CheckboxItem';
21
21
  export { default as CheckboxGroup, type CheckboxGroupProps } from './CheckboxGroup/CheckboxGroup';
22
22
  export { default as CardFeedback, type CardFeedbackProps } from './CardFeedback/CardFeedback';
23
- export { default as CardFinancialCondition, type CardFinancialConditionProps } from './CardFinancialCondition/CardFinancialCondition';
23
+ export { default as CardFinancialCondition, type CardFinancialConditionProps, } from './CardFinancialCondition/CardFinancialCondition';
24
24
  export { default as CardInsight, type CardInsightProps } from './CardInsight/CardInsight';
25
25
  export { default as CcCard, type CcCardProps, type CcCardBadge, type CcCardListItem } from './CcCard/CcCard';
26
26
  export { default as Disclaimer } from './Disclaimer/Disclaimer';
27
27
  export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider';
28
28
  export { default as Drawer, type DrawerProps, type DrawerHandle } from './Drawer/Drawer';
29
29
  export { default as Dropdown, DropdownItem, type DropdownProps, type DropdownItemProps } from './Dropdown/Dropdown';
30
- export { default as DropdownInput, type DropdownInputProps, type DropdownInputHandle, type DropdownInputOption, type DropdownInputOptionValue } from './DropdownInput/DropdownInput';
31
- export { default as SuggestiveSearch, type SuggestiveSearchProps, type SuggestiveSearchOption, type SuggestiveSearchOptionValue, type SuggestiveSearchItem } from './SuggestiveSearch/SuggestiveSearch';
30
+ export { default as DropdownInput, type DropdownInputProps, type DropdownInputHandle, type DropdownInputOption, type DropdownInputOptionValue, } from './DropdownInput/DropdownInput';
31
+ export { default as SuggestiveSearch, type SuggestiveSearchProps, type SuggestiveSearchOption, type SuggestiveSearchOptionValue, type SuggestiveSearchItem, } from './SuggestiveSearch/SuggestiveSearch';
32
32
  export { default as CardCTA, type CardCTAProps, type CardCTAType, type CardCTATypeInput } from './CardCTA/CardCTA';
33
33
  export { default as DebitCard, type DebitCardProps } from './DebitCard/DebitCard';
34
34
  export { default as FilterBar } from './FilterBar/FilterBar';
@@ -36,15 +36,18 @@ export { default as FullscreenModal, type FullscreenModalProps } from './Fullscr
36
36
  export { default as Form, type FormProps } from './Form/Form';
37
37
  export { useFormContext } from './Form/Form';
38
38
  export { default as FormField, type FormFieldProps, type FormFieldType } from './FormField/FormField';
39
+ export { default as Grid, type GridProps, type GridJustifyContent, type GridAlignItems, } from './Grid/Grid';
40
+ export { default as FormUpload, type FormUploadProps, type FormUploadAttachment } from './FormUpload/FormUpload';
41
+ export { default as Additem, type AdditemProps, type AdditemPickerResult, type AdditemPicker, type PickedAsset, } from './FormUpload/Additem';
39
42
  export { default as ContentSheet, type ContentSheetProps } from './ContentSheet/ContentSheet';
40
- export { default as CircularProgressBar, type CircularProgressBarProps } from './CircularProgressBar/CircularProgressBar';
41
- export { default as CircularProgressBarDoted, type CircularProgressBarDotedProps } from './CircularProgressBarDoted/CircularProgressBarDoted';
43
+ export { default as CircularProgressBar, type CircularProgressBarProps, } from './CircularProgressBar/CircularProgressBar';
44
+ export { default as CircularProgressBarDoted, type CircularProgressBarDotedProps, } from './CircularProgressBarDoted/CircularProgressBarDoted';
42
45
  export { default as CircularRating, type CircularRatingProps } from './CircularRating/CircularRating';
43
46
  export { default as CoverageRing, type CoverageRingProps } from './CoverageRing/CoverageRing';
44
- export { default as CoverageBarComparison, type CoverageBarComparisonProps, type CoverageBarComparisonItem } from './CoverageBarComparison/CoverageBarComparison';
45
- export { default as ComparisonBar, type ComparisonBarProps, type ComparisonBarItem } from './ComparisonBar/ComparisonBar';
46
- export { default as AllocationComparisonChart, type AllocationComparisonChartProps, type AllocationSegment } from './AllocationComparisonChart/AllocationComparisonChart';
47
- export { default as MonthlyStatusGrid, CalendarGlyph, type MonthlyStatusGridProps, type MonthlyStatusGridMonth, type MonthlyStatus, type CalendarGlyphProps } from './MonthlyStatusGrid/MonthlyStatusGrid';
47
+ export { default as CoverageBarComparison, type CoverageBarComparisonProps, type CoverageBarComparisonItem, } from './CoverageBarComparison/CoverageBarComparison';
48
+ export { default as ComparisonBar, type ComparisonBarProps, type ComparisonBarItem, } from './ComparisonBar/ComparisonBar';
49
+ export { default as AllocationComparisonChart, type AllocationComparisonChartProps, type AllocationSegment, } from './AllocationComparisonChart/AllocationComparisonChart';
50
+ export { default as MonthlyStatusGrid, CalendarGlyph, type MonthlyStatusGridProps, type MonthlyStatusGridMonth, type MonthlyStatus, type CalendarGlyphProps, } from './MonthlyStatusGrid/MonthlyStatusGrid';
48
51
  export { default as Gauge, type GaugeProps } from './Gauge/Gauge';
49
52
  export { default as HeroSection, type HeroSectionProps } from './HeroSection/HeroSection';
50
53
  export { default as HoldingsCard, type HoldingsCardProps } from './HoldingsCard/HoldingsCard';
@@ -59,7 +62,7 @@ export { default as LinearMeter, type LinearMeterProps } from './LinearMeter/Lin
59
62
  export { default as LinearProgress, type LinearProgressProps } from './LinearProgress/LinearProgress';
60
63
  export { default as ListGroup } from './ListGroup/ListGroup';
61
64
  export { default as LottieIntroBlock, type LottieIntroBlockProps } from './LottieIntroBlock/LottieIntroBlock';
62
- export { default as LottiePlayer, type LottiePlayerProps, type LottieAnimationSource } from './LottiePlayer/LottiePlayer';
65
+ export { default as LottiePlayer, type LottiePlayerProps, type LottieAnimationSource, } from './LottiePlayer/LottiePlayer';
63
66
  export { default as ListItem } from './ListItem/ListItem';
64
67
  export { default as MediaCard, type MediaCardProps } from './MediaCard/MediaCard';
65
68
  export { default as MerchantProfile, type MerchantProfileProps } from './MerchantProfile/MerchantProfile';
@@ -77,7 +80,7 @@ export { default as ScrollArea, type ScrollAreaProps, type ScrollDirection } fro
77
80
  export { default as Section } from './Section/Section';
78
81
  export { default as Slider, type SliderProps, type SliderHandle } from './Slider/Slider';
79
82
  export { default as Slot, type SlotProps, type SlotLayoutDirection } from './Slot/Slot';
80
- export { default as Stack, type StackProps, type StackLayoutDirection, } from './Stack/Stack';
83
+ export { default as Stack, type StackProps, type StackLayoutDirection } from './Stack/Stack';
81
84
  export { default as Spinner, type SpinnerProps, type SpinnerColors } from './Spinner/Spinner';
82
85
  export { default as Stepper, type StepperProps } from './Stepper/Stepper';
83
86
  export { Step, type StepProps, type StepStatus } from './Stepper/Step';
@@ -104,7 +107,7 @@ export { default as ChipSelect, type ChipSelectProps } from './ChipSelect/ChipSe
104
107
  export { default as InputSearch, type InputSearchProps } from './InputSearch/InputSearch';
105
108
  export { default as InstitutionBadge, type InstitutionBadgeProps } from './InstitutionBadge/InstitutionBadge';
106
109
  export { default as SupportText, type SupportTextProps } from './SupportText/SupportText';
107
- export { default as SupportTextIcon, type SupportTextIconProps, type SupportTextStatus } from './SupportText/SupportTextIcon';
110
+ export { default as SupportTextIcon, type SupportTextIconProps, type SupportTextStatus, } from './SupportText/SupportTextIcon';
108
111
  export { default as Radio, type RadioProps } from './Radio/Radio';
109
112
  /**
110
113
  * @deprecated Use `Radio` instead. `RadioButton` is kept as an alias for
@@ -112,31 +115,32 @@ export { default as Radio, type RadioProps } from './Radio/Radio';
112
115
  */
113
116
  export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton';
114
117
  export { default as RechargeCard, type RechargeCardProps } from './RechargeCard/RechargeCard';
115
- export { default as SavingsGoalSummary, type SavingsGoalSummaryProps, type SavingsGoalSummaryItem } from './SavingsGoalSummary/SavingsGoalSummary';
116
- export { default as DonutChart, type DonutChartProps, type DonutChartSegmentData, type DonutChartSegmentProps, DonutChartSegment } from './DonutChart/DonutChart';
117
- export { default as AreaLineChart, useChart, type AreaLineChartProps, type ChartSeries, type ChartPoint, type ChartInset, type GoalPinConfig, type ChartGridProps, type ChartXAxisProps, type ChartYAxisProps, type ChartGoalPinProps } from './AreaLineChart/AreaLineChart';
118
- export { default as ClusterBubble, type ClusterBubbleProps, type ClusterBubbleLabelPlacement, type ClusterBubbleLabelDirection } from './ClusterBubble/ClusterBubble';
118
+ export { default as SavingsGoalSummary, type SavingsGoalSummaryProps, type SavingsGoalSummaryItem, } from './SavingsGoalSummary/SavingsGoalSummary';
119
+ export { default as DonutChart, type DonutChartProps, type DonutChartSegmentData, type DonutChartSegmentProps, DonutChartSegment, } from './DonutChart/DonutChart';
120
+ export { default as AreaLineChart, useChart, type AreaLineChartProps, type ChartSeries, type ChartPoint, type ChartInset, type GoalPinConfig, type ChartGridProps, type ChartXAxisProps, type ChartYAxisProps, type ChartGoalPinProps, } from './AreaLineChart/AreaLineChart';
121
+ export { default as ClusterBubble, type ClusterBubbleProps, type ClusterBubbleLabelPlacement, type ClusterBubbleLabelDirection, } from './ClusterBubble/ClusterBubble';
119
122
  export { default as BubbleChart, type BubbleChartProps, type BubbleDatum } from './BubbleChart/BubbleChart';
120
- export { default as DonutChartSummary, type DonutChartSummaryProps, type DonutChartSummaryItem } from './DonutChartSummary/DonutChartSummary';
121
- export { default as RangeTrack, type RangeTrackProps, type RangeTrackTab, type RangeTrackItem } from './RangeTrack/RangeTrack';
122
- export { default as SegmentedTrack, type SegmentedTrackProps, type SegmentedTrackSegmentData, type SegmentedTrackSegmentProps, SegmentedTrackSegment } from './SegmentedTrack/SegmentedTrack';
123
+ export { default as DonutChartSummary, type DonutChartSummaryProps, type DonutChartSummaryItem, } from './DonutChartSummary/DonutChartSummary';
124
+ export { default as RangeTrack, type RangeTrackProps, type RangeTrackTab, type RangeTrackItem, } from './RangeTrack/RangeTrack';
125
+ export { default as SegmentedTrack, type SegmentedTrackProps, type SegmentedTrackSegmentData, type SegmentedTrackSegmentProps, SegmentedTrackSegment, } from './SegmentedTrack/SegmentedTrack';
123
126
  export { default as Tabs, type TabsProps } from './Tabs/Tabs';
124
127
  export { default as TabItem, type TabItemProps } from './Tabs/TabItem';
125
128
  export { default as Toast, type ToastProps } from './Toast/Toast';
126
129
  export { default as ToastProvider, type ToastProviderProps } from './Toast/ToastProvider';
127
- export { useToast, addToast, closeToast, closeAll, type ToastOptions, type ToastEntry, type ToastPlacement } from './Toast/useToast';
130
+ export { useToast, addToast, closeToast, closeAll, type ToastOptions, type ToastEntry, type ToastPlacement, } from './Toast/useToast';
128
131
  export { default as AmountInput, type AmountInputProps } from './AmountInput/AmountInput';
129
132
  export { default as PageHero, type PageHeroProps } from './PageHero/PageHero';
130
133
  export { default as PdpCcCard, type PdpCcCardProps, type PdpCcCardMetric } from './PdpCcCard/PdpCcCard';
131
134
  export { default as Popup, type PopupProps, type PopupRef } from './Popup/Popup';
132
135
  export { default as PortfolioHero, type PortfolioHeroProps } from './PortfolioHero/PortfolioHero';
133
- export { default as PlanComparisonCard, type PlanComparisonCardProps, type PlanComparisonColumn, type PlanComparisonRow, type PlanComparisonCellValue } from './PlanComparisonCard/PlanComparisonCard';
134
- export { default as CompareTable, type CompareTableProps, type CompareTableColumn, type CompareTableRow, type CompareTableCellValue, type CompareTableSection } from './CompareTable/CompareTable';
136
+ export { default as PlanComparisonCard, type PlanComparisonCardProps, type PlanComparisonColumn, type PlanComparisonRow, type PlanComparisonCellValue, } from './PlanComparisonCard/PlanComparisonCard';
137
+ export { default as CompareTable, type CompareTableProps, type CompareTableColumn, type CompareTableRow, type CompareTableCellValue, type CompareTableSection, } from './CompareTable/CompareTable';
135
138
  export { default as Table, TableHeader, TableHeaderCell, TableBody, TableRow, TableCell, type TableProps, type TableColumn, type TableCellAlign, type TableHeaderProps, type TableHeaderCellProps, type TableBodyProps, type TableRowProps, type TableCellProps, } from './Table/Table';
136
139
  export { default as PoweredByLabel, type PoweredByLabelProps } from './PoweredByLabel/PoweredByLabel';
137
140
  export { default as ProductLabel, type ProductLabelProps } from './ProductLabel/ProductLabel';
138
- export { default as ProductMerchandisingCard, type ProductMerchandisingCardProps } from './ProductMerchandisingCard/ProductMerchandisingCard';
139
- export { default as ProductOverview, type ProductOverviewProps, type ProductOverviewStat } from './ProductOverview/ProductOverview';
141
+ export { default as ProfileCard, type ProfileCardProps, type ProfileCardUpiHandle } from './ProfileCard/ProfileCard';
142
+ export { default as ProductMerchandisingCard, type ProductMerchandisingCardProps, } from './ProductMerchandisingCard/ProductMerchandisingCard';
143
+ export { default as ProductOverview, type ProductOverviewProps, type ProductOverviewStat, } from './ProductOverview/ProductOverview';
140
144
  export { default as ProjectionMarker, type ProjectionMarkerProps } from './ProjectionMarker/ProjectionMarker';
141
145
  export { default as ProgressBadge, type ProgressBadgeProps } from './ProgressBadge/ProgressBadge';
142
146
  export { default as SwappableAmount, type SwappableAmountProps } from './SwappableAmount/SwappableAmount';
@@ -144,11 +148,13 @@ export { default as OTP, OTPResend, useOtpResend, type OTPProps, type OTPResendP
144
148
  export { default as PaymentFeedback, type PaymentFeedbackProps } from './PaymentFeedback/PaymentFeedback';
145
149
  export { default as StatItem, type StatItemProps, type StatItemLabelPosition } from './StatItem/StatItem';
146
150
  export { default as StatGroup, type StatGroupProps, type StatGroupItem } from './StatGroup/StatGroup';
147
- export { default as StrengthIndicator, type StrengthIndicatorProps, type StrengthIndicatorConfidence, type StrengthIndicatorConfidenceValue } from './StrengthIndicator/StrengthIndicator';
151
+ export { default as StrengthIndicator, type StrengthIndicatorProps, type StrengthIndicatorConfidence, type StrengthIndicatorConfidenceValue, } from './StrengthIndicator/StrengthIndicator';
148
152
  export { default as SummaryTile, type SummaryTileProps } from './SummaryTile/SummaryTile';
149
153
  export { default as TestimonialsCard, type TestimonialsCardProps } from './TestimonialsCard/TestimonialsCard';
150
154
  export { default as Text, type TextProps } from './Text/Text';
151
155
  export { default as TextSegment, type TextSegmentProps, type TextSegmentRun } from './TextSegment/TextSegment';
152
- export { default as SegmentedControl, type SegmentedControlProps, type SegmentedControlItem } from './SegmentedControl/SegmentedControl';
156
+ export { default as SegmentedControl, type SegmentedControlProps, type SegmentedControlItem, } from './SegmentedControl/SegmentedControl';
153
157
  export { default as Toggle, type ToggleProps } from './Toggle/Toggle';
158
+ export { default as AutoplayControl, type AutoplayControlProps } from './AutoplayControl/AutoplayControl';
159
+ export { default as NumberPagination, type NumberPaginationProps } from './NumberPagination/NumberPagination';
154
160
  //# sourceMappingURL=index.d.ts.map
@@ -20,6 +20,7 @@ export declare const FIGMA_MODES: {
20
20
  readonly AppearanceBrand: readonly ["Primary", "Secondary", "Neutral", "Tertiary"];
21
21
  readonly AppearanceSystem: readonly ["positive", "warning", "negative"];
22
22
  readonly "Attached / Output": readonly ["Default"];
23
+ readonly "Autoplay Control": readonly ["Default"];
23
24
  readonly "Avatar / Output": readonly ["Default"];
24
25
  readonly "Avatar Group / Output": readonly ["Default"];
25
26
  readonly "Avatar Size": readonly ["L", "M", "S", "XS"];
@@ -44,6 +45,7 @@ export declare const FIGMA_MODES: {
44
45
  readonly "Calendar Glyph / Output": readonly ["Default"];
45
46
  readonly "Calendar Glyph State": readonly ["Idle", "notSaved", "saved"];
46
47
  readonly "Card / Output": readonly ["Default"];
48
+ readonly "Card Apperance": readonly ["Default", "Plain"];
47
49
  readonly "Card Feedback / Output": readonly ["Default"];
48
50
  readonly "Card.Media": readonly ["Default"];
49
51
  readonly "Card/CTA / Output": readonly ["Default"];
@@ -52,6 +54,7 @@ export declare const FIGMA_MODES: {
52
54
  readonly "CardAdvisory / Output": readonly ["Default"];
53
55
  readonly cardsShared: readonly ["Default"];
54
56
  readonly "Carousel / Output": readonly ["Default"];
57
+ readonly "Carousel Control Gap": readonly ["Default"];
55
58
  readonly "CarouselCardAccounts / Output": readonly ["Default"];
56
59
  readonly "ccCard / Output": readonly ["Default"];
57
60
  readonly "checkbox / Output": readonly ["Default"];
@@ -78,7 +81,7 @@ export declare const FIGMA_MODES: {
78
81
  readonly "contentInset/Right": readonly ["Default", "S", "M", "L"];
79
82
  readonly "ContentSheet / Output": readonly ["Default"];
80
83
  readonly Context: readonly ["Default", "Nudge&Alert", "CTACard", "ListItem"];
81
- readonly "context 10": readonly ["Default", "Profile card"];
84
+ readonly "context 10": readonly ["Default", "jioPlus"];
82
85
  readonly "context 8": readonly ["Default", "Section"];
83
86
  readonly "context 9": readonly ["Default", "Stack"];
84
87
  readonly Context2: readonly ["Default", "AppBar"];
@@ -87,6 +90,7 @@ export declare const FIGMA_MODES: {
87
90
  readonly context5: readonly ["Default", "Fullscreen Modal"];
88
91
  readonly context7: readonly ["Default", "Card", "Page Hero"];
89
92
  readonly "Contrast Context": readonly ["on dark", "on light"];
93
+ readonly "Control Toggle ": readonly ["Default"];
90
94
  readonly "Conversation Feed / Output": readonly ["Default"];
91
95
  readonly "Counter Badge / Output": readonly ["Default"];
92
96
  readonly "Coverage Bar Comparison / Output": readonly ["Default"];
@@ -118,7 +122,7 @@ export declare const FIGMA_MODES: {
118
122
  readonly Gap: readonly ["S", "M", "L", "None"];
119
123
  readonly "Gauge / Output": readonly ["Default"];
120
124
  readonly "Grid / Output": readonly ["Default"];
121
- readonly "Handle Boolean": readonly ["False", "True"];
125
+ readonly "Handle Boolean": readonly ["True", "False"];
122
126
  readonly "Heading / Output": readonly ["Default"];
123
127
  readonly "Heading text": readonly ["Default", "Slot"];
124
128
  readonly "HeroSection / Output": readonly ["Default"];
@@ -139,7 +143,7 @@ export declare const FIGMA_MODES: {
139
143
  readonly "lazyList / Output": readonly ["Default"];
140
144
  readonly "LinearMeter / Output": readonly ["Default"];
141
145
  readonly "LinearProgress / Output": readonly ["Default"];
142
- readonly "LinearProgress Size": readonly ["M", "L"];
146
+ readonly "LinearProgress Size": readonly ["S", "M", "L"];
143
147
  readonly "Link / Output": readonly ["Default"];
144
148
  readonly "Link Apperances": readonly ["Neutral", "Primary", "Secondary", "Tertiary"];
145
149
  readonly "List Item / Output": readonly ["Default"];
@@ -160,10 +164,10 @@ export declare const FIGMA_MODES: {
160
164
  readonly NavArrow: readonly ["Default"];
161
165
  readonly "NavArrow / Output": readonly ["Default"];
162
166
  readonly "NavArrow Direction": readonly ["Left&Right", "Top&Bottom"];
163
- readonly "New Collection": readonly ["Default"];
164
167
  readonly "NoteInput / Output": readonly ["Default"];
165
168
  readonly "Nudge / Output": readonly ["Default"];
166
169
  readonly "Nudge padding": readonly ["Default", "None"];
170
+ readonly "number pagination": readonly ["Default"];
167
171
  readonly "Numpad / Output": readonly ["Default"];
168
172
  readonly "OTP / Output": readonly ["Mode 1"];
169
173
  readonly "Overlay / Output": readonly ["Mode 1"];
@@ -182,6 +186,7 @@ export declare const FIGMA_MODES: {
182
186
  readonly "Product Merchandising card": readonly ["Default"];
183
187
  readonly "ProductLabel / Output": readonly ["Default"];
184
188
  readonly "ProductOverview / Output": readonly ["Default"];
189
+ readonly "Profile Card / Output": readonly ["Default"];
185
190
  readonly "Profile Card Appearance": readonly ["Default", "Premium"];
186
191
  readonly "ProgressBadge / Output": readonly ["Default"];
187
192
  readonly ProjectionMarker: readonly ["Default"];
@@ -253,6 +258,7 @@ export declare const FIGMA_MODES: {
253
258
  readonly "TransactionBubble / Output": readonly ["Default"];
254
259
  readonly "TransationDetails / Output": readonly ["Default"];
255
260
  readonly "UPI Handle / Output": readonly ["Default"];
261
+ readonly "UPI Handle Image": readonly ["True", "False"];
256
262
  readonly "ValueBar / Output": readonly ["Default"];
257
263
  readonly "Video / Output": readonly ["L", "M", "S"];
258
264
  readonly "VStack / Output": readonly ["Default"];
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconBrokenimage: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconBrokenimage.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconImage: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconImage.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconMic: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconMic.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconMicoff: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconMicoff.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconPause: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconPause.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from 'react-native-svg';
2
+ export declare const IconPlay: (props: SvgProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=IconPlay.d.ts.map
@@ -170,6 +170,7 @@ export * from './IconBrightnessdisplay';
170
170
  export * from './IconBrightnessfull';
171
171
  export * from './IconBrightnesshalf';
172
172
  export * from './IconBroadcast';
173
+ export * from './IconBrokenimage';
173
174
  export * from './IconBroom';
174
175
  export * from './IconBrush';
175
176
  export * from './IconBuffer';
@@ -626,6 +627,7 @@ export * from './IconIce';
626
627
  export * from './IconIceskating';
627
628
  export * from './IconId';
628
629
  export * from './IconIdcheck';
630
+ export * from './IconImage';
629
631
  export * from './IconImagemask';
630
632
  export * from './IconImport';
631
633
  export * from './IconIncognito';
@@ -724,7 +726,9 @@ export * from './IconMerge';
724
726
  export * from './IconMergeoff';
725
727
  export * from './IconMesh';
726
728
  export * from './IconMessagesend';
729
+ export * from './IconMic';
727
730
  export * from './IconMicmuteforced';
731
+ export * from './IconMicoff';
728
732
  export * from './IconMicroscope';
729
733
  export * from './IconMilk';
730
734
  export * from './IconMilklow';
@@ -846,6 +850,7 @@ export * from './IconPasses';
846
850
  export * from './IconPaste';
847
851
  export * from './IconPastedocument';
848
852
  export * from './IconPatient';
853
+ export * from './IconPause';
849
854
  export * from './IconPausecircle';
850
855
  export * from './IconPaybill';
851
856
  export * from './IconPayemiinstall';
@@ -887,6 +892,7 @@ export * from './IconPlank';
887
892
  export * from './IconPlans';
888
893
  export * from './IconPlantgrowth';
889
894
  export * from './IconPlanting';
895
+ export * from './IconPlay';
890
896
  export * from './IconPlaycircle';
891
897
  export * from './IconPlaypause';
892
898
  export * from './IconPlaybox';
@@ -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-07-01T12:55:42.353Z
7
+ * Generated: 2026-07-07T17:35:34.036Z
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.1.23",
3
+ "version": "0.1.28",
4
4
  "description": "React Native Jio Finance Components Library",
5
5
  "author": "sunshuaiqi@gmail.com",
6
6
  "license": "MIT",
@@ -0,0 +1,77 @@
1
+ import React, { useMemo } from 'react'
2
+ import {
3
+ Pressable,
4
+ type StyleProp,
5
+ type ViewStyle,
6
+ } from 'react-native'
7
+ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
8
+ import Icon from '../../icons/Icon'
9
+ import type { Modes } from '../../design-tokens'
10
+
11
+ export type AutoplayControlProps = {
12
+ state?: 'pause' | 'play';
13
+ modes?: Modes;
14
+ onPress?: () => void;
15
+ disabled?: boolean;
16
+ style?: StyleProp<ViewStyle>;
17
+ }
18
+
19
+ interface AutoplayControlTokens {
20
+ containerStyle: ViewStyle;
21
+ iconColor: string;
22
+ }
23
+
24
+ function resolveAutoplayControlTokens(modes: Modes, disabled: boolean): AutoplayControlTokens {
25
+ const width = (getVariableByName('autoplayControl/width', modes) ?? 36) as number
26
+ const height = (getVariableByName('autoplayControl/height', modes) ?? 36) as number
27
+ const radiusRaw = (getVariableByName('autoplayControl/radius', modes) ?? 9999) as number
28
+ const backgroundColor = (getVariableByName('autoplayControl/background/color', modes) ?? '#ffffff') as string
29
+ const iconColor = (getVariableByName('autoplayControl/icon/color', modes) ?? '#000000') as string
30
+
31
+ const borderRadius = radiusRaw === 9999 ? width / 2 : radiusRaw
32
+
33
+ return {
34
+ containerStyle: {
35
+ width,
36
+ height,
37
+ borderRadius,
38
+ backgroundColor,
39
+ alignItems: 'center',
40
+ justifyContent: 'center',
41
+ opacity: disabled ? 0.5 : 1,
42
+ },
43
+ iconColor,
44
+ }
45
+ }
46
+
47
+ /**
48
+ * AutoplayControl is a button component that toggles between play and pause states.
49
+ * All styling values are resolved from Figma design tokens.
50
+ */
51
+ export default function AutoplayControl({
52
+ state = 'pause',
53
+ modes,
54
+ onPress,
55
+ disabled = false,
56
+ style,
57
+ }: AutoplayControlProps) {
58
+ const tokens = useMemo(() => resolveAutoplayControlTokens(modes ?? {}, disabled), [modes, disabled])
59
+
60
+ const iconName = state === 'play' ? 'ic_play' : 'ic_pause'
61
+
62
+ return (
63
+ <Pressable
64
+ onPress={disabled ? undefined : onPress}
65
+ disabled={disabled}
66
+ style={({ pressed }) => [
67
+ tokens.containerStyle,
68
+ pressed && { opacity: 0.7 },
69
+ style,
70
+ ]}
71
+ accessibilityRole="button"
72
+ accessibilityState={{ disabled }}
73
+ >
74
+ <Icon name={iconName} size={24} color={tokens.iconColor} />
75
+ </Pressable>
76
+ )
77
+ }
@@ -281,22 +281,37 @@ function CardCTA({
281
281
  zIndex: 1,
282
282
  }
283
283
 
284
- // NOTE: rightWrap must NOT shrink on native. On Android (Yoga), the default
285
- // `flex: 2` shorthand expands to `{ flexGrow: 2, flexShrink: 1, flexBasis: 0 }`,
286
- // which combined with `minWidth: 0` lets Yoga shrink this wrapper below
287
- // its own padding+IconCapsule width when leftWrap's text is long. Once that
288
- // happens the horizontal padding collapses, `alignItems: 'flex-end'` pins
289
- // the IconCapsule against the inner edge, and the icon ends up visually
290
- // touching the body text (the wrapper "appears not to exist"). Web hides
291
- // this because browsers honor `min-width: auto` on flex items. Use
292
- // explicit `flexGrow`/`flexShrink: 0`/`flexBasis: 'auto'` so the wrapper
293
- // is sized to its content as a floor and only grows for the design's
294
- // 3:2 ratio when extra space is available. leftWrap already absorbs tight
295
- // space via `flexShrink: 1` + `minWidth: 0`.
284
+ // NOTE: rightWrap must implement the design's TRUE `2fr` column.
285
+ //
286
+ // History of this styletwo Yoga pitfalls pull in opposite directions:
287
+ //
288
+ // 1. `flex: 2` (=> flexBasis: 0, flexShrink: 1): on Android, Yoga could
289
+ // shrink the wrapper below its padding+IconCapsule width when the left
290
+ // text was long, collapsing the padding and gluing the icon to the
291
+ // text. Browsers hide this because they honor `min-width: auto`; Yoga
292
+ // always treats min-width as 0 unless told otherwise.
293
+ // 2. The previous workaround, `flexBasis: 'auto'` + `flexGrow: 2`, fixed
294
+ // #1 but broke the column ratio: Yoga then sizes the wrapper to its
295
+ // content FIRST (icon + padding) and distributes only the leftover
296
+ // space 3:2. The icon width gets baked in on top of the 2fr share, so
297
+ // the right column ends up much wider than the design's 2fr and the
298
+ // body text wraps early with dead space to its right.
299
+ //
300
+ // Fundamental fix: keep the genuine fr-unit geometry (`flexBasis: 0`,
301
+ // grow 3:2, no shrink) and replace Yoga's missing `min-width: auto` with
302
+ // an explicit computed floor — the resolved IconCapsule size plus the
303
+ // wrapper's own horizontal padding. The column is exactly 2fr whenever
304
+ // space allows and can never collapse below its content.
305
+ const iconCapsuleModes = { ...modes, 'IconCapsule / Size': 'M', Emphasis: 'Medium', AppearanceBrand: 'Secondary' }
306
+ const rightWrapMinWidth =
307
+ ((getVariableByName('iconCapsule/size', iconCapsuleModes) as number) || 0) +
308
+ ((rightPaddingH as number) || 0) * 2
309
+
296
310
  const rightWrapStyle: ViewStyle = {
297
311
  flexGrow: 2,
298
312
  flexShrink: 0,
299
- flexBasis: 'auto',
313
+ flexBasis: 0,
314
+ minWidth: rightWrapMinWidth,
300
315
  paddingHorizontal: rightPaddingH,
301
316
  paddingVertical: rightPaddingV,
302
317
  alignItems: 'flex-end',
@@ -555,9 +570,9 @@ function CardCTA({
555
570
  </View>
556
571
  <View style={rightWrapStyle}>
557
572
  {iconSlot ? (
558
- cloneChildrenWithModes(iconSlot, {...modes, 'IconCapsule / Size': 'M',Emphasis: 'Medium', AppearanceBrand: 'Secondary'})
573
+ cloneChildrenWithModes(iconSlot, iconCapsuleModes)
559
574
  ) : (
560
- <IconCapsule iconName={iconName} modes={{...modes, 'IconCapsule / Size': 'M',Emphasis: 'Medium', AppearanceBrand: 'Secondary'}} />
575
+ <IconCapsule iconName={iconName} modes={iconCapsuleModes} />
561
576
  )}
562
577
  </View>
563
578
  </View>