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
@@ -11,7 +11,7 @@ import {
11
11
  type TextStyle,
12
12
  } from 'react-native'
13
13
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
14
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
14
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
15
15
  import Checkbox from '../Checkbox/Checkbox'
16
16
  import Divider from '../Divider/Divider'
17
17
  import Icon from '../../icons/Icon'
@@ -52,6 +52,12 @@ export type AccordionCheckboxProps = {
52
52
  style?: StyleProp<ViewStyle>
53
53
  /** Accessibility label for the header press target. Defaults to `title`. */
54
54
  accessibilityLabel?: string
55
+ /**
56
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
57
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
58
+ * lines as it needs even when horizontal space is tight.
59
+ */
60
+ disableTruncation?: boolean
55
61
  }
56
62
 
57
63
  /**
@@ -102,6 +108,7 @@ function AccordionCheckbox({
102
108
  modes = EMPTY_MODES,
103
109
  style,
104
110
  accessibilityLabel,
111
+ disableTruncation,
105
112
  }: AccordionCheckboxProps) {
106
113
  const isExpandedControlled = controlledExpanded !== undefined
107
114
  const [internalExpanded, setInternalExpanded] = useState(defaultExpanded)
@@ -288,11 +295,11 @@ function AccordionCheckbox({
288
295
  }
289
296
  />
290
297
  <View style={textWrapStyle}>
291
- <Text style={titleStyle} numberOfLines={1} selectable={false}>
298
+ <Text style={titleStyle} {...resolveTruncation(disableTruncation, 1)} selectable={false}>
292
299
  {title}
293
300
  </Text>
294
301
  {subtitle ? (
295
- <Text style={subtitleStyle} numberOfLines={1} selectable={false}>
302
+ <Text style={subtitleStyle} {...resolveTruncation(disableTruncation, 1)} selectable={false}>
296
303
  {subtitle}
297
304
  </Text>
298
305
  ) : null}
@@ -13,7 +13,7 @@ import {
13
13
  type ViewStyle,
14
14
  } from 'react-native'
15
15
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
16
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
16
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
17
17
  import Icon from '../../icons/Icon'
18
18
  import type { Modes } from '../../design-tokens'
19
19
 
@@ -88,6 +88,12 @@ export type AccountCardProps = {
88
88
  accessibilityLabel?: string
89
89
  /** Accessibility hint forwarded to the underlying `Pressable`. */
90
90
  accessibilityHint?: string
91
+ /**
92
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
93
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
94
+ * lines as it needs even when horizontal space is tight.
95
+ */
96
+ disableTruncation?: boolean
91
97
  }
92
98
 
93
99
  const toNumber = (value: unknown, fallback: number): number => {
@@ -148,6 +154,7 @@ function AccountCard({
148
154
  style,
149
155
  accessibilityLabel,
150
156
  accessibilityHint,
157
+ disableTruncation,
151
158
  }: AccountCardProps) {
152
159
  const iconModes = useMemo(
153
160
  () =>
@@ -330,12 +337,12 @@ function AccountCard({
330
337
  }}
331
338
  >
332
339
  {title != null && title !== '' ? (
333
- <Text style={titleStyle} numberOfLines={1}>
340
+ <Text style={titleStyle} {...resolveTruncation(disableTruncation, 1)}>
334
341
  {title}
335
342
  </Text>
336
343
  ) : null}
337
344
  {showSubtitle ? (
338
- <Text style={subtitleStyle} numberOfLines={1}>
345
+ <Text style={subtitleStyle} {...resolveTruncation(disableTruncation, 1)}>
339
346
  {subtitle}
340
347
  </Text>
341
348
  ) : null}
@@ -10,6 +10,7 @@ import {
10
10
  } from 'react-native'
11
11
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
12
12
  import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils'
13
+ import { boxShadow } from '../../utils/shadow'
13
14
  import IconButton from '../IconButton/IconButton'
14
15
  import type { Modes } from '../../design-tokens'
15
16
 
@@ -37,8 +38,6 @@ export type ActionFooterProps = {
37
38
  accessibilityLabel?: string
38
39
  }
39
40
 
40
- const IS_WEB = Platform.OS === 'web'
41
-
42
41
  // ---------------------------------------------------------------------------
43
42
  // Yoga-safe stretch
44
43
  // ---------------------------------------------------------------------------
@@ -67,28 +66,12 @@ const STRETCH_STYLE: ViewStyle = {
67
66
  minWidth: 0,
68
67
  }
69
68
 
70
- // Platform-specific drop shadow. Web boxShadow can't go through
71
- // Platform.select (RN's typed surface doesn't include it) so we keep it as a
72
- // separate constant and append it below.
73
- const NATIVE_SHADOW = Platform.select<ViewStyle>({
74
- ios: {
75
- shadowColor: '#0c0d10',
76
- shadowOffset: { width: 0, height: -12 },
77
- shadowOpacity: 0.16,
78
- shadowRadius: 24,
79
- },
80
- android: {
81
- elevation: 16,
82
- },
83
- default: {},
84
- }) as ViewStyle
85
-
86
- const WEB_SHADOW = IS_WEB
87
- ? ({
88
- boxShadow:
89
- '0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)',
90
- } as ViewStyle)
91
- : null
69
+ // Upward drop shadow routed through the unified helper: native `boxShadow` on
70
+ // web + RN 0.76+, legacy `shadow*` (iOS) / `elevation` (Android) on older RN.
71
+ const SHADOW = boxShadow(
72
+ '0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)',
73
+ { elevation: 16 },
74
+ )
92
75
 
93
76
  // The runtime token a slot child must equal (by reference) to be treated as
94
77
  // an IconButton. `IconButton` is exported wrapped in `React.memo`, so the
@@ -200,7 +183,7 @@ function ActionFooter({
200
183
  paddingRight: paddingHorizontal,
201
184
  paddingTop,
202
185
  paddingBottom,
203
- ...NATIVE_SHADOW,
186
+ ...SHADOW,
204
187
  }
205
188
 
206
189
  const slot: ViewStyle = {
@@ -240,7 +223,6 @@ function ActionFooter({
240
223
  <Animated.View
241
224
  style={[
242
225
  containerStyle,
243
- WEB_SHADOW,
244
226
  style,
245
227
  // Counter-translate by the keyboard height on Android so `adjustResize`
246
228
  // can't lift the footer above the keyboard (no-op on iOS/web where the
@@ -40,18 +40,18 @@ export default function ActionTile({
40
40
  const modes = { ...globalModes, ...propModes }
41
41
 
42
42
  // Resolve tokens
43
- const backgroundColor = getVariableByName('actionTile/background', modes) || '#ffffff'
44
- const gap = Number(getVariableByName('actionTile/gap', modes)) || 8
45
- const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes)) || 12
46
- const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes)) || 16
47
- const radius = Number(getVariableByName('actionTile/radius', modes)) || 16
43
+ const backgroundColor = getVariableByName('actionTile/background', modes)
44
+ const gap = Number(getVariableByName('actionTile/gap', modes))
45
+ const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes))
46
+ const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes))
47
+ const radius = Number(getVariableByName('actionTile/radius', modes))
48
48
 
49
49
  // Text tokens
50
- const textColor = getVariableByName('actionTile/foreground', modes) || '#0d0d0f'
51
- const fontSize = Number(getVariableByName('actionTile/fontSize', modes)) || 14
52
- const fontFamily = getVariableByName('actionTile/fontFamily', modes) || 'JioType Var'
53
- const fontWeightStr = getVariableByName('actionTile/fontWeight', modes) || '500'
54
- const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes)) || 17
50
+ const textColor = getVariableByName('actionTile/foreground', modes)
51
+ const fontSize = Number(getVariableByName('actionTile/fontSize', modes))
52
+ const fontFamily = getVariableByName('actionTile/fontFamily', modes)
53
+ const fontWeightStr = getVariableByName('actionTile/fontWeight', modes)
54
+ const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes))
55
55
 
56
56
  const containerStyle: ViewStyle = {
57
57
  backgroundColor,
@@ -9,7 +9,7 @@ import {
9
9
  import Svg, { Line } from 'react-native-svg'
10
10
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
11
11
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
12
- import { EMPTY_MODES } from '../../utils/react-utils'
12
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
13
13
  import MetricLegendItem from '../MetricLegendItem/MetricLegendItem'
14
14
  import type { Modes } from '../../design-tokens'
15
15
 
@@ -109,6 +109,12 @@ export type AllocationComparisonChartProps = {
109
109
  legendStyle?: StyleProp<ViewStyle>
110
110
  /** Accessibility label for the whole chart. */
111
111
  accessibilityLabel?: string
112
+ /**
113
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
114
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
115
+ * lines as it needs even when horizontal space is tight.
116
+ */
117
+ disableTruncation?: boolean
112
118
  }
113
119
 
114
120
  const DEFAULT_DATA: AllocationSegment[] = [
@@ -162,6 +168,7 @@ type SegmentBarProps = {
162
168
  baselineLabel: React.ReactNode
163
169
  showMarker: boolean
164
170
  theme: SegmentTheme
171
+ disableTruncation?: boolean
165
172
  }
166
173
 
167
174
  /**
@@ -177,6 +184,7 @@ function SegmentBar({
177
184
  baselineLabel,
178
185
  showMarker,
179
186
  theme,
187
+ disableTruncation,
180
188
  }: SegmentBarProps) {
181
189
  const { barWidth, pillRadius, gap, currentColor, baselineColor, lineColor, lineSize, labelStyle } =
182
190
  theme
@@ -195,7 +203,7 @@ function SegmentBar({
195
203
  accessibilityLabel={segment.accessibilityLabel}
196
204
  >
197
205
  {showValueLabel ? (
198
- <Text numberOfLines={1} style={labelStyle}>
206
+ <Text {...resolveTruncation(disableTruncation, 1)} style={labelStyle}>
199
207
  {segment.valueLabel}
200
208
  </Text>
201
209
  ) : null}
@@ -247,7 +255,7 @@ function SegmentBar({
247
255
  />
248
256
  </Svg>
249
257
  {isShown(baselineLabel) ? (
250
- <Text numberOfLines={1} style={[labelStyle, { marginLeft: 6 }]}>
258
+ <Text {...resolveTruncation(disableTruncation, 1)} style={[labelStyle, { marginLeft: 6 }]}>
251
259
  {baselineLabel}
252
260
  </Text>
253
261
  ) : null}
@@ -257,7 +265,7 @@ function SegmentBar({
257
265
  ) : null}
258
266
  </View>
259
267
 
260
- <Text numberOfLines={1} style={labelStyle}>
268
+ <Text {...resolveTruncation(disableTruncation, 1)} style={labelStyle}>
261
269
  {segment.label}
262
270
  </Text>
263
271
  </View>
@@ -295,6 +303,7 @@ function AllocationComparisonChart({
295
303
  chartStyle,
296
304
  legendStyle,
297
305
  accessibilityLabel,
306
+ disableTruncation,
298
307
  }: AllocationComparisonChartProps) {
299
308
  const { modes: globalModes } = useTokens()
300
309
  const modes = React.useMemo(
@@ -440,6 +449,7 @@ function AllocationComparisonChart({
440
449
  baselineLabel={baselineLabel}
441
450
  showMarker={showMarker}
442
451
  theme={theme}
452
+ disableTruncation={disableTruncation}
443
453
  />
444
454
  )
445
455
  })}
@@ -37,9 +37,9 @@ const AmountInput = forwardRef<View, AmountInputProps>(function AmountInput({
37
37
  const modes = { ...globalModes, ...propModes }
38
38
 
39
39
  // Resolve tokens
40
- const gap = Number(getVariableByName('amountInput/gap', modes)) || 16
41
- const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes)) || 0
42
- const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes)) || 0
40
+ const gap = Number(getVariableByName('amountInput/gap', modes))
41
+ const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes))
42
+ const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes))
43
43
 
44
44
  const containerStyle: ViewStyle = {
45
45
  flexDirection: 'column',
@@ -23,7 +23,7 @@ import {
23
23
  import Svg, { Circle, Line, Path } from 'react-native-svg'
24
24
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
25
25
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
26
- import { EMPTY_MODES } from '../../utils/react-utils'
26
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
27
27
  import MetricLegendItem from '../MetricLegendItem/MetricLegendItem'
28
28
  import type { Modes } from '../../design-tokens'
29
29
  import {
@@ -149,6 +149,12 @@ export type AreaLineChartProps = {
149
149
  children?: React.ReactNode
150
150
  /** Accessibility label for the whole chart. */
151
151
  accessibilityLabel?: string
152
+ /**
153
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
154
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
155
+ * lines as it needs even when horizontal space is tight.
156
+ */
157
+ disableTruncation?: boolean
152
158
  }
153
159
 
154
160
  // --- Internal resolved types ----------------------------------------------
@@ -184,6 +190,7 @@ type ChartContextValue = {
184
190
  formatY: (value: number) => React.ReactNode
185
191
  showDots: boolean
186
192
  modes: Modes
193
+ disableTruncation?: boolean
187
194
  }
188
195
 
189
196
  const ChartContext = createContext<ChartContextValue | null>(null)
@@ -307,6 +314,7 @@ function AreaLineChart({
307
314
  style,
308
315
  children,
309
316
  accessibilityLabel,
317
+ disableTruncation,
310
318
  }: AreaLineChartProps) {
311
319
  const { modes: globalModes } = useTokens()
312
320
  const modes = useMemo(() => ({ ...globalModes, ...propModes }), [globalModes, propModes])
@@ -440,6 +448,7 @@ function AreaLineChart({
440
448
  formatY,
441
449
  showDots,
442
450
  modes,
451
+ disableTruncation,
443
452
  }),
444
453
  [
445
454
  plotWidth,
@@ -459,6 +468,7 @@ function AreaLineChart({
459
468
  formatY,
460
469
  showDots,
461
470
  modes,
471
+ disableTruncation,
462
472
  ]
463
473
  )
464
474
 
@@ -650,7 +660,7 @@ function ChartYAxis({
650
660
  showAxisLine = false,
651
661
  formatLabel,
652
662
  }: ChartYAxisProps) {
653
- const { height, inset, yScale, yTicks, formatY, modes } = useChart()
663
+ const { height, inset, yScale, yTicks, formatY, modes, disableTruncation } = useChart()
654
664
  const typo = useAxisTypography(modes)
655
665
  const format = formatLabel ?? formatY
656
666
 
@@ -673,7 +683,7 @@ function ChartYAxis({
673
683
  }}
674
684
  >
675
685
  {showLabels ? (
676
- <Text style={typo.style} numberOfLines={1}>
686
+ <Text style={typo.style} {...resolveTruncation(disableTruncation, 1)}>
677
687
  {format(t)}
678
688
  </Text>
679
689
  ) : null}
@@ -736,7 +746,7 @@ function ChartXAxis({
736
746
  selectable = true,
737
747
  formatLabel,
738
748
  }: ChartXAxisProps) {
739
- const { width, inset, xScale, indexXs, count, xLabels, formatX, modes, activeIndex, setActiveIndex } =
749
+ const { width, inset, xScale, indexXs, count, xLabels, formatX, modes, activeIndex, setActiveIndex, disableTruncation } =
740
750
  useChart()
741
751
  const typo = useAxisTypography(modes)
742
752
  const format = formatLabel ?? formatX
@@ -787,7 +797,7 @@ function ChartXAxis({
787
797
  typo.style,
788
798
  isActive ? { color: activeColor, fontWeight: '700' } : null,
789
799
  ]}
790
- numberOfLines={1}
800
+ {...resolveTruncation(disableTruncation, 1)}
791
801
  >
792
802
  {format(label, i)}
793
803
  </Text>
@@ -1025,7 +1035,7 @@ function ChartTooltip({
1025
1035
  const bg = (getVariableByName('tooltip/background', modes) as string | null) ?? '#0f0d0a'
1026
1036
  const paddingH = toNumber(getVariableByName('tooltip/padding/horizontal', modes), 12)
1027
1037
  const paddingV = toNumber(getVariableByName('tooltip/padding/vertical', modes), 8)
1028
- const radius = toNumber(getVariableByName('radius', modes), 8)
1038
+ const radius = 8
1029
1039
  const labelColor = (getVariableByName('tooltip/label/color', modes) as string | null) ?? '#ffffff'
1030
1040
 
1031
1041
  if (items.length === 0) return null
@@ -1101,7 +1111,7 @@ function ChartLegend() {
1101
1111
  /** Resolve `axisItem/*` typography tokens into a memoized text style. */
1102
1112
  function useAxisTypography(modes: Modes) {
1103
1113
  return useMemo(() => {
1104
- const color = (getVariableByName('axisItem/color', modes) as string | null) ?? '#000000'
1114
+ const color = (getVariableByName('axisItem/fg', modes) as string | null) ?? '#000000'
1105
1115
  const fontFamily =
1106
1116
  (getVariableByName('axisItem/fontFamily', modes) as string | null) ?? 'JioType Var'
1107
1117
  const fontSize = toNumber(getVariableByName('axisItem/fontSize', modes), 12)
@@ -189,7 +189,7 @@ function Attached({
189
189
  // anchor centering intact).
190
190
  const slotBorderStyle = useMemo<ViewStyle | null>(() => {
191
191
  const borderColor = getVariableByName('attached/slot/border', modes)
192
- const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes) || '0')
192
+ const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes))
193
193
  if (!borderColor || !(borderWidth > 0)) return null
194
194
 
195
195
  // Match the inner clip radius so the ring stays concentric. The outer edge
@@ -65,18 +65,18 @@ interface AvatarTokens {
65
65
  }
66
66
 
67
67
  function resolveAvatarTokens(modes: Modes, isMonogram: boolean): AvatarTokens {
68
- const size = (getVariableByName('avatar/size', modes) || 29) as number
69
- const radiusRaw = (getVariableByName('avatar/radius', modes) || 9999) as number
70
- const backgroundColor = getVariableByName('avatar/background', modes) || '#dbcfff'
71
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)'
72
- const borderSize = (getVariableByName('avatar/border/size', modes) || 1) as number
73
- const labelColor = getVariableByName('avatar/label/color', modes) || '#5c00b5'
74
- const labelFontSize = (getVariableByName('avatar/label/fontSize', modes) || 12) as number
75
- const labelLineHeight = (getVariableByName('avatar/label/lineHeight', modes) || 14) as number
76
- const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes) || 500
68
+ const size = (getVariableByName('avatar/size', modes)) as number
69
+ const radiusRaw = (getVariableByName('avatar/radius', modes)) as number
70
+ const backgroundColor = getVariableByName('avatar/background', modes)
71
+ const borderColor = getVariableByName('avatar/border/color', modes)
72
+ const borderSize = (getVariableByName('avatar/border/size', modes)) as number
73
+ const labelColor = getVariableByName('avatar/label/color', modes)
74
+ const labelFontSize = (getVariableByName('avatar/label/fontSize', modes)) as number
75
+ const labelLineHeight = (getVariableByName('avatar/label/lineHeight', modes)) as number
76
+ const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes)
77
77
  const labelFontWeight =
78
78
  typeof labelFontWeightRaw === 'number' ? labelFontWeightRaw.toString() : labelFontWeightRaw
79
- const labelFontFamily = (getVariableByName('avatar/label/fontFamily', modes) || 'Inter') as string
79
+ const labelFontFamily = (getVariableByName('avatar/label/fontFamily', modes)) as string
80
80
 
81
81
  // 9999 is the design-token sentinel for "perfect circle"
82
82
  const borderRadius = radiusRaw === 9999 ? size / 2 : radiusRaw
@@ -13,18 +13,18 @@ type AvatarGroupProps = {
13
13
  } & React.ComponentProps<typeof View>;
14
14
 
15
15
  function AvatarGroup({ modes = EMPTY_MODES, children, style, ...rest }: AvatarGroupProps) {
16
- const gap = getVariableByName('avatarGroup/gap', modes) || 0;
16
+ const gap = getVariableByName('avatarGroup/gap', modes);
17
17
 
18
18
 
19
- const avatarSize = getVariableByName('avatar/size', modes) || 29;
20
- const avatarRadius = getVariableByName('avatar/radius', modes) || 9999;
21
- const borderSize = getVariableByName('avatar/border/size', modes) || 1;
22
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)';
19
+ const avatarSize = getVariableByName('avatar/size', modes);
20
+ const avatarRadius = getVariableByName('avatar/radius', modes);
21
+ const borderSize = getVariableByName('avatar/border/size', modes);
22
+ const borderColor = getVariableByName('avatar/border/color', modes);
23
23
 
24
- const paddingLeft = getVariableByName('avatarGroup/padding/left', modes) || 0;
25
- const paddingRight = getVariableByName('avatarGroup/padding/right', modes) || 0;
26
- const paddingTop = getVariableByName('avatarGroup/padding/top', modes) || 0;
27
- const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes) || 0;
24
+ const paddingLeft = getVariableByName('avatarGroup/padding/left', modes);
25
+ const paddingRight = getVariableByName('avatarGroup/padding/right', modes);
26
+ const paddingTop = getVariableByName('avatarGroup/padding/top', modes);
27
+ const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes);
28
28
 
29
29
  const validChildren = flattenChildren(children);
30
30
  const totalChildren = validChildren.length;
@@ -7,14 +7,24 @@ import {
7
7
  type TextStyle,
8
8
  } from 'react-native'
9
9
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
10
- import { EMPTY_MODES } from '../../utils/react-utils'
10
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
11
11
  import Skeleton from '../../skeleton/Skeleton'
12
12
  import { useSkeleton } from '../../skeleton/SkeletonGroup'
13
13
  import type { Modes } from '../../design-tokens'
14
+ import GlassFill from '../../utils/GlassFill/GlassFill'
14
15
 
15
- type BadgeProps = {
16
+ export type BadgeType = 'default' | 'glass'
17
+
18
+ export type BadgeProps = {
16
19
  /** Visible label text shown inside the badge */
17
20
  label?: string
21
+ /**
22
+ * Visual style (matches the Figma `type` property). `'default'` is a solid
23
+ * token-colored pill; `'glass'` is a frosted, translucent pill backed by a
24
+ * real background blur (`GlassFill`) — the same glass surface used at the
25
+ * bottom of media/merchandising cards.
26
+ */
27
+ type?: BadgeType
18
28
  /** Modes used to resolve design tokens (e.g. Appearance, Size) */
19
29
  modes?: Modes
20
30
  /** Optional press handler to make the badge interactive */
@@ -22,44 +32,86 @@ type BadgeProps = {
22
32
  accessibilityLabel?: string
23
33
  style?: ViewStyle
24
34
  labelStyle?: TextStyle
35
+ /**
36
+ * Optional leading node (icon/image) rendered before the label, inside the
37
+ * badge surface. When present, the badge lays its contents out in a row.
38
+ */
39
+ leading?: React.ReactNode
40
+ /**
41
+ * Glass-only override for the translucent overlay color painted over the live
42
+ * blur. Defaults to the `badge/glass/color/background` token. Ignored for the
43
+ * `'default'` type.
44
+ */
45
+ glassOverlayColor?: string
46
+ /**
47
+ * Glass-only override for the blur intensity on the 0–100 scale. Defaults to
48
+ * the `blur/minimal` token. Ignored for the `'default'` type.
49
+ */
50
+ glassIntensity?: number
25
51
  /**
26
52
  * Explicit per-instance loading override. When `true`, renders a
27
53
  * badge-shaped skeleton placeholder instead of the badge. Defaults to
28
54
  * inheriting from the surrounding `<SkeletonGroup>`.
29
55
  */
30
56
  loading?: boolean
57
+ /**
58
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
59
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
60
+ * lines as it needs even when horizontal space is tight.
61
+ */
62
+ disableTruncation?: boolean
31
63
  } & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel' | 'accessibilityRole'>
32
64
 
33
65
  function Badge({
34
66
  label = 'Label',
67
+ type = 'default',
35
68
  modes = EMPTY_MODES,
36
69
  onPress,
37
70
  accessibilityLabel,
38
71
  style,
39
72
  labelStyle,
40
73
  loading,
74
+ disableTruncation,
75
+ leading,
76
+ glassOverlayColor,
77
+ glassIntensity,
41
78
  ...rest
42
79
  }: BadgeProps) {
43
- // Resolve token values (fall back to sensible defaults)
80
+ const isGlass = type === 'glass'
81
+ const hasLeading = leading != null
82
+
83
+ // Resolve token values (fall back to sensible defaults). The glass type
84
+ // swaps the solid fill for a translucent overlay + white label, matching the
85
+ // Figma `badge/glass/*` tokens.
44
86
  const backgroundColor =
45
- (getVariableByName('badge/color/background', modes) as string) || '#d8effe'
46
- const labelColor =
47
- (getVariableByName('badge/color/label', modes) as string) || '#000000'
87
+ (getVariableByName('badge/color/background', modes) as string)
88
+ const glassBackground =
89
+ (getVariableByName('badge/glass/color/background', modes) as string)
90
+ const glassLabelColor =
91
+ (getVariableByName('badge/glass/color/label', modes) as string)
92
+ const labelColor = isGlass
93
+ ? glassLabelColor
94
+ : (getVariableByName('badge/color/label', modes) as string)
48
95
  const fontSize =
49
- Number(getVariableByName('badge/label/fontSize', modes) as unknown) || 12
96
+ Number(getVariableByName('badge/label/fontSize', modes) as unknown)
50
97
  const fontFamily =
51
- (getVariableByName('badge/fontFamily', modes) as string) || undefined
98
+ (getVariableByName('badge/fontFamily', modes) as string)
52
99
  const fontWeight =
53
- (getVariableByName('badge/label/fontWeight', modes) as string) || '600'
100
+ (getVariableByName('badge/label/fontWeight', modes) as string)
54
101
  const paddingHorizontal =
55
- Number(getVariableByName('badge/padding/horizontal', modes) as unknown) || 6
102
+ Number(getVariableByName('badge/padding/horizontal', modes) as unknown)
56
103
  const paddingVertical =
57
- Number(getVariableByName('badge/padding/vertical', modes) as unknown) || 4
104
+ Number(getVariableByName('badge/padding/vertical', modes) as unknown)
58
105
  const borderRadius =
59
- Number(getVariableByName('badge/radius', modes) as unknown) || 4
106
+ Number(getVariableByName('badge/radius', modes) as unknown)
60
107
  const lineHeight =
61
- Number(getVariableByName('badge/label/lineHeight', modes) as unknown) ||
62
- Math.round(fontSize * 1.2)
108
+ Number(getVariableByName('badge/label/lineHeight', modes) as unknown)
109
+ // Figma `blur/minimal` (px radius) -> GlassFill's 0–100 intensity scale, the
110
+ // same 1:1 mapping the merchandising card footer uses.
111
+ const blurIntensity = Math.max(
112
+ 0,
113
+ Math.min(100, Math.round(Number(getVariableByName('blur/minimal', modes) as unknown))),
114
+ )
63
115
 
64
116
  // Skeleton short-circuit. Size derived from the same tokens the loaded
65
117
  // badge would use so the placeholder occupies the same box.
@@ -82,13 +134,20 @@ function Badge({
82
134
  const Container: any = onPress ? Pressable : View
83
135
 
84
136
  const containerStyle: ViewStyle = {
85
- backgroundColor,
137
+ // Glass keeps the container transparent so the GlassFill blur shows through;
138
+ // `overflow: 'hidden'` clips the native blur view to the rounded pill (the
139
+ // blur view does not honor borderRadius itself).
140
+ backgroundColor: isGlass ? 'transparent' : backgroundColor,
86
141
  paddingHorizontal,
87
142
  paddingVertical,
88
143
  borderRadius,
89
144
  alignSelf: 'flex-start',
90
145
  alignItems: 'center',
91
146
  justifyContent: 'center',
147
+ // A leading node sits in-line before the label, so switch to a row with a
148
+ // small gap. Consumer `style` (spread last) can still override either.
149
+ ...(hasLeading ? { flexDirection: 'row' as const, gap: 4 } : null),
150
+ ...(isGlass ? { overflow: 'hidden' as const } : null),
92
151
  ...((style as any) || {}),
93
152
  }
94
153
 
@@ -112,10 +171,18 @@ function Badge({
112
171
  onPress={onPress}
113
172
  {...rest}
114
173
  >
174
+ {isGlass ? (
175
+ <GlassFill
176
+ tint="light"
177
+ intensity={glassIntensity ?? blurIntensity}
178
+ overlayColor={glassOverlayColor ?? glassBackground}
179
+ androidTintWash={false}
180
+ />
181
+ ) : null}
182
+ {hasLeading ? <View style={LEADING_WRAP}>{leading}</View> : null}
115
183
  <Text
116
184
  style={textStyle}
117
- numberOfLines={1}
118
- ellipsizeMode="tail"
185
+ {...resolveTruncation(disableTruncation, 1, 'tail')}
119
186
  accessibilityElementsHidden={false}
120
187
  >
121
188
  {label}
@@ -124,6 +191,8 @@ function Badge({
124
191
  )
125
192
  }
126
193
 
194
+ const LEADING_WRAP: ViewStyle = { justifyContent: 'center', alignItems: 'center' }
195
+
127
196
  export default Badge
128
197
 
129
198