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
@@ -13,7 +13,7 @@ import {
13
13
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
14
14
  import NavArrow from '../NavArrow/NavArrow'
15
15
  import { usePressableWebSupport, type WebAccessibilityProps } from '../../utils/web-platform-utils'
16
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
16
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
17
17
  import type { Modes } from '../../design-tokens'
18
18
 
19
19
  type ListItemProps = {
@@ -45,6 +45,12 @@ type ListItemProps = {
45
45
  * Web-specific accessibility props (only used on web platform)
46
46
  */
47
47
  webAccessibilityProps?: WebAccessibilityProps;
48
+ /**
49
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
50
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
51
+ * lines as it needs even when horizontal space is tight.
52
+ */
53
+ disableTruncation?: boolean;
48
54
  } & React.ComponentProps<typeof View>;
49
55
 
50
56
  // ---------------------------------------------------------------------------
@@ -101,19 +107,19 @@ function resolveListItemTokens(modes: Modes): ListItemTokens {
101
107
  const paddingRight = getVariableByName('listItem/padding/right', resolvedModes) ?? 0
102
108
  const textWrapGap = (getVariableByName('listItem/text wrap', resolvedModes) ?? 0) as number
103
109
 
104
- const titleColor = getVariableByName('listItem/title/color', textModes) || '#0f0d0a'
105
- const titleFontSize = getVariableByName('listItem/title/fontSize', textModes) || 14
106
- const titleLineHeight = getVariableByName('listItem/title/lineHeight', textModes) || 16
107
- const titleFontFamily = getVariableByName('listItem/title/fontFamily', textModes) || 'System'
108
- const titleFontWeightRaw = getVariableByName('listItem/title/fontWeight', textModes) || 700
110
+ const titleColor = getVariableByName('listItem/title/color', textModes)
111
+ const titleFontSize = getVariableByName('listItem/title/fontSize', textModes)
112
+ const titleLineHeight = getVariableByName('listItem/title/lineHeight', textModes)
113
+ const titleFontFamily = getVariableByName('listItem/title/fontFamily', textModes)
114
+ const titleFontWeightRaw = getVariableByName('listItem/title/fontWeight', textModes)
109
115
  const titleFontWeight =
110
116
  typeof titleFontWeightRaw === 'number' ? titleFontWeightRaw.toString() : titleFontWeightRaw
111
117
 
112
- const supportColor = getVariableByName('listItem/supportText/color', textModes) || '#1f1a14'
113
- const supportFontSize = getVariableByName('listItem/supportText/fontSize', textModes) || 12
114
- const supportLineHeight = getVariableByName('listItem/supportText/lineHeight', textModes) || 14
115
- const supportFontFamily = getVariableByName('listItem/supportText/fontFamily', textModes) || 'System'
116
- const supportFontWeightRaw = getVariableByName('listItem/supportText/fontWeight', textModes) || 500
118
+ const supportColor = getVariableByName('listItem/supportText/color', textModes)
119
+ const supportFontSize = getVariableByName('listItem/supportText/fontSize', textModes)
120
+ const supportLineHeight = getVariableByName('listItem/supportText/lineHeight', textModes)
121
+ const supportFontFamily = getVariableByName('listItem/supportText/fontFamily', textModes)
122
+ const supportFontWeightRaw = getVariableByName('listItem/supportText/fontWeight', textModes)
117
123
  const supportFontWeight =
118
124
  typeof supportFontWeightRaw === 'number' ? supportFontWeightRaw.toString() : supportFontWeightRaw
119
125
 
@@ -230,6 +236,7 @@ function ListItemImpl({
230
236
  accessibilityHint,
231
237
  accessibilityState,
232
238
  webAccessibilityProps,
239
+ disableTruncation,
233
240
  ...rest
234
241
  }: ListItemProps) {
235
242
  const tokens = useMemo(() => resolveListItemTokens(modes), [modes])
@@ -314,7 +321,7 @@ function ListItemImpl({
314
321
  ? [tokens.supportTextStyle, verticalSupportTextOverride]
315
322
  : tokens.supportTextStyle
316
323
  }
317
- numberOfLines={layout === 'Horizontal' ? 2 : undefined}
324
+ {...resolveTruncation(disableTruncation, layout === 'Horizontal' ? 2 : undefined)}
318
325
  >
319
326
  {displayText}
320
327
  </Text>
@@ -382,7 +389,7 @@ function ListItemImpl({
382
389
  >
383
390
  <Text
384
391
  style={tokens.titleTextStyle}
385
- numberOfLines={1}
392
+ {...resolveTruncation(disableTruncation, 1)}
386
393
  >
387
394
  {title}
388
395
  </Text>
@@ -88,44 +88,41 @@ function LottieIntroBlock({
88
88
  )
89
89
 
90
90
  // Container
91
- const gap = Number(getVariableByName('lottieIntroBlock/gap', modes)) || 36
91
+ const gap = Number(getVariableByName('lottieIntroBlock/gap', modes))
92
92
  const paddingHorizontal =
93
- Number(getVariableByName('lottieIntroBlock/padding/horizontal', modes)) || 0
93
+ Number(getVariableByName('lottieIntroBlock/padding/horizontal', modes))
94
94
  const paddingVertical =
95
- Number(getVariableByName('lottieIntroBlock/padding/vertical', modes)) || 16
95
+ Number(getVariableByName('lottieIntroBlock/padding/vertical', modes))
96
96
 
97
97
  // Text wrap
98
98
  const textWrapGap =
99
- Number(getVariableByName('lottieIntroBlock/textWrap/gap', modes)) || 16
99
+ Number(getVariableByName('lottieIntroBlock/textWrap/gap', modes))
100
100
 
101
101
  // Title
102
102
  const titleColor =
103
- getVariableByName('lottieIntroBlock/title/foreground', modes) || '#0d0d0f'
103
+ getVariableByName('lottieIntroBlock/title/foreground', modes)
104
104
  const titleFontSize =
105
- Number(getVariableByName('lottieIntroBlock/title/fontSize', modes)) || 23
105
+ Number(getVariableByName('lottieIntroBlock/title/fontSize', modes))
106
106
  const titleFontFamily =
107
- getVariableByName('lottieIntroBlock/title/fontFamily', modes) || 'System'
107
+ getVariableByName('lottieIntroBlock/title/fontFamily', modes)
108
108
  const titleLineHeight =
109
- Number(getVariableByName('lottieIntroBlock/title/lineHeight', modes)) || 23
109
+ Number(getVariableByName('lottieIntroBlock/title/lineHeight', modes))
110
110
  const titleFontWeight =
111
- getVariableByName('lottieIntroBlock/title/fontWeight', modes) || 900
111
+ getVariableByName('lottieIntroBlock/title/fontWeight', modes)
112
112
 
113
113
  // Support text
114
114
  const supportColor =
115
- getVariableByName('lottieIntroBlock/supportText/foreground', modes) ||
116
- '#0d0d0f'
115
+ getVariableByName('lottieIntroBlock/supportText/foreground', modes)
117
116
  const supportFontSize =
118
- Number(getVariableByName('lottieIntroBlock/supportText/fontSize', modes)) ||
119
- 14
117
+ Number(getVariableByName('lottieIntroBlock/supportText/fontSize', modes))
120
118
  const supportFontFamily =
121
- getVariableByName('lottieIntroBlock/supportText/fontFamily', modes) ||
122
- 'System'
119
+ getVariableByName('lottieIntroBlock/supportText/fontFamily', modes)
123
120
  const supportLineHeight =
124
121
  Number(
125
122
  getVariableByName('lottieIntroBlock/supportText/lineHeight', modes)
126
123
  ) || 18
127
124
  const supportFontWeight =
128
- getVariableByName('lottieIntroBlock/supportText/fontWeight', modes) || 400
125
+ getVariableByName('lottieIntroBlock/supportText/fontWeight', modes)
129
126
 
130
127
  const containerStyle: ViewStyle = {
131
128
  flexDirection: 'column',
@@ -57,9 +57,9 @@ function resolveSize(
57
57
  if (typeof size === 'number') return { width: size, height: size }
58
58
  if (size && typeof size === 'object') return size
59
59
  const width =
60
- Number(getVariableByName('media/width', modes)) || DEFAULT_SIZE
60
+ Number(getVariableByName('media/width', modes))
61
61
  const height =
62
- Number(getVariableByName('media/height', modes)) || DEFAULT_SIZE
62
+ Number(getVariableByName('media/height', modes))
63
63
  return { width, height }
64
64
  }
65
65
 
@@ -28,9 +28,9 @@ function resolveSize(
28
28
  if (typeof size === 'number') return { width: size, height: size }
29
29
  if (size && typeof size === 'object') return size
30
30
  const width =
31
- Number(getVariableByName('media/width', modes)) || DEFAULT_SIZE
31
+ Number(getVariableByName('media/width', modes))
32
32
  const height =
33
- Number(getVariableByName('media/height', modes)) || DEFAULT_SIZE
33
+ Number(getVariableByName('media/height', modes))
34
34
  return { width, height }
35
35
  }
36
36
 
@@ -2,7 +2,7 @@ import React, { createContext, useContext } from 'react'
2
2
  import { View, Text, StyleSheet, type ViewStyle, type TextStyle, type StyleProp, type ImageSourcePropType } from 'react-native'
3
3
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
4
4
  import Image from '../Image/Image'
5
- import GlassFill, { type GlassTint } from './GlassFill'
5
+ import GlassFill, { type GlassTint } from '../../utils/GlassFill/GlassFill'
6
6
  import { EMPTY_MODES } from '../../utils/react-utils'
7
7
  import type { Modes } from '../../design-tokens'
8
8
 
@@ -68,7 +68,7 @@ export function MediaCard({
68
68
  modes = EMPTY_MODES,
69
69
  style,
70
70
  }: MediaCardProps) {
71
- const radius = parseFloat(getVariableByName('cardMedia/radius', modes) || '24')
71
+ const radius = parseFloat(getVariableByName('cardMedia/radius', modes))
72
72
 
73
73
  const containerStyle: ViewStyle = {
74
74
  borderRadius: radius,
@@ -142,11 +142,11 @@ export function Title({ children, style, modes: propModes }: { children?: React.
142
142
  const context = useContext(MediaCardContext)
143
143
  const modes = propModes || context.modes || {}
144
144
 
145
- const color = getVariableByName('cardMedia/title/color', modes) || '#ffffff'
146
- const fontSize = parseFloat(getVariableByName('cardMedia/title/fontSize', modes) || '52')
147
- const fontFamily = getVariableByName('cardMedia/title/fontFamily', modes) || 'JioType Var'
148
- const lineHeight = parseFloat(getVariableByName('cardMedia/title/lineHeight', modes) || '68')
149
- const fontWeight = getVariableByName('cardMedia/title/fontWeight', modes) || '900'
145
+ const color = getVariableByName('cardMedia/title/color', modes)
146
+ const fontSize = parseFloat(getVariableByName('cardMedia/title/fontSize', modes))
147
+ const fontFamily = getVariableByName('cardMedia/title/fontFamily', modes)
148
+ const lineHeight = parseFloat(getVariableByName('cardMedia/title/lineHeight', modes))
149
+ const fontWeight = getVariableByName('cardMedia/title/fontWeight', modes)
150
150
 
151
151
  const textStyle: TextStyle = {
152
152
  color,
@@ -186,9 +186,9 @@ export function Footer({ children, style, modes: propModes }: { children?: React
186
186
  const context = useContext(MediaCardContext)
187
187
  const modes = propModes || context.modes || {}
188
188
 
189
- const gap = parseFloat(getVariableByName('cardMedia/footer/gap', modes) || '24')
190
- const paddingHorizontal = parseFloat(getVariableByName('cardMedia/footer/padding/horizontal', modes) || '16')
191
- const paddingVertical = parseFloat(getVariableByName('cardMedia/footer/padding/vertical', modes) || '12')
189
+ const gap = parseFloat(getVariableByName('cardMedia/footer/gap', modes))
190
+ const paddingHorizontal = parseFloat(getVariableByName('cardMedia/footer/padding/horizontal', modes))
191
+ const paddingVertical = parseFloat(getVariableByName('cardMedia/footer/padding/vertical', modes))
192
192
 
193
193
  // Figma tokens:
194
194
  // blur/minimal/background -> tint laid over the live blur, also used
@@ -199,8 +199,8 @@ export function Footer({ children, style, modes: propModes }: { children?: React
199
199
  // with the previous expo-blur scale) and
200
200
  // maps it internally — here we convert the
201
201
  // token's radius to that intensity scale.
202
- const glassBgColor = getVariableByName('blur/minimal/background', modes) || '#1414174a'
203
- const blurRadius = parseFloat(getVariableByName('blur/minimal', modes) || '29')
202
+ const glassBgColor = getVariableByName('blur/minimal/background', modes)
203
+ const blurRadius = parseFloat(getVariableByName('blur/minimal', modes))
204
204
  const intensity = Math.max(0, Math.min(100, Math.round(blurRadius * 1.7)))
205
205
 
206
206
  // Pick the iOS/Android material tint from "Contrast Context" mode so the
@@ -225,7 +225,7 @@ export function Footer({ children, style, modes: propModes }: { children?: React
225
225
  ]}
226
226
  pointerEvents="box-none"
227
227
  >
228
- <GlassFill tint={tint} intensity={intensity} overlayColor={glassBgColor} />
228
+ <GlassFill tint={tint} intensity={intensity} overlayColor={glassBgColor} webBlurScale={0.3} webBlurMaxPx={30} />
229
229
 
230
230
  <View
231
231
  style={{
@@ -250,11 +250,11 @@ export function FooterTitle({ children, style, modes: propModes }: { children?:
250
250
  const context = useContext(MediaCardContext)
251
251
  const modes = propModes || context.modes || {}
252
252
 
253
- const color = getVariableByName('cardMedia/footer/title/color', modes) || '#ffffff'
254
- const fontSize = parseFloat(getVariableByName('cardMedia/footer/title/fontSize', modes) || '14')
255
- const fontFamily = getVariableByName('cardMedia/footer/title/fontFamily', modes) || 'JioType Var'
256
- const lineHeight = parseFloat(getVariableByName('cardMedia/footer/title/lineHeight', modes) || '16')
257
- const fontWeight = getVariableByName('cardMedia/footer/title/fontWeight', modes) || '800'
253
+ const color = getVariableByName('cardMedia/footer/title/color', modes)
254
+ const fontSize = parseFloat(getVariableByName('cardMedia/footer/title/fontSize', modes))
255
+ const fontFamily = getVariableByName('cardMedia/footer/title/fontFamily', modes)
256
+ const lineHeight = parseFloat(getVariableByName('cardMedia/footer/title/lineHeight', modes))
257
+ const fontWeight = getVariableByName('cardMedia/footer/title/fontWeight', modes)
258
258
 
259
259
  return (
260
260
  <Text style={[{ color, fontSize, fontFamily, lineHeight, fontWeight: fontWeight as any }, style]}>
@@ -271,11 +271,11 @@ export function FooterSubtitle({ children, style, modes: propModes }: { children
271
271
  const context = useContext(MediaCardContext)
272
272
  const modes = propModes || context.modes || {}
273
273
 
274
- const color = getVariableByName('cardMedia/footer/subtitle/color', modes) || '#f5f7f7a1'
275
- const fontSize = parseFloat(getVariableByName('cardMedia/footer/subtitle/fontSize', modes) || '12')
276
- const fontFamily = getVariableByName('cardMedia/footer/subtitle/fontFamily', modes) || 'JioType Var'
277
- const lineHeight = parseFloat(getVariableByName('cardMedia/footer/subtitle/lineHeight', modes) || '14')
278
- const fontWeight = getVariableByName('cardMedia/footer/subtitle/fontWeight', modes) || '400'
274
+ const color = getVariableByName('cardMedia/footer/subtitle/color', modes)
275
+ const fontSize = parseFloat(getVariableByName('cardMedia/footer/subtitle/fontSize', modes))
276
+ const fontFamily = getVariableByName('cardMedia/footer/subtitle/fontFamily', modes)
277
+ const lineHeight = parseFloat(getVariableByName('cardMedia/footer/subtitle/lineHeight', modes))
278
+ const fontWeight = getVariableByName('cardMedia/footer/subtitle/fontWeight', modes)
279
279
 
280
280
  return (
281
281
  <Text style={[{ color, fontSize, fontFamily, lineHeight, fontWeight: fontWeight as any }, style]}>
@@ -135,11 +135,9 @@ function useMessageFieldTokens(modes: Modes) {
135
135
  const wrapperGap = toNumber(getVariableByName('messageField/gap', modes), 8)
136
136
 
137
137
  const labelColor =
138
- (getVariableByName('messageField/label/foreground', modes) as string) ||
139
- '#000000'
138
+ (getVariableByName('messageField/label/foreground', modes) as string)
140
139
  const labelFontFamily =
141
- (getVariableByName('messageField/label/fontFamily', modes) as string) ||
142
- 'JioType Var'
140
+ (getVariableByName('messageField/label/fontFamily', modes) as string)
143
141
  const labelFontSize = toNumber(
144
142
  getVariableByName('messageField/label/fontSize', modes),
145
143
  14,
@@ -154,11 +152,9 @@ function useMessageFieldTokens(modes: Modes) {
154
152
  )
155
153
 
156
154
  const textareaBackground =
157
- (getVariableByName('messageField/textarea/background', modes) as string) ||
158
- '#ffffff'
155
+ (getVariableByName('messageField/textarea/background', modes) as string)
159
156
  const textareaBorderColor =
160
- (getVariableByName('messageField/textarea/border/color', modes) as string) ||
161
- '#b5b6b7'
157
+ (getVariableByName('messageField/textarea/border/color', modes) as string)
162
158
  const textareaBorderSize = toNumber(
163
159
  getVariableByName('messageField/textarea/border/size', modes),
164
160
  1.5,
@@ -187,11 +183,9 @@ function useMessageFieldTokens(modes: Modes) {
187
183
  // never re-route this through another token (e.g. the counter
188
184
  // color) because that conflates two semantically distinct tokens.
189
185
  const inputTextColor =
190
- (getVariableByName('messageField/text/foreground', modes) as string) ||
191
- '#707275'
186
+ (getVariableByName('messageField/text/foreground', modes) as string)
192
187
  const inputFontFamily =
193
- (getVariableByName('messageField/text/fontFamily', modes) as string) ||
194
- 'JioType Var'
188
+ (getVariableByName('messageField/text/fontFamily', modes) as string)
195
189
  const inputFontSize = toNumber(
196
190
  getVariableByName('messageField/text/fontSize', modes),
197
191
  16,
@@ -206,11 +200,9 @@ function useMessageFieldTokens(modes: Modes) {
206
200
  )
207
201
 
208
202
  const counterColor =
209
- (getVariableByName('messageField/maxLength/foreground', modes) as string) ||
210
- '#24262b'
203
+ (getVariableByName('messageField/maxLength/foreground', modes) as string)
211
204
  const counterFontFamily =
212
- (getVariableByName('messageField/maxLength/fontFamily', modes) as string) ||
213
- 'JioType Var'
205
+ (getVariableByName('messageField/maxLength/fontFamily', modes) as string)
214
206
  const counterFontSize = toNumber(
215
207
  getVariableByName('messageField/maxLength/fontSize', modes),
216
208
  14,
@@ -7,7 +7,7 @@ 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 type { Modes } from '../../design-tokens'
12
12
 
13
13
  export type MetricLegendItemProps = {
@@ -39,6 +39,12 @@ export type MetricLegendItemProps = {
39
39
  labelStyle?: StyleProp<TextStyle>
40
40
  /** Override the value text styles. */
41
41
  valueStyle?: StyleProp<TextStyle>
42
+ /**
43
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
44
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
45
+ * lines as it needs even when horizontal space is tight.
46
+ */
47
+ disableTruncation?: boolean
42
48
  }
43
49
 
44
50
  /**
@@ -59,6 +65,7 @@ function MetricLegendItem({
59
65
  indicatorStyle,
60
66
  labelStyle,
61
67
  valueStyle,
68
+ disableTruncation,
62
69
  }: MetricLegendItemProps) {
63
70
  const gap = (getVariableByName('metricLegendItem/gap', modes) as number | null) ?? 4
64
71
  const textWrapGap =
@@ -169,7 +176,7 @@ function MetricLegendItem({
169
176
  },
170
177
  valueStyle,
171
178
  ]}
172
- numberOfLines={1}
179
+ {...resolveTruncation(disableTruncation, 1)}
173
180
  >
174
181
  {value}
175
182
  </Text>
@@ -115,20 +115,20 @@ function MoneyValue({
115
115
  }, [value, negative, hidden])
116
116
 
117
117
  // Resolve typography and layout tokens from Figma
118
- const textColor = getVariableByName('moneyValue/text/color', modes) || '#0f0d0a'
118
+ const textColor = getVariableByName('moneyValue/text/color', modes)
119
119
 
120
- const currencyFontSize = getVariableByName('moneyValue/currency/fontSize', modes) || 14
121
- const currencyLineHeight = getVariableByName('moneyValue/currency/lineHeight', modes) || 18
120
+ const currencyFontSize = getVariableByName('moneyValue/currency/fontSize', modes)
121
+ const currencyLineHeight = getVariableByName('moneyValue/currency/lineHeight', modes)
122
122
 
123
- const valueFontSize = getVariableByName('moneyValue/value/fontSize', modes) || 14
124
- const valueLineHeight = getVariableByName('moneyValue/value/lineHeight', modes) || 18
123
+ const valueFontSize = getVariableByName('moneyValue/value/fontSize', modes)
124
+ const valueLineHeight = getVariableByName('moneyValue/value/lineHeight', modes)
125
125
 
126
- const fontWeightValue = getVariableByName('moneyValue/fontWeight', modes) || 500
126
+ const fontWeightValue = getVariableByName('moneyValue/fontWeight', modes)
127
127
  const fontWeight =
128
128
  typeof fontWeightValue === 'number'
129
129
  ? fontWeightValue.toString()
130
130
  : fontWeightValue
131
- const fontFamily = getVariableByName('moneyValue/fontFamily', modes) || 'System'
131
+ const fontFamily = getVariableByName('moneyValue/fontFamily', modes)
132
132
  const gap = getVariableByName('moneyValue/gap', modes) ?? 4
133
133
 
134
134
  // Resolve currency to a symbol, supporting both symbols and ISO codes
@@ -8,7 +8,7 @@ import {
8
8
  } from 'react-native'
9
9
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
10
10
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
11
- import { EMPTY_MODES } from '../../utils/react-utils'
11
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
12
12
  import MetricLegendItem from '../MetricLegendItem/MetricLegendItem'
13
13
  import type { Modes } from '../../design-tokens'
14
14
 
@@ -83,6 +83,12 @@ export type MonthlyStatusGridProps = {
83
83
  legendStyle?: StyleProp<ViewStyle>
84
84
  /** Accessibility label for the entire component. */
85
85
  accessibilityLabel?: string
86
+ /**
87
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
88
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
89
+ * lines as it needs even when horizontal space is tight.
90
+ */
91
+ disableTruncation?: boolean
86
92
  }
87
93
 
88
94
  const DEFAULT_MONTH_LABELS: readonly string[] = [
@@ -170,6 +176,12 @@ export type CalendarGlyphProps = {
170
176
  labelStyle?: StyleProp<TextStyle>
171
177
  /** Accessibility label. Defaults to `"{label}, {status}"`. */
172
178
  accessibilityLabel?: string
179
+ /**
180
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
181
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
182
+ * lines as it needs even when horizontal space is tight.
183
+ */
184
+ disableTruncation?: boolean
173
185
  }
174
186
 
175
187
  /**
@@ -186,6 +198,7 @@ function CalendarGlyph({
186
198
  style,
187
199
  labelStyle,
188
200
  accessibilityLabel,
201
+ disableTruncation,
189
202
  }: CalendarGlyphProps) {
190
203
  const { modes: globalModes } = useTokens()
191
204
  const modes = React.useMemo(
@@ -244,7 +257,7 @@ function CalendarGlyph({
244
257
  ]}
245
258
  >
246
259
  <Text
247
- numberOfLines={1}
260
+ {...resolveTruncation(disableTruncation, 1)}
248
261
  style={[
249
262
  {
250
263
  color: foreground,
@@ -312,6 +325,7 @@ function MonthlyStatusGrid({
312
325
  labelStyle,
313
326
  legendStyle,
314
327
  accessibilityLabel,
328
+ disableTruncation,
315
329
  }: MonthlyStatusGridProps) {
316
330
  const { modes: globalModes } = useTokens()
317
331
  const modes = React.useMemo(
@@ -391,6 +405,7 @@ function MonthlyStatusGrid({
391
405
  label={label}
392
406
  status={month.status}
393
407
  modes={glyphModes}
408
+ disableTruncation={disableTruncation}
394
409
  {...(glyphStyle !== undefined ? { style: glyphStyle } : {})}
395
410
  {...(labelStyle !== undefined ? { labelStyle } : {})}
396
411
  {...(month.accessibilityLabel !== undefined
@@ -58,19 +58,19 @@ interface NavArrowTokens {
58
58
 
59
59
  function resolveNavArrowTokens(modes: Modes): NavArrowTokens {
60
60
  const iconColor =
61
- (getVariableByName('navArrow/icon/color', modes) as string) || '#24262b'
61
+ (getVariableByName('navArrow/icon/color', modes) as string)
62
62
 
63
- const widthToken = Number(getVariableByName('navArrow/width', modes)) || 6
64
- const heightToken = Number(getVariableByName('navArrow/height', modes)) || 10
63
+ const widthToken = Number(getVariableByName('navArrow/width', modes))
64
+ const heightToken = Number(getVariableByName('navArrow/height', modes))
65
65
  const borderRadius =
66
- Number(getVariableByName('navArrow/radius', modes)) || 0
66
+ Number(getVariableByName('navArrow/radius', modes))
67
67
  const backgroundColor =
68
- (getVariableByName('navArrow/background', modes) as string) || 'transparent'
68
+ (getVariableByName('navArrow/background', modes) as string)
69
69
 
70
- const iconWidth = Number(getVariableByName('navArrow/icon/width', modes)) || 4
71
- const iconHeight = Number(getVariableByName('navArrow/icon/height', modes)) || 8
70
+ const iconWidth = Number(getVariableByName('navArrow/icon/width', modes))
71
+ const iconHeight = Number(getVariableByName('navArrow/icon/height', modes))
72
72
  const strokeWeight =
73
- Number(getVariableByName('navArrow/icon/strokeWeight', modes)) || 2
73
+ Number(getVariableByName('navArrow/icon/strokeWeight', modes))
74
74
 
75
75
  return {
76
76
  iconColor,
@@ -51,20 +51,20 @@ const NoteInput = forwardRef<RNTextInput, NoteInputProps>(function NoteInput({
51
51
  const inputRef = useRef<RNTextInput>(null)
52
52
 
53
53
  // Resolve tokens from Figma Design
54
- const foreground = getVariableByName('noteInput/foreground', modes) || '#0d0d0f'
55
- const fontSize = getVariableByName('noteInput/fontSize', modes) || 14
56
- const fontFamily = getVariableByName('noteInput/fontFamily', modes) || 'JioType Var'
57
- const lineHeight = getVariableByName('noteInput/lineHeight', modes) || 16
58
- const fontWeightRaw = getVariableByName('noteInput/fontWeight', modes) || 700
54
+ const foreground = getVariableByName('noteInput/foreground', modes)
55
+ const fontSize = getVariableByName('noteInput/fontSize', modes)
56
+ const fontFamily = getVariableByName('noteInput/fontFamily', modes)
57
+ const lineHeight = getVariableByName('noteInput/lineHeight', modes)
58
+ const fontWeightRaw = getVariableByName('noteInput/fontWeight', modes)
59
59
  const fontWeight = typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() as TextStyle['fontWeight'] : fontWeightRaw as TextStyle['fontWeight']
60
60
 
61
- const gap = getVariableByName('noteInput/gap', modes) || 0 // 4 in some files, 0 in context
62
- const paddingHorizontal = getVariableByName('noteInput/padding/horizontal', modes) || 17
63
- const paddingVertical = getVariableByName('noteInput/padding/vertical', modes) || 9
64
- const radius = getVariableByName('noteInput/radius', modes) || 999
65
- const borderSize = getVariableByName('noteInput/border/size', modes) || 1
66
- const background = getVariableByName('noteInput/background', modes) || '#ebebed'
67
- const borderColor = getVariableByName('noteInput/border/color', modes) || 'rgba(255,255,255,0)'
61
+ const gap = getVariableByName('noteInput/gap', modes) // 4 in some files, 0 in context
62
+ const paddingHorizontal = getVariableByName('noteInput/padding/horizontal', modes)
63
+ const paddingVertical = getVariableByName('noteInput/padding/vertical', modes)
64
+ const radius = getVariableByName('noteInput/radius', modes)
65
+ const borderSize = getVariableByName('noteInput/border/size', modes)
66
+ const background = getVariableByName('noteInput/background', modes)
67
+ const borderColor = getVariableByName('noteInput/border/color', modes)
68
68
 
69
69
  const containerStyle: ViewStyle = {
70
70
  flexDirection: 'row',
@@ -63,28 +63,28 @@ function toFontWeight(value: unknown, fallback: TextStyle['fontWeight']): TextSt
63
63
  }
64
64
 
65
65
  function resolveNudgeTokens(modes: Modes): NudgeTokens {
66
- const background = getVariableByName('nudge/background', modes) || '#f5f5f5'
67
- const radius = getVariableByName('nudge/radius', modes) || 12
68
- const paddingH = getVariableByName('nudge/padding/horizontal', modes) || 12
69
- const paddingV = getVariableByName('nudge/padding/vertical', modes) || 12
70
- const gap = getVariableByName('nudge/gap', modes) || 6
66
+ const background = getVariableByName('nudge/background', modes)
67
+ const radius = getVariableByName('nudge/radius', modes)
68
+ const paddingH = getVariableByName('nudge/padding/horizontal', modes)
69
+ const paddingV = getVariableByName('nudge/padding/vertical', modes)
70
+ const gap = getVariableByName('nudge/gap', modes)
71
71
 
72
- const titleColor = getVariableByName('nudge/title/color', modes) || '#0d0d0f'
73
- const titleFontSize = getVariableByName('nudge/title/fontSize', modes) || 14
74
- const titleFontFamily = getVariableByName('nudge/title/fontFamily', modes) || 'System'
75
- const titleLineHeight = getVariableByName('nudge/title/lineHeight', modes) || 15
72
+ const titleColor = getVariableByName('nudge/title/color', modes)
73
+ const titleFontSize = getVariableByName('nudge/title/fontSize', modes)
74
+ const titleFontFamily = getVariableByName('nudge/title/fontFamily', modes)
75
+ const titleLineHeight = getVariableByName('nudge/title/lineHeight', modes)
76
76
  const titleFontWeight = toFontWeight(getVariableByName('nudge/title/fontWeight', modes), '700')
77
77
 
78
- const bodyColor = getVariableByName('nudge/body/color', modes) || '#1a1c1f'
79
- const bodyFontSize = getVariableByName('nudge/body/fontSize', modes) || 12
80
- const bodyFontFamily = getVariableByName('nudge/body/fontFamily', modes) || 'System'
81
- const bodyLineHeight = getVariableByName('nudge/body/lineHeight', modes) || 16
78
+ const bodyColor = getVariableByName('nudge/body/color', modes)
79
+ const bodyFontSize = getVariableByName('nudge/body/fontSize', modes)
80
+ const bodyFontFamily = getVariableByName('nudge/body/fontFamily', modes)
81
+ const bodyLineHeight = getVariableByName('nudge/body/lineHeight', modes)
82
82
  const bodyFontWeight = toFontWeight(getVariableByName('nudge/body/fontWeight', modes), '500')
83
83
 
84
- const textGap = getVariableByName('nudge/text/gap', modes) || 4
85
- const contentGap = getVariableByName('nudge/content/gap', modes) || 8
86
- const contentMinHeight = getVariableByName('nudge/content/minHeight', modes) || 20
87
- const startSlotGap = getVariableByName('nudge/startSlot/gap', modes) || 4
84
+ const textGap = getVariableByName('nudge/text/gap', modes)
85
+ const contentGap = getVariableByName('nudge/content/gap', modes)
86
+ const contentMinHeight = getVariableByName('nudge/content/minHeight', modes)
87
+ const startSlotGap = getVariableByName('nudge/startSlot/gap', modes)
88
88
 
89
89
  return {
90
90
  containerBaseStyle: {
@@ -143,7 +143,7 @@ function resolveNudgeTokens(modes: Modes): NudgeTokens {
143
143
  width: '100%',
144
144
  },
145
145
  detailSlotStyle: {
146
- gap: getVariableByName('slot/gap', modes) || 8,
146
+ gap: getVariableByName('slot/gap', modes),
147
147
  width: '100%',
148
148
  },
149
149
  titleTextStyle: {
@@ -160,8 +160,8 @@ function resolveNudgeTokens(modes: Modes): NudgeTokens {
160
160
  lineHeight: bodyLineHeight as number,
161
161
  fontWeight: bodyFontWeight,
162
162
  },
163
- iconColor: (getVariableByName('appearance/nudge/icon/color', modes) || '#5d00b5') as string,
164
- iconSize: (getVariableByName('nudge/icon/size', modes) || 20) as number,
163
+ iconColor: (getVariableByName('appearance/nudge/icon/color', modes)) as string,
164
+ iconSize: (getVariableByName('nudge/icon/size', modes)) as number,
165
165
  startSlotGap: startSlotGap as number,
166
166
  }
167
167
  }