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
@@ -4,10 +4,9 @@ import React, { useEffect, useMemo, useRef } from 'react';
4
4
  import { Animated, Keyboard, View, Platform } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils';
7
+ import { boxShadow } from '../../utils/shadow';
7
8
  import IconButton from '../IconButton/IconButton';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const IS_WEB = Platform.OS === 'web';
10
-
11
10
  // ---------------------------------------------------------------------------
12
11
  // Yoga-safe stretch
13
12
  // ---------------------------------------------------------------------------
@@ -36,27 +35,11 @@ const STRETCH_STYLE = {
36
35
  minWidth: 0
37
36
  };
38
37
 
39
- // Platform-specific drop shadow. Web boxShadow can't go through
40
- // Platform.select (RN's typed surface doesn't include it) so we keep it as a
41
- // separate constant and append it below.
42
- const NATIVE_SHADOW = Platform.select({
43
- ios: {
44
- shadowColor: '#0c0d10',
45
- shadowOffset: {
46
- width: 0,
47
- height: -12
48
- },
49
- shadowOpacity: 0.16,
50
- shadowRadius: 24
51
- },
52
- android: {
53
- elevation: 16
54
- },
55
- default: {}
38
+ // Upward drop shadow routed through the unified helper: native `boxShadow` on
39
+ // web + RN 0.76+, legacy `shadow*` (iOS) / `elevation` (Android) on older RN.
40
+ const SHADOW = boxShadow('0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)', {
41
+ elevation: 16
56
42
  });
57
- const WEB_SHADOW = IS_WEB ? {
58
- boxShadow: '0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)'
59
- } : null;
60
43
 
61
44
  // The runtime token a slot child must equal (by reference) to be treated as
62
45
  // an IconButton. `IconButton` is exported wrapped in `React.memo`, so the
@@ -165,7 +148,7 @@ function ActionFooter({
165
148
  paddingRight: paddingHorizontal,
166
149
  paddingTop,
167
150
  paddingBottom,
168
- ...NATIVE_SHADOW
151
+ ...SHADOW
169
152
  };
170
153
  const slot = {
171
154
  flexDirection: 'row',
@@ -202,7 +185,7 @@ function ActionFooter({
202
185
  });
203
186
  }, [children, modes]);
204
187
  return /*#__PURE__*/_jsx(Animated.View, {
205
- style: [containerStyle, WEB_SHADOW, style,
188
+ style: [containerStyle, style,
206
189
  // Counter-translate by the keyboard height on Android so `adjustResize`
207
190
  // can't lift the footer above the keyboard (no-op on iOS/web where the
208
191
  // value stays at 0).
@@ -29,18 +29,18 @@ export default function ActionTile({
29
29
  };
30
30
 
31
31
  // Resolve tokens
32
- const backgroundColor = getVariableByName('actionTile/background', modes) || '#ffffff';
33
- const gap = Number(getVariableByName('actionTile/gap', modes)) || 8;
34
- const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes)) || 12;
35
- const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes)) || 16;
36
- const radius = Number(getVariableByName('actionTile/radius', modes)) || 16;
32
+ const backgroundColor = getVariableByName('actionTile/background', modes);
33
+ const gap = Number(getVariableByName('actionTile/gap', modes));
34
+ const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes));
35
+ const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes));
36
+ const radius = Number(getVariableByName('actionTile/radius', modes));
37
37
 
38
38
  // Text tokens
39
- const textColor = getVariableByName('actionTile/foreground', modes) || '#0d0d0f';
40
- const fontSize = Number(getVariableByName('actionTile/fontSize', modes)) || 14;
41
- const fontFamily = getVariableByName('actionTile/fontFamily', modes) || 'JioType Var';
42
- const fontWeightStr = getVariableByName('actionTile/fontWeight', modes) || '500';
43
- const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes)) || 17;
39
+ const textColor = getVariableByName('actionTile/foreground', modes);
40
+ const fontSize = Number(getVariableByName('actionTile/fontSize', modes));
41
+ const fontFamily = getVariableByName('actionTile/fontFamily', modes);
42
+ const fontWeightStr = getVariableByName('actionTile/fontWeight', modes);
43
+ const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes));
44
44
  const containerStyle = {
45
45
  backgroundColor,
46
46
  borderRadius: radius,
@@ -5,7 +5,7 @@ import { View, Text } from 'react-native';
5
5
  import Svg, { Line } from 'react-native-svg';
6
6
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
7
7
  import { useTokens } from '../../design-tokens/JFSThemeProvider';
8
- import { EMPTY_MODES } from '../../utils/react-utils';
8
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
9
9
  import MetricLegendItem from '../MetricLegendItem/MetricLegendItem';
10
10
 
11
11
  /**
@@ -61,7 +61,8 @@ function SegmentBar({
61
61
  baselineHeightPx,
62
62
  baselineLabel,
63
63
  showMarker,
64
- theme
64
+ theme,
65
+ disableTruncation
65
66
  }) {
66
67
  const {
67
68
  barWidth,
@@ -88,7 +89,7 @@ function SegmentBar({
88
89
  },
89
90
  accessibilityLabel: segment.accessibilityLabel,
90
91
  children: [showValueLabel ? /*#__PURE__*/_jsx(Text, {
91
- numberOfLines: 1,
92
+ ...resolveTruncation(disableTruncation, 1),
92
93
  style: labelStyle,
93
94
  children: segment.valueLabel
94
95
  }) : null, /*#__PURE__*/_jsx(View, {
@@ -134,7 +135,7 @@ function SegmentBar({
134
135
  strokeDasharray: "2 2"
135
136
  })
136
137
  }), isShown(baselineLabel) ? /*#__PURE__*/_jsx(Text, {
137
- numberOfLines: 1,
138
+ ...resolveTruncation(disableTruncation, 1),
138
139
  style: [labelStyle, {
139
140
  marginLeft: 6
140
141
  }],
@@ -143,7 +144,7 @@ function SegmentBar({
143
144
  }) : null]
144
145
  }) : null
145
146
  }), /*#__PURE__*/_jsx(Text, {
146
- numberOfLines: 1,
147
+ ...resolveTruncation(disableTruncation, 1),
147
148
  style: labelStyle,
148
149
  children: segment.label
149
150
  })]
@@ -180,7 +181,8 @@ function AllocationComparisonChart({
180
181
  style,
181
182
  chartStyle,
182
183
  legendStyle,
183
- accessibilityLabel
184
+ accessibilityLabel,
185
+ disableTruncation
184
186
  }) {
185
187
  const {
186
188
  modes: globalModes
@@ -284,7 +286,8 @@ function AllocationComparisonChart({
284
286
  baselineHeightPx: baselineHeightPx,
285
287
  baselineLabel: baselineLabel,
286
288
  showMarker: showMarker,
287
- theme: theme
289
+ theme: theme,
290
+ disableTruncation: disableTruncation
288
291
  }, segment.key ?? `segment-${index}`);
289
292
  })
290
293
  })]
@@ -28,9 +28,9 @@ const AmountInput = /*#__PURE__*/forwardRef(function AmountInput({
28
28
  };
29
29
 
30
30
  // Resolve tokens
31
- const gap = Number(getVariableByName('amountInput/gap', modes)) || 16;
32
- const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes)) || 0;
33
- const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes)) || 0;
31
+ const gap = Number(getVariableByName('amountInput/gap', modes));
32
+ const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes));
33
+ const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes));
34
34
  const containerStyle = {
35
35
  flexDirection: 'column',
36
36
  alignItems: 'center',
@@ -5,7 +5,7 @@ import { PanResponder, Platform, Pressable, StyleSheet, Text, View } from 'react
5
5
  import Svg, { Circle, Line, Path } from 'react-native-svg';
6
6
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
7
7
  import { useTokens } from '../../design-tokens/JFSThemeProvider';
8
- import { EMPTY_MODES } from '../../utils/react-utils';
8
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
9
9
  import MetricLegendItem from '../MetricLegendItem/MetricLegendItem';
10
10
  import { buildAreaPath, buildLineSegments, createLinearScale, extent, nearestIndex, niceTicks, resolvePoints } from './chartMath';
11
11
 
@@ -116,7 +116,8 @@ function AreaLineChart({
116
116
  modes: propModes = EMPTY_MODES,
117
117
  style,
118
118
  children,
119
- accessibilityLabel
119
+ accessibilityLabel,
120
+ disableTruncation
120
121
  }) {
121
122
  const {
122
123
  modes: globalModes
@@ -236,8 +237,9 @@ function AreaLineChart({
236
237
  formatX,
237
238
  formatY,
238
239
  showDots,
239
- modes
240
- }), [plotWidth, height, inset, xScale, yScale, yTicks, indexXs, count, resolvedSeries, curve, activeIndex, setActiveIndex, xLabels, formatX, formatY, showDots, modes]);
240
+ modes,
241
+ disableTruncation
242
+ }), [plotWidth, height, inset, xScale, yScale, yTicks, indexXs, count, resolvedSeries, curve, activeIndex, setActiveIndex, xLabels, formatX, formatY, showDots, modes, disableTruncation]);
241
243
  const isMultiSeries = resolvedSeries.length > 1;
242
244
  const resolvedFormatValue = formatValue ?? (v => formatY(v));
243
245
  return /*#__PURE__*/_jsx(ChartContext.Provider, {
@@ -378,7 +380,8 @@ function ChartYAxis({
378
380
  yScale,
379
381
  yTicks,
380
382
  formatY,
381
- modes
383
+ modes,
384
+ disableTruncation
382
385
  } = useChart();
383
386
  const typo = useAxisTypography(modes);
384
387
  const format = formatLabel ?? formatY;
@@ -406,7 +409,7 @@ function ChartYAxis({
406
409
  },
407
410
  children: showLabels ? /*#__PURE__*/_jsx(Text, {
408
411
  style: typo.style,
409
- numberOfLines: 1,
412
+ ...resolveTruncation(disableTruncation, 1),
410
413
  children: format(t)
411
414
  }) : null
412
415
  }, `yl-${t}`);
@@ -457,7 +460,8 @@ function ChartXAxis({
457
460
  formatX,
458
461
  modes,
459
462
  activeIndex,
460
- setActiveIndex
463
+ setActiveIndex,
464
+ disableTruncation
461
465
  } = useChart();
462
466
  const typo = useAxisTypography(modes);
463
467
  const format = formatLabel ?? formatX;
@@ -503,7 +507,7 @@ function ChartXAxis({
503
507
  color: activeColor,
504
508
  fontWeight: '700'
505
509
  } : null],
506
- numberOfLines: 1,
510
+ ...resolveTruncation(disableTruncation, 1),
507
511
  children: format(label, i)
508
512
  });
509
513
  return /*#__PURE__*/_jsx(View, {
@@ -716,7 +720,7 @@ function ChartTooltip({
716
720
  const bg = getVariableByName('tooltip/background', modes) ?? '#0f0d0a';
717
721
  const paddingH = toNumber(getVariableByName('tooltip/padding/horizontal', modes), 12);
718
722
  const paddingV = toNumber(getVariableByName('tooltip/padding/vertical', modes), 8);
719
- const radius = toNumber(getVariableByName('radius', modes), 8);
723
+ const radius = 8;
720
724
  const labelColor = getVariableByName('tooltip/label/color', modes) ?? '#ffffff';
721
725
  if (items.length === 0) return null;
722
726
 
@@ -794,7 +798,7 @@ function ChartLegend() {
794
798
  /** Resolve `axisItem/*` typography tokens into a memoized text style. */
795
799
  function useAxisTypography(modes) {
796
800
  return useMemo(() => {
797
- const color = getVariableByName('axisItem/color', modes) ?? '#000000';
801
+ const color = getVariableByName('axisItem/fg', modes) ?? '#000000';
798
802
  const fontFamily = getVariableByName('axisItem/fontFamily', modes) ?? 'JioType Var';
799
803
  const fontSize = toNumber(getVariableByName('axisItem/fontSize', modes), 12);
800
804
  const lineHeight = toNumber(getVariableByName('axisItem/lineHeight', modes), 16);
@@ -124,7 +124,7 @@ function Attached({
124
124
  // anchor centering intact).
125
125
  const slotBorderStyle = useMemo(() => {
126
126
  const borderColor = getVariableByName('attached/slot/border', modes);
127
- const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes) || '0');
127
+ const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes));
128
128
  if (!borderColor || !(borderWidth > 0)) return null;
129
129
 
130
130
  // Match the inner clip radius so the ring stays concentric. The outer edge
@@ -51,17 +51,17 @@ const monogramContainerStyle = {
51
51
  // ---------------------------------------------------------------------------
52
52
 
53
53
  function resolveAvatarTokens(modes, isMonogram) {
54
- const size = getVariableByName('avatar/size', modes) || 29;
55
- const radiusRaw = getVariableByName('avatar/radius', modes) || 9999;
56
- const backgroundColor = getVariableByName('avatar/background', modes) || '#dbcfff';
57
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)';
58
- const borderSize = getVariableByName('avatar/border/size', modes) || 1;
59
- const labelColor = getVariableByName('avatar/label/color', modes) || '#5c00b5';
60
- const labelFontSize = getVariableByName('avatar/label/fontSize', modes) || 12;
61
- const labelLineHeight = getVariableByName('avatar/label/lineHeight', modes) || 14;
62
- const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes) || 500;
54
+ const size = getVariableByName('avatar/size', modes);
55
+ const radiusRaw = getVariableByName('avatar/radius', modes);
56
+ const backgroundColor = getVariableByName('avatar/background', modes);
57
+ const borderColor = getVariableByName('avatar/border/color', modes);
58
+ const borderSize = getVariableByName('avatar/border/size', modes);
59
+ const labelColor = getVariableByName('avatar/label/color', modes);
60
+ const labelFontSize = getVariableByName('avatar/label/fontSize', modes);
61
+ const labelLineHeight = getVariableByName('avatar/label/lineHeight', modes);
62
+ const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes);
63
63
  const labelFontWeight = typeof labelFontWeightRaw === 'number' ? labelFontWeightRaw.toString() : labelFontWeightRaw;
64
- const labelFontFamily = getVariableByName('avatar/label/fontFamily', modes) || 'Inter';
64
+ const labelFontFamily = getVariableByName('avatar/label/fontFamily', modes);
65
65
 
66
66
  // 9999 is the design-token sentinel for "perfect circle"
67
67
  const borderRadius = radiusRaw === 9999 ? size / 2 : radiusRaw;
@@ -13,15 +13,15 @@ function AvatarGroup({
13
13
  style,
14
14
  ...rest
15
15
  }) {
16
- const gap = getVariableByName('avatarGroup/gap', modes) || 0;
17
- const avatarSize = getVariableByName('avatar/size', modes) || 29;
18
- const avatarRadius = getVariableByName('avatar/radius', modes) || 9999;
19
- const borderSize = getVariableByName('avatar/border/size', modes) || 1;
20
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)';
21
- const paddingLeft = getVariableByName('avatarGroup/padding/left', modes) || 0;
22
- const paddingRight = getVariableByName('avatarGroup/padding/right', modes) || 0;
23
- const paddingTop = getVariableByName('avatarGroup/padding/top', modes) || 0;
24
- const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes) || 0;
16
+ const gap = getVariableByName('avatarGroup/gap', modes);
17
+ const avatarSize = getVariableByName('avatar/size', modes);
18
+ const avatarRadius = getVariableByName('avatar/radius', modes);
19
+ const borderSize = getVariableByName('avatar/border/size', modes);
20
+ const borderColor = getVariableByName('avatar/border/color', modes);
21
+ const paddingLeft = getVariableByName('avatarGroup/padding/left', modes);
22
+ const paddingRight = getVariableByName('avatarGroup/padding/right', modes);
23
+ const paddingTop = getVariableByName('avatarGroup/padding/top', modes);
24
+ const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes);
25
25
  const validChildren = flattenChildren(children);
26
26
  const totalChildren = validChildren.length;
27
27
 
@@ -3,30 +3,46 @@
3
3
  import React from 'react';
4
4
  import { View, Text, Pressable } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
7
7
  import Skeleton from '../../skeleton/Skeleton';
8
8
  import { useSkeleton } from '../../skeleton/SkeletonGroup';
9
- import { jsx as _jsx } from "react/jsx-runtime";
9
+ import GlassFill from '../../utils/GlassFill/GlassFill';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  function Badge({
11
12
  label = 'Label',
13
+ type = 'default',
12
14
  modes = EMPTY_MODES,
13
15
  onPress,
14
16
  accessibilityLabel,
15
17
  style,
16
18
  labelStyle,
17
19
  loading,
20
+ disableTruncation,
21
+ leading,
22
+ glassOverlayColor,
23
+ glassIntensity,
18
24
  ...rest
19
25
  }) {
20
- // Resolve token values (fall back to sensible defaults)
21
- const backgroundColor = getVariableByName('badge/color/background', modes) || '#d8effe';
22
- const labelColor = getVariableByName('badge/color/label', modes) || '#000000';
23
- const fontSize = Number(getVariableByName('badge/label/fontSize', modes)) || 12;
24
- const fontFamily = getVariableByName('badge/fontFamily', modes) || undefined;
25
- const fontWeight = getVariableByName('badge/label/fontWeight', modes) || '600';
26
- const paddingHorizontal = Number(getVariableByName('badge/padding/horizontal', modes)) || 6;
27
- const paddingVertical = Number(getVariableByName('badge/padding/vertical', modes)) || 4;
28
- const borderRadius = Number(getVariableByName('badge/radius', modes)) || 4;
29
- const lineHeight = Number(getVariableByName('badge/label/lineHeight', modes)) || Math.round(fontSize * 1.2);
26
+ const isGlass = type === 'glass';
27
+ const hasLeading = leading != null;
28
+
29
+ // Resolve token values (fall back to sensible defaults). The glass type
30
+ // swaps the solid fill for a translucent overlay + white label, matching the
31
+ // Figma `badge/glass/*` tokens.
32
+ const backgroundColor = getVariableByName('badge/color/background', modes);
33
+ const glassBackground = getVariableByName('badge/glass/color/background', modes);
34
+ const glassLabelColor = getVariableByName('badge/glass/color/label', modes);
35
+ const labelColor = isGlass ? glassLabelColor : getVariableByName('badge/color/label', modes);
36
+ const fontSize = Number(getVariableByName('badge/label/fontSize', modes));
37
+ const fontFamily = getVariableByName('badge/fontFamily', modes);
38
+ const fontWeight = getVariableByName('badge/label/fontWeight', modes);
39
+ const paddingHorizontal = Number(getVariableByName('badge/padding/horizontal', modes));
40
+ const paddingVertical = Number(getVariableByName('badge/padding/vertical', modes));
41
+ const borderRadius = Number(getVariableByName('badge/radius', modes));
42
+ const lineHeight = Number(getVariableByName('badge/label/lineHeight', modes));
43
+ // Figma `blur/minimal` (px radius) -> GlassFill's 0–100 intensity scale, the
44
+ // same 1:1 mapping the merchandising card footer uses.
45
+ const blurIntensity = Math.max(0, Math.min(100, Math.round(Number(getVariableByName('blur/minimal', modes)))));
30
46
 
31
47
  // Skeleton short-circuit. Size derived from the same tokens the loaded
32
48
  // badge would use so the placeholder occupies the same box.
@@ -49,13 +65,25 @@ function Badge({
49
65
  }
50
66
  const Container = onPress ? Pressable : View;
51
67
  const containerStyle = {
52
- backgroundColor,
68
+ // Glass keeps the container transparent so the GlassFill blur shows through;
69
+ // `overflow: 'hidden'` clips the native blur view to the rounded pill (the
70
+ // blur view does not honor borderRadius itself).
71
+ backgroundColor: isGlass ? 'transparent' : backgroundColor,
53
72
  paddingHorizontal,
54
73
  paddingVertical,
55
74
  borderRadius,
56
75
  alignSelf: 'flex-start',
57
76
  alignItems: 'center',
58
77
  justifyContent: 'center',
78
+ // A leading node sits in-line before the label, so switch to a row with a
79
+ // small gap. Consumer `style` (spread last) can still override either.
80
+ ...(hasLeading ? {
81
+ flexDirection: 'row',
82
+ gap: 4
83
+ } : null),
84
+ ...(isGlass ? {
85
+ overflow: 'hidden'
86
+ } : null),
59
87
  ...(style || {})
60
88
  };
61
89
  const textStyle = {
@@ -68,19 +96,30 @@ function Badge({
68
96
  ...(labelStyle || {})
69
97
  };
70
98
  const defaultAccessibilityLabel = accessibilityLabel || label;
71
- return /*#__PURE__*/_jsx(Container, {
99
+ return /*#__PURE__*/_jsxs(Container, {
72
100
  style: containerStyle,
73
101
  accessibilityRole: onPress ? 'button' : 'text',
74
102
  accessibilityLabel: undefined,
75
103
  onPress: onPress,
76
104
  ...rest,
77
- children: /*#__PURE__*/_jsx(Text, {
105
+ children: [isGlass ? /*#__PURE__*/_jsx(GlassFill, {
106
+ tint: "light",
107
+ intensity: glassIntensity ?? blurIntensity,
108
+ overlayColor: glassOverlayColor ?? glassBackground,
109
+ androidTintWash: false
110
+ }) : null, hasLeading ? /*#__PURE__*/_jsx(View, {
111
+ style: LEADING_WRAP,
112
+ children: leading
113
+ }) : null, /*#__PURE__*/_jsx(Text, {
78
114
  style: textStyle,
79
- numberOfLines: 1,
80
- ellipsizeMode: "tail",
115
+ ...resolveTruncation(disableTruncation, 1, 'tail'),
81
116
  accessibilityElementsHidden: false,
82
117
  children: label
83
- })
118
+ })]
84
119
  });
85
120
  }
121
+ const LEADING_WRAP = {
122
+ justifyContent: 'center',
123
+ alignItems: 'center'
124
+ };
86
125
  export default Badge;
@@ -9,6 +9,9 @@ import Text from '../Text/Text';
9
9
  import ListItem from '../ListItem/ListItem';
10
10
  import Divider from '../Divider/Divider';
11
11
  import Button from '../Button/Button';
12
+ import Nudge from '../Nudge/Nudge';
13
+ import Avatar from '../Avatar/Avatar';
14
+ import TextSegment from '../TextSegment/TextSegment';
12
15
 
13
16
  /**
14
17
  * A single benefit row rendered with the shared `ListItem` primitive: a
@@ -38,8 +41,11 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
38
41
  function BenefitCard({
39
42
  headerTitle = 'You will earn',
40
43
  headerItem,
44
+ headerItems,
45
+ header,
41
46
  showHeader = true,
42
- bodyTitle = 'Upgrade to JioFinance+ and earn more',
47
+ bodyTitle,
48
+ bodyHeader,
43
49
  items,
44
50
  children,
45
51
  buttonLabel = 'Upgrade',
@@ -54,11 +60,16 @@ function BenefitCard({
54
60
  }) {
55
61
  const tokens = useMemo(() => resolveTokens(modes), [modes]);
56
62
 
57
- // Sub-component modes. Consumer-supplied `modes` always win via spread order.
58
- const listItemModes = useMemo(() => ({
63
+ // Component-level modes. `List Item Style: Minimal` and `Nudge padding: None`
64
+ // are BenefitCard's own defaults: they live on the card and cascade down into
65
+ // every child (the list-wrap rows and the upsell nudge) rather than being
66
+ // threaded onto each individual item. Consumer `modes` always win.
67
+ const cascadeModes = useMemo(() => ({
59
68
  'List Item Style': 'Minimal',
69
+ 'Nudge padding': 'None',
60
70
  ...modes
61
71
  }), [modes]);
72
+ // Sub-element modes layer their own specifics on top of the consumer modes.
62
73
  const iconModes = useMemo(() => ({
63
74
  AppearanceBrand: 'Secondary',
64
75
  ...modes
@@ -72,6 +83,13 @@ function BenefitCard({
72
83
  'Button / Size': 'S',
73
84
  ...modes
74
85
  }), [modes]);
86
+ // The upsell nudge keeps a white/transparent background (`AppearanceBrand:
87
+ // Neutral` → `nudge/background: #ffffff`); its `Nudge padding: None` cascades
88
+ // in from `cascadeModes` so it sits flush with the card.
89
+ const nudgeModes = useMemo(() => ({
90
+ AppearanceBrand: 'Neutral',
91
+ ...cascadeModes
92
+ }), [cascadeModes]);
75
93
  const renderItem = (item, key) => {
76
94
  const leading = item.leading ?? (item.icon != null ? /*#__PURE__*/_jsx(Icon, {
77
95
  iconName: item.icon,
@@ -89,23 +107,60 @@ function BenefitCard({
89
107
  title: item.title,
90
108
  leading: leading,
91
109
  trailing: trailing,
92
- onPress: item.onPress,
93
- modes: listItemModes
110
+ onPress: item.onPress
94
111
  }, key);
95
112
  };
96
- const headerNode = showHeader && (headerTitle != null || headerItem != null) ? /*#__PURE__*/_jsxs(View, {
113
+
114
+ // Header "list wrap" — slot-based. Precedence: `header` slot > `headerItems`
115
+ // array > legacy single `headerItem` > Figma default rows. The component-level
116
+ // `cascadeModes` are pushed into the whole group at once, so individual rows
117
+ // never carry their own list-item modes.
118
+ const headerListSource = header ? header : (headerItems ?? (headerItem ? [headerItem] : DEFAULT_HEADER_ITEMS)).map((item, index) => renderItem(item, `header-${index}`));
119
+ const headerListNodes = cloneChildrenWithModes(headerListSource, cascadeModes);
120
+ const headerNode = showHeader ? /*#__PURE__*/_jsxs(View, {
97
121
  style: styles.section,
98
122
  children: [/*#__PURE__*/_jsxs(View, {
99
123
  style: styles.cardHeader,
100
124
  children: [headerTitle != null ? /*#__PURE__*/_jsx(RNText, {
101
125
  style: tokens.title,
102
126
  children: headerTitle
103
- }) : null, headerItem != null ? renderItem(headerItem, 'header-item') : null]
127
+ }) : null, /*#__PURE__*/_jsx(View, {
128
+ style: tokens.listWrap,
129
+ children: headerListNodes
130
+ })]
104
131
  }), /*#__PURE__*/_jsx(Divider, {
105
132
  modes: modes
106
133
  })]
107
134
  }) : null;
108
- const bodyList = children ? cloneChildrenWithModes(children, listItemModes) : (items ?? DEFAULT_ITEMS).map((item, index) => renderItem(item, index));
135
+
136
+ // Body "header" slot (between the divider and the body list). Precedence:
137
+ // explicit `bodyHeader` slot > legacy `bodyTitle` text > Figma upsell nudge.
138
+ const bodyHeaderNode = bodyHeader === null || bodyHeader === false ? null : bodyHeader !== undefined ? renderSlot(bodyHeader, cascadeModes) : bodyTitle != null ? /*#__PURE__*/_jsx(RNText, {
139
+ style: tokens.title,
140
+ children: bodyTitle
141
+ }) : /*#__PURE__*/_jsx(Nudge, {
142
+ type: "inline-compact",
143
+ modes: {
144
+ ...nudgeModes,
145
+ ...cascadeModes
146
+ },
147
+ startSlot: DEFAULT_UPSELL_AVATAR,
148
+ children: /*#__PURE__*/_jsx(TextSegment, {
149
+ modes: cascadeModes,
150
+ segments: [{
151
+ text: 'Upgrade to '
152
+ }, {
153
+ text: 'JioFinance+',
154
+ modes: {
155
+ 'Text Appearance': 'Primary'
156
+ }
157
+ }, {
158
+ text: ' and earn more'
159
+ }]
160
+ })
161
+ });
162
+ const bodyListSource = children ? children : (items ?? DEFAULT_ITEMS).map((item, index) => renderItem(item, index));
163
+ const bodyList = cloneChildrenWithModes(bodyListSource, cascadeModes);
109
164
  const ctaNode = button ?? /*#__PURE__*/_jsx(Button, {
110
165
  label: buttonLabel,
111
166
  modes: ctaModes,
@@ -116,15 +171,9 @@ function BenefitCard({
116
171
  width
117
172
  }), [tokens.container, width]);
118
173
  const content = /*#__PURE__*/_jsxs(_Fragment, {
119
- children: [headerNode, /*#__PURE__*/_jsxs(View, {
120
- style: tokens.body,
121
- children: [bodyTitle != null ? /*#__PURE__*/_jsx(RNText, {
122
- style: tokens.title,
123
- children: bodyTitle
124
- }) : null, /*#__PURE__*/_jsx(View, {
125
- style: tokens.listWrap,
126
- children: bodyList
127
- })]
174
+ children: [headerNode, bodyHeaderNode, /*#__PURE__*/_jsx(View, {
175
+ style: tokens.listWrap,
176
+ children: bodyList
128
177
  }), showButton ? ctaNode : null]
129
178
  });
130
179
  if (onPress) {
@@ -183,10 +232,6 @@ function resolveTokens(modes) {
183
232
  flexDirection: 'column',
184
233
  alignItems: 'flex-start'
185
234
  },
186
- body: {
187
- alignSelf: 'stretch',
188
- gap
189
- },
190
235
  listWrap: {
191
236
  alignSelf: 'stretch',
192
237
  gap
@@ -202,6 +247,26 @@ function resolveTokens(modes) {
202
247
  }
203
248
  };
204
249
  }
250
+
251
+ // Cascades `modes` into a slot node and unwraps a single child so the slot can
252
+ // be rendered inline without an extra fragment.
253
+ function renderSlot(node, modes) {
254
+ const processed = cloneChildrenWithModes(node, modes);
255
+ return processed.length === 1 ? processed[0] : processed;
256
+ }
257
+
258
+ // Figma reference rows for the header list wrap (two highlighted "JioPoints"
259
+ // rows). Used only when no `header` slot / `headerItems` / legacy `headerItem`
260
+ // is supplied.
261
+ const DEFAULT_HEADER_ITEMS = [{
262
+ icon: 'ic_jewellery_diamond',
263
+ title: 'JioPoints',
264
+ trailingText: 'Up to 2000 pts'
265
+ }, {
266
+ icon: 'ic_jewellery_diamond',
267
+ title: 'JioPoints',
268
+ trailingText: 'Up to 2000 pts'
269
+ }];
205
270
  const DEFAULT_ITEMS = [{
206
271
  icon: 'ic_card',
207
272
  title: 'Up to ₹5000 cashback'
@@ -209,6 +274,15 @@ const DEFAULT_ITEMS = [{
209
274
  icon: 'ic_card',
210
275
  title: '25% extra JioPoints'
211
276
  }];
277
+
278
+ // Start-slot avatar for the default upsell nudge. `modes` cascade in from the
279
+ // nudge (XS keeps it compact next to the inline message).
280
+ const DEFAULT_UPSELL_AVATAR = /*#__PURE__*/_jsx(Avatar, {
281
+ style: "Image",
282
+ modes: {
283
+ 'Avatar Size': 'XS'
284
+ }
285
+ });
212
286
  const styles = StyleSheet.create({
213
287
  section: {
214
288
  alignSelf: 'stretch',
@@ -37,8 +37,8 @@ function BottomNav({
37
37
  };
38
38
 
39
39
  // Resolve container styling tokens
40
- const backgroundColor = getVariableByName('bottomNav/background', modes) || '#ffffff';
41
- const borderColor = getVariableByName('bottomNav/border/color', modes) || '#cccfd1';
40
+ const backgroundColor = getVariableByName('bottomNav/background', modes);
41
+ const borderColor = getVariableByName('bottomNav/border/color', modes);
42
42
  const borderWidth = getVariableByName('bottomNav/border/width', modes) ?? 1;
43
43
  const paddingTop = getVariableByName('bottomNav/padding/top', modes) ?? 10;
44
44
  const paddingBottom = getVariableByName('bottomNav/padding/bottom', modes) ?? 23;