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
@@ -319,18 +319,18 @@ function OTP({
319
319
  }, [isDisabled]);
320
320
 
321
321
  // --- Token resolution (state-independent tokens resolved once) ---
322
- const otpGap = Number(getVariableByName('otp/gap', modes)) || 36;
323
- const otpPaddingH = Number(getVariableByName('otp/padding/horizontal', modes)) || 8;
324
- const otpPaddingV = Number(getVariableByName('otp/padding/vertical', modes)) || 8;
325
- const slotWidth = Number(getVariableByName('pinSlot/width', modes)) || 48;
326
- const slotGap = Number(getVariableByName('pinSlot/gap', modes)) || 8;
327
- const digitColor = getVariableByName('pinSlot/digit/color', modes) || '#000000';
328
- const digitFontSize = Number(getVariableByName('pinSlot/digit/fontSize', modes)) || 24;
329
- const digitFontFamily = getVariableByName('pinSlot/digit/fontFamily', modes) || 'JioType Var';
330
- const digitLineHeight = Number(getVariableByName('pinSlot/digit/lineHeight', modes)) || 29;
331
- const digitFontWeight = getVariableByName('pinSlot/digit/fontWeight', modes) || '500';
332
- const underlineHeight = Number(getVariableByName('pinSlot/underline/height', modes)) || 2;
333
- const underlineRadius = Number(getVariableByName('pinSlot/underline/radius', modes)) || 1;
322
+ const otpGap = Number(getVariableByName('otp/gap', modes));
323
+ const otpPaddingH = Number(getVariableByName('otp/padding/horizontal', modes));
324
+ const otpPaddingV = Number(getVariableByName('otp/padding/vertical', modes));
325
+ const slotWidth = Number(getVariableByName('pinSlot/width', modes));
326
+ const slotGap = Number(getVariableByName('pinSlot/gap', modes));
327
+ const digitColor = getVariableByName('pinSlot/digit/color', modes);
328
+ const digitFontSize = Number(getVariableByName('pinSlot/digit/fontSize', modes));
329
+ const digitFontFamily = getVariableByName('pinSlot/digit/fontFamily', modes);
330
+ const digitLineHeight = Number(getVariableByName('pinSlot/digit/lineHeight', modes));
331
+ const digitFontWeight = getVariableByName('pinSlot/digit/fontWeight', modes);
332
+ const underlineHeight = Number(getVariableByName('pinSlot/underline/height', modes));
333
+ const underlineRadius = Number(getVariableByName('pinSlot/underline/radius', modes));
334
334
 
335
335
  // --- Resolve the three underline colors ONCE per render. We then
336
336
  // animate between idle ↔ active per-slot using interpolation; the
@@ -338,15 +338,15 @@ function OTP({
338
338
  const idleUnderlineColor = useMemo(() => getVariableByName('PinSlot/underline/color', {
339
339
  ...modes,
340
340
  'Input/PINSlot States': 'Idle'
341
- }) || '#303338', [modes]);
341
+ }), [modes]);
342
342
  const activeUnderlineColor = useMemo(() => getVariableByName('PinSlot/underline/color', {
343
343
  ...modes,
344
344
  'Input/PINSlot States': 'Active'
345
- }) || '#5d00b5', [modes]);
345
+ }), [modes]);
346
346
  const errorUnderlineColor = useMemo(() => getVariableByName('PinSlot/underline/color', {
347
347
  ...modes,
348
348
  'Input/PINSlot States': 'Error'
349
- }) || '#d92d20', [modes]);
349
+ }), [modes]);
350
350
 
351
351
  // --- Per-slot underline highlight animations ---
352
352
  //
@@ -58,31 +58,31 @@ function PageHero({
58
58
  ...globalModes,
59
59
  ...propModes
60
60
  }), [globalModes, propModes]);
61
- const gap = Number(getVariableByName('PageHero/gap', modes)) || 16;
62
- const paddingHorizontal = Number(getVariableByName('PageHero/padding/horizontal', modes)) || 0;
63
- const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes)) || 8;
61
+ const gap = Number(getVariableByName('PageHero/gap', modes));
62
+ const paddingHorizontal = Number(getVariableByName('PageHero/padding/horizontal', modes));
63
+ const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes));
64
64
 
65
65
  // Media slot box — matches the 117×117 frame in Figma (node 4540:7845).
66
66
  // Tokens fall back to 117 when not defined in the variables collection,
67
67
  // so the layout stays stable on consumers that haven't tokenized this yet.
68
- const mediaWidth = Number(getVariableByName('media/width', modes)) || 117;
69
- const mediaHeight = Number(getVariableByName('media/height', modes)) || 117;
70
- const eyebrowColor = getVariableByName('PageHero/eyebrow/color', modes) || '#ffffff';
71
- const eyebrowFontFamily = getVariableByName('PageHero/eyebrow/fontFamily', modes) || 'System';
72
- const eyebrowFontSize = Number(getVariableByName('PageHero/eyebrow/fontSize', modes)) || 18;
73
- const eyebrowFontWeight = getVariableByName('PageHero/eyebrow/fontWeight', modes) || 700;
74
- const eyebrowLineHeight = Number(getVariableByName('PageHero/eyebrow/lineHeight', modes)) || 20;
75
- const headlineColor = getVariableByName('PageHero/headline/color', modes) || '#ffffff';
76
- const headlineFontFamily = getVariableByName('PageHero/headline/fontFamily', modes) || 'System';
77
- const headlineFontSize = Number(getVariableByName('PageHero/headline/fontSize', modes)) || 29;
78
- const headlineFontWeight = getVariableByName('PageHero/headline/fontWeight', modes) || 900;
79
- const headlineLineHeight = Number(getVariableByName('PageHero/headline/lineHeight', modes)) || 29;
68
+ const mediaWidth = Number(getVariableByName('media/width', modes));
69
+ const mediaHeight = Number(getVariableByName('media/height', modes));
70
+ const eyebrowColor = getVariableByName('PageHero/eyebrow/color', modes);
71
+ const eyebrowFontFamily = getVariableByName('PageHero/eyebrow/fontFamily', modes);
72
+ const eyebrowFontSize = Number(getVariableByName('PageHero/eyebrow/fontSize', modes));
73
+ const eyebrowFontWeight = getVariableByName('PageHero/eyebrow/fontWeight', modes);
74
+ const eyebrowLineHeight = Number(getVariableByName('PageHero/eyebrow/lineHeight', modes));
75
+ const headlineColor = getVariableByName('PageHero/headline/color', modes);
76
+ const headlineFontFamily = getVariableByName('PageHero/headline/fontFamily', modes);
77
+ const headlineFontSize = Number(getVariableByName('PageHero/headline/fontSize', modes));
78
+ const headlineFontWeight = getVariableByName('PageHero/headline/fontWeight', modes);
79
+ const headlineLineHeight = Number(getVariableByName('PageHero/headline/lineHeight', modes));
80
80
 
81
81
  // Only `lineHeight` is tokenized for the supporting text in the Figma source.
82
82
  // Color, font size and weight are inline literals in the design (12px medium
83
83
  // white) — we mirror that here so the visual stays faithful when no token
84
84
  // exists.
85
- const supportingTextLineHeight = Number(getVariableByName('PageHero/supportingText/lineHeight', modes)) || 16;
85
+ const supportingTextLineHeight = Number(getVariableByName('PageHero/supportingText/lineHeight', modes));
86
86
  const containerStyle = {
87
87
  flexDirection: 'column',
88
88
  alignItems: 'center',
@@ -25,29 +25,29 @@ export default function PaymentFeedback({
25
25
  ...globalModes,
26
26
  ...propModes
27
27
  };
28
- const containerGap = Number(getVariableByName('paymnetFeedback/container/gap', modes)) || 46;
29
- const messageGap = Number(getVariableByName('paymnetFeedback/message/gap', modes)) || 12;
30
- const titleColor = getVariableByName('paymnetFeedback/title/color', modes) || '#0d0d0f';
31
- const titleFontSize = Number(getVariableByName('paymnetFeedback/title/fontSize', modes)) || 36;
32
- const titleFontFamily = getVariableByName('paymnetFeedback/title/fontFamily', modes) || 'JioType Var';
33
- const titleLineHeight = Number(getVariableByName('paymnetFeedback/title/lineHeight', modes)) || 36;
34
- const titleFontWeight = getVariableByName('paymnetFeedback/title/fontWeight', modes) || '900';
35
- const subtitleColor = getVariableByName('paymnetFeedback/subtitle/color', modes) || '#24262b';
36
- const subtitleFontSize = Number(getVariableByName('paymnetFeedback/subtitle/fontSize', modes)) || 16;
37
- const subtitleFontFamily = getVariableByName('paymnetFeedback/subtitle/fontFamily', modes) || 'JioType Var';
38
- const subtitleLineHeight = Number(getVariableByName('paymnetFeedback/subtitle/lineHeight', modes)) || 19;
39
- const subtitleFontWeight = getVariableByName('paymnetFeedback/subtitle/fontWeight', modes) || '500';
40
- const bodyColor = getVariableByName('paymnetFeedback/body/color', modes) || '#24262b';
41
- const bodyFontSize = Number(getVariableByName('paymnetFeedback/body/fontSize', modes)) || 14;
42
- const bodyFontFamily = getVariableByName('paymnetFeedback/body/fontFamily', modes) || 'JioType Var';
43
- const bodyLineHeight = Number(getVariableByName('paymnetFeedback/body/lineHeight', modes)) || 17;
44
- const bodyFontWeight = getVariableByName('paymnetFeedback/body/fontWeight', modes) || '500';
45
- const detailsColor = getVariableByName('paymnetFeedback/details/color', modes) || '#24262b';
46
- const detailsFontSize = Number(getVariableByName('paymnetFeedback/details/fontSize', modes)) || 14;
47
- const detailsFontFamily = getVariableByName('paymnetFeedback/details/fontFamily', modes) || 'JioType Var';
48
- const detailsLineHeight = Number(getVariableByName('paymnetFeedback/details/lineHeight', modes)) || 17;
49
- const detailsFontWeight = getVariableByName('paymnetFeedback/details/fontWeight', modes) || '500';
50
- const detailsParagraphSpacing = Number(getVariableByName('paymnetFeedback/details/paragraphSpacing', modes)) || 4;
28
+ const containerGap = Number(getVariableByName('paymnetFeedback/container/gap', modes));
29
+ const messageGap = Number(getVariableByName('paymnetFeedback/message/gap', modes));
30
+ const titleColor = getVariableByName('paymnetFeedback/title/color', modes);
31
+ const titleFontSize = Number(getVariableByName('paymnetFeedback/title/fontSize', modes));
32
+ const titleFontFamily = getVariableByName('paymnetFeedback/title/fontFamily', modes);
33
+ const titleLineHeight = Number(getVariableByName('paymnetFeedback/title/lineHeight', modes));
34
+ const titleFontWeight = getVariableByName('paymnetFeedback/title/fontWeight', modes);
35
+ const subtitleColor = getVariableByName('paymnetFeedback/subtitle/color', modes);
36
+ const subtitleFontSize = Number(getVariableByName('paymnetFeedback/subtitle/fontSize', modes));
37
+ const subtitleFontFamily = getVariableByName('paymnetFeedback/subtitle/fontFamily', modes);
38
+ const subtitleLineHeight = Number(getVariableByName('paymnetFeedback/subtitle/lineHeight', modes));
39
+ const subtitleFontWeight = getVariableByName('paymnetFeedback/subtitle/fontWeight', modes);
40
+ const bodyColor = getVariableByName('paymnetFeedback/body/color', modes);
41
+ const bodyFontSize = Number(getVariableByName('paymnetFeedback/body/fontSize', modes));
42
+ const bodyFontFamily = getVariableByName('paymnetFeedback/body/fontFamily', modes);
43
+ const bodyLineHeight = Number(getVariableByName('paymnetFeedback/body/lineHeight', modes));
44
+ const bodyFontWeight = getVariableByName('paymnetFeedback/body/fontWeight', modes);
45
+ const detailsColor = getVariableByName('paymnetFeedback/details/color', modes);
46
+ const detailsFontSize = Number(getVariableByName('paymnetFeedback/details/fontSize', modes));
47
+ const detailsFontFamily = getVariableByName('paymnetFeedback/details/fontFamily', modes);
48
+ const detailsLineHeight = Number(getVariableByName('paymnetFeedback/details/lineHeight', modes));
49
+ const detailsFontWeight = getVariableByName('paymnetFeedback/details/fontWeight', modes);
50
+ const detailsParagraphSpacing = Number(getVariableByName('paymnetFeedback/details/paragraphSpacing', modes));
51
51
  const containerStyle = {
52
52
  flexDirection: 'column',
53
53
  alignItems: 'center',
@@ -83,7 +83,7 @@ const Popup = /*#__PURE__*/forwardRef(function Popup({
83
83
  });
84
84
  return () => anim.stop();
85
85
  }, [isOpen, modalVisible, slideY, backdropAnim, maxBackdropOpacity, animationDuration]);
86
- const background = getVariableByName('popup/background', modes) || '#ffffff';
86
+ const background = getVariableByName('popup/background', modes);
87
87
  const paddingH = getVariableByName('popup/padding/horizontal', modes) ?? 0;
88
88
  const paddingTopVal = getVariableByName('popup/padding/top', modes) ?? 0;
89
89
  const paddingBottomVal = getVariableByName('popup/padding/bottom', modes) ?? 24;
@@ -4,7 +4,7 @@ import React, { useMemo } from 'react';
4
4
  import { Text, View } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import { useTokens } from '../../design-tokens/JFSThemeProvider';
7
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
7
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
8
8
  import MediaSource from '../../utils/MediaSource';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  // Default bundled FINVU brand logo, matching the Figma reference so the
@@ -56,7 +56,8 @@ function PoweredByLabel({
56
56
  style,
57
57
  textStyle,
58
58
  imageStyle,
59
- accessibilityLabel
59
+ accessibilityLabel,
60
+ disableTruncation
60
61
  }) {
61
62
  const {
62
63
  modes: globalModes
@@ -121,7 +122,7 @@ function PoweredByLabel({
121
122
  style: [labelTextStyle, textStyle],
122
123
  accessibilityElementsHidden: true,
123
124
  importantForAccessibility: "no",
124
- numberOfLines: 1,
125
+ ...resolveTruncation(disableTruncation, 1),
125
126
  children: label
126
127
  }), renderImage()]
127
128
  });
@@ -1,16 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useId, useMemo } from 'react';
4
- import { View, Text, Pressable, StyleSheet } from 'react-native';
4
+ import { View, Text, Pressable, StyleSheet, Platform, Image as RNImage } from 'react-native';
5
+ import MaskedView from '@react-native-masked-view/masked-view';
5
6
  import Svg, { Defs, LinearGradient, Stop, Rect } from 'react-native-svg';
6
7
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
7
- import { EMPTY_MODES } from '../../utils/react-utils';
8
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
8
9
  import Avatar from '../Avatar/Avatar';
9
10
  import Badge from '../Badge/Badge';
10
11
  import Button from '../Button/Button';
11
12
  import Image from '../Image/Image';
12
- import GlassFill from './GlassFill';
13
+ import GlassFill from '../../utils/GlassFill/GlassFill';
13
14
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
+ function normalizeImageSource(src) {
16
+ if (src == null) return undefined;
17
+ return typeof src === 'string' ? {
18
+ uri: src
19
+ } : src;
20
+ }
14
21
  /**
15
22
  * ProductMerchandisingCard — a full-bleed image card (Figma node 5277:317)
16
23
  * with a top header (avatar + badge) and a bottom **glass footer** that
@@ -51,11 +58,15 @@ function ProductMerchandisingCard({
51
58
  height = 223,
52
59
  modes = EMPTY_MODES,
53
60
  style,
54
- accessibilityLabel
61
+ accessibilityLabel,
62
+ disableTruncation
55
63
  }) {
56
- // Unique gradient id so multiple cards on one (web) document never collide.
64
+ // Unique gradient ids so multiple cards on one (web) document never collide.
57
65
  const rawId = useId();
58
- const scrimId = `pmc-footer-scrim-${rawId.replace(/[^a-zA-Z0-9_-]/g, '')}`;
66
+ const safeId = rawId.replace(/[^a-zA-Z0-9_-]/g, '');
67
+ const scrimId = `pmc-footer-scrim-${safeId}`;
68
+ const blurMaskId = `pmc-footer-blurmask-${safeId}`;
69
+ const normalizedImageSource = useMemo(() => normalizeImageSource(imageSource), [imageSource]);
59
70
  const tokens = useMemo(() => resolveTokens(modes), [modes]);
60
71
  const containerStyle = {
61
72
  height,
@@ -92,21 +103,25 @@ function ProductMerchandisingCard({
92
103
  monogram: avatarMonogram,
93
104
  modes: avatarModes
94
105
  }) : null;
95
- const footerSpecialBadge = specialBadge ?? (specialBadgeLabel != null ? /*#__PURE__*/_jsxs(View, {
106
+
107
+ // The footer "special badge" is now the shared <Badge type="glass">. The
108
+ // hardcoded literals that defined its look (warm frosted overlay, gentle
109
+ // 5px blur, 6/2 padding, 4px radius, weight-500 white label) are preserved
110
+ // 1:1 via the glass overrides + `style`/`labelStyle`, and the optional
111
+ // `specialBadgeIcon` maps to Badge's `leading` slot — so every existing
112
+ // instantiation renders byte-for-byte the same as before.
113
+ const footerSpecialBadge = specialBadge ?? (specialBadgeLabel != null ? /*#__PURE__*/_jsx(Badge, {
114
+ type: "glass",
115
+ label: specialBadgeLabel,
116
+ leading: specialBadgeIcon,
117
+ glassOverlayColor: SPECIAL_BADGE_BG,
118
+ glassIntensity: SPECIAL_BADGE_INTENSITY,
119
+ modes: modes,
96
120
  style: styles.specialBadge,
97
- children: [/*#__PURE__*/_jsx(GlassFill, {
98
- tint: "light",
99
- intensity: SPECIAL_BADGE_INTENSITY,
100
- overlayColor: SPECIAL_BADGE_BG,
101
- style: styles.specialBadgeFill
102
- }), specialBadgeIcon != null ? /*#__PURE__*/_jsx(View, {
103
- style: styles.specialBadgeIcon,
104
- children: specialBadgeIcon
105
- }) : null, /*#__PURE__*/_jsx(Text, {
106
- style: tokens.specialBadgeText,
107
- numberOfLines: 1,
108
- children: specialBadgeLabel
109
- })]
121
+ labelStyle: tokens.specialBadgeText,
122
+ ...(disableTruncation != null ? {
123
+ disableTruncation
124
+ } : null)
110
125
  }) : null);
111
126
 
112
127
  // The Figma CTA uses the brand "Secondary" appearance (purple fill, white
@@ -141,7 +156,62 @@ function ProductMerchandisingCard({
141
156
  }), /*#__PURE__*/_jsxs(View, {
142
157
  style: tokens.footer,
143
158
  pointerEvents: "box-none",
144
- children: [/*#__PURE__*/_jsx(GlassFill, {
159
+ children: [normalizedImageSource != null ? /*#__PURE__*/_jsx(View, {
160
+ style: StyleSheet.absoluteFill,
161
+ pointerEvents: "none",
162
+ children: /*#__PURE__*/_jsx(MaskedView, {
163
+ style: StyleSheet.absoluteFill,
164
+ maskElement: /*#__PURE__*/_jsxs(Svg, {
165
+ width: "100%",
166
+ height: "100%",
167
+ children: [/*#__PURE__*/_jsx(Defs, {
168
+ children: /*#__PURE__*/_jsxs(LinearGradient, {
169
+ id: blurMaskId,
170
+ x1: "0",
171
+ y1: "0",
172
+ x2: "0",
173
+ y2: "1",
174
+ children: [/*#__PURE__*/_jsx(Stop, {
175
+ offset: "0",
176
+ stopColor: "#000000",
177
+ stopOpacity: 0
178
+ }), /*#__PURE__*/_jsx(Stop, {
179
+ offset: "0.35",
180
+ stopColor: "#000000",
181
+ stopOpacity: 0.5
182
+ }), /*#__PURE__*/_jsx(Stop, {
183
+ offset: "0.7",
184
+ stopColor: "#000000",
185
+ stopOpacity: 0.92
186
+ }), /*#__PURE__*/_jsx(Stop, {
187
+ offset: "1",
188
+ stopColor: "#000000",
189
+ stopOpacity: 1
190
+ })]
191
+ })
192
+ }), /*#__PURE__*/_jsx(Rect, {
193
+ x: "0",
194
+ y: "0",
195
+ width: "100%",
196
+ height: "100%",
197
+ fill: `url(#${blurMaskId})`
198
+ })]
199
+ }),
200
+ children: /*#__PURE__*/_jsx(RNImage, {
201
+ source: normalizedImageSource,
202
+ blurRadius: tokens.imageBlurRadius,
203
+ resizeMode: "cover",
204
+ style: {
205
+ position: 'absolute',
206
+ left: 0,
207
+ right: 0,
208
+ bottom: 0,
209
+ width: '100%',
210
+ height
211
+ }
212
+ })
213
+ })
214
+ }) : /*#__PURE__*/_jsx(GlassFill, {
145
215
  tint: "dark",
146
216
  intensity: tokens.blurIntensity,
147
217
  progressive: true
@@ -182,11 +252,11 @@ function ProductMerchandisingCard({
182
252
  style: tokens.textWrap,
183
253
  children: [/*#__PURE__*/_jsx(Text, {
184
254
  style: tokens.title,
185
- numberOfLines: 1,
255
+ ...resolveTruncation(disableTruncation, 1),
186
256
  children: title
187
257
  }), subtitle != null ? /*#__PURE__*/_jsx(Text, {
188
258
  style: tokens.subtitle,
189
- numberOfLines: 1,
259
+ ...resolveTruncation(disableTruncation, 1),
190
260
  children: subtitle
191
261
  }) : null]
192
262
  }), footerCta]
@@ -257,9 +327,20 @@ function resolveTokens(modes) {
257
327
  const sbSize = asNum(getVariableByName('productMerchandisingcard/specialbadge/text/fontsize', modes), 12);
258
328
  const sbFamily = asStr(getVariableByName('productMerchandisingcard/specialbadge/text/fontfamily', modes), 'JioType Var');
259
329
  const sbWeight = asStr(getVariableByName('productMerchandisingcard/specialbadge/text/fontweight', modes), '500');
330
+
331
+ // `Image.blurRadius` is interpreted differently per platform — iOS applies a
332
+ // strong Gaussian while Android's IterativeBoxBlur is gentler at the same
333
+ // numeric radius — so we tune each platform to land on the same perceived
334
+ // "minimal" frosted strength as the Figma design.
335
+ const imageBlurRadius = Platform.select({
336
+ ios: Math.max(6, Math.round(blurRadius * 0.5)),
337
+ android: Math.max(12, Math.round(blurRadius * 0.95)),
338
+ default: Math.max(8, Math.round(blurRadius * 0.6))
339
+ });
260
340
  return {
261
341
  radius,
262
342
  blurIntensity: Math.max(0, Math.min(100, Math.round(blurRadius * BLUR_INTENSITY_FACTOR))),
343
+ imageBlurRadius,
263
344
  header: {
264
345
  flexDirection: 'row',
265
346
  alignItems: 'flex-start',
@@ -323,23 +404,16 @@ const styles = StyleSheet.create({
323
404
  // the intended fade strength.
324
405
  opacity: 0.9
325
406
  },
407
+ // Overrides layered on top of <Badge type="glass">. Badge already supplies
408
+ // the row layout + 4px gap (when a leading icon is present), `overflow:
409
+ // 'hidden'`, `alignSelf: 'flex-start'` and `alignItems: 'center'`; these
410
+ // pin the special badge's literal Figma box (6/2 padding, 4px radius)
411
+ // regardless of the badge size tokens resolved by the active modes.
326
412
  specialBadge: {
327
- flexDirection: 'row',
328
- alignItems: 'center',
329
- gap: 4,
330
413
  paddingHorizontal: 6,
331
414
  paddingVertical: 2,
332
- borderRadius: 4,
333
- overflow: 'hidden',
334
- alignSelf: 'flex-start'
335
- },
336
- specialBadgeFill: {
337
415
  borderRadius: 4
338
416
  },
339
- specialBadgeIcon: {
340
- justifyContent: 'center',
341
- alignItems: 'center'
342
- },
343
417
  pressed: {
344
418
  opacity: 0.92
345
419
  }
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { View, Text } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
7
7
  import Image from '../Image/Image';
8
8
  import ProductLabel from '../ProductLabel/ProductLabel';
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
@@ -24,7 +24,8 @@ const ProductOverview = ({
24
24
  stats = DEFAULT_STATS,
25
25
  modes = EMPTY_MODES,
26
26
  style,
27
- children
27
+ children,
28
+ disableTruncation
28
29
  }) => {
29
30
  const padding = getVariableByName('productOverview/padding', modes) ?? 24;
30
31
  const gap = getVariableByName('productOverview/gap', modes) ?? 12;
@@ -128,11 +129,11 @@ const ProductOverview = ({
128
129
  },
129
130
  children: [/*#__PURE__*/_jsx(Text, {
130
131
  style: statValueStyle,
131
- numberOfLines: 1,
132
+ ...resolveTruncation(disableTruncation, 1),
132
133
  children: stat.value
133
134
  }), /*#__PURE__*/_jsx(Text, {
134
135
  style: statLabelStyle,
135
- numberOfLines: 1,
136
+ ...resolveTruncation(disableTruncation, 1),
136
137
  children: stat.label
137
138
  })]
138
139
  }, `${stat.label}-${index}`))
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { View, Text } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import Icon from '../../icons/Icon';
7
- import { EMPTY_MODES } from '../../utils/react-utils';
7
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  /**
10
10
  * ProgressBadge component that displays an icon, text, and an internal progress bar.
@@ -29,11 +29,12 @@ function ProgressBadge({
29
29
  style,
30
30
  textStyle: textStyleOverride,
31
31
  accessibilityLabel,
32
+ disableTruncation,
32
33
  ...rest
33
34
  }) {
34
35
  // Resolve layout tokens
35
- const backgroundColor = getVariableByName('progressBadge/background', modes) || '#ffffff';
36
- const progressColor = getVariableByName('progressBadge/progress/color', modes) || '#ebebed';
36
+ const backgroundColor = getVariableByName('progressBadge/background', modes);
37
+ const progressColor = getVariableByName('progressBadge/progress/color', modes);
37
38
  const gap = getVariableByName('progressBadge/gap', modes) ?? 12;
38
39
  const paddingHorizontal = getVariableByName('progressBadge/padding/horizontal', modes) ?? 16;
39
40
  const paddingVertical = getVariableByName('progressBadge/padding/vertical', modes) ?? 6;
@@ -41,15 +42,15 @@ function ProgressBadge({
41
42
  const descriptionGap = getVariableByName('progressBadge/description/gap', modes) ?? 8;
42
43
 
43
44
  // Resolve typography tokens
44
- const fontFamily = getVariableByName('progressBadge/fontFamily', modes) || 'JioType_Var:Medium';
45
+ const fontFamily = getVariableByName('progressBadge/fontFamily', modes);
45
46
  const fontWeightRaw = getVariableByName('progressBadge/fontWeight', modes) ?? 500;
46
47
  const fontWeight = typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw;
47
48
  const fontSize = getVariableByName('progressBadge/fontSize', modes) ?? 14;
48
49
  const lineHeight = getVariableByName('progressBadge/lineHeight', modes) ?? 17;
49
- const textColor = getVariableByName('progressBadge/foreground', modes) || '#000000';
50
+ const textColor = getVariableByName('progressBadge/foreground', modes);
50
51
 
51
52
  // Resolve icon tokens
52
- const iconColor = getVariableByName('progressBadge/icon/color', modes) || '#f50030';
53
+ const iconColor = getVariableByName('progressBadge/icon/color', modes);
53
54
  const iconSize = getVariableByName('progressBadge/icon/size', modes) ?? 18;
54
55
  const containerStyle = {
55
56
  backgroundColor,
@@ -114,8 +115,7 @@ function ProgressBadge({
114
115
  importantForAccessibility: "no"
115
116
  }) : null, /*#__PURE__*/_jsx(Text, {
116
117
  style: [textStyle, textStyleOverride],
117
- numberOfLines: 1,
118
- ellipsizeMode: "tail",
118
+ ...resolveTruncation(disableTruncation, 1, 'tail'),
119
119
  accessibilityElementsHidden: true,
120
120
  importantForAccessibility: "no",
121
121
  children: taskName
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { View, Text } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
7
7
  import Divider from '../Divider/Divider';
8
8
 
9
9
  /**
@@ -53,7 +53,8 @@ function ProjectionMarker({
53
53
  badgeStyle,
54
54
  durationStyle,
55
55
  rateStyle,
56
- accessibilityLabel
56
+ accessibilityLabel,
57
+ disableTruncation
57
58
  }) {
58
59
  const titleColor = getVariableByName('projectionMarker/title/color', modes) ?? '#000000';
59
60
  const titleFontFamily = getVariableByName('projectionMarker/title/fontfamily', modes) ?? 'JioType Var';
@@ -85,7 +86,7 @@ function ProjectionMarker({
85
86
  if (isTextValue(value)) {
86
87
  return /*#__PURE__*/_jsx(Text, {
87
88
  style: [titleTextStyle, overrideStyle],
88
- numberOfLines: 1,
89
+ ...resolveTruncation(disableTruncation, 1),
89
90
  children: value
90
91
  });
91
92
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { forwardRef, useState } from 'react';
4
- import { Pressable, View, Platform } from 'react-native';
4
+ import { Pressable, View } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import { EMPTY_MODES } from '../../utils/react-utils';
7
+ import { boxShadow } from '../../utils/shadow';
7
8
 
8
9
  // ---------------------------------------------------------------------------
9
10
  // Props
@@ -27,9 +28,9 @@ export const Radio = /*#__PURE__*/forwardRef(function Radio({
27
28
  const [pressed, setPressed] = useState(false);
28
29
 
29
30
  // ---- Dimensions ----
30
- const widthStr = getVariableByName('radio/width', modes) || '18';
31
- const heightStr = getVariableByName('radio/height', modes) || '18';
32
- const selectorSizeStr = getVariableByName('radio/selector/size', modes) || '10';
31
+ const widthStr = getVariableByName('radio/width', modes);
32
+ const heightStr = getVariableByName('radio/height', modes);
33
+ const selectorSizeStr = getVariableByName('radio/selector/size', modes);
33
34
  const width = parseFloat(widthStr?.toString() || '18');
34
35
  const height = parseFloat(heightStr?.toString() || '18');
35
36
  const selectorSize = parseFloat(selectorSizeStr?.toString() || '10');
@@ -66,7 +67,7 @@ export const Radio = /*#__PURE__*/forwardRef(function Radio({
66
67
  // ---- Colors & Border ----
67
68
 
68
69
  const resolveColor = (path, fallback) => {
69
- return getVariableByName(path, modes) || fallback;
70
+ return getVariableByName(path, modes);
70
71
  };
71
72
 
72
73
  // Background Color
@@ -120,10 +121,9 @@ export const Radio = /*#__PURE__*/forwardRef(function Radio({
120
121
  backgroundColor,
121
122
  justifyContent: 'center',
122
123
  alignItems: 'center',
123
- // Web shadow (ring)
124
- ...(Platform.OS === 'web' && shadowSize > 0 ? {
125
- boxShadow: `0px 0px 0px ${shadowSize}px ${shadowColor}`
126
- } : {})
124
+ // Focus/selected glow ring. Rendered via the unified boxShadow helper
125
+ // so it works on web + RN 0.76+ and degrades gracefully on older RN.
126
+ ...(shadowSize > 0 ? boxShadow(`0px 0px 0px ${shadowSize}px ${shadowColor}`) : {})
127
127
  };
128
128
  const selectorStyle = {
129
129
  width: selectorSize,