jfs-components 0.1.8 → 0.1.17

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 (704) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/lib/commonjs/components/Accordion/Accordion.js +2 -1
  3. package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +4 -3
  4. package/lib/commonjs/components/AccountCard/AccountCard.js +4 -3
  5. package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
  6. package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
  7. package/lib/commonjs/components/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
  8. package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
  9. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +13 -9
  10. package/lib/commonjs/components/Attached/Attached.js +1 -1
  11. package/lib/commonjs/components/Avatar/Avatar.js +10 -10
  12. package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +9 -9
  13. package/lib/commonjs/components/Badge/Badge.js +55 -16
  14. package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
  15. package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
  16. package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
  17. package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
  18. package/lib/commonjs/components/Button/Button.js +32 -19
  19. package/lib/commonjs/components/Card/Card.js +20 -20
  20. package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +8 -7
  21. package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
  22. package/lib/commonjs/components/CardCTA/CardCTA.js +215 -45
  23. package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
  24. package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  25. package/lib/commonjs/components/CardInsight/CardInsight.js +6 -3
  26. package/lib/commonjs/components/Carousel/Carousel.js +18 -12
  27. package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
  28. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
  29. package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
  30. package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
  31. package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +12 -8
  32. package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +11 -10
  33. package/lib/commonjs/components/CircularRating/CircularRating.js +5 -4
  34. package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
  35. package/lib/commonjs/components/CompareTable/CompareTable.js +88 -59
  36. package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
  37. package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
  38. package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
  39. package/lib/commonjs/components/DonutChart/DonutChart.js +15 -14
  40. package/lib/commonjs/components/Drawer/Drawer.js +60 -60
  41. package/lib/commonjs/components/Dropdown/Dropdown.js +25 -25
  42. package/lib/commonjs/components/DropdownInput/DropdownInput.js +13 -12
  43. package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
  44. package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  45. package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
  46. package/lib/commonjs/components/Form/Form.js +3 -3
  47. package/lib/commonjs/components/FormField/FormField.js +48 -8
  48. package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
  49. package/lib/commonjs/components/Gauge/Gauge.js +9 -9
  50. package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +13 -12
  51. package/lib/commonjs/components/Icon/Icon.js +6 -6
  52. package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
  53. package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
  54. package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +5 -4
  55. package/lib/commonjs/components/ListGroup/ListGroup.js +10 -9
  56. package/lib/commonjs/components/ListItem/ListItem.js +13 -12
  57. package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  58. package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
  59. package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
  60. package/lib/commonjs/components/MediaCard/MediaCard.js +25 -23
  61. package/lib/commonjs/components/MessageField/MessageField.js +8 -8
  62. package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
  63. package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
  64. package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
  65. package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
  66. package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
  67. package/lib/commonjs/components/Nudge/Nudge.js +20 -20
  68. package/lib/commonjs/components/OTP/OTP.js +15 -15
  69. package/lib/commonjs/components/PageHero/PageHero.js +16 -16
  70. package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
  71. package/lib/commonjs/components/Popup/Popup.js +1 -1
  72. package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
  73. package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +107 -33
  74. package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
  75. package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +7 -7
  76. package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +3 -2
  77. package/lib/commonjs/components/Radio/Radio.js +8 -8
  78. package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
  79. package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
  80. package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
  81. package/lib/commonjs/components/Section/Section.js +27 -26
  82. package/lib/commonjs/components/Slider/Slider.js +3 -2
  83. package/lib/commonjs/components/Stack/Stack.js +86 -0
  84. package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
  85. package/lib/commonjs/components/Stepper/Step.js +16 -16
  86. package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
  87. package/lib/commonjs/components/Stepper/Stepper.js +3 -3
  88. package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
  89. package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
  90. package/lib/commonjs/components/SupportText/SupportText.js +6 -6
  91. package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
  92. package/lib/commonjs/components/Table/Table.js +324 -0
  93. package/lib/commonjs/components/Text/Text.js +15 -2
  94. package/lib/commonjs/components/TextInput/TextInput.js +23 -15
  95. package/lib/commonjs/components/TextSegment/TextSegment.js +15 -2
  96. package/lib/commonjs/components/ThreadHero/ThreadHero.js +21 -22
  97. package/lib/commonjs/components/Title/Title.js +39 -16
  98. package/lib/commonjs/components/Toast/Toast.js +18 -17
  99. package/lib/commonjs/components/Toggle/Toggle.js +3 -11
  100. package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
  101. package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +15 -14
  102. package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
  103. package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +12 -11
  104. package/lib/commonjs/components/UpiHandle/UpiHandle.js +17 -17
  105. package/lib/commonjs/components/index.js +58 -0
  106. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  107. package/lib/commonjs/design-tokens/figma-modes.generated.js +51 -42
  108. package/lib/commonjs/icons/components/Icon4g.js +19 -0
  109. package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
  110. package/lib/commonjs/icons/components/Icon5g.js +19 -0
  111. package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
  112. package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
  113. package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
  114. package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
  115. package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
  116. package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
  117. package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
  118. package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
  119. package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
  120. package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
  121. package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
  122. package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
  123. package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
  124. package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
  125. package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
  126. package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
  127. package/lib/commonjs/icons/components/IconDatabase.js +19 -0
  128. package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
  129. package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
  130. package/lib/commonjs/icons/components/IconDistribution.js +19 -0
  131. package/lib/commonjs/icons/components/IconDocument.js +19 -0
  132. package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
  133. package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
  134. package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
  135. package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
  136. package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
  137. package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
  138. package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
  139. package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
  140. package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
  141. package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
  142. package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
  143. package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
  144. package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
  145. package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
  146. package/lib/commonjs/icons/components/IconFilesend.js +19 -0
  147. package/lib/commonjs/icons/components/IconFileshare.js +19 -0
  148. package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
  149. package/lib/commonjs/icons/components/IconFolder.js +19 -0
  150. package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
  151. package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
  152. package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
  153. package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
  154. package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
  155. package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
  156. package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
  157. package/lib/commonjs/icons/components/IconForm.js +19 -0
  158. package/lib/commonjs/icons/components/IconFormadd.js +19 -0
  159. package/lib/commonjs/icons/components/IconForms.js +19 -0
  160. package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
  161. package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
  162. package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
  163. package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
  164. package/lib/commonjs/icons/components/IconHubmode.js +19 -0
  165. package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
  166. package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
  167. package/lib/commonjs/icons/components/IconLte.js +19 -0
  168. package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
  169. package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
  170. package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
  171. package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
  172. package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
  173. package/lib/commonjs/icons/components/IconProjection.js +19 -0
  174. package/lib/commonjs/icons/components/IconRequest.js +19 -0
  175. package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
  176. package/lib/commonjs/icons/components/IconTechnology.js +19 -0
  177. package/lib/commonjs/icons/components/IconVolte.js +19 -0
  178. package/lib/commonjs/icons/components/IconVonr.js +19 -0
  179. package/lib/commonjs/icons/components/IconVowifi.js +19 -0
  180. package/lib/commonjs/icons/components/IconVpndata.js +19 -0
  181. package/lib/commonjs/icons/components/index.js +803 -0
  182. package/lib/commonjs/icons/registry.js +2 -2
  183. package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
  184. package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
  185. package/lib/commonjs/utils/index.js +25 -0
  186. package/lib/commonjs/utils/react-utils.js +118 -0
  187. package/lib/commonjs/utils/shadow.js +200 -0
  188. package/lib/commonjs/utils/web-platform-utils.js +59 -0
  189. package/lib/module/components/Accordion/Accordion.js +3 -2
  190. package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
  191. package/lib/module/components/AccountCard/AccountCard.js +5 -4
  192. package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
  193. package/lib/module/components/ActionTile/ActionTile.js +10 -10
  194. package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
  195. package/lib/module/components/AmountInput/AmountInput.js +3 -3
  196. package/lib/module/components/AreaLineChart/AreaLineChart.js +14 -10
  197. package/lib/module/components/Attached/Attached.js +1 -1
  198. package/lib/module/components/Avatar/Avatar.js +10 -10
  199. package/lib/module/components/AvatarGroup/AvatarGroup.js +9 -9
  200. package/lib/module/components/Badge/Badge.js +57 -18
  201. package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
  202. package/lib/module/components/BottomNav/BottomNav.js +2 -2
  203. package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
  204. package/lib/module/components/BrandChip/BrandChip.js +4 -4
  205. package/lib/module/components/Button/Button.js +32 -19
  206. package/lib/module/components/Card/Card.js +20 -20
  207. package/lib/module/components/CardAdvisory/CardAdvisory.js +9 -8
  208. package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
  209. package/lib/module/components/CardCTA/CardCTA.js +216 -46
  210. package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
  211. package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  212. package/lib/module/components/CardInsight/CardInsight.js +6 -3
  213. package/lib/module/components/Carousel/Carousel.js +18 -12
  214. package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
  215. package/lib/module/components/Checkbox/Checkbox.js +2 -9
  216. package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
  217. package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
  218. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +13 -9
  219. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +12 -11
  220. package/lib/module/components/CircularRating/CircularRating.js +6 -5
  221. package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
  222. package/lib/module/components/CompareTable/CompareTable.js +89 -60
  223. package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
  224. package/lib/module/components/DebitCard/DebitCard.js +18 -18
  225. package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
  226. package/lib/module/components/DonutChart/DonutChart.js +16 -15
  227. package/lib/module/components/Drawer/Drawer.js +60 -60
  228. package/lib/module/components/Dropdown/Dropdown.js +26 -26
  229. package/lib/module/components/DropdownInput/DropdownInput.js +14 -13
  230. package/lib/module/components/EmptyState/EmptyState.js +14 -14
  231. package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  232. package/lib/module/components/FilterBar/FilterBar.js +2 -2
  233. package/lib/module/components/Form/Form.js +3 -3
  234. package/lib/module/components/FormField/FormField.js +51 -11
  235. package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
  236. package/lib/module/components/Gauge/Gauge.js +9 -9
  237. package/lib/module/components/HoldingsCard/HoldingsCard.js +14 -13
  238. package/lib/module/components/Icon/Icon.js +6 -6
  239. package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
  240. package/lib/module/components/InputSearch/InputSearch.js +9 -9
  241. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +6 -5
  242. package/lib/module/components/ListGroup/ListGroup.js +11 -10
  243. package/lib/module/components/ListItem/ListItem.js +14 -13
  244. package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  245. package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
  246. package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
  247. package/lib/module/components/MediaCard/MediaCard.js +25 -23
  248. package/lib/module/components/MessageField/MessageField.js +8 -8
  249. package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
  250. package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
  251. package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
  252. package/lib/module/components/NavArrow/NavArrow.js +8 -8
  253. package/lib/module/components/NoteInput/NoteInput.js +12 -12
  254. package/lib/module/components/Nudge/Nudge.js +20 -20
  255. package/lib/module/components/OTP/OTP.js +15 -15
  256. package/lib/module/components/PageHero/PageHero.js +16 -16
  257. package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
  258. package/lib/module/components/Popup/Popup.js +1 -1
  259. package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
  260. package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +109 -35
  261. package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
  262. package/lib/module/components/ProgressBadge/ProgressBadge.js +8 -8
  263. package/lib/module/components/ProjectionMarker/ProjectionMarker.js +4 -3
  264. package/lib/module/components/Radio/Radio.js +9 -9
  265. package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
  266. package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
  267. package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
  268. package/lib/module/components/Section/Section.js +28 -27
  269. package/lib/module/components/Slider/Slider.js +4 -3
  270. package/lib/module/components/Stack/Stack.js +81 -0
  271. package/lib/module/components/StatusHero/StatusHero.js +14 -14
  272. package/lib/module/components/Stepper/Step.js +16 -16
  273. package/lib/module/components/Stepper/StepLabel.js +16 -16
  274. package/lib/module/components/Stepper/Stepper.js +3 -3
  275. package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
  276. package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
  277. package/lib/module/components/SupportText/SupportText.js +6 -6
  278. package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
  279. package/lib/module/components/Table/Table.js +315 -0
  280. package/lib/module/components/Text/Text.js +16 -3
  281. package/lib/module/components/TextInput/TextInput.js +23 -15
  282. package/lib/module/components/TextSegment/TextSegment.js +16 -3
  283. package/lib/module/components/ThreadHero/ThreadHero.js +22 -23
  284. package/lib/module/components/Title/Title.js +40 -17
  285. package/lib/module/components/Toast/Toast.js +19 -18
  286. package/lib/module/components/Toggle/Toggle.js +4 -12
  287. package/lib/module/components/Tooltip/Tooltip.js +12 -12
  288. package/lib/module/components/TransactionBubble/TransactionBubble.js +16 -15
  289. package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
  290. package/lib/module/components/TransactionStatus/TransactionStatus.js +13 -12
  291. package/lib/module/components/UpiHandle/UpiHandle.js +18 -18
  292. package/lib/module/components/index.js +4 -0
  293. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  294. package/lib/module/design-tokens/figma-modes.generated.js +51 -42
  295. package/lib/module/icons/components/Icon4g.js +12 -0
  296. package/lib/module/icons/components/Icon4gltedata.js +12 -0
  297. package/lib/module/icons/components/Icon5g.js +12 -0
  298. package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
  299. package/lib/module/icons/components/Icon5gplus.js +12 -0
  300. package/lib/module/icons/components/IconAdblocker.js +12 -0
  301. package/lib/module/icons/components/IconAdblockplus.js +12 -0
  302. package/lib/module/icons/components/IconAnalytics.js +12 -0
  303. package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
  304. package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
  305. package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
  306. package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
  307. package/lib/module/icons/components/IconCompoundinterest.js +12 -0
  308. package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
  309. package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
  310. package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
  311. package/lib/module/icons/components/IconConsumptionlow.js +12 -0
  312. package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
  313. package/lib/module/icons/components/IconCsvdoc.js +12 -0
  314. package/lib/module/icons/components/IconDatabase.js +12 -0
  315. package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
  316. package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
  317. package/lib/module/icons/components/IconDistribution.js +12 -0
  318. package/lib/module/icons/components/IconDocument.js +12 -0
  319. package/lib/module/icons/components/IconDocumentdoc.js +12 -0
  320. package/lib/module/icons/components/IconDocumentjpg.js +12 -0
  321. package/lib/module/icons/components/IconDocumentodt.js +12 -0
  322. package/lib/module/icons/components/IconDocumentpdf.js +12 -0
  323. package/lib/module/icons/components/IconDocumentpng.js +12 -0
  324. package/lib/module/icons/components/IconDocumentraw.js +12 -0
  325. package/lib/module/icons/components/IconDocumentrtf.js +12 -0
  326. package/lib/module/icons/components/IconDocumentsettings.js +12 -0
  327. package/lib/module/icons/components/IconDocumenttif.js +12 -0
  328. package/lib/module/icons/components/IconDocumenttxt.js +12 -0
  329. package/lib/module/icons/components/IconDocumentunknown.js +12 -0
  330. package/lib/module/icons/components/IconDocumentxls.js +12 -0
  331. package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
  332. package/lib/module/icons/components/IconFilerequest.js +12 -0
  333. package/lib/module/icons/components/IconFilesend.js +12 -0
  334. package/lib/module/icons/components/IconFileshare.js +12 -0
  335. package/lib/module/icons/components/IconFindinpage.js +12 -0
  336. package/lib/module/icons/components/IconFolder.js +12 -0
  337. package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
  338. package/lib/module/icons/components/IconFolderfavorites.js +12 -0
  339. package/lib/module/icons/components/IconFolderlocked.js +12 -0
  340. package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
  341. package/lib/module/icons/components/IconFolderpublic.js +12 -0
  342. package/lib/module/icons/components/IconFolderrated.js +12 -0
  343. package/lib/module/icons/components/IconFolderrequest.js +12 -0
  344. package/lib/module/icons/components/IconForm.js +12 -0
  345. package/lib/module/icons/components/IconFormadd.js +12 -0
  346. package/lib/module/icons/components/IconForms.js +12 -0
  347. package/lib/module/icons/components/IconGraphincreasing.js +12 -0
  348. package/lib/module/icons/components/IconGraphlow.js +12 -0
  349. package/lib/module/icons/components/IconGraphtable.js +12 -0
  350. package/lib/module/icons/components/IconHealthreport.js +12 -0
  351. package/lib/module/icons/components/IconHubmode.js +12 -0
  352. package/lib/module/icons/components/IconInfrastructure.js +12 -0
  353. package/lib/module/icons/components/IconInterestlow.js +12 -0
  354. package/lib/module/icons/components/IconLte.js +12 -0
  355. package/lib/module/icons/components/IconNetworkfuture.js +12 -0
  356. package/lib/module/icons/components/IconPagesettings.js +12 -0
  357. package/lib/module/icons/components/IconPptxdoc.js +12 -0
  358. package/lib/module/icons/components/IconPreferrednumber.js +12 -0
  359. package/lib/module/icons/components/IconPremiumnumber.js +12 -0
  360. package/lib/module/icons/components/IconProjection.js +12 -0
  361. package/lib/module/icons/components/IconRequest.js +12 -0
  362. package/lib/module/icons/components/IconRoutestraffic.js +12 -0
  363. package/lib/module/icons/components/IconTechnology.js +12 -0
  364. package/lib/module/icons/components/IconVolte.js +12 -0
  365. package/lib/module/icons/components/IconVonr.js +12 -0
  366. package/lib/module/icons/components/IconVowifi.js +12 -0
  367. package/lib/module/icons/components/IconVpndata.js +12 -0
  368. package/lib/module/icons/components/index.js +73 -0
  369. package/lib/module/icons/registry.js +2 -2
  370. package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
  371. package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
  372. package/lib/module/utils/index.js +2 -1
  373. package/lib/module/utils/react-utils.js +115 -0
  374. package/lib/module/utils/shadow.js +194 -0
  375. package/lib/module/utils/web-platform-utils.js +58 -0
  376. package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
  377. package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
  378. package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
  379. package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
  380. package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
  381. package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
  382. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
  383. package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
  384. package/lib/typescript/src/components/Button/Button.d.ts +7 -1
  385. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
  386. package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
  387. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
  388. package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
  389. package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
  390. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +7 -1
  391. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
  392. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
  393. package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
  394. package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +7 -1
  395. package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
  396. package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
  397. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
  398. package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +6 -0
  399. package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
  400. package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
  401. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
  402. package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
  403. package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
  404. package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
  405. package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
  406. package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
  407. package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +7 -1
  408. package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
  409. package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
  410. package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +7 -1
  411. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
  412. package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
  413. package/lib/typescript/src/components/Section/Section.d.ts +7 -1
  414. package/lib/typescript/src/components/Slider/Slider.d.ts +6 -0
  415. package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
  416. package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
  417. package/lib/typescript/src/components/Table/Table.d.ts +139 -0
  418. package/lib/typescript/src/components/Text/Text.d.ts +16 -1
  419. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +16 -1
  420. package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
  421. package/lib/typescript/src/components/Title/Title.d.ts +17 -1
  422. package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
  423. package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
  424. package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
  425. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
  426. package/lib/typescript/src/components/index.d.ts +6 -2
  427. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
  428. package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
  429. package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
  430. package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
  431. package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
  432. package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
  433. package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
  434. package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
  435. package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
  436. package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
  437. package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
  438. package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
  439. package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
  440. package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
  441. package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
  442. package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
  443. package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
  444. package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
  445. package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
  446. package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
  447. package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
  448. package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
  449. package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
  450. package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
  451. package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
  452. package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
  453. package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
  454. package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
  455. package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
  456. package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
  457. package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
  458. package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
  459. package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
  460. package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
  461. package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
  462. package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
  463. package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
  464. package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
  465. package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
  466. package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
  467. package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
  468. package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
  469. package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
  470. package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
  471. package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
  472. package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
  473. package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
  474. package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
  475. package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
  476. package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
  477. package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
  478. package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
  479. package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
  480. package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
  481. package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
  482. package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
  483. package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
  484. package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
  485. package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
  486. package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
  487. package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
  488. package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
  489. package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
  490. package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
  491. package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
  492. package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
  493. package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
  494. package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
  495. package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
  496. package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
  497. package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
  498. package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
  499. package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
  500. package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
  501. package/lib/typescript/src/icons/components/index.d.ts +73 -0
  502. package/lib/typescript/src/icons/registry.d.ts +1 -1
  503. package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.d.ts +31 -3
  504. package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.d.ts +18 -2
  505. package/lib/typescript/src/utils/index.d.ts +2 -0
  506. package/lib/typescript/src/utils/react-utils.d.ts +76 -0
  507. package/lib/typescript/src/utils/shadow.d.ts +72 -0
  508. package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
  509. package/package.json +2 -1
  510. package/src/components/Accordion/Accordion.tsx +9 -2
  511. package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
  512. package/src/components/AccountCard/AccountCard.tsx +10 -3
  513. package/src/components/ActionFooter/ActionFooter.tsx +8 -26
  514. package/src/components/ActionTile/ActionTile.tsx +10 -10
  515. package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
  516. package/src/components/AmountInput/AmountInput.tsx +3 -3
  517. package/src/components/AreaLineChart/AreaLineChart.tsx +17 -7
  518. package/src/components/Attached/Attached.tsx +1 -1
  519. package/src/components/Avatar/Avatar.tsx +10 -10
  520. package/src/components/AvatarGroup/AvatarGroup.tsx +9 -9
  521. package/src/components/Badge/Badge.tsx +86 -17
  522. package/src/components/BenefitCard/BenefitCard.tsx +120 -27
  523. package/src/components/BottomNav/BottomNav.tsx +2 -2
  524. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
  525. package/src/components/BrandChip/BrandChip.tsx +9 -3
  526. package/src/components/Button/Button.tsx +36 -19
  527. package/src/components/Card/Card.tsx +20 -20
  528. package/src/components/CardAdvisory/CardAdvisory.tsx +15 -8
  529. package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
  530. package/src/components/CardCTA/CardCTA.tsx +237 -64
  531. package/src/components/CardFeedback/CardFeedback.tsx +18 -18
  532. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
  533. package/src/components/CardInsight/CardInsight.tsx +8 -4
  534. package/src/components/Carousel/Carousel.tsx +29 -12
  535. package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
  536. package/src/components/Checkbox/Checkbox.tsx +2 -8
  537. package/src/components/ChipGroup/ChipGroup.tsx +1 -1
  538. package/src/components/ChipSelect/ChipSelect.tsx +11 -11
  539. package/src/components/CircularProgressBar/CircularProgressBar.tsx +19 -9
  540. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +18 -11
  541. package/src/components/CircularRating/CircularRating.tsx +12 -5
  542. package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
  543. package/src/components/CompareTable/CompareTable.tsx +114 -66
  544. package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
  545. package/src/components/DebitCard/DebitCard.tsx +22 -22
  546. package/src/components/Disclaimer/Disclaimer.tsx +5 -5
  547. package/src/components/DonutChart/DonutChart.tsx +21 -48
  548. package/src/components/Drawer/Drawer.tsx +80 -71
  549. package/src/components/Dropdown/Dropdown.tsx +32 -30
  550. package/src/components/DropdownInput/DropdownInput.tsx +19 -19
  551. package/src/components/EmptyState/EmptyState.tsx +14 -14
  552. package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
  553. package/src/components/FilterBar/FilterBar.tsx +2 -2
  554. package/src/components/Form/Form.tsx +3 -3
  555. package/src/components/FormField/FormField.tsx +55 -15
  556. package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
  557. package/src/components/Gauge/Gauge.tsx +9 -9
  558. package/src/components/HoldingsCard/HoldingsCard.tsx +19 -12
  559. package/src/components/Icon/Icon.tsx +6 -6
  560. package/src/components/IconCapsule/IconCapsule.tsx +7 -7
  561. package/src/components/InputSearch/InputSearch.tsx +9 -9
  562. package/src/components/InstitutionBadge/InstitutionBadge.tsx +12 -8
  563. package/src/components/ListGroup/ListGroup.tsx +17 -10
  564. package/src/components/ListItem/ListItem.tsx +20 -13
  565. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
  566. package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
  567. package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
  568. package/src/components/MediaCard/MediaCard.tsx +23 -23
  569. package/src/components/MessageField/MessageField.tsx +8 -16
  570. package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
  571. package/src/components/MoneyValue/MoneyValue.tsx +7 -7
  572. package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
  573. package/src/components/NavArrow/NavArrow.tsx +8 -8
  574. package/src/components/NoteInput/NoteInput.tsx +12 -12
  575. package/src/components/Nudge/Nudge.tsx +20 -20
  576. package/src/components/OTP/OTP.tsx +16 -16
  577. package/src/components/PageHero/PageHero.tsx +16 -16
  578. package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
  579. package/src/components/Popup/Popup.tsx +1 -1
  580. package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
  581. package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +104 -37
  582. package/src/components/ProductOverview/ProductOverview.tsx +10 -3
  583. package/src/components/ProgressBadge/ProgressBadge.tsx +14 -8
  584. package/src/components/ProjectionMarker/ProjectionMarker.tsx +9 -2
  585. package/src/components/Radio/Radio.tsx +8 -9
  586. package/src/components/RechargeCard/RechargeCard.tsx +31 -31
  587. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
  588. package/src/components/ScrollArea/ScrollArea.tsx +200 -0
  589. package/src/components/Section/Section.tsx +36 -29
  590. package/src/components/Slider/Slider.tsx +9 -2
  591. package/src/components/Stack/Stack.tsx +131 -0
  592. package/src/components/StatusHero/StatusHero.tsx +14 -14
  593. package/src/components/Stepper/Step.tsx +16 -18
  594. package/src/components/Stepper/StepLabel.tsx +16 -27
  595. package/src/components/Stepper/Stepper.tsx +3 -4
  596. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +20 -21
  597. package/src/components/SummaryTile/SummaryTile.tsx +9 -2
  598. package/src/components/SupportText/SupportText.tsx +6 -6
  599. package/src/components/SupportText/SupportTextIcon.tsx +2 -2
  600. package/src/components/Table/Table.tsx +449 -0
  601. package/src/components/Text/Text.tsx +28 -3
  602. package/src/components/TextInput/TextInput.tsx +21 -15
  603. package/src/components/TextSegment/TextSegment.tsx +27 -2
  604. package/src/components/ThreadHero/ThreadHero.tsx +27 -20
  605. package/src/components/Title/Title.tsx +50 -17
  606. package/src/components/Toast/Toast.tsx +24 -17
  607. package/src/components/Toggle/Toggle.tsx +5 -10
  608. package/src/components/Tooltip/Tooltip.tsx +12 -12
  609. package/src/components/TransactionBubble/TransactionBubble.tsx +22 -15
  610. package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
  611. package/src/components/TransactionStatus/TransactionStatus.tsx +18 -11
  612. package/src/components/UpiHandle/UpiHandle.tsx +24 -18
  613. package/src/components/index.ts +25 -2
  614. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  615. package/src/design-tokens/figma-modes.generated.ts +51 -42
  616. package/src/icons/components/Icon4g.tsx +11 -0
  617. package/src/icons/components/Icon4gltedata.tsx +11 -0
  618. package/src/icons/components/Icon5g.tsx +11 -0
  619. package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
  620. package/src/icons/components/Icon5gplus.tsx +11 -0
  621. package/src/icons/components/IconAdblocker.tsx +11 -0
  622. package/src/icons/components/IconAdblockplus.tsx +11 -0
  623. package/src/icons/components/IconAnalytics.tsx +11 -0
  624. package/src/icons/components/IconAnalyticsdata.tsx +11 -0
  625. package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
  626. package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
  627. package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
  628. package/src/icons/components/IconCompoundinterest.tsx +11 -0
  629. package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
  630. package/src/icons/components/IconConsumptionaverage.tsx +11 -0
  631. package/src/icons/components/IconConsumptionhigh.tsx +11 -0
  632. package/src/icons/components/IconConsumptionlow.tsx +11 -0
  633. package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
  634. package/src/icons/components/IconCsvdoc.tsx +11 -0
  635. package/src/icons/components/IconDatabase.tsx +11 -0
  636. package/src/icons/components/IconDigitalecosystem.tsx +11 -0
  637. package/src/icons/components/IconDigitalselfservice.tsx +11 -0
  638. package/src/icons/components/IconDistribution.tsx +11 -0
  639. package/src/icons/components/IconDocument.tsx +11 -0
  640. package/src/icons/components/IconDocumentdoc.tsx +11 -0
  641. package/src/icons/components/IconDocumentjpg.tsx +11 -0
  642. package/src/icons/components/IconDocumentodt.tsx +11 -0
  643. package/src/icons/components/IconDocumentpdf.tsx +11 -0
  644. package/src/icons/components/IconDocumentpng.tsx +11 -0
  645. package/src/icons/components/IconDocumentraw.tsx +11 -0
  646. package/src/icons/components/IconDocumentrtf.tsx +11 -0
  647. package/src/icons/components/IconDocumentsettings.tsx +11 -0
  648. package/src/icons/components/IconDocumenttif.tsx +11 -0
  649. package/src/icons/components/IconDocumenttxt.tsx +11 -0
  650. package/src/icons/components/IconDocumentunknown.tsx +11 -0
  651. package/src/icons/components/IconDocumentxls.tsx +11 -0
  652. package/src/icons/components/IconDocumentxlsx.tsx +11 -0
  653. package/src/icons/components/IconFilerequest.tsx +11 -0
  654. package/src/icons/components/IconFilesend.tsx +11 -0
  655. package/src/icons/components/IconFileshare.tsx +11 -0
  656. package/src/icons/components/IconFindinpage.tsx +11 -0
  657. package/src/icons/components/IconFolder.tsx +11 -0
  658. package/src/icons/components/IconFolderbookmarks.tsx +11 -0
  659. package/src/icons/components/IconFolderfavorites.tsx +11 -0
  660. package/src/icons/components/IconFolderlocked.tsx +11 -0
  661. package/src/icons/components/IconFoldermovefiles.tsx +11 -0
  662. package/src/icons/components/IconFolderpublic.tsx +11 -0
  663. package/src/icons/components/IconFolderrated.tsx +11 -0
  664. package/src/icons/components/IconFolderrequest.tsx +11 -0
  665. package/src/icons/components/IconForm.tsx +11 -0
  666. package/src/icons/components/IconFormadd.tsx +11 -0
  667. package/src/icons/components/IconForms.tsx +11 -0
  668. package/src/icons/components/IconGraphincreasing.tsx +11 -0
  669. package/src/icons/components/IconGraphlow.tsx +11 -0
  670. package/src/icons/components/IconGraphtable.tsx +11 -0
  671. package/src/icons/components/IconHealthreport.tsx +11 -0
  672. package/src/icons/components/IconHubmode.tsx +11 -0
  673. package/src/icons/components/IconInfrastructure.tsx +11 -0
  674. package/src/icons/components/IconInterestlow.tsx +11 -0
  675. package/src/icons/components/IconLte.tsx +11 -0
  676. package/src/icons/components/IconNetworkfuture.tsx +11 -0
  677. package/src/icons/components/IconPagesettings.tsx +11 -0
  678. package/src/icons/components/IconPptxdoc.tsx +11 -0
  679. package/src/icons/components/IconPreferrednumber.tsx +11 -0
  680. package/src/icons/components/IconPremiumnumber.tsx +11 -0
  681. package/src/icons/components/IconProjection.tsx +11 -0
  682. package/src/icons/components/IconRequest.tsx +11 -0
  683. package/src/icons/components/IconRoutestraffic.tsx +11 -0
  684. package/src/icons/components/IconTechnology.tsx +11 -0
  685. package/src/icons/components/IconVolte.tsx +11 -0
  686. package/src/icons/components/IconVonr.tsx +11 -0
  687. package/src/icons/components/IconVowifi.tsx +11 -0
  688. package/src/icons/components/IconVpndata.tsx +11 -0
  689. package/src/icons/components/index.ts +73 -0
  690. package/src/icons/registry.ts +293 -1
  691. package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.tsx +32 -3
  692. package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.tsx +25 -4
  693. package/src/utils/index.ts +2 -0
  694. package/src/utils/react-utils.ts +132 -0
  695. package/src/utils/shadow.ts +219 -0
  696. package/src/utils/web-platform-utils.ts +68 -0
  697. package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
  698. package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
  699. package/lib/module/components/MediaCard/GlassFill.js +0 -57
  700. package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
  701. package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
  702. package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
  703. package/src/components/MediaCard/GlassFill.tsx +0 -89
  704. package/src/components/MediaCard/GlassFill.web.tsx +0 -53
@@ -65,6 +65,16 @@ export interface CarouselProps {
65
65
  gap?: number
66
66
  /** Width of each carousel item. When undefined, items take full container width. */
67
67
  itemWidth?: number
68
+ /**
69
+ * Explicit horizontal padding (px) for the scroll content. When provided it
70
+ * overrides the token-derived padding verbatim — the built-in `carousel/
71
+ * padding/horizontal × 2` "peek" multiplier is NOT applied. Use this for
72
+ * presets (e.g. the account-card strip) whose own tokens define a flush,
73
+ * non-peeking layout.
74
+ */
75
+ paddingHorizontal?: number
76
+ /** Explicit vertical padding (px) for the outer container. Overrides `carousel/padding/vertical`. */
77
+ paddingVertical?: number
68
78
 
69
79
  /** Called when the active index changes. */
70
80
  onIndexChange?: (index: number) => void
@@ -85,27 +95,29 @@ export function Carousel({
85
95
  loop = true,
86
96
  gap: gapProp,
87
97
  itemWidth: itemWidthProp,
98
+ paddingHorizontal: paddingHorizontalProp,
99
+ paddingVertical: paddingVerticalProp,
88
100
 
89
101
  onIndexChange,
90
102
  style,
91
103
  }: CarouselProps) {
92
104
  // ---- Token resolution ----
93
105
  const tokenGap = parseFloat(
94
- getVariableByName('carousel/gap', modes) || '12',
106
+ getVariableByName('carousel/gap', modes),
95
107
  )
96
108
  const gap = gapProp ?? tokenGap
97
109
 
98
110
 
99
111
 
100
112
  const containerPaddingH = parseFloat(
101
- getVariableByName('carousel/padding/horizontal', modes) || '0',
113
+ getVariableByName('carousel/padding/horizontal', modes),
102
114
  )
103
115
  const containerPaddingV = parseFloat(
104
- getVariableByName('carousel/padding/vertical', modes) || '0',
116
+ getVariableByName('carousel/padding/vertical', modes),
105
117
  )
106
118
  // Outer container max height per Figma (`carousel/maxHeight`).
107
119
  const maxHeight = parseFloat(
108
- getVariableByName('carousel/maxHeight', modes) || '280',
120
+ getVariableByName('carousel/maxHeight', modes),
109
121
  )
110
122
  // Spacing between the cards row and the pagination dots uses `carousel/gap`.
111
123
  const paginationOffset = gap
@@ -254,13 +266,18 @@ export function Carousel({
254
266
  )
255
267
 
256
268
  // ---- Render ----
269
+ // Explicit padding props win verbatim; otherwise fall back to the
270
+ // token-derived values (horizontal keeps its legacy ×2 "peek" multiplier).
271
+ const effectivePaddingH = paddingHorizontalProp ?? containerPaddingH
272
+ const effectivePaddingV = paddingVerticalProp ?? containerPaddingV
273
+
257
274
  const outerStyle: ViewStyle = {
258
- paddingVertical: containerPaddingV,
275
+ paddingVertical: effectivePaddingV,
259
276
  maxHeight,
260
277
  }
261
278
 
262
279
  const contentContainerStyle: ViewStyle = {
263
- paddingHorizontal: containerPaddingH * 2,
280
+ paddingHorizontal: effectivePaddingH,
264
281
  gap,
265
282
  // Align items to the start so snap works correctly
266
283
  alignItems: 'flex-start',
@@ -372,26 +389,26 @@ export function Pagination({ modes: propModes, style }: PaginationProps) {
372
389
  // Token resolution for dots — matches Figma tokens
373
390
  // (carousel/pagination/gap, carousel/pagination/indicator/{activeColor,inactiveColor,radius,size,activeWidth}).
374
391
  const dotSize = parseFloat(
375
- getVariableByName('carousel/pagination/indicator/size', modes) || '6',
392
+ getVariableByName('carousel/pagination/indicator/size', modes),
376
393
  )
377
394
  const dotActiveWidth = parseFloat(
378
- getVariableByName('carousel/pagination/indicator/activeWidth', modes) || '16',
395
+ getVariableByName('carousel/pagination/indicator/activeWidth', modes),
379
396
  )
380
397
  const dotGap = parseFloat(
381
- getVariableByName('carousel/pagination/gap', modes) || '4',
398
+ getVariableByName('carousel/pagination/gap', modes),
382
399
  )
383
400
  const dotColor =
384
401
  (getVariableByName(
385
402
  'carousel/pagination/indicator/inactiveColor',
386
403
  modes,
387
- ) as string) || 'rgba(0,0,0,0.3)'
404
+ ) as string)
388
405
  const dotActiveColor =
389
406
  (getVariableByName(
390
407
  'carousel/pagination/indicator/activeColor',
391
408
  modes,
392
- ) as string) || '#170d0a'
409
+ ) as string)
393
410
  const dotRadius = parseFloat(
394
- getVariableByName('carousel/pagination/indicator/radius', modes) || '9999',
411
+ getVariableByName('carousel/pagination/indicator/radius', modes),
395
412
  )
396
413
 
397
414
  const containerStyle: ViewStyle = {
@@ -0,0 +1,113 @@
1
+ import React from 'react'
2
+ import type { StyleProp, ViewStyle } from 'react-native'
3
+ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
4
+ import { EMPTY_MODES } from '../../utils/react-utils'
5
+ import type { Modes } from '../../design-tokens'
6
+ import Carousel from '../Carousel/Carousel'
7
+
8
+ // Figma reference width for a single Account Card slot (`Carousel / Card Accounts`).
9
+ const DEFAULT_ITEM_WIDTH = 125
10
+
11
+ const toNumber = (value: unknown, fallback: number): number => {
12
+ if (typeof value === 'number') return Number.isFinite(value) ? value : fallback
13
+ if (typeof value === 'string') {
14
+ const parsed = parseFloat(value)
15
+ return Number.isFinite(parsed) ? parsed : fallback
16
+ }
17
+ return fallback
18
+ }
19
+
20
+ export interface CarouselCardAccountsProps {
21
+ /**
22
+ * The account cards to render — this is the slot. Pass any number of
23
+ * `AccountCard` elements (or any node). Each becomes one horizontally
24
+ * scrollable, snap-aligned item. `modes` are forwarded to every child.
25
+ */
26
+ children?: React.ReactNode
27
+ /** Design-token modes (e.g. `{ 'Color Mode': 'Light' }`). */
28
+ modes?: Modes
29
+ /**
30
+ * Width of each card slot in px. Defaults to the Figma reference width
31
+ * (`125`). Combined with `gap` this drives the per-card snap interval.
32
+ */
33
+ itemWidth?: number
34
+ /**
35
+ * Gap between cards in px. Resolved from the `carouselCardAccounts/gap`
36
+ * token (default `8`) when omitted.
37
+ */
38
+ gap?: number
39
+ /**
40
+ * Show the pagination dots. Defaults to `false` — the account strip is a
41
+ * flush, free-scrolling row rather than a paged hero carousel.
42
+ */
43
+ showPagination?: boolean
44
+ /** Loop back to the first card after the last. Default: `false`. */
45
+ loop?: boolean
46
+ /** Called when the active (snapped) card index changes. */
47
+ onIndexChange?: (index: number) => void
48
+ /** Style override for the outermost container. */
49
+ style?: StyleProp<ViewStyle>
50
+ }
51
+
52
+ /**
53
+ * `CarouselCardAccounts` — a horizontally scrollable strip of compact
54
+ * `AccountCard`s (the Figma "Carousel / Card Accounts" component).
55
+ *
56
+ * It is a thin, opinionated preset over the shared {@link Carousel} scroll
57
+ * engine — so the snap/scroll/modes-cascade behaviour is **not** duplicated.
58
+ * Its niche is the account-selection strip: fixed-width card slots, flush
59
+ * (no peek) padding, per-card snapping, and no pagination by default.
60
+ *
61
+ * The cards are a real slot: pass any number of `AccountCard` children
62
+ * (typically a list of `connected` cards followed by a single `add` card).
63
+ *
64
+ * @example
65
+ * <CarouselCardAccounts modes={modes}>
66
+ * <AccountCard title="Personal account" subtitle="**** 5651" imageSource={art} />
67
+ * <AccountCard title="Salary account" subtitle="**** 1180" imageSource={art} />
68
+ * <AccountCard state="add" title="Add a card" onPress={openLinkFlow} />
69
+ * </CarouselCardAccounts>
70
+ */
71
+ function CarouselCardAccounts({
72
+ children,
73
+ modes = EMPTY_MODES,
74
+ itemWidth = DEFAULT_ITEM_WIDTH,
75
+ gap: gapProp,
76
+ showPagination = false,
77
+ loop = false,
78
+ onIndexChange,
79
+ style,
80
+ }: CarouselCardAccountsProps) {
81
+ const gap = gapProp ?? toNumber(getVariableByName('carouselCardAccounts/gap', modes), 8)
82
+
83
+ // Outer-container padding is driven by the design's own tokens
84
+ // (`carouselCardAccounts/padding/*`) rather than the generic `carousel/*`
85
+ // padding, matching the Figma "Carousel / Card Accounts" frame.
86
+ const paddingHorizontal = toNumber(
87
+ getVariableByName('carouselCardAccounts/padding/horizontal', modes),
88
+ 0,
89
+ )
90
+ const paddingVertical = toNumber(
91
+ getVariableByName('carouselCardAccounts/padding/vertical', modes),
92
+ 0,
93
+ )
94
+
95
+ return (
96
+ <Carousel
97
+ modes={modes}
98
+ itemWidth={itemWidth}
99
+ gap={gap}
100
+ showPagination={showPagination}
101
+ loop={loop}
102
+ autoPlay={false}
103
+ paddingHorizontal={paddingHorizontal}
104
+ paddingVertical={paddingVertical}
105
+ {...(onIndexChange ? { onIndexChange } : {})}
106
+ style={style}
107
+ >
108
+ {children}
109
+ </Carousel>
110
+ )
111
+ }
112
+
113
+ export default React.memo(CarouselCardAccounts)
@@ -9,6 +9,7 @@ import {
9
9
  import Svg, { Path } from 'react-native-svg'
10
10
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
11
11
  import { EMPTY_MODES } from '../../utils/react-utils'
12
+ import { boxShadow } from '../../utils/shadow'
12
13
  import type { Modes } from '../../design-tokens'
13
14
 
14
15
  /**
@@ -116,7 +117,7 @@ const Checkbox = forwardRef<View, CheckboxProps>(function Checkbox({
116
117
 
117
118
  const size = getVariableByName('checkbox/size', modes) ?? 18
118
119
  const radius = getVariableByName('checkbox/radius', modes) ?? 4
119
- const strokeWidth = getVariableByName('strokeWidth', modes) ?? 1
120
+ const strokeWidth = 1
120
121
 
121
122
  const idleStroke = getVariableByName('checkbox/idle/stroke/color', modes) ?? '#666666'
122
123
  const hoverFill = getVariableByName('checkbox/hover/fill/color', modes) ?? 'rgba(0,0,0,0.1)'
@@ -256,11 +257,4 @@ const Checkbox = forwardRef<View, CheckboxProps>(function Checkbox({
256
257
  )
257
258
  })
258
259
 
259
- function boxShadow(value: string): ViewStyle {
260
- if (Platform.OS === 'web') {
261
- return { boxShadow: value } as ViewStyle
262
- }
263
- return {}
264
- }
265
-
266
260
  export default Checkbox
@@ -36,7 +36,7 @@ function ChipGroup({
36
36
  testID,
37
37
  }: ChipGroupProps) {
38
38
  // --- Token Resolution ---
39
- const gap = parseInt(getVariableByName('chipGroup/gap', modes), 10) || 8;
39
+ const gap = parseInt(getVariableByName('chipGroup/gap', modes), 10);
40
40
 
41
41
  // --- Styles ---
42
42
  const containerStyle: ViewStyle = {
@@ -60,23 +60,23 @@ function ChipSelect({
60
60
  };
61
61
 
62
62
  // --- Token Resolution ---
63
- const gap = parseInt(getVariableByName('chipSelect/gap', resolvedModes), 10) || 4;
64
- const paddingHorizontal = parseInt(getVariableByName('chipSelect/padding/horizontal', resolvedModes), 10) || 16;
65
- const paddingVertical = parseInt(getVariableByName('chipSelect/padding/vertical', resolvedModes), 10) || 0;
66
- const radius = parseInt(getVariableByName('chipSelect/radius', resolvedModes), 10) || 999;
63
+ const gap = parseInt(getVariableByName('chipSelect/gap', resolvedModes), 10);
64
+ const paddingHorizontal = parseInt(getVariableByName('chipSelect/padding/horizontal', resolvedModes), 10);
65
+ const paddingVertical = parseInt(getVariableByName('chipSelect/padding/vertical', resolvedModes), 10);
66
+ const radius = parseInt(getVariableByName('chipSelect/radius', resolvedModes), 10);
67
67
 
68
68
  // Background
69
- const backgroundColor = getVariableByName('chipSelect/background', resolvedModes) || '#f5f5f5';
69
+ const backgroundColor = getVariableByName('chipSelect/background', resolvedModes);
70
70
 
71
71
  // Text Styles
72
- const textColor = getVariableByName('chipSelect/foreground', resolvedModes) || '#0d0d0f';
73
- const fontSize = parseInt(getVariableByName('chipSelect/fontSize', resolvedModes), 10) || 14;
74
- const fontFamily = getVariableByName('chipSelect/fontFamily', resolvedModes) || 'JioType Var';
75
- const lineHeight = parseInt(getVariableByName('chipSelect/lineHeight', resolvedModes), 10) || 32;
76
- const fontWeight = getVariableByName('chipSelect/fontWeight', resolvedModes) || '700';
72
+ const textColor = getVariableByName('chipSelect/foreground', resolvedModes);
73
+ const fontSize = parseInt(getVariableByName('chipSelect/fontSize', resolvedModes), 10);
74
+ const fontFamily = getVariableByName('chipSelect/fontFamily', resolvedModes);
75
+ const lineHeight = parseInt(getVariableByName('chipSelect/lineHeight', resolvedModes), 10);
76
+ const fontWeight = getVariableByName('chipSelect/fontWeight', resolvedModes);
77
77
 
78
78
  // Icon Styles
79
- const iconSize = parseInt(getVariableByName('chipSelect/icon/size', resolvedModes), 10) || 16;
79
+ const iconSize = parseInt(getVariableByName('chipSelect/icon/size', resolvedModes), 10);
80
80
 
81
81
  // --- Styles ---
82
82
  const containerStyle: ViewStyle = {
@@ -3,7 +3,7 @@ import { StyleSheet, Text, View, type StyleProp, type TextStyle, type ViewStyle
3
3
  import Svg, { Circle } from 'react-native-svg'
4
4
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
5
5
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
6
- import { EMPTY_MODES } from '../../utils/react-utils'
6
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
7
7
  import { IconMinus } from '../../icons/components/IconMinus'
8
8
  import type { Modes } from '../../design-tokens'
9
9
 
@@ -40,6 +40,12 @@ export type CircularProgressBarProps = CircularProgressBarBaseProps & {
40
40
  supportTextStyle?: StyleProp<TextStyle>
41
41
  /** Accessibility label for the whole progress component. */
42
42
  accessibilityLabel?: string
43
+ /**
44
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
45
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
46
+ * lines as it needs even when horizontal space is tight.
47
+ */
48
+ disableTruncation?: boolean
43
49
  }
44
50
 
45
51
  const STROKE_WIDTH_RATIO = 8 / 60
@@ -72,8 +78,11 @@ const toFontWeight = (value: unknown, fallback: TextStyle['fontWeight']) => {
72
78
  }
73
79
 
74
80
  const getStrokeColor = (style: StyleProp<ViewStyle>, fallback: string) => {
81
+ // `StyleSheet.flatten(undefined)` returns `undefined`, so guard before
82
+ // reading `backgroundColor` — otherwise omitting the optional style prop
83
+ // crashes with "Cannot read property 'backgroundColor' of undefined".
75
84
  const flattened = StyleSheet.flatten(style)
76
- return typeof flattened.backgroundColor === 'string'
85
+ return typeof flattened?.backgroundColor === 'string'
77
86
  ? flattened.backgroundColor
78
87
  : fallback
79
88
  }
@@ -90,6 +99,7 @@ function CircularProgressBar({
90
99
  valueStyle,
91
100
  supportTextStyle,
92
101
  accessibilityLabel,
102
+ disableTruncation,
93
103
  ...rest
94
104
  }: CircularProgressBarProps) {
95
105
  const { modes: globalModes } = useTokens()
@@ -116,18 +126,18 @@ function CircularProgressBar({
116
126
 
117
127
  const trackColor = getStrokeColor(
118
128
  trackStyle,
119
- getVariableByName('circularProgressBar/track/color', trackModes) as string || '#ebebed'
129
+ getVariableByName('circularProgressBar/track/color', trackModes)
120
130
  )
121
131
  const progressColor = getStrokeColor(
122
132
  progressStyle,
123
- getVariableByName('circularProgressBar/progress/color', modes) as string || '#25ab21'
133
+ getVariableByName('circularProgressBar/progress/color', modes)
124
134
  )
125
- const iconColor = getVariableByName('circularProgressBar/icon/color', modes) as string || '#666666'
135
+ const iconColor = getVariableByName('circularProgressBar/icon/color', modes)
126
136
  const iconSize = toNumber(getVariableByName('circularProgressBar/icon/size', modes), 24)
127
137
 
128
- const foreground = getVariableByName('circularProgressBar/foreground', modes) as string || '#0d0d0f'
138
+ const foreground = getVariableByName('circularProgressBar/foreground', modes)
129
139
  const fontSize = toNumber(getVariableByName('circularProgressBar/value/fontSize', modes), 18)
130
- const fontFamily = getVariableByName('circularProgressBar/fontFamily', modes) as string || 'JioType Var'
140
+ const fontFamily = getVariableByName('circularProgressBar/fontFamily', modes)
131
141
  const lineHeight = toNumber(getVariableByName('circularProgressBar/value/lineHeight', modes), 21)
132
142
  const fontWeight = toFontWeight(getVariableByName('circularProgressBar/value/fontWeight', modes), '700')
133
143
 
@@ -232,11 +242,11 @@ function CircularProgressBar({
232
242
  {isActive ? (
233
243
  <View style={textStackStyle} pointerEvents="none">
234
244
  {hasSupportText ? (
235
- <Text style={[computedSupportTextStyle, supportTextStyle]} numberOfLines={1}>
245
+ <Text style={[computedSupportTextStyle, supportTextStyle]} {...resolveTruncation(disableTruncation, 1)}>
236
246
  {supportText}
237
247
  </Text>
238
248
  ) : null}
239
- <Text style={[computedValueStyle, valueStyle]} numberOfLines={1}>
249
+ <Text style={[computedValueStyle, valueStyle]} {...resolveTruncation(disableTruncation, 1)}>
240
250
  {displayValue}
241
251
  </Text>
242
252
  </View>
@@ -11,7 +11,7 @@ import {
11
11
  } from 'react-native'
12
12
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
13
13
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
14
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
14
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
15
15
  import { IconChevronright } from '../../icons/components/IconChevronright'
16
16
  import type { Modes } from '../../design-tokens'
17
17
 
@@ -58,6 +58,12 @@ export type CircularProgressBarDotedProps = CircularProgressBarDotedBaseProps &
58
58
  tierLabelStyle?: StyleProp<TextStyle>
59
59
  /** Accessibility label for the whole progress component. */
60
60
  accessibilityLabel?: string
61
+ /**
62
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
63
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
64
+ * lines as it needs even when horizontal space is tight.
65
+ */
66
+ disableTruncation?: boolean
61
67
  }
62
68
 
63
69
  const DEFAULT_DOT_COUNT = 24
@@ -92,7 +98,7 @@ const toFontWeight = (value: unknown, fallback: TextStyle['fontWeight']) => {
92
98
 
93
99
  const getBackgroundColor = (style: StyleProp<ViewStyle>, fallback: string) => {
94
100
  const flattened = StyleSheet.flatten(style)
95
- return typeof flattened.backgroundColor === 'string'
101
+ return flattened && typeof flattened.backgroundColor === 'string'
96
102
  ? flattened.backgroundColor
97
103
  : fallback
98
104
  }
@@ -118,6 +124,7 @@ function CircularProgressBarDoted({
118
124
  scoreLabelStyle,
119
125
  tierLabelStyle,
120
126
  accessibilityLabel,
127
+ disableTruncation,
121
128
  onLayout,
122
129
  ...rest
123
130
  }: CircularProgressBarDotedProps) {
@@ -140,11 +147,11 @@ function CircularProgressBarDoted({
140
147
 
141
148
  const trackDotColor = getBackgroundColor(
142
149
  trackDotStyle,
143
- getVariableByName('circularProgressBarDoted/trackDot/bg', modes) as string || '#ebebed'
150
+ getVariableByName('circularProgressBarDoted/trackDot/bg', modes)
144
151
  )
145
152
  const progressDotColor = getBackgroundColor(
146
153
  progressDotStyle,
147
- getVariableByName('circularProgressBarDoted/progressDot/bg', modes) as string || '#25ab21'
154
+ getVariableByName('circularProgressBarDoted/progressDot/bg', modes)
148
155
  )
149
156
 
150
157
  const contentGap = toNumber(getVariableByName('circularProgressBarDoted/gap', modes), 12)
@@ -153,21 +160,21 @@ function CircularProgressBarDoted({
153
160
  const scoreTrendGap = toNumber(getVariableByName('circularProgressBarDoted/scoreTrend/gap', modes), 2)
154
161
  const scoreTrendHeight = toNumber(getVariableByName('circularProgressBarDoted/scoreTrend/height', modes), 24)
155
162
 
156
- const typographyFontFamily = getVariableByName('Typography/Font Family', modes) as string || 'JioType Var'
157
- const labelColor = getVariableByName('circularProgressBarDoted/label/color', modes) as string || '#080d1a'
163
+ const typographyFontFamily = getVariableByName('Typography/Font Family', modes)
164
+ const labelColor = getVariableByName('circularProgressBarDoted/label/color', modes)
158
165
  const labelFontSize = toNumber(getVariableByName('Typography/Size/Body/XS', modes), 12)
159
166
  const labelFontWeight = toFontWeight(getVariableByName('Typography/Font Weight/Body Low (Regular)', modes), '400')
160
167
 
161
- const scoreColor = getVariableByName('circularProgressBarDoted/scoreLabel/color', modes) as string || '#080d1a'
168
+ const scoreColor = getVariableByName('circularProgressBarDoted/scoreLabel/color', modes)
162
169
  const scoreFontSize = toNumber(getVariableByName('circularProgressBarDoted/scoreLabel/fontSize', modes), 56)
163
- const scoreFontFamily = getVariableByName('circularProgressBarDoted/scoreLabel/fontFamily', modes) as string || 'JioType Var'
170
+ const scoreFontFamily = getVariableByName('circularProgressBarDoted/scoreLabel/fontFamily', modes)
164
171
  const scoreLineHeight = toNumber(getVariableByName('circularProgressBarDoted/scoreLabel/lineHeight', modes), 56)
165
172
  const scoreFontWeight = toFontWeight(getVariableByName('circularProgressBarDoted/scoreLabel/fontWeight', modes), '900')
166
173
 
167
- const tierColor = getVariableByName('circularProgressBarDoted/tierLabel/color', modes) as string || '#080d1a'
174
+ const tierColor = getVariableByName('circularProgressBarDoted/tierLabel/color', modes)
168
175
  const tierFontSize = toNumber(getVariableByName('Typography/Size/Body/M', modes), 16)
169
176
  const tierFontWeight = toFontWeight(getVariableByName('Typography/Font Weight/Body High', modes), '700')
170
- const iconColor = getVariableByName('circularProgressBarDoted/icon/color', modes) as string || '#303338'
177
+ const iconColor = getVariableByName('circularProgressBarDoted/icon/color', modes)
171
178
  const iconSize = toNumber(getVariableByName('circularProgressBarDoted/icon/size', modes), 24)
172
179
 
173
180
  const dots = useMemo(
@@ -277,7 +284,7 @@ function CircularProgressBarDoted({
277
284
 
278
285
  const trendContent = (
279
286
  <>
280
- <Text numberOfLines={1} style={[computedTierLabelStyle, tierLabelStyle]}>
287
+ <Text {...resolveTruncation(disableTruncation, 1)} style={[computedTierLabelStyle, tierLabelStyle]}>
281
288
  {tierLabel}
282
289
  </Text>
283
290
  {showChevron ? (
@@ -9,7 +9,7 @@ import {
9
9
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
10
10
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
11
11
  import Icon from '../../icons/Icon'
12
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
12
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
13
13
  import CircularProgressBarDoted from '../CircularProgressBarDoted/CircularProgressBarDoted'
14
14
  import Nudge from '../Nudge/Nudge'
15
15
  import type { Modes } from '../../design-tokens'
@@ -57,6 +57,12 @@ export type CircularRatingProps = CircularRatingBaseProps & {
57
57
  nudgeStyle?: StyleProp<ViewStyle>
58
58
  /** Accessibility label for the whole component. */
59
59
  accessibilityLabel?: string
60
+ /**
61
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
62
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
63
+ * lines as it needs even when horizontal space is tight.
64
+ */
65
+ disableTruncation?: boolean
60
66
  }
61
67
 
62
68
  interface CircularRatingTokens {
@@ -99,9 +105,9 @@ function resolveCircularRatingTokens(modes: Modes): CircularRatingTokens {
99
105
 
100
106
  const footerGap = toNumber(getVariableByName('circularRating/footer/gap', modes), 4)
101
107
  const footerHeight = toNumber(getVariableByName('circularRating/footer/height', modes), 16)
102
- const footerTextColor = getVariableByName('circularRating/footer/text/color', modes) || '#0d0d0f'
108
+ const footerTextColor = getVariableByName('circularRating/footer/text/color', modes)
103
109
  const footerTextFontSize = toNumber(getVariableByName('circularRating/footer/text/fontSize', modes), 12)
104
- const footerTextFontFamily = getVariableByName('circularRating/footer/text/fontFamily', modes) || 'JioType Var'
110
+ const footerTextFontFamily = getVariableByName('circularRating/footer/text/fontFamily', modes)
105
111
  const footerTextLineHeight = toNumber(getVariableByName('circularRating/footer/text/lineHeight', modes), 16)
106
112
  const footerTextFontWeight = toFontWeight(
107
113
  getVariableByName('circularRating/footer/text/fontWeight', modes),
@@ -135,7 +141,7 @@ function resolveCircularRatingTokens(modes: Modes): CircularRatingTokens {
135
141
  lineHeight: footerTextLineHeight,
136
142
  textAlign: 'center',
137
143
  },
138
- footerIconColor: (getVariableByName('circularRating/footer/icon/color', modes) || '#1a1c1f') as string,
144
+ footerIconColor: (getVariableByName('circularRating/footer/icon/color', modes)) as string,
139
145
  footerIconSize: toNumber(getVariableByName('circularRating/footer/icon/size', modes), 16),
140
146
  }
141
147
  }
@@ -161,6 +167,7 @@ function CircularRating({
161
167
  footerTextStyle,
162
168
  nudgeStyle,
163
169
  accessibilityLabel,
170
+ disableTruncation,
164
171
  ...rest
165
172
  }: CircularRatingProps) {
166
173
  const { modes: globalModes } = useTokens()
@@ -207,7 +214,7 @@ function CircularRating({
207
214
  <View style={[tokens.footerStyle, footerStyle]}>
208
215
  {processedFooterSlot || (
209
216
  <>
210
- <Text numberOfLines={1} style={[tokens.footerTextStyle, footerTextStyle]}>
217
+ <Text {...resolveTruncation(disableTruncation, 1)} style={[tokens.footerTextStyle, footerTextStyle]}>
211
218
  {footerText}
212
219
  </Text>
213
220
  {showFooterIcon ? (
@@ -11,7 +11,7 @@ import {
11
11
  } from 'react-native'
12
12
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
13
13
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
14
- import { EMPTY_MODES } from '../../utils/react-utils'
14
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
15
15
  import type { Modes } from '../../design-tokens'
16
16
 
17
17
  /** Where the value/label text sits relative to the circle. */
@@ -76,6 +76,12 @@ export type ClusterBubbleProps = {
76
76
  modes?: Modes
77
77
  /** Accessibility label. Defaults to a `value + label` composite. */
78
78
  accessibilityLabel?: string
79
+ /**
80
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
81
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
82
+ * lines as it needs even when horizontal space is tight.
83
+ */
84
+ disableTruncation?: boolean
79
85
  }
80
86
 
81
87
  const DEFAULT_FILL = '#5d00b5'
@@ -149,6 +155,7 @@ function ClusterBubble({
149
155
  style,
150
156
  modes: propModes = EMPTY_MODES,
151
157
  accessibilityLabel,
158
+ disableTruncation,
152
159
  }: ClusterBubbleProps) {
153
160
  const { modes: globalModes } = useTokens()
154
161
  const modes = useMemo(() => ({ ...globalModes, ...propModes }), [globalModes, propModes])
@@ -207,7 +214,7 @@ function ClusterBubble({
207
214
  if (node === undefined || node === null || node === false) return null
208
215
  if (typeof node === 'string' || typeof node === 'number') {
209
216
  return (
210
- <Text style={[baseStyle, override]} numberOfLines={2}>
217
+ <Text style={[baseStyle, override]} {...resolveTruncation(disableTruncation, 2)}>
211
218
  {node}
212
219
  </Text>
213
220
  )