jfs-components 0.1.0 → 0.1.8

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 (392) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/lib/commonjs/components/AmountInput/AmountInput.js +8 -5
  3. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +1 -1
  4. package/lib/commonjs/components/Balance/Balance.js +17 -12
  5. package/lib/commonjs/components/BenefitCard/BenefitCard.js +231 -0
  6. package/lib/commonjs/components/Card/Card.js +2 -1
  7. package/lib/commonjs/components/CardFeedback/CardFeedback.js +2 -1
  8. package/lib/commonjs/components/CcCard/CcCard.js +470 -0
  9. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -4
  10. package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +4 -3
  11. package/lib/commonjs/components/CompareTable/CompareTable.js +372 -0
  12. package/lib/commonjs/components/ComparisonBar/ComparisonBar.js +266 -0
  13. package/lib/commonjs/components/Drawer/Drawer.js +13 -4
  14. package/lib/commonjs/components/DropdownInput/DropdownInput.js +36 -4
  15. package/lib/commonjs/components/FormField/FormField.js +4 -3
  16. package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +62 -2
  17. package/lib/commonjs/components/Image/Image.js +11 -5
  18. package/lib/commonjs/components/InputSearch/InputSearch.js +6 -4
  19. package/lib/commonjs/components/LottiePlayer/loadNativeLottieView.js +8 -13
  20. package/lib/commonjs/components/NoteInput/NoteInput.js +6 -5
  21. package/lib/commonjs/components/Overlay/Overlay.js +92 -0
  22. package/lib/commonjs/components/PdpCcCard/PdpCcCard.js +273 -0
  23. package/lib/commonjs/components/PlanComparisonCard/PlanComparisonCard.js +2 -1
  24. package/lib/commonjs/components/ProductMerchandisingCard/GlassFill.js +263 -0
  25. package/lib/commonjs/components/ProductMerchandisingCard/GlassFill.web.js +116 -0
  26. package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +353 -0
  27. package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +161 -0
  28. package/lib/commonjs/components/Radio/Radio.js +5 -5
  29. package/lib/commonjs/components/Slider/Slider.js +473 -0
  30. package/lib/commonjs/components/TextInput/TextInput.js +15 -9
  31. package/lib/commonjs/components/TextSegment/TextSegment.js +118 -0
  32. package/lib/commonjs/components/docs/modeControls.js +116 -0
  33. package/lib/commonjs/components/index.js +70 -0
  34. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  35. package/lib/commonjs/design-tokens/JFSThemeProvider.js +1 -1
  36. package/lib/commonjs/design-tokens/figma-modes.generated.js +420 -0
  37. package/lib/commonjs/design-tokens/index.js +11 -0
  38. package/lib/commonjs/icons/registry.js +1 -1
  39. package/lib/commonjs/utils/react-utils.js +22 -0
  40. package/lib/module/components/Accordion/Accordion.js +1 -2
  41. package/lib/module/components/AmountInput/AmountInput.js +6 -4
  42. package/lib/module/components/AreaLineChart/AreaLineChart.js +1 -1
  43. package/lib/module/components/Balance/Balance.js +18 -13
  44. package/lib/module/components/BenefitCard/BenefitCard.js +225 -0
  45. package/lib/module/components/Card/Card.js +1 -2
  46. package/lib/module/components/CardFeedback/CardFeedback.js +1 -2
  47. package/lib/module/components/CcCard/CcCard.js +464 -0
  48. package/lib/module/components/Checkbox/Checkbox.js +6 -6
  49. package/lib/module/components/CheckboxItem/CheckboxItem.js +5 -4
  50. package/lib/module/components/CompareTable/CompareTable.js +367 -0
  51. package/lib/module/components/ComparisonBar/ComparisonBar.js +260 -0
  52. package/lib/module/components/Drawer/Drawer.js +12 -4
  53. package/lib/module/components/DropdownInput/DropdownInput.js +37 -5
  54. package/lib/module/components/FormField/FormField.js +5 -4
  55. package/lib/module/components/FullscreenModal/FullscreenModal.js +64 -5
  56. package/lib/module/components/Image/Image.js +11 -5
  57. package/lib/module/components/InputSearch/InputSearch.js +6 -4
  58. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +1 -2
  59. package/lib/module/components/LottiePlayer/loadNativeLottieView.js +8 -13
  60. package/lib/module/components/MoneyValue/MoneyValue.js +1 -2
  61. package/lib/module/components/NoteInput/NoteInput.js +7 -6
  62. package/lib/module/components/OTP/OTP.js +1 -2
  63. package/lib/module/components/Overlay/Overlay.js +87 -0
  64. package/lib/module/components/PdpCcCard/PdpCcCard.js +267 -0
  65. package/lib/module/components/PlanComparisonCard/PlanComparisonCard.js +1 -2
  66. package/lib/module/components/PoweredByLabel/PoweredByLabel.js +1 -2
  67. package/lib/module/components/ProductMerchandisingCard/GlassFill.js +257 -0
  68. package/lib/module/components/ProductMerchandisingCard/GlassFill.web.js +111 -0
  69. package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +347 -0
  70. package/lib/module/components/ProjectionMarker/ProjectionMarker.js +156 -0
  71. package/lib/module/components/Radio/Radio.js +5 -4
  72. package/lib/module/components/RechargeCard/RechargeCard.js +1 -2
  73. package/lib/module/components/Section/Section.js +1 -2
  74. package/lib/module/components/Slider/Slider.js +468 -0
  75. package/lib/module/components/TextInput/TextInput.js +16 -12
  76. package/lib/module/components/TextSegment/TextSegment.js +113 -0
  77. package/lib/module/components/UpiHandle/UpiHandle.js +1 -2
  78. package/lib/module/components/docs/modeControls.js +111 -0
  79. package/lib/module/components/index.js +10 -0
  80. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  81. package/lib/module/design-tokens/JFSThemeProvider.js +1 -1
  82. package/lib/module/design-tokens/figma-modes.generated.js +416 -0
  83. package/lib/module/design-tokens/index.js +2 -1
  84. package/lib/module/icons/registry.js +1 -1
  85. package/lib/module/utils/react-utils.js +21 -1
  86. package/lib/typescript/src/components/Accordion/Accordion.d.ts +2 -1
  87. package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +2 -1
  88. package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +2 -1
  89. package/lib/typescript/src/components/ActionFooter/ActionFooter.d.ts +2 -1
  90. package/lib/typescript/src/components/ActionTile/ActionTile.d.ts +2 -1
  91. package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +2 -1
  92. package/lib/typescript/src/components/AmountInput/AmountInput.d.ts +5 -3
  93. package/lib/typescript/src/components/AppBar/AppBar.d.ts +2 -1
  94. package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +3 -2
  95. package/lib/typescript/src/components/Attached/Attached.d.ts +2 -1
  96. package/lib/typescript/src/components/Avatar/Avatar.d.ts +2 -1
  97. package/lib/typescript/src/components/AvatarGroup/AvatarGroup.d.ts +2 -1
  98. package/lib/typescript/src/components/Badge/Badge.d.ts +2 -1
  99. package/lib/typescript/src/components/Balance/Balance.d.ts +2 -1
  100. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +93 -0
  101. package/lib/typescript/src/components/BottomNav/BottomNav.d.ts +2 -1
  102. package/lib/typescript/src/components/BottomNavItem/BottomNavItem.d.ts +2 -1
  103. package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +2 -1
  104. package/lib/typescript/src/components/BubbleChart/BubbleChart.d.ts +2 -1
  105. package/lib/typescript/src/components/Button/Button.d.ts +2 -1
  106. package/lib/typescript/src/components/ButtonGroup/ButtonGroup.d.ts +2 -1
  107. package/lib/typescript/src/components/Card/Card.d.ts +3 -2
  108. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +2 -1
  109. package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +2 -1
  110. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +2 -1
  111. package/lib/typescript/src/components/CardFeedback/CardFeedback.d.ts +7 -6
  112. package/lib/typescript/src/components/CardFinancialCondition/CardFinancialCondition.d.ts +2 -1
  113. package/lib/typescript/src/components/CardInsight/CardInsight.d.ts +2 -1
  114. package/lib/typescript/src/components/CardProviderInfo/CardProviderInfo.d.ts +2 -1
  115. package/lib/typescript/src/components/Carousel/Carousel.d.ts +4 -3
  116. package/lib/typescript/src/components/CcCard/CcCard.d.ts +137 -0
  117. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +5 -3
  118. package/lib/typescript/src/components/CheckboxGroup/CheckboxGroup.d.ts +2 -1
  119. package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +4 -3
  120. package/lib/typescript/src/components/ChipGroup/ChipGroup.d.ts +2 -1
  121. package/lib/typescript/src/components/ChipSelect/ChipSelect.d.ts +2 -1
  122. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +2 -1
  123. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +2 -1
  124. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +2 -1
  125. package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +2 -1
  126. package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +88 -0
  127. package/lib/typescript/src/components/ComparisonBar/ComparisonBar.d.ts +118 -0
  128. package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +3 -2
  129. package/lib/typescript/src/components/CoverageRing/CoverageRing.d.ts +2 -1
  130. package/lib/typescript/src/components/DebitCard/DebitCard.d.ts +2 -1
  131. package/lib/typescript/src/components/Disclaimer/Disclaimer.d.ts +2 -1
  132. package/lib/typescript/src/components/Divider/Divider.d.ts +2 -1
  133. package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +4 -3
  134. package/lib/typescript/src/components/DonutChartSummary/DonutChartSummary.d.ts +3 -2
  135. package/lib/typescript/src/components/Drawer/Drawer.d.ts +15 -1
  136. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +3 -2
  137. package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +22 -2
  138. package/lib/typescript/src/components/EmptyState/EmptyState.d.ts +2 -1
  139. package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +2 -1
  140. package/lib/typescript/src/components/FilterBar/FilterBar.d.ts +3 -2
  141. package/lib/typescript/src/components/Form/Form.d.ts +2 -1
  142. package/lib/typescript/src/components/FormField/FormField.d.ts +4 -3
  143. package/lib/typescript/src/components/FullscreenModal/FullscreenModal.d.ts +2 -1
  144. package/lib/typescript/src/components/Gauge/Gauge.d.ts +2 -1
  145. package/lib/typescript/src/components/HStack/HStack.d.ts +2 -1
  146. package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +2 -1
  147. package/lib/typescript/src/components/Icon/Icon.d.ts +2 -1
  148. package/lib/typescript/src/components/IconButton/IconButton.d.ts +2 -1
  149. package/lib/typescript/src/components/IconCapsule/IconCapsule.d.ts +2 -1
  150. package/lib/typescript/src/components/Image/Image.d.ts +17 -1
  151. package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +25 -3
  152. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +2 -1
  153. package/lib/typescript/src/components/LazyList/LazyList.d.ts +2 -1
  154. package/lib/typescript/src/components/LinearMeter/LinearMeter.d.ts +3 -2
  155. package/lib/typescript/src/components/LinearProgress/LinearProgress.d.ts +2 -1
  156. package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +2 -1
  157. package/lib/typescript/src/components/ListItem/ListItem.d.ts +2 -1
  158. package/lib/typescript/src/components/LottieIntroBlock/LottieIntroBlock.d.ts +2 -1
  159. package/lib/typescript/src/components/LottiePlayer/LottiePlayer.d.ts +2 -1
  160. package/lib/typescript/src/components/LottiePlayer/LottiePlayer.web.d.ts +2 -1
  161. package/lib/typescript/src/components/MediaCard/MediaCard.d.ts +6 -5
  162. package/lib/typescript/src/components/MerchantProfile/MerchantProfile.d.ts +2 -1
  163. package/lib/typescript/src/components/MessageField/MessageField.d.ts +2 -1
  164. package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +2 -1
  165. package/lib/typescript/src/components/MoneyValue/MoneyValue.d.ts +2 -1
  166. package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +4 -3
  167. package/lib/typescript/src/components/NavArrow/NavArrow.d.ts +2 -1
  168. package/lib/typescript/src/components/NoteInput/NoteInput.d.ts +21 -3
  169. package/lib/typescript/src/components/Nudge/Nudge.d.ts +2 -1
  170. package/lib/typescript/src/components/Numpad/Numpad.d.ts +2 -1
  171. package/lib/typescript/src/components/OTP/OTP.d.ts +3 -2
  172. package/lib/typescript/src/components/Overlay/Overlay.d.ts +52 -0
  173. package/lib/typescript/src/components/PageHero/PageHero.d.ts +2 -1
  174. package/lib/typescript/src/components/PaymentFeedback/PaymentFeedback.d.ts +2 -1
  175. package/lib/typescript/src/components/PdpCcCard/PdpCcCard.d.ts +84 -0
  176. package/lib/typescript/src/components/PlanComparisonCard/PlanComparisonCard.d.ts +2 -1
  177. package/lib/typescript/src/components/Popup/Popup.d.ts +2 -1
  178. package/lib/typescript/src/components/PortfolioHero/PortfolioHero.d.ts +2 -1
  179. package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +2 -1
  180. package/lib/typescript/src/components/ProductLabel/ProductLabel.d.ts +2 -1
  181. package/lib/typescript/src/components/ProductMerchandisingCard/GlassFill.d.ts +56 -0
  182. package/lib/typescript/src/components/ProductMerchandisingCard/GlassFill.web.d.ts +27 -0
  183. package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +81 -0
  184. package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +2 -1
  185. package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +2 -1
  186. package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +82 -0
  187. package/lib/typescript/src/components/Radio/Radio.d.ts +5 -3
  188. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +2 -2
  189. package/lib/typescript/src/components/RangeTrack/RangeTrack.d.ts +3 -2
  190. package/lib/typescript/src/components/RechargeCard/RechargeCard.d.ts +2 -1
  191. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +2 -1
  192. package/lib/typescript/src/components/Screen/Screen.d.ts +2 -1
  193. package/lib/typescript/src/components/Section/Section.d.ts +3 -2
  194. package/lib/typescript/src/components/SegmentedControl/SegmentedControl.d.ts +2 -1
  195. package/lib/typescript/src/components/SegmentedTrack/SegmentedTrack.d.ts +4 -3
  196. package/lib/typescript/src/components/Slider/Slider.d.ts +99 -0
  197. package/lib/typescript/src/components/Slot/Slot.d.ts +2 -1
  198. package/lib/typescript/src/components/Spinner/Spinner.d.ts +2 -1
  199. package/lib/typescript/src/components/StatGroup/StatGroup.d.ts +2 -1
  200. package/lib/typescript/src/components/StatItem/StatItem.d.ts +2 -1
  201. package/lib/typescript/src/components/StatusHero/StatusHero.d.ts +2 -1
  202. package/lib/typescript/src/components/Stepper/Step.d.ts +2 -1
  203. package/lib/typescript/src/components/Stepper/StepLabel.d.ts +2 -1
  204. package/lib/typescript/src/components/Stepper/Stepper.d.ts +2 -1
  205. package/lib/typescript/src/components/StrengthIndicator/StrengthIndicator.d.ts +2 -1
  206. package/lib/typescript/src/components/SuggestiveSearch/SuggestiveSearch.d.ts +2 -1
  207. package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +2 -1
  208. package/lib/typescript/src/components/SupportText/SupportText.d.ts +2 -1
  209. package/lib/typescript/src/components/SupportText/SupportTextIcon.d.ts +2 -1
  210. package/lib/typescript/src/components/SwappableAmount/SwappableAmount.d.ts +2 -1
  211. package/lib/typescript/src/components/Tabs/TabItem.d.ts +2 -1
  212. package/lib/typescript/src/components/Tabs/Tabs.d.ts +2 -1
  213. package/lib/typescript/src/components/TestimonialsCard/TestimonialsCard.d.ts +2 -1
  214. package/lib/typescript/src/components/Text/Text.d.ts +2 -1
  215. package/lib/typescript/src/components/TextInput/TextInput.d.ts +12 -31
  216. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +100 -0
  217. package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +2 -1
  218. package/lib/typescript/src/components/Title/Title.d.ts +2 -1
  219. package/lib/typescript/src/components/Toast/Toast.d.ts +2 -1
  220. package/lib/typescript/src/components/Toast/ToastProvider.d.ts +2 -1
  221. package/lib/typescript/src/components/Toast/useToast.d.ts +3 -2
  222. package/lib/typescript/src/components/Toggle/Toggle.d.ts +2 -1
  223. package/lib/typescript/src/components/Tooltip/Tooltip.d.ts +2 -1
  224. package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +2 -1
  225. package/lib/typescript/src/components/TransactionDetails/TransactionDetails.d.ts +3 -2
  226. package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +2 -1
  227. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +2 -1
  228. package/lib/typescript/src/components/VStack/VStack.d.ts +2 -1
  229. package/lib/typescript/src/components/docs/modeControls.d.ts +28 -0
  230. package/lib/typescript/src/components/index.d.ts +11 -1
  231. package/lib/typescript/src/design-tokens/JFSThemeProvider.d.ts +4 -3
  232. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +284 -0
  233. package/lib/typescript/src/design-tokens/index.d.ts +1 -0
  234. package/lib/typescript/src/icons/registry.d.ts +1 -1
  235. package/lib/typescript/src/skeleton/Skeleton.d.ts +2 -1
  236. package/lib/typescript/src/utils/react-utils.d.ts +12 -1
  237. package/package.json +4 -2
  238. package/src/components/Accordion/Accordion.tsx +2 -1
  239. package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +2 -1
  240. package/src/components/AccountCard/AccountCard.tsx +2 -1
  241. package/src/components/ActionFooter/ActionFooter.tsx +2 -1
  242. package/src/components/ActionTile/ActionTile.tsx +2 -1
  243. package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +2 -1
  244. package/src/components/AmountInput/AmountInput.tsx +9 -6
  245. package/src/components/AppBar/AppBar.tsx +2 -1
  246. package/src/components/AreaLineChart/AreaLineChart.tsx +8 -7
  247. package/src/components/Attached/Attached.tsx +2 -1
  248. package/src/components/Avatar/Avatar.tsx +3 -2
  249. package/src/components/AvatarGroup/AvatarGroup.tsx +2 -1
  250. package/src/components/Badge/Badge.tsx +2 -1
  251. package/src/components/Balance/Balance.tsx +18 -12
  252. package/src/components/BenefitCard/BenefitCard.tsx +309 -0
  253. package/src/components/BottomNav/BottomNav.tsx +2 -1
  254. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -2
  255. package/src/components/BrandChip/BrandChip.tsx +3 -2
  256. package/src/components/BubbleChart/BubbleChart.tsx +2 -1
  257. package/src/components/Button/Button.tsx +3 -2
  258. package/src/components/ButtonGroup/ButtonGroup.tsx +2 -1
  259. package/src/components/Card/Card.tsx +4 -3
  260. package/src/components/CardAdvisory/CardAdvisory.tsx +3 -2
  261. package/src/components/CardBankAccount/CardBankAccount.tsx +2 -1
  262. package/src/components/CardCTA/CardCTA.tsx +3 -2
  263. package/src/components/CardFeedback/CardFeedback.tsx +11 -10
  264. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +3 -2
  265. package/src/components/CardInsight/CardInsight.tsx +2 -1
  266. package/src/components/CardProviderInfo/CardProviderInfo.tsx +2 -1
  267. package/src/components/Carousel/Carousel.tsx +5 -4
  268. package/src/components/CcCard/CcCard.tsx +598 -0
  269. package/src/components/Checkbox/Checkbox.tsx +7 -5
  270. package/src/components/CheckboxGroup/CheckboxGroup.tsx +2 -1
  271. package/src/components/CheckboxItem/CheckboxItem.tsx +7 -5
  272. package/src/components/ChipGroup/ChipGroup.tsx +2 -1
  273. package/src/components/ChipSelect/ChipSelect.tsx +2 -1
  274. package/src/components/CircularProgressBar/CircularProgressBar.tsx +2 -1
  275. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +2 -1
  276. package/src/components/CircularRating/CircularRating.tsx +3 -2
  277. package/src/components/ClusterBubble/ClusterBubble.tsx +2 -1
  278. package/src/components/CompareTable/CompareTable.tsx +477 -0
  279. package/src/components/ComparisonBar/ComparisonBar.tsx +356 -0
  280. package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +3 -2
  281. package/src/components/CoverageRing/CoverageRing.tsx +2 -1
  282. package/src/components/DebitCard/DebitCard.tsx +2 -1
  283. package/src/components/Disclaimer/Disclaimer.tsx +2 -1
  284. package/src/components/Divider/Divider.tsx +2 -1
  285. package/src/components/DonutChart/DonutChart.tsx +6 -5
  286. package/src/components/DonutChartSummary/DonutChartSummary.tsx +3 -2
  287. package/src/components/Drawer/Drawer.tsx +21 -1
  288. package/src/components/Dropdown/Dropdown.tsx +4 -3
  289. package/src/components/DropdownInput/DropdownInput.tsx +60 -7
  290. package/src/components/EmptyState/EmptyState.tsx +2 -1
  291. package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +2 -1
  292. package/src/components/FilterBar/FilterBar.tsx +3 -2
  293. package/src/components/Form/Form.tsx +2 -1
  294. package/src/components/FormField/FormField.tsx +8 -6
  295. package/src/components/FullscreenModal/FullscreenModal.tsx +68 -10
  296. package/src/components/Gauge/Gauge.tsx +2 -1
  297. package/src/components/HStack/HStack.tsx +2 -1
  298. package/src/components/HoldingsCard/HoldingsCard.tsx +2 -1
  299. package/src/components/Icon/Icon.tsx +3 -2
  300. package/src/components/IconButton/IconButton.tsx +3 -2
  301. package/src/components/IconCapsule/IconCapsule.tsx +3 -2
  302. package/src/components/Image/Image.tsx +29 -5
  303. package/src/components/InputSearch/InputSearch.tsx +11 -7
  304. package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -2
  305. package/src/components/LazyList/LazyList.tsx +2 -1
  306. package/src/components/LinearMeter/LinearMeter.tsx +3 -2
  307. package/src/components/LinearProgress/LinearProgress.tsx +2 -1
  308. package/src/components/ListGroup/ListGroup.tsx +2 -1
  309. package/src/components/ListItem/ListItem.tsx +3 -2
  310. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +2 -1
  311. package/src/components/LottiePlayer/LottiePlayer.tsx +3 -2
  312. package/src/components/LottiePlayer/LottiePlayer.web.tsx +3 -2
  313. package/src/components/LottiePlayer/loadNativeLottieView.tsx +9 -13
  314. package/src/components/MediaCard/MediaCard.tsx +7 -6
  315. package/src/components/MerchantProfile/MerchantProfile.tsx +2 -1
  316. package/src/components/MessageField/MessageField.tsx +3 -2
  317. package/src/components/MetricLegendItem/MetricLegendItem.tsx +2 -1
  318. package/src/components/MoneyValue/MoneyValue.tsx +2 -1
  319. package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +5 -4
  320. package/src/components/NavArrow/NavArrow.tsx +3 -2
  321. package/src/components/NoteInput/NoteInput.tsx +10 -7
  322. package/src/components/Nudge/Nudge.tsx +3 -2
  323. package/src/components/Numpad/Numpad.tsx +2 -1
  324. package/src/components/OTP/OTP.tsx +3 -2
  325. package/src/components/Overlay/Overlay.tsx +114 -0
  326. package/src/components/PageHero/PageHero.tsx +2 -1
  327. package/src/components/PaymentFeedback/PaymentFeedback.tsx +2 -1
  328. package/src/components/PdpCcCard/PdpCcCard.tsx +356 -0
  329. package/src/components/PlanComparisonCard/PlanComparisonCard.tsx +2 -1
  330. package/src/components/Popup/Popup.tsx +2 -1
  331. package/src/components/PortfolioHero/PortfolioHero.tsx +2 -1
  332. package/src/components/PoweredByLabel/PoweredByLabel.tsx +2 -1
  333. package/src/components/ProductLabel/ProductLabel.tsx +2 -1
  334. package/src/components/ProductMerchandisingCard/GlassFill.tsx +276 -0
  335. package/src/components/ProductMerchandisingCard/GlassFill.web.tsx +127 -0
  336. package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +423 -0
  337. package/src/components/ProductOverview/ProductOverview.tsx +2 -1
  338. package/src/components/ProgressBadge/ProgressBadge.tsx +2 -1
  339. package/src/components/ProjectionMarker/ProjectionMarker.tsx +277 -0
  340. package/src/components/Radio/Radio.tsx +7 -5
  341. package/src/components/RangeTrack/RangeTrack.tsx +3 -2
  342. package/src/components/RechargeCard/RechargeCard.tsx +2 -1
  343. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +2 -1
  344. package/src/components/Screen/Screen.tsx +2 -1
  345. package/src/components/Section/Section.tsx +6 -5
  346. package/src/components/SegmentedControl/SegmentedControl.tsx +3 -2
  347. package/src/components/SegmentedTrack/SegmentedTrack.tsx +5 -4
  348. package/src/components/Slider/Slider.tsx +628 -0
  349. package/src/components/Slot/Slot.tsx +2 -1
  350. package/src/components/Spinner/Spinner.tsx +2 -1
  351. package/src/components/StatGroup/StatGroup.tsx +3 -2
  352. package/src/components/StatItem/StatItem.tsx +2 -1
  353. package/src/components/StatusHero/StatusHero.tsx +2 -1
  354. package/src/components/Stepper/Step.tsx +2 -1
  355. package/src/components/Stepper/StepLabel.tsx +2 -1
  356. package/src/components/Stepper/Stepper.tsx +2 -1
  357. package/src/components/StrengthIndicator/StrengthIndicator.tsx +2 -1
  358. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +4 -3
  359. package/src/components/SummaryTile/SummaryTile.tsx +2 -1
  360. package/src/components/SupportText/SupportText.tsx +2 -1
  361. package/src/components/SupportText/SupportTextIcon.tsx +2 -1
  362. package/src/components/SwappableAmount/SwappableAmount.tsx +2 -1
  363. package/src/components/Tabs/TabItem.tsx +2 -1
  364. package/src/components/Tabs/Tabs.tsx +2 -1
  365. package/src/components/TestimonialsCard/TestimonialsCard.tsx +2 -1
  366. package/src/components/Text/Text.tsx +2 -1
  367. package/src/components/TextInput/TextInput.tsx +18 -13
  368. package/src/components/TextSegment/TextSegment.tsx +166 -0
  369. package/src/components/ThreadHero/ThreadHero.tsx +2 -1
  370. package/src/components/Title/Title.tsx +2 -1
  371. package/src/components/Toast/Toast.tsx +2 -1
  372. package/src/components/Toast/ToastProvider.tsx +2 -1
  373. package/src/components/Toast/useToast.ts +3 -2
  374. package/src/components/Toggle/Toggle.tsx +2 -1
  375. package/src/components/Tooltip/Tooltip.tsx +3 -2
  376. package/src/components/TransactionBubble/TransactionBubble.tsx +2 -1
  377. package/src/components/TransactionDetails/TransactionDetails.tsx +3 -2
  378. package/src/components/TransactionStatus/TransactionStatus.tsx +3 -2
  379. package/src/components/UpiHandle/UpiHandle.tsx +3 -2
  380. package/src/components/VStack/VStack.tsx +2 -1
  381. package/src/components/docs/modeControls.tsx +122 -0
  382. package/src/components/index.ts +11 -1
  383. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  384. package/src/design-tokens/JFSThemeProvider.tsx +4 -3
  385. package/src/design-tokens/figma-modes.generated.ts +425 -0
  386. package/src/design-tokens/index.ts +1 -0
  387. package/src/icons/registry.ts +1 -1
  388. package/src/skeleton/Skeleton.tsx +2 -1
  389. package/src/utils/react-utils.ts +26 -2
  390. package/lib/typescript/scripts/extract-component-tokens.d.ts +0 -9
  391. package/lib/typescript/scripts/generate-component-docs.d.ts +0 -9
  392. package/lib/typescript/scripts/generate-icon-registry.d.ts +0 -3
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import React from 'react';
4
-
5
4
  /**
6
5
  * A shared, frozen empty modes object.
7
6
  *
@@ -73,6 +72,27 @@ export function cloneChildrenWithModes(children, modes, forcedModes) {
73
72
  return React.Children.toArray(result);
74
73
  }
75
74
 
75
+ /**
76
+ * Combines several refs (object refs and/or callback refs) into a single
77
+ * callback ref. Useful when a component needs to keep its own internal ref to a
78
+ * node while still honouring a ref forwarded by the consumer.
79
+ *
80
+ * @example
81
+ * const inputRef = useRef<RNTextInput>(null)
82
+ * <RNTextInput ref={mergeRefs(inputRef, forwardedRef)} />
83
+ */
84
+ export function mergeRefs(...refs) {
85
+ return value => {
86
+ refs.forEach(ref => {
87
+ if (typeof ref === 'function') {
88
+ ref(value);
89
+ } else if (ref != null) {
90
+ ref.current = value;
91
+ }
92
+ });
93
+ };
94
+ }
95
+
76
96
  /**
77
97
  * Flattens React children, extracting them from Fragments.
78
98
  * Useful for Group components that need to process individual items (e.g., for layout or styling)
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { View, type StyleProp, type ViewStyle, type AccessibilityState } from 'react-native';
3
3
  import { type WebAccessibilityProps } from '../../utils/web-platform-utils';
4
+ import type { Modes } from '../../design-tokens';
4
5
  export type AccordionProps = {
5
6
  /** The accordion header title */
6
7
  title?: string;
@@ -21,7 +22,7 @@ export type AccordionProps = {
21
22
  /** Content to display when the accordion is expanded (Figma Slot: 'content') */
22
23
  children?: React.ReactNode;
23
24
  /** Modes object passed to getVariableByName for all design tokens */
24
- modes?: Record<string, any>;
25
+ modes?: Modes;
25
26
  /** Optional container style overrides */
26
27
  style?: StyleProp<ViewStyle>;
27
28
  /** Accessibility label for screen readers. If not provided, uses title */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type AccordionCheckboxProps = {
4
5
  /** Title shown next to the checkbox (e.g. "Axis Bank"). */
5
6
  title?: string;
@@ -26,7 +27,7 @@ export type AccordionCheckboxProps = {
26
27
  */
27
28
  children?: React.ReactNode;
28
29
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
29
- modes?: Record<string, any>;
30
+ modes?: Modes;
30
31
  /** Override outer container styles. */
31
32
  style?: StyleProp<ViewStyle>;
32
33
  /** Accessibility label for the header press target. Defaults to `title`. */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ImageSourcePropType, type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type AccountCardState = 'connected' | 'add';
4
5
  export type AccountCardProps = {
5
6
  /**
@@ -49,7 +50,7 @@ export type AccountCardProps = {
49
50
  /** Disable interaction (also dims the card). */
50
51
  disabled?: boolean;
51
52
  /** Design token modes (e.g. `{ 'Color Mode': 'Light' }`). */
52
- modes?: Record<string, any>;
53
+ modes?: Modes;
53
54
  /** Container style override. */
54
55
  style?: StyleProp<ViewStyle>;
55
56
  /** Accessibility label (defaults to `title`). */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type ActionFooterProps = {
4
5
  /**
5
6
  * Content to render inside the action footer slot.
@@ -13,7 +14,7 @@ export type ActionFooterProps = {
13
14
  * Automatically merged into every slot child via {@link cloneChildrenWithModes}
14
15
  * so callers don't have to thread modes down by hand.
15
16
  */
16
- modes?: Record<string, any>;
17
+ modes?: Modes;
17
18
  /**
18
19
  * Optional style overrides for the outer container.
19
20
  */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type ActionTileProps = {
4
5
  /** Label text, e.g. "Cards" */
5
6
  label?: string;
@@ -10,7 +11,7 @@ export type ActionTileProps = {
10
11
  */
11
12
  icon?: React.ReactNode;
12
13
  /** Modes for design token resolution */
13
- modes?: Record<string, any>;
14
+ modes?: Modes;
14
15
  /** Optional container style */
15
16
  style?: ViewStyle;
16
17
  /** Callback when tile is pressed */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  /**
4
5
  * One vertical pill in the {@link AllocationComparisonChartProps.data} array.
5
6
  *
@@ -86,7 +87,7 @@ export type AllocationComparisonChartProps = {
86
87
  */
87
88
  formatValue?: (value: number) => string;
88
89
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
89
- modes?: Record<string, any>;
90
+ modes?: Modes;
90
91
  /** Container style override. */
91
92
  style?: StyleProp<ViewStyle>;
92
93
  /** Style applied to the bars row. */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { type ViewStyle } from 'react-native';
2
+ import { View, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type AmountInputProps = {
4
5
  /**
5
6
  * Slot for the MoneyValue component.
@@ -10,7 +11,7 @@ export type AmountInputProps = {
10
11
  */
11
12
  noteInputSlot?: React.ReactNode;
12
13
  /** Modes for design token resolution */
13
- modes?: Record<string, any>;
14
+ modes?: Modes;
14
15
  /** Optional container style */
15
16
  style?: ViewStyle;
16
17
  };
@@ -19,5 +20,6 @@ export type AmountInputProps = {
19
20
  *
20
21
  * @component
21
22
  */
22
- export default function AmountInput({ moneyValueSlot, noteInputSlot, modes: propModes, style, }: AmountInputProps): import("react/jsx-runtime").JSX.Element;
23
+ declare const AmountInput: React.ForwardRefExoticComponent<AmountInputProps & React.RefAttributes<View>>;
24
+ export default AmountInput;
23
25
  //# sourceMappingURL=AmountInput.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  type AppBarType = 'MainPage' | 'SubPage';
4
5
  export type AppBarProps = {
5
6
  /**
@@ -39,7 +40,7 @@ export type AppBarProps = {
39
40
  /**
40
41
  * Token modes to override.
41
42
  */
42
- modes?: Record<string, any>;
43
+ modes?: Modes;
43
44
  /**
44
45
  * Callback for the default leading slot press (e.g. back button).
45
46
  */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  import { type Curve, type LinearScale, type ResolvedPoint } from './chartMath';
4
5
  /** A single data point. Bare numbers are also accepted in `data`. */
5
6
  export type ChartPoint = {
@@ -97,7 +98,7 @@ export type AreaLineChartProps = {
97
98
  /** Enable hover/press-drag interaction + tooltip. Defaults to `true`. */
98
99
  interactive?: boolean;
99
100
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
100
- modes?: Record<string, any>;
101
+ modes?: Modes;
101
102
  /** Container style override. */
102
103
  style?: StyleProp<ViewStyle>;
103
104
  /** Extra SVG-decorator children rendered on top of the default layers. */
@@ -134,7 +135,7 @@ type ChartContextValue = {
134
135
  formatX: (label: string | number, index: number) => React.ReactNode;
135
136
  formatY: (value: number) => React.ReactNode;
136
137
  showDots: boolean;
137
- modes: Record<string, any>;
138
+ modes: Modes;
138
139
  };
139
140
  /** Access the surrounding chart geometry from a decorator/sub-component. */
140
141
  export declare function useChart(): ChartContextValue;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewProps, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  /**
4
5
  * Anchor point on the main content where the attached `badge` is centered.
5
6
  * Mirrors the nine Figma `position` variants (corners, edge midpoints, center).
@@ -55,7 +56,7 @@ export type AttachedProps = Omit<ViewProps, 'children'> & {
55
56
  */
56
57
  circular?: boolean;
57
58
  /** Mode configuration cascaded to the token resolver and all children. */
58
- modes?: Record<string, any>;
59
+ modes?: Modes;
59
60
  style?: StyleProp<ViewStyle>;
60
61
  };
61
62
  declare function Attached({ children, badge, badgeSize, badgeRadius, position, circular, modes: propModes, style, ...rest }: AttachedProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, type ImageSourcePropType } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  /**
4
5
  * Avatar component that displays either an image or a monogram.
5
6
  *
@@ -22,7 +23,7 @@ import { View, type ImageSourcePropType } from 'react-native';
22
23
  export type AvatarProps = {
23
24
  monogram?: string;
24
25
  style?: 'Image' | 'Monogram';
25
- modes?: Record<string, any>;
26
+ modes?: Modes;
26
27
  imageSource?: ImageSourcePropType | string;
27
28
  accessibilityLabel?: string;
28
29
  onPress?: () => void;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { View, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  type AvatarGroupProps = {
4
- modes?: Record<string, any>;
5
+ modes?: Modes;
5
6
  children?: React.ReactNode;
6
7
  style?: ViewStyle;
7
8
  } & React.ComponentProps<typeof View>;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { View, type ViewStyle, type TextStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  type BadgeProps = {
4
5
  /** Visible label text shown inside the badge */
5
6
  label?: string;
6
7
  /** Modes used to resolve design tokens (e.g. Appearance, Size) */
7
- modes?: Record<string, any>;
8
+ modes?: Modes;
8
9
  /** Optional press handler to make the badge interactive */
9
10
  onPress?: () => void;
10
11
  accessibilityLabel?: string;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type BalanceProps = {
4
5
  /**
5
6
  * Title text displayed above the balance amount.
@@ -19,7 +20,7 @@ export type BalanceProps = {
19
20
  /**
20
21
  * Mode configuration for design tokens.
21
22
  */
22
- modes?: Record<string, any>;
23
+ modes?: Modes;
23
24
  /**
24
25
  * Optional style overrides for the container.
25
26
  */
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
4
+ /**
5
+ * A single benefit row rendered with the shared `ListItem` primitive: a
6
+ * leading icon, a title and an optional right-aligned trailing value.
7
+ */
8
+ export interface BenefitCardItem {
9
+ /** Registry icon name for the leading glyph (e.g. `'ic_jewellery_diamond'`). */
10
+ icon?: string;
11
+ /** Per-item override for the leading icon color. Defaults to the brand token. */
12
+ iconColor?: string;
13
+ /** Full override for the leading node. Takes precedence over `icon`. */
14
+ leading?: React.ReactNode;
15
+ /** Row title (e.g. `"JioPoints"`). */
16
+ title: string;
17
+ /** Optional right-aligned trailing value (e.g. `"Up to 2000 pts"`). */
18
+ trailingText?: string;
19
+ /** Full override for the trailing node. Takes precedence over `trailingText`. */
20
+ trailing?: React.ReactNode;
21
+ /** Makes the row pressable. */
22
+ onPress?: () => void;
23
+ }
24
+ export interface BenefitCardProps {
25
+ /** Header section title (e.g. `"You will earn"`). */
26
+ headerTitle?: string;
27
+ /**
28
+ * Highlighted item shown directly under the header title (icon + title +
29
+ * optional trailing value). Rendered above the divider.
30
+ */
31
+ headerItem?: BenefitCardItem;
32
+ /**
33
+ * Toggles the whole header section (title + item + divider). Mirrors the
34
+ * Figma `showHeader` property. Defaults to `true`.
35
+ */
36
+ showHeader?: boolean;
37
+ /** Body section title (e.g. `"Upgrade to JioFinance+ and earn more"`). */
38
+ bodyTitle?: string;
39
+ /**
40
+ * Body benefit rows. Ignored when `children` is provided (the slot wins).
41
+ */
42
+ items?: BenefitCardItem[];
43
+ /**
44
+ * Real slot for the body "list wrap". When provided, these children render
45
+ * instead of `items`; `modes` (plus the `List Item Style: Minimal` style)
46
+ * cascade into every child automatically.
47
+ */
48
+ children?: React.ReactNode;
49
+ /** CTA button label. Defaults to `"Upgrade"`. */
50
+ buttonLabel?: string;
51
+ /** CTA press handler. */
52
+ onButtonPress?: () => void;
53
+ /** Full override for the CTA. Takes precedence over `buttonLabel`. */
54
+ button?: React.ReactNode;
55
+ /**
56
+ * Toggles the CTA button. Mirrors the Figma `showButton` property.
57
+ * Defaults to `true`.
58
+ */
59
+ showButton?: boolean;
60
+ /** Press handler for the whole card. When set, the card becomes pressable. */
61
+ onPress?: () => void;
62
+ /** Card width. Defaults to the Figma spec (`344`). Pass `'100%'` to fill the parent. */
63
+ width?: number | `${number}%`;
64
+ /** Modes object for design-token resolution. Cascaded to all children. */
65
+ modes?: Modes;
66
+ /** Style overrides for the card container. */
67
+ style?: StyleProp<ViewStyle>;
68
+ /** Accessibility label for the card. */
69
+ accessibilityLabel?: string;
70
+ }
71
+ /**
72
+ * BenefitCard — Figma node 5352:1077 ("Benefit Card").
73
+ *
74
+ * A white, rounded card that summarises the rewards a user will earn. It is
75
+ * composed entirely from the shared design-system primitives so it stays in
76
+ * sync with the rest of the library:
77
+ *
78
+ * - **Header** — a section title + a single highlighted {@link ListItem}
79
+ * (leading `Icon`, title, right-aligned trailing value) followed by a
80
+ * `Divider`.
81
+ * - **Body** — a section title + a column of benefit {@link ListItem}s. The
82
+ * list is a real slot: pass `children` to fully control it, or `items` for
83
+ * the declarative path.
84
+ * - **CTA** — a small {@link Button} (Figma `Button / Size = S`).
85
+ *
86
+ * The list rows resolve through the `List Item Style: Minimal` mode (12px /
87
+ * regular title, 4px gap, no padding) and the leading icons use the
88
+ * `AppearanceBrand: Secondary` brand color, exactly matching the design. All
89
+ * three defaults can be overridden via `modes`.
90
+ */
91
+ declare function BenefitCard({ headerTitle, headerItem, showHeader, bodyTitle, items, children, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: BenefitCardProps): import("react/jsx-runtime").JSX.Element;
92
+ export default BenefitCard;
93
+ //# sourceMappingURL=BenefitCard.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { View, type StyleProp, type ViewStyle } from 'react-native';
3
3
  import BottomNavItem from '../BottomNavItem/BottomNavItem';
4
+ import type { Modes } from '../../design-tokens';
4
5
  type BottomNavProps = {
5
6
  /**
6
7
  * Value of the currently selected item.
@@ -15,7 +16,7 @@ type BottomNavProps = {
15
16
  * The content of the component (BottomNav.Item components).
16
17
  */
17
18
  children?: React.ReactNode;
18
- modes?: Record<string, any>;
19
+ modes?: Modes;
19
20
  style?: StyleProp<ViewStyle>;
20
21
  accessibilityLabel?: string;
21
22
  accessibilityHint?: string;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { type AccessibilityState, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
3
  import { type SafePressableProps, type WebAccessibilityProps } from '../../utils/web-platform-utils';
4
+ import type { Modes } from '../../design-tokens';
4
5
  type BottomNavItemProps = SafePressableProps & {
5
6
  iconName?: string;
6
7
  label?: string;
7
- modes?: Record<string, any>;
8
+ modes?: Modes;
8
9
  onPress?: () => void;
9
10
  disabled?: boolean;
10
11
  style?: StyleProp<ViewStyle>;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ImageSourcePropType, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type BrandChipProps = {
4
5
  /** Visible label (e.g. `"Axis Bank • 0245"`). */
5
6
  label?: string;
@@ -17,7 +18,7 @@ export type BrandChipProps = {
17
18
  /** Optional press handler — when provided, the chip becomes a `Pressable`. */
18
19
  onPress?: () => void;
19
20
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
20
- modes?: Record<string, any>;
21
+ modes?: Modes;
21
22
  /** Container style override. */
22
23
  style?: StyleProp<ViewStyle>;
23
24
  /** Label style override. */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  import { type ClusterBubbleLabelPlacement } from '../ClusterBubble/ClusterBubble';
4
5
  /** One bubble in the chart. */
5
6
  export type BubbleDatum = {
@@ -58,7 +59,7 @@ export type BubbleChartProps = {
58
59
  /** Notified when a bubble is pressed. Makes every bubble pressable. */
59
60
  onBubblePress?: (datum: BubbleDatum, index: number) => void;
60
61
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
61
- modes?: Record<string, any>;
62
+ modes?: Modes;
62
63
  /** Container style override. */
63
64
  style?: StyleProp<ViewStyle>;
64
65
  /** Accessibility label for the whole chart. */
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type AccessibilityState, type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
3
3
  import { type SafePressableProps, type WebAccessibilityProps } from '../../utils/web-platform-utils';
4
+ import type { Modes } from '../../design-tokens';
4
5
  export type ButtonProps = SafePressableProps & {
5
6
  label?: string;
6
7
  children?: React.ReactNode;
@@ -28,7 +29,7 @@ export type ButtonProps = SafePressableProps & {
28
29
  * Takes precedence over `trailing` if both are provided.
29
30
  */
30
31
  icon?: string;
31
- modes?: Record<string, any>;
32
+ modes?: Modes;
32
33
  onPress?: () => void;
33
34
  disabled?: boolean;
34
35
  style?: StyleProp<ViewStyle>;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type ButtonGroupProps = {
4
5
  /**
5
6
  * Child elements to be rendered inside the button group.
@@ -10,7 +11,7 @@ export type ButtonGroupProps = {
10
11
  * Mode configuration for design tokens (e.g., {"Button / Size": "M", "Appearance": "high"})
11
12
  * These modes are passed down to all child components.
12
13
  */
13
- modes?: Record<string, any>;
14
+ modes?: Modes;
14
15
  /**
15
16
  * Additional styles for the container
16
17
  */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export interface CardProps {
4
5
  /**
5
6
  * Content rendered in the header slot at the top of the card (e.g. a brand logo).
@@ -18,7 +19,7 @@ export interface CardProps {
18
19
  /**
19
20
  * Modes object for token resolution (e.g. { "Mode": "Dark" }).
20
21
  */
21
- modes?: Record<string, any>;
22
+ modes?: Modes;
22
23
  /**
23
24
  * Aspect ratio for the media slot container.
24
25
  * Default is based on Figma design 154/116 (~1.328).
@@ -52,7 +53,7 @@ export declare namespace Card {
52
53
  export interface CardTextProps {
53
54
  children?: React.ReactNode;
54
55
  style?: StyleProp<TextStyle>;
55
- modes?: Record<string, any>;
56
+ modes?: Modes;
56
57
  }
57
58
  export default Card;
58
59
  //# sourceMappingURL=Card.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  type CardAdvisoryBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
4
5
  export type CardAdvisoryProps = CardAdvisoryBaseProps & {
5
6
  /** Main heading text. */
@@ -27,7 +28,7 @@ export type CardAdvisoryProps = CardAdvisoryBaseProps & {
27
28
  /** Optional slot replacing the bottom nudge. Receives `modes` recursively. */
28
29
  nudgeSlot?: React.ReactNode;
29
30
  /** Design token modes forwarded to token lookups and child components. */
30
- modes?: Record<string, any>;
31
+ modes?: Modes;
31
32
  /** Optional container style override. */
32
33
  style?: StyleProp<ViewStyle>;
33
34
  /** Optional main content row style override. */
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
3
  import type { UnifiedSource } from '../../utils/MediaSource';
4
+ import type { Modes } from '../../design-tokens';
4
5
  export type CardBankAccountItem = {
5
6
  /** Left-aligned label text (e.g. "Account type"). */
6
7
  label: string;
@@ -61,7 +62,7 @@ export type CardBankAccountProps = {
61
62
  * out of the box. Caller-supplied modes are merged on top and can
62
63
  * override any of the default keys.
63
64
  */
64
- modes?: Record<string, any>;
65
+ modes?: Modes;
65
66
  /** Container style override. */
66
67
  style?: StyleProp<ViewStyle>;
67
68
  /** Accessibility label for the card region. */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type CardCTAType = 'cta' | 'rating';
4
5
  export type CardCTAProps = {
5
6
  /** Visual layout variant */
@@ -23,7 +24,7 @@ export type CardCTAProps = {
23
24
  /** Callback for the default dislike action */
24
25
  onPressDislike?: () => void;
25
26
  /** Mode configuration for design token resolution */
26
- modes?: Record<string, any>;
27
+ modes?: Modes;
27
28
  /** Slot: replaces the default icon area (right side) */
28
29
  iconSlot?: React.ReactNode;
29
30
  /** Slot: replaces the default Button */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export interface CardFeedbackProps {
4
5
  /**
5
6
  * The main content of the card (Icon, Title, Body, Action).
@@ -8,7 +9,7 @@ export interface CardFeedbackProps {
8
9
  /**
9
10
  * Modes object for token resolution.
10
11
  */
11
- modes?: Record<string, any>;
12
+ modes?: Modes;
12
13
  /**
13
14
  * Style overrides for the card container.
14
15
  */
@@ -34,7 +35,7 @@ export declare namespace CardFeedback {
34
35
  export declare function Icon({ children, style, modes: propModes, icon }: {
35
36
  children?: React.ReactNode;
36
37
  style?: StyleProp<ViewStyle>;
37
- modes?: Record<string, any>;
38
+ modes?: Modes;
38
39
  icon?: string;
39
40
  }): import("react/jsx-runtime").JSX.Element;
40
41
  /**
@@ -45,7 +46,7 @@ export declare function Icon({ children, style, modes: propModes, icon }: {
45
46
  export declare function Content({ children, style, modes: propModes }: {
46
47
  children?: React.ReactNode;
47
48
  style?: StyleProp<ViewStyle>;
48
- modes?: Record<string, any>;
49
+ modes?: Modes;
49
50
  }): import("react/jsx-runtime").JSX.Element;
50
51
  /**
51
52
  * Title Component
@@ -54,7 +55,7 @@ export declare function Content({ children, style, modes: propModes }: {
54
55
  export declare function Title({ children, style, modes: propModes }: {
55
56
  children?: React.ReactNode;
56
57
  style?: StyleProp<TextStyle>;
57
- modes?: Record<string, any>;
58
+ modes?: Modes;
58
59
  }): import("react/jsx-runtime").JSX.Element;
59
60
  /**
60
61
  * Body Component
@@ -63,7 +64,7 @@ export declare function Title({ children, style, modes: propModes }: {
63
64
  export declare function Body({ children, style, modes: propModes }: {
64
65
  children?: React.ReactNode;
65
66
  style?: StyleProp<TextStyle>;
66
- modes?: Record<string, any>;
67
+ modes?: Modes;
67
68
  }): import("react/jsx-runtime").JSX.Element;
68
69
  /**
69
70
  * Action Slot Wrapper
@@ -72,7 +73,7 @@ export declare function Body({ children, style, modes: propModes }: {
72
73
  export declare function Action({ children, style, modes: propModes }: {
73
74
  children?: React.ReactNode;
74
75
  style?: StyleProp<ViewStyle>;
75
- modes?: Record<string, any>;
76
+ modes?: Modes;
76
77
  }): import("react/jsx-runtime").JSX.Element;
77
78
  export default CardFeedback;
78
79
  //# sourceMappingURL=CardFeedback.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { View, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
3
  import { type CircularProgressBarProps } from '../CircularProgressBar/CircularProgressBar';
4
+ import type { Modes } from '../../design-tokens';
4
5
  type CardFinancialConditionBaseProps = Omit<React.ComponentProps<typeof View>, 'children' | 'style'>;
5
6
  export type CardFinancialConditionProps = CardFinancialConditionBaseProps & {
6
7
  /** Title text shown in the header. */
@@ -32,7 +33,7 @@ export type CardFinancialConditionProps = CardFinancialConditionBaseProps & {
32
33
  /** Slot replacing the default action button. Receives `modes` recursively. */
33
34
  buttonSlot?: React.ReactNode;
34
35
  /** Design token modes forwarded to token lookups and child components. */
35
- modes?: Record<string, any>;
36
+ modes?: Modes;
36
37
  /** Container style override. */
37
38
  style?: StyleProp<ViewStyle>;
38
39
  /** Header row style override. */
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
3
4
  export type CardInsightProps = {
4
5
  /** Card title rendered in the header (left of the badge). */
5
6
  title?: string;
@@ -28,7 +29,7 @@ export type CardInsightProps = {
28
29
  */
29
30
  divider?: React.ReactNode | boolean;
30
31
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
31
- modes?: Record<string, any>;
32
+ modes?: Modes;
32
33
  /** Override container styles. */
33
34
  style?: StyleProp<ViewStyle>;
34
35
  };