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,7 +4,8 @@ import React, { useCallback, useMemo, useState } from 'react';
4
4
  import { Platform, Pressable, ScrollView, 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
+ import { boxShadow } from '../../utils/shadow';
8
9
  import Icon from '../../icons/Icon';
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const IS_WEB = Platform.OS === 'web';
@@ -21,17 +22,17 @@ function useDropdownItemTokens(modes) {
21
22
  const idleBackground = getVariableByName('dropdownItem/background', {
22
23
  ...modes,
23
24
  'Dropdown Item State': 'Idle'
24
- }) || '#ffffff';
25
+ });
25
26
  const selectedBackground = getVariableByName('dropdownItem/background', {
26
27
  ...modes,
27
28
  'Dropdown Item State': 'Selected'
28
- }) || '#f5f5f5';
29
- const foreground = getVariableByName('dropdownItem/foreground', modes) || '#000000';
30
- const fontFamily = getVariableByName('dropdownItem/fontFamily', modes) || 'JioType Var';
31
- const fontSize = parseInt(getVariableByName('dropdownItem/fontSize', modes), 10) || 16;
32
- const fontWeight = getVariableByName('dropdownItem/fontWeight', modes) || '400';
33
- const lineHeight = parseInt(getVariableByName('dropdownItem/lineHeight', modes), 10) || 19;
34
- const gap = parseInt(getVariableByName('dropdownItem/gap', modes), 10) || 8;
29
+ });
30
+ const foreground = getVariableByName('dropdownItem/foreground', modes);
31
+ const fontFamily = getVariableByName('dropdownItem/fontFamily', modes);
32
+ const fontSize = parseInt(getVariableByName('dropdownItem/fontSize', modes), 10);
33
+ const fontWeight = getVariableByName('dropdownItem/fontWeight', modes);
34
+ const lineHeight = parseInt(getVariableByName('dropdownItem/lineHeight', modes), 10);
35
+ const gap = parseInt(getVariableByName('dropdownItem/gap', modes), 10);
35
36
  const paddingHorizontal = parseInt(getVariableByName('dropdownItem/padding/horizontal', modes), 10) || 12;
36
37
  const paddingVertical = parseInt(getVariableByName('dropdownItem/padding/vertical', modes), 10) || 12;
37
38
  return {
@@ -61,7 +62,8 @@ export function DropdownItem({
61
62
  style,
62
63
  labelStyle,
63
64
  accessibilityLabel,
64
- accessibilityHint
65
+ accessibilityHint,
66
+ disableTruncation
65
67
  }) {
66
68
  const {
67
69
  modes: globalModes
@@ -130,7 +132,7 @@ export function DropdownItem({
130
132
  ...a11yProps,
131
133
  children: [processedLeading, children != null ? children : /*#__PURE__*/_jsx(Text, {
132
134
  style: [textStyle, labelStyle],
133
- numberOfLines: 1,
135
+ ...resolveTruncation(disableTruncation, 1),
134
136
  children: label
135
137
  }), customTrailing, showDefaultCheck && /*#__PURE__*/_jsx(Icon, {
136
138
  name: "ic_confirm",
@@ -164,12 +166,12 @@ export function Dropdown({
164
166
  ...globalModes,
165
167
  ...propModes
166
168
  }), [globalModes, propModes]);
167
- const radius = parseInt(getVariableByName('dropdown/radius', modes), 10) || 8;
168
- const background = getVariableByName('dropdown/background', modes) || '#ffffff';
169
- const shadowColor = getVariableByName('dropdown/shadow/color', modes) || 'rgba(0, 0, 0, 0.08)';
170
- const shadowOffsetX = parseInt(getVariableByName('dropdown/shadow/offsetX', modes), 10) || 0;
171
- const shadowOffsetY = parseInt(getVariableByName('dropdown/shadow/offsetY', modes), 10) || 4;
172
- const shadowBlur = parseInt(getVariableByName('dropdown/shadow/blur', modes), 10) || 16;
169
+ const radius = parseInt(getVariableByName('dropdown/radius', modes), 10);
170
+ const background = getVariableByName('dropdown/background', modes);
171
+ const shadowColor = getVariableByName('dropdown/shadow/color', modes);
172
+ const shadowOffsetX = parseInt(getVariableByName('dropdown/shadow/offsetX', modes), 10);
173
+ const shadowOffsetY = parseInt(getVariableByName('dropdown/shadow/offsetY', modes), 10);
174
+ const shadowBlur = parseInt(getVariableByName('dropdown/shadow/blur', modes), 10);
173
175
 
174
176
  // Shadow lives on the OUTER view, which must NOT set `overflow: 'hidden'`.
175
177
  // On native, clipping a view also clips its shadow (iOS clips the layer
@@ -178,18 +180,16 @@ export function Dropdown({
178
180
  // get cut off. The rounded-corner clipping is moved to a separate inner
179
181
  // view below.
180
182
  //
181
- // The `boxShadow` style prop (RN 0.76+ / react-native-web) is used as the
182
- // single source of truth so the designed color/offset/blur are honored on
183
- // iOS, Android AND web. We intentionally do NOT also set the legacy
184
- // `shadow*` / `elevation` props: on the new architecture (and web) those
185
- // are translated into a box-shadow internally, so combining them with an
186
- // explicit `boxShadow` would stack two shadows. Android's legacy
187
- // `elevation` is also undesirable here because it ignores the shadow color
188
- // and only paints a generic gray shadow.
183
+ // The unified `boxShadow` helper is the single source of truth so the
184
+ // designed color/offset/blur are honored on iOS, Android AND web. On RN
185
+ // 0.76+ / web it emits the spec `boxShadow` prop; on older RN it translates
186
+ // to the legacy `shadow*` (iOS) / `elevation` (Android) API. We intentionally
187
+ // do NOT also set the legacy props manually on the supported path: those
188
+ // would stack a second shadow.
189
189
  const shadowStyle = {
190
190
  backgroundColor: background,
191
191
  borderRadius: radius,
192
- boxShadow: `${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px 0px ${shadowColor}`
192
+ ...boxShadow(`${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px 0px ${shadowColor}`)
193
193
  };
194
194
 
195
195
  // Inner view carries the rounded corners + clipping so list/scroll content
@@ -5,7 +5,7 @@ import { Dimensions, Modal, Platform, Pressable, StyleSheet, Text, View } from '
5
5
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
6
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
7
7
  import { useTokens } from '../../design-tokens/JFSThemeProvider';
8
- import { EMPTY_MODES, flattenChildren } from '../../utils/react-utils';
8
+ import { EMPTY_MODES, flattenChildren, resolveTruncation } from '../../utils/react-utils';
9
9
  import Icon from '../../icons/Icon';
10
10
  import SupportText from '../SupportText/SupportText';
11
11
  import Dropdown, { DropdownItem } from '../Dropdown/Dropdown';
@@ -28,8 +28,8 @@ const IS_WEB = Platform.OS === 'web';
28
28
 
29
29
  function useChevronTokens(modes) {
30
30
  return useMemo(() => {
31
- const iconSize = parseInt(getVariableByName('input/iconSize', modes), 10) || 32;
32
- const iconColor = getVariableByName('iconButton/icon/color', modes) || '#0f0d0a';
31
+ const iconSize = parseInt(getVariableByName('input/iconSize', modes), 10);
32
+ const iconColor = getVariableByName('iconButton/icon/color', modes);
33
33
  return {
34
34
  iconSize,
35
35
  iconColor
@@ -46,22 +46,22 @@ function toNumber(value, fallback) {
46
46
  }
47
47
  function useFormFieldTokens(modes) {
48
48
  return useMemo(() => {
49
- const labelColor = getVariableByName('formField/label/color', modes) || '#000000';
50
- const labelFontFamily = getVariableByName('formField/label/fontFamily', modes) || 'JioType Var';
49
+ const labelColor = getVariableByName('formField/label/color', modes);
50
+ const labelFontFamily = getVariableByName('formField/label/fontFamily', modes);
51
51
  const labelFontSize = toNumber(getVariableByName('formField/label/fontSize', modes), 14);
52
52
  const labelLineHeight = toNumber(getVariableByName('formField/label/lineHeight', modes), 17);
53
- const labelFontWeight = getVariableByName('formField/label/fontWeight', modes) || '500';
53
+ const labelFontWeight = getVariableByName('formField/label/fontWeight', modes);
54
54
  const gap = toNumber(getVariableByName('formField/gap', modes), 8);
55
55
  const inputPaddingH = toNumber(getVariableByName('formField/input/padding/horizontal', modes), 12);
56
56
  const inputGap = toNumber(getVariableByName('formField/input/gap', modes), 8);
57
57
  const inputRadius = toNumber(getVariableByName('formField/input/radius', modes), 8);
58
- const inputBackground = getVariableByName('formField/input/background', modes) || '#ffffff';
58
+ const inputBackground = getVariableByName('formField/input/background', modes);
59
59
  const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
60
60
  const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
61
- const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes) || 'JioType Var';
62
- const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes) || '400';
63
- const inputTextColor = getVariableByName('states/formField/input/label/color', modes) || getVariableByName('formField/input/label/color', modes) || '#24262b';
64
- const inputBorderColor = getVariableByName('states/formField/input/border/color', modes) || getVariableByName('formField/input/border/color', modes) || '#b5b6b7';
61
+ const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
62
+ const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes);
63
+ const inputTextColor = getVariableByName('states/formField/input/label/color', modes) || getVariableByName('formField/input/label/color', modes);
64
+ const inputBorderColor = getVariableByName('states/formField/input/border/color', modes) || getVariableByName('formField/input/border/color', modes);
65
65
  // Figma spec: 1.5px. Using parseFloat (via toNumber) preserves the
66
66
  // fractional value — parseInt was truncating it to 1, leaving the
67
67
  // resolved row height ~1px shorter than the Figma reference.
@@ -155,7 +155,8 @@ const DropdownInput = /*#__PURE__*/forwardRef(function DropdownInput({
155
155
  accessibilityLabel,
156
156
  accessibilityHint,
157
157
  onFocus,
158
- onBlur
158
+ onBlur,
159
+ disableTruncation
159
160
  }, ref) {
160
161
  // ---------------- Modes ----------------
161
162
  const {
@@ -542,7 +543,7 @@ const DropdownInput = /*#__PURE__*/forwardRef(function DropdownInput({
542
543
  style: [valueTextStyle, !hasValue && {
543
544
  color: placeholderColor
544
545
  }],
545
- numberOfLines: 1,
546
+ ...resolveTruncation(disableTruncation, 1),
546
547
  children: displayLabel
547
548
  }), /*#__PURE__*/_jsx(View, {
548
549
  accessibilityElementsHidden: true,
@@ -32,26 +32,26 @@ function EmptyState({
32
32
  };
33
33
 
34
34
  // Container Tokens
35
- const gap = getVariableByName('emptyState/gap', modes) || 24;
36
- const padding = getVariableByName('emptyState/padding', modes) || 4;
37
- const radius = getVariableByName('emptyState/radius', modes) || 16;
35
+ const gap = getVariableByName('emptyState/gap', modes);
36
+ const padding = getVariableByName('emptyState/padding', modes);
37
+ const radius = getVariableByName('emptyState/radius', modes);
38
38
 
39
39
  // Content Wrap Tokens
40
- const contentGap = getVariableByName('emptyState/content/gap', modes) || 16;
40
+ const contentGap = getVariableByName('emptyState/content/gap', modes);
41
41
 
42
42
  // Title Tokens
43
- const titleColor = getVariableByName('emptyState/title/color', modes) || '#0d0d0f';
44
- const titleFontSize = getVariableByName('emptyState/title/fontSize', modes) || 16;
45
- const titleFontFamily = getVariableByName('emptyState/title/fontFamily', modes) || 'System';
46
- const titleLineHeight = getVariableByName('emptyState/title/lineHeight', modes) || 18;
47
- const titleFontWeight = getVariableByName('emptyState/title/fontWeight', modes) || 700;
43
+ const titleColor = getVariableByName('emptyState/title/color', modes);
44
+ const titleFontSize = getVariableByName('emptyState/title/fontSize', modes);
45
+ const titleFontFamily = getVariableByName('emptyState/title/fontFamily', modes);
46
+ const titleLineHeight = getVariableByName('emptyState/title/lineHeight', modes);
47
+ const titleFontWeight = getVariableByName('emptyState/title/fontWeight', modes);
48
48
 
49
49
  // Body Tokens
50
- const bodyColor = getVariableByName('emptyState/body/color', modes) || '#1a1c1f';
51
- const bodyFontSize = getVariableByName('emptyState/body/fontSize', modes) || 12;
52
- const bodyFontFamily = getVariableByName('emptyState/body/fontFamily', modes) || 'System';
53
- const bodyLineHeight = getVariableByName('emptyState/body/lineHeight', modes) || 16;
54
- const bodyFontWeight = getVariableByName('emptyState/body/fontWeight', modes) || 400;
50
+ const bodyColor = getVariableByName('emptyState/body/color', modes);
51
+ const bodyFontSize = getVariableByName('emptyState/body/fontSize', modes);
52
+ const bodyFontFamily = getVariableByName('emptyState/body/fontFamily', modes);
53
+ const bodyLineHeight = getVariableByName('emptyState/body/lineHeight', modes);
54
+ const bodyFontWeight = getVariableByName('emptyState/body/fontWeight', modes);
55
55
  const containerStyle = {
56
56
  flexDirection: 'column',
57
57
  alignItems: 'center',
@@ -58,6 +58,7 @@ function ExpandableCheckbox({
58
58
  readMoreLabel = 'Read more',
59
59
  readLessLabel = 'Read less',
60
60
  collapsedLines = 1,
61
+ disableTruncation = false,
61
62
  modes = EMPTY_MODES,
62
63
  style,
63
64
  labelStyle,
@@ -130,7 +131,7 @@ function ExpandableCheckbox({
130
131
  }), [modes]);
131
132
  const a11yLabel = accessibilityLabel ?? (typeof label === 'string' ? label : undefined);
132
133
  const buttonLabel = isExpanded ? readLessLabel : readMoreLabel;
133
- const labelNumberOfLinesProps = !isExpanded && collapsedLines > 0 ? {
134
+ const labelNumberOfLinesProps = !disableTruncation && !isExpanded && collapsedLines > 0 ? {
134
135
  numberOfLines: collapsedLines,
135
136
  ellipsizeMode: 'tail'
136
137
  } : null;
@@ -43,8 +43,8 @@ function FilterBar({
43
43
  borderColor: isFocused ? '#222' : 'transparent'
44
44
  };
45
45
  // Resolve container tokens
46
- const paddingHorizontal = getVariableByName('filterBar/padding/horizontal', modes) || 16;
47
- const paddingVertical = getVariableByName('filterBar/padding/vertical', modes) || 10;
46
+ const paddingHorizontal = getVariableByName('filterBar/padding/horizontal', modes);
47
+ const paddingVertical = getVariableByName('filterBar/padding/vertical', modes);
48
48
  const resolvedAccessibilityLabel = accessibilityLabel || 'Search filter';
49
49
  const containerStyle = {
50
50
  flexDirection: 'column',
@@ -56,9 +56,9 @@ function Form({
56
56
  validationErrors,
57
57
  onFieldChange
58
58
  }), [validationErrors, onFieldChange]);
59
- const gap = parseInt(getVariableByName('form/gap', modes), 10) || 12;
60
- const paddingHorizontal = parseInt(getVariableByName('form/padding/horizontal', modes), 10) || 0;
61
- const paddingVertical = parseInt(getVariableByName('form/padding/vertical', modes), 10) || 0;
59
+ const gap = parseInt(getVariableByName('form/gap', modes), 10);
60
+ const paddingHorizontal = parseInt(getVariableByName('form/padding/horizontal', modes), 10);
61
+ const paddingVertical = parseInt(getVariableByName('form/padding/vertical', modes), 10);
62
62
  const containerStyle = useMemo(() => ({
63
63
  gap,
64
64
  paddingHorizontal,
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import React, { forwardRef, useCallback, useMemo, useState } from 'react';
4
- import { View, Text, TextInput as RNTextInput } from 'react-native';
3
+ import React, { forwardRef, useCallback, useMemo, useRef, useState } from 'react';
4
+ import { Platform, View, Text, TextInput as RNTextInput } 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, mergeRefs } from '../../utils/react-utils';
8
+ import { useWebOutsidePress } from '../../utils/web-platform-utils';
8
9
  import SupportText from '../SupportText/SupportText';
9
10
  import Icon from '../../icons/Icon';
10
11
  import { useFormContext } from '../Form/Form';
@@ -32,8 +33,8 @@ function useFormFieldTokens(modes) {
32
33
  const gap = toNumber(getVariableByName('formField/gap', modes), 8);
33
34
 
34
35
  // Label (Figma: 14/17 medium, color #0c0d10)
35
- const labelColor = getVariableByName('formField/label/color', modes) || '#0c0d10';
36
- const labelFontFamily = getVariableByName('formField/label/fontFamily', modes) || 'JioType Var';
36
+ const labelColor = getVariableByName('formField/label/color', modes);
37
+ const labelFontFamily = getVariableByName('formField/label/fontFamily', modes);
37
38
  const labelFontSize = toNumber(getVariableByName('formField/label/fontSize', modes), 14);
38
39
  const labelLineHeight = toNumber(getVariableByName('formField/label/lineHeight', modes), 17);
39
40
  const labelFontWeight = toFontWeight(getVariableByName('formField/label/fontWeight', modes), '500');
@@ -47,10 +48,10 @@ function useFormFieldTokens(modes) {
47
48
  // Input text (Figma: 16/45 regular)
48
49
  const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
49
50
  const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
50
- const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes) || 'JioType Var';
51
+ const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
51
52
  const inputFontWeight = toFontWeight(getVariableByName('formField/input/label/fontWeight', modes), '400');
52
- const inputBackground = getVariableByName('formField/input/background', modes) || '#ffffff';
53
- const inputBorderColor = getVariableByName('formField/input/border/color', modes) || '#b5b6b7';
53
+ const inputBackground = getVariableByName('formField/input/background', modes);
54
+ const inputBorderColor = getVariableByName('formField/input/border/color', modes);
54
55
  if (__DEV__) {
55
56
  console.warn('[FormField] border color (modes changed)', {
56
57
  'FormField States': modes['FormField States'],
@@ -58,7 +59,7 @@ function useFormFieldTokens(modes) {
58
59
  'formField/input/border/color': getVariableByName('formField/input/border/color', modes)
59
60
  });
60
61
  }
61
- const inputTextColor = getVariableByName('formField/input/label/color', modes) || '#24262b';
62
+ const inputTextColor = getVariableByName('formField/input/label/color', modes);
62
63
  return {
63
64
  gap,
64
65
  labelColor,
@@ -202,6 +203,21 @@ const FormField = /*#__PURE__*/forwardRef(function FormField({
202
203
  const [isFocused, setIsFocused] = useState(false);
203
204
  const interactive = !isDisabled && !isReadOnly;
204
205
 
206
+ // Internal handles so we can (a) imperatively blur the input and (b) detect
207
+ // outside presses. The forwarded `ref` is merged in below, so the public
208
+ // ref API (focus/blur/clear/isFocused) is unchanged for consumers.
209
+ const inputRef = useRef(null);
210
+ const rootRef = useRef(null);
211
+ // Stable merged ref so React doesn't detach/reattach (and momentarily null
212
+ // `inputRef.current`) on every render.
213
+ const mergedInputRef = useMemo(() => mergeRefs(inputRef, ref), [ref]);
214
+
215
+ // Web: pressing an INTERACTIVE element outside the field (Button, link,
216
+ // another pressable) often does not move DOM focus, so the native `blur`
217
+ // never fires and the field stays visually "Active". Force a blur on any
218
+ // outside pointer press while focused. No-op on native.
219
+ useWebOutsidePress(rootRef, useCallback(() => inputRef.current?.blur(), []), isFocused);
220
+
205
221
  // FormField States cascade — error > read only/disabled > active (focused) > idle.
206
222
  // Disabled maps to "Read Only" since there is no dedicated disabled mode and
207
223
  // the visual treatment is closest. This is only the DEFAULT — an explicit
@@ -284,7 +300,30 @@ const FormField = /*#__PURE__*/forwardRef(function FormField({
284
300
  color: tokens.inputTextColor,
285
301
  fontFamily: tokens.inputFontFamily,
286
302
  fontSize: tokens.inputFontSize,
287
- lineHeight: tokens.inputLineHeight,
303
+ // ⚠️ DO NOT change to an unconditional `lineHeight: tokens.inputLineHeight`.
304
+ // This has regressed twice — read this before "simplifying" it.
305
+ //
306
+ // `inputLineHeight` comes from the Figma token `formField/input/label`
307
+ // ("16/45"), which is a 16px font inside a 45px ROW, i.e. it is the row
308
+ // HEIGHT, not the text leading. The row height is already applied via
309
+ // `inputRowStyle.minHeight` + `alignItems: 'center'`, so the text never
310
+ // needs this value as its own `lineHeight`.
311
+ //
312
+ // Passing a `lineHeight` (45) that is much larger than `fontSize` (16)
313
+ // onto a single-line RNTextInput breaks ONLY iOS: iOS puts ALL the extra
314
+ // vertical space ABOVE the glyphs, so the text/placeholder sinks to the
315
+ // bottom of the box instead of centering. Android and Web distribute the
316
+ // space evenly and look correct. This is a long-standing iOS native
317
+ // font-metrics bug in UITextField — see facebook/react-native#39145 and
318
+ // #28012; the documented workaround is exactly "drop lineHeight on the
319
+ // single-line input and let a wrapper center it". A single-line UITextField
320
+ // with no lineHeight centers its text natively (see react-native#56774).
321
+ //
322
+ // So: omit lineHeight on iOS (native centering via the row), and keep the
323
+ // token value on Android/Web where it already renders correctly.
324
+ ...(Platform.OS === 'ios' ? null : {
325
+ lineHeight: tokens.inputLineHeight
326
+ }),
288
327
  fontWeight: tokens.inputFontWeight,
289
328
  padding: 0,
290
329
  margin: 0,
@@ -321,6 +360,7 @@ const FormField = /*#__PURE__*/forwardRef(function FormField({
321
360
  // -- Accessibility ------------------------------------------------------
322
361
  const resolvedA11yLabel = accessibilityLabel || label || placeholder || 'Form field';
323
362
  return /*#__PURE__*/_jsxs(View, {
363
+ ref: rootRef,
324
364
  style: [wrapperStyle, style],
325
365
  pointerEvents: isDisabled ? 'none' : 'auto',
326
366
  testID: testID,
@@ -341,7 +381,7 @@ const FormField = /*#__PURE__*/forwardRef(function FormField({
341
381
  importantForAccessibility: "no",
342
382
  children: processedLeading
343
383
  }), /*#__PURE__*/_jsx(RNTextInput, {
344
- ref: ref,
384
+ ref: mergedInputRef,
345
385
  style: [inputTextStyles, inputTextStyle],
346
386
  value: value ?? '',
347
387
  onChangeText: handleChangeText,
@@ -56,39 +56,39 @@ function HeroText({
56
56
  modes
57
57
  }) {
58
58
  const styles = useMemo(() => {
59
- const gap = Number(getVariableByName('PageHero/gap', modes)) || 16;
60
- const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes)) || 8;
59
+ const gap = Number(getVariableByName('PageHero/gap', modes));
60
+ const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes));
61
61
  const eyebrowStyle = {
62
- color: getVariableByName('PageHero/eyebrow/color', modes) || '#ffffff',
63
- fontFamily: getVariableByName('PageHero/eyebrow/fontFamily', modes) || 'System',
64
- fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes)) || 18,
65
- fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes) || 700),
66
- lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes)) || 20,
62
+ color: getVariableByName('PageHero/eyebrow/color', modes),
63
+ fontFamily: getVariableByName('PageHero/eyebrow/fontFamily', modes),
64
+ fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes)),
65
+ fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes)),
66
+ lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes)),
67
67
  textAlign: 'center'
68
68
  };
69
69
  const headlineStyle = {
70
- color: getVariableByName('PageHero/headline/color', modes) || '#ffffff',
71
- fontFamily: getVariableByName('PageHero/headline/fontFamily', modes) || 'System',
72
- fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes)) || 29,
73
- fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes) || 900),
74
- lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes)) || 29,
70
+ color: getVariableByName('PageHero/headline/color', modes),
71
+ fontFamily: getVariableByName('PageHero/headline/fontFamily', modes),
72
+ fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes)),
73
+ fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes)),
74
+ lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes)),
75
75
  textAlign: 'center',
76
76
  width: '100%'
77
77
  };
78
78
  const supportingTextStyle = {
79
- color: getVariableByName('PageHero/supportingText/color', modes) || '#ffffff',
80
- fontFamily: getVariableByName('PageHero/supportingText/fontFamily', modes) || 'System',
81
- fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes)) || 12,
82
- fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes) || 500),
83
- lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes)) || 16,
79
+ color: getVariableByName('PageHero/supportingText/color', modes),
80
+ fontFamily: getVariableByName('PageHero/supportingText/fontFamily', modes),
81
+ fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes)),
82
+ fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes)),
83
+ lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes)),
84
84
  textAlign: 'center'
85
85
  };
86
86
  const priceTextStyle = {
87
- color: getVariableByName('PageHero/body/color', modes) || '#ffffff',
88
- fontFamily: getVariableByName('PageHero/body/fontFamily', modes) || 'System',
89
- fontSize: Number(getVariableByName('PageHero/body/fontSize', modes)) || 12,
90
- fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes) || 500),
91
- lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes)) || 16,
87
+ color: getVariableByName('PageHero/body/color', modes),
88
+ fontFamily: getVariableByName('PageHero/body/fontFamily', modes),
89
+ fontSize: Number(getVariableByName('PageHero/body/fontSize', modes)),
90
+ fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes)),
91
+ lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes)),
92
92
  textAlign: 'center'
93
93
  };
94
94
  return {
@@ -211,7 +211,7 @@ function FullscreenModal({
211
211
  ...propModes,
212
212
  ...FULLSCREEN_MODAL_FORCED_MODES
213
213
  }), [globalModes, propModes]);
214
- const rootGap = Number(getVariableByName('fullScreenModal/gap', modes)) || 16;
214
+ const rootGap = Number(getVariableByName('fullScreenModal/gap', modes));
215
215
 
216
216
  // Safe-area insets so the floating chrome clears the system bars: the close
217
217
  // button drops below the status bar / notch, and the sticky footer keeps its
@@ -225,7 +225,7 @@ function FullscreenModal({
225
225
  // Extend (not replace) the footer's token bottom padding by the bottom inset
226
226
  // so the action button never sits under the system navigation area.
227
227
  const footerInsetStyle = useMemo(() => {
228
- const base = Number(getVariableByName('actionFooter/padding/bottom', modes)) || 41;
228
+ const base = Number(getVariableByName('actionFooter/padding/bottom', modes));
229
229
  return {
230
230
  paddingBottom: base + insets.bottom
231
231
  };
@@ -35,7 +35,7 @@ const toFontWeight = (value, fallback) => {
35
35
  };
36
36
  const getStrokeColor = (style, fallback) => {
37
37
  const flattened = StyleSheet.flatten(style);
38
- return typeof flattened.backgroundColor === 'string' ? flattened.backgroundColor : fallback;
38
+ return flattened && typeof flattened.backgroundColor === 'string' ? flattened.backgroundColor : fallback;
39
39
  };
40
40
  function Gauge({
41
41
  value = 84,
@@ -91,26 +91,26 @@ function Gauge({
91
91
  const arcPath = `M ${startX} ${centerY} A ${radius} ${radius} 0 0 1 ${endX} ${centerY}`;
92
92
  const arcLength = Math.PI * radius;
93
93
  const progress = clamp(value, min, max);
94
- const titleColor = getVariableByName('gauge/title/color', modes) || '#0c0d10';
94
+ const titleColor = getVariableByName('gauge/title/color', modes);
95
95
  const titleFontSize = toNumber(getVariableByName('gauge/title/fontSize', modes), 23);
96
96
  const titleLineHeight = toNumber(getVariableByName('gauge/title/lineHeight', modes), 23);
97
- const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes) || 'JioType Var';
97
+ const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes);
98
98
  const titleFontWeight = toFontWeight(getVariableByName('gauge/title/fontWeight', modes), '900');
99
99
  const titleHeight = toNumber(getVariableByName('gauge/title/height', modes), 46);
100
100
  const readoutGap = toNumber(getVariableByName('gauge/readout/gap', modes), 8);
101
101
  const readoutPadding = toNumber(getVariableByName('gauge/readout/padding', modes), 8);
102
- const valueColor = getVariableByName('gauge/readout/value/color', modes) || '#0c0d10';
102
+ const valueColor = getVariableByName('gauge/readout/value/color', modes);
103
103
  const valueFontSize = toNumber(getVariableByName('gauge/readout/value/fontSize', modes), 36);
104
104
  const valueLineHeight = toNumber(getVariableByName('gauge/readout/value/lineHeight', modes), 36);
105
- const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes) || 'JioType Var';
105
+ const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes);
106
106
  const valueFontWeight = toFontWeight(getVariableByName('gauge/readout/value/fontWeight', modes), '800');
107
- const captionColor = getVariableByName('gauge/caption/color', modes) || '#0c0d10';
107
+ const captionColor = getVariableByName('gauge/caption/color', modes);
108
108
  const captionFontSize = toNumber(getVariableByName('gauge/caption/fontSize', modes), 14);
109
109
  const captionLineHeight = toNumber(getVariableByName('gauge/caption/lineHeight', modes), 18);
110
- const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes) || 'JioType Var';
110
+ const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes);
111
111
  const captionFontWeight = toFontWeight(getVariableByName('gauge/caption/fontWeight', modes), '500');
112
- const trackColor = getStrokeColor(trackStyle, getVariableByName('gauge/track/color', modes) || '#f5f5f6');
113
- const progressColor = getStrokeColor(progressStyle, getVariableByName('gauge/progress/color', modes) || '#25ab21');
112
+ const trackColor = getStrokeColor(trackStyle, getVariableByName('gauge/track/color', modes));
113
+ const progressColor = getStrokeColor(progressStyle, getVariableByName('gauge/progress/color', modes));
114
114
  const containerStyle = {
115
115
  alignItems: 'center',
116
116
  gap,
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { View, Text, Pressable, Image } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import Radio from '../Radio/Radio';
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
  const GRID_COLUMNS = 3;
10
10
  const GRID_COLUMN_GAP = 12;
@@ -34,11 +34,12 @@ export default function HoldingsCard({
34
34
  onPress,
35
35
  modes = EMPTY_MODES,
36
36
  style,
37
- testID
37
+ testID,
38
+ disableTruncation
38
39
  }) {
39
40
  // ---- Container tokens ----
40
- const containerFill = getVariableByName('holdingsCard/container/fill', modes) || '#fef4e5';
41
- const containerStroke = getVariableByName('holdingsCard/container/stroke', modes) || '#fde8c9';
41
+ const containerFill = getVariableByName('holdingsCard/container/fill', modes);
42
+ const containerStroke = getVariableByName('holdingsCard/container/stroke', modes);
42
43
  const containerStrokeWeight = parseFloat((getVariableByName('holdingsCard/container/strokeWeight', modes) ?? 1).toString());
43
44
  const containerCornerRadius = parseFloat((getVariableByName('holdingsCard/container/cornerRadius', modes) ?? 16).toString());
44
45
  const containerGap = parseFloat((getVariableByName('holdingsCard/container/gap', modes) ?? 10).toString());
@@ -51,26 +52,26 @@ export default function HoldingsCard({
51
52
 
52
53
  // ---- Hero tokens ----
53
54
  const heroGap = parseFloat((getVariableByName('holdingsCard/hero/gap', modes) ?? 4).toString());
54
- const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes) || '#0f0d0a';
55
+ const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes);
55
56
  const heroLabelFontSize = parseFloat((getVariableByName('holdingsCard/hero/label/fontSize', modes) ?? 12).toString());
56
- const heroLabelFontFamily = getVariableByName('holdingsCard/hero/label/fontFamily', modes) || 'JioType Var';
57
+ const heroLabelFontFamily = getVariableByName('holdingsCard/hero/label/fontFamily', modes);
57
58
  const heroLabelLineHeight = parseFloat((getVariableByName('holdingsCard/hero/label/lineHeight', modes) ?? 16).toString());
58
59
  const heroLabelFontWeight = (getVariableByName('holdingsCard/hero/label/fontWeight', modes) ?? '400').toString();
59
- const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes) || '#0f0d0a';
60
+ const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes);
60
61
  const heroValueFontSize = parseFloat((getVariableByName('holdingsCard/hero/value/fontSize', modes) ?? 20).toString());
61
- const heroValueFontFamily = getVariableByName('holdingsCard/hero/value/fontFamily', modes) || 'JioType Var';
62
+ const heroValueFontFamily = getVariableByName('holdingsCard/hero/value/fontFamily', modes);
62
63
  const heroValueLineHeight = parseFloat((getVariableByName('holdingsCard/hero/value/lineHeight', modes) ?? 22).toString());
63
64
  const heroValueFontWeight = (getVariableByName('holdingsCard/hero/value/fontWeight', modes) ?? '700').toString();
64
65
 
65
66
  // ---- Details grid tokens ----
66
- const detailLabelColor = getVariableByName('holdingsCard/detailsGrid/label/color', modes) || '#2c251b';
67
+ const detailLabelColor = getVariableByName('holdingsCard/detailsGrid/label/color', modes);
67
68
  const detailLabelFontSize = parseFloat((getVariableByName('holdingsCard/detailsGrid/label/fontSize', modes) ?? 10).toString());
68
- const detailLabelFontFamily = getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes) || 'JioType Var';
69
+ const detailLabelFontFamily = getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes);
69
70
  const detailLabelLineHeight = parseFloat((getVariableByName('holdingsCard/detailsGrid/label/lineHeight', modes) ?? 12).toString());
70
71
  const detailLabelFontWeight = (getVariableByName('holdingsCard/detailsGrid/label/fontWeight', modes) ?? '500').toString();
71
- const detailValueColor = getVariableByName('holdingsCard/detailsGrid/value/color', modes) || '#0f0d0a';
72
+ const detailValueColor = getVariableByName('holdingsCard/detailsGrid/value/color', modes);
72
73
  const detailValueFontSize = parseFloat((getVariableByName('holdingsCard/detailsGrid/value/fontSize', modes) ?? 12).toString());
73
- const detailValueFontFamily = getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes) || 'JioType Var';
74
+ const detailValueFontFamily = getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes);
74
75
  const detailValueLineHeight = parseFloat((getVariableByName('holdingsCard/detailsGrid/value/lineHeight', modes) ?? 14).toString());
75
76
  const detailValueFontWeight = (getVariableByName('holdingsCard/detailsGrid/value/fontWeight', modes) ?? '500').toString();
76
77
  const dataItemGap = parseFloat((getVariableByName('holdingsCard/dataItem/gap', modes) ?? 4).toString());
@@ -186,7 +187,7 @@ export default function HoldingsCard({
186
187
  lineHeight: detailValueLineHeight,
187
188
  fontWeight: detailValueFontWeight
188
189
  },
189
- numberOfLines: 1,
190
+ ...resolveTruncation(disableTruncation, 1),
190
191
  children: item.value
191
192
  })]
192
193
  }, `${rowIndex}-${colIndex}`)), row.length < GRID_COLUMNS && Array.from({
@@ -8,12 +8,12 @@ import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
8
8
  import BaseIcon from '../../icons/Icon';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  function resolveIconTokens(modes) {
11
- const iconColor = getVariableByName('icon/color', modes) || '#ad8444';
12
- const iconSize = getVariableByName('icon/size', modes) || 18;
13
- const paddingLeft = getVariableByName('icon/padding/left', modes) || 0;
14
- const paddingTop = getVariableByName('icon/padding/top', modes) || 0;
15
- const paddingRight = getVariableByName('icon/padding/right', modes) || 0;
16
- const paddingBottom = getVariableByName('icon/padding/bottom', modes) || 0;
11
+ const iconColor = getVariableByName('icon/color', modes);
12
+ const iconSize = getVariableByName('icon/size', modes);
13
+ const paddingLeft = getVariableByName('icon/padding/left', modes);
14
+ const paddingTop = getVariableByName('icon/padding/top', modes);
15
+ const paddingRight = getVariableByName('icon/padding/right', modes);
16
+ const paddingBottom = getVariableByName('icon/padding/bottom', modes);
17
17
  return {
18
18
  containerStyle: {
19
19
  flexDirection: 'column',
@@ -8,13 +8,13 @@ import { EMPTY_MODES } from '../../utils/react-utils';
8
8
  import Icon from '../../icons/Icon';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  function resolveIconCapsuleTokens(modes) {
11
- const size = getVariableByName('iconCapsule/size', modes) || 42;
12
- const radiusRaw = getVariableByName('iconCapsule/radius', modes) || 9999;
13
- const backgroundColor = getVariableByName('iconCapsule/background', modes) || '#cfa159';
14
- const borderColor = getVariableByName('iconCapsule/border/color', modes) || 'rgba(255,255,255,0)';
15
- const borderSize = getVariableByName('iconCapsule/border/size', modes) || 1;
16
- const iconColor = getVariableByName('iconCapsule/icon/color', modes) || '#0f0d0a';
17
- const iconSize = getVariableByName('iconCapsule/icon/size', modes) || 18;
11
+ const size = getVariableByName('iconCapsule/size', modes);
12
+ const radiusRaw = getVariableByName('iconCapsule/radius', modes);
13
+ const backgroundColor = getVariableByName('iconCapsule/background', modes);
14
+ const borderColor = getVariableByName('iconCapsule/border/color', modes);
15
+ const borderSize = getVariableByName('iconCapsule/border/size', modes);
16
+ const iconColor = getVariableByName('iconCapsule/icon/color', modes);
17
+ const iconSize = getVariableByName('iconCapsule/icon/size', modes);
18
18
 
19
19
  // 9999 is the design-token sentinel for "perfect circle"
20
20
  const borderRadius = radiusRaw === 9999 ? size / 2 : radiusRaw;