jfs-components 0.1.12 → 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 (585) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
  3. package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
  4. package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
  5. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +2 -2
  6. package/lib/commonjs/components/Attached/Attached.js +1 -1
  7. package/lib/commonjs/components/Avatar/Avatar.js +10 -10
  8. package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +9 -9
  9. package/lib/commonjs/components/Badge/Badge.js +12 -12
  10. package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
  11. package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
  12. package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
  13. package/lib/commonjs/components/Button/Button.js +31 -19
  14. package/lib/commonjs/components/Card/Card.js +20 -20
  15. package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +6 -6
  16. package/lib/commonjs/components/CardCTA/CardCTA.js +21 -21
  17. package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
  18. package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  19. package/lib/commonjs/components/CardInsight/CardInsight.js +1 -2
  20. package/lib/commonjs/components/Carousel/Carousel.js +18 -12
  21. package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
  22. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
  23. package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
  24. package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
  25. package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +5 -5
  26. package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
  27. package/lib/commonjs/components/CircularRating/CircularRating.js +3 -3
  28. package/lib/commonjs/components/CompareTable/CompareTable.js +16 -16
  29. package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
  30. package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
  31. package/lib/commonjs/components/DonutChart/DonutChart.js +11 -11
  32. package/lib/commonjs/components/Drawer/Drawer.js +60 -60
  33. package/lib/commonjs/components/Dropdown/Dropdown.js +22 -23
  34. package/lib/commonjs/components/DropdownInput/DropdownInput.js +10 -10
  35. package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
  36. package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
  37. package/lib/commonjs/components/Form/Form.js +3 -3
  38. package/lib/commonjs/components/FormField/FormField.js +6 -6
  39. package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
  40. package/lib/commonjs/components/Gauge/Gauge.js +8 -8
  41. package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +10 -10
  42. package/lib/commonjs/components/Icon/Icon.js +6 -6
  43. package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
  44. package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
  45. package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +3 -3
  46. package/lib/commonjs/components/ListGroup/ListGroup.js +8 -8
  47. package/lib/commonjs/components/ListItem/ListItem.js +10 -10
  48. package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  49. package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
  50. package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
  51. package/lib/commonjs/components/MediaCard/MediaCard.js +21 -21
  52. package/lib/commonjs/components/MessageField/MessageField.js +8 -8
  53. package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
  54. package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
  55. package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
  56. package/lib/commonjs/components/Nudge/Nudge.js +20 -20
  57. package/lib/commonjs/components/OTP/OTP.js +15 -15
  58. package/lib/commonjs/components/PageHero/PageHero.js +16 -16
  59. package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
  60. package/lib/commonjs/components/Popup/Popup.js +1 -1
  61. package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +5 -5
  62. package/lib/commonjs/components/Radio/Radio.js +8 -8
  63. package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
  64. package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
  65. package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
  66. package/lib/commonjs/components/Section/Section.js +24 -24
  67. package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
  68. package/lib/commonjs/components/Stepper/Step.js +16 -16
  69. package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
  70. package/lib/commonjs/components/Stepper/Stepper.js +3 -3
  71. package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
  72. package/lib/commonjs/components/SupportText/SupportText.js +6 -6
  73. package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
  74. package/lib/commonjs/components/Text/Text.js +14 -2
  75. package/lib/commonjs/components/TextInput/TextInput.js +14 -14
  76. package/lib/commonjs/components/TextSegment/TextSegment.js +14 -2
  77. package/lib/commonjs/components/ThreadHero/ThreadHero.js +17 -17
  78. package/lib/commonjs/components/Title/Title.js +38 -16
  79. package/lib/commonjs/components/Toast/Toast.js +15 -15
  80. package/lib/commonjs/components/Toggle/Toggle.js +3 -11
  81. package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
  82. package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +13 -13
  83. package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
  84. package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +9 -9
  85. package/lib/commonjs/components/UpiHandle/UpiHandle.js +15 -15
  86. package/lib/commonjs/components/index.js +14 -0
  87. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  88. package/lib/commonjs/design-tokens/figma-modes.generated.js +50 -42
  89. package/lib/commonjs/icons/components/Icon4g.js +19 -0
  90. package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
  91. package/lib/commonjs/icons/components/Icon5g.js +19 -0
  92. package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
  93. package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
  94. package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
  95. package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
  96. package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
  97. package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
  98. package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
  99. package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
  100. package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
  101. package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
  102. package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
  103. package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
  104. package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
  105. package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
  106. package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
  107. package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
  108. package/lib/commonjs/icons/components/IconDatabase.js +19 -0
  109. package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
  110. package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
  111. package/lib/commonjs/icons/components/IconDistribution.js +19 -0
  112. package/lib/commonjs/icons/components/IconDocument.js +19 -0
  113. package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
  114. package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
  115. package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
  116. package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
  117. package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
  118. package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
  119. package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
  120. package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
  121. package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
  122. package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
  123. package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
  124. package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
  125. package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
  126. package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
  127. package/lib/commonjs/icons/components/IconFilesend.js +19 -0
  128. package/lib/commonjs/icons/components/IconFileshare.js +19 -0
  129. package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
  130. package/lib/commonjs/icons/components/IconFolder.js +19 -0
  131. package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
  132. package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
  133. package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
  134. package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
  135. package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
  136. package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
  137. package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
  138. package/lib/commonjs/icons/components/IconForm.js +19 -0
  139. package/lib/commonjs/icons/components/IconFormadd.js +19 -0
  140. package/lib/commonjs/icons/components/IconForms.js +19 -0
  141. package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
  142. package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
  143. package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
  144. package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
  145. package/lib/commonjs/icons/components/IconHubmode.js +19 -0
  146. package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
  147. package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
  148. package/lib/commonjs/icons/components/IconLte.js +19 -0
  149. package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
  150. package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
  151. package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
  152. package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
  153. package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
  154. package/lib/commonjs/icons/components/IconProjection.js +19 -0
  155. package/lib/commonjs/icons/components/IconRequest.js +19 -0
  156. package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
  157. package/lib/commonjs/icons/components/IconTechnology.js +19 -0
  158. package/lib/commonjs/icons/components/IconVolte.js +19 -0
  159. package/lib/commonjs/icons/components/IconVonr.js +19 -0
  160. package/lib/commonjs/icons/components/IconVowifi.js +19 -0
  161. package/lib/commonjs/icons/components/IconVpndata.js +19 -0
  162. package/lib/commonjs/icons/components/index.js +803 -0
  163. package/lib/commonjs/icons/registry.js +2 -2
  164. package/lib/commonjs/utils/index.js +25 -0
  165. package/lib/commonjs/utils/react-utils.js +62 -0
  166. package/lib/commonjs/utils/shadow.js +200 -0
  167. package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
  168. package/lib/module/components/ActionTile/ActionTile.js +10 -10
  169. package/lib/module/components/AmountInput/AmountInput.js +3 -3
  170. package/lib/module/components/AreaLineChart/AreaLineChart.js +2 -2
  171. package/lib/module/components/Attached/Attached.js +1 -1
  172. package/lib/module/components/Avatar/Avatar.js +10 -10
  173. package/lib/module/components/AvatarGroup/AvatarGroup.js +9 -9
  174. package/lib/module/components/Badge/Badge.js +12 -12
  175. package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
  176. package/lib/module/components/BottomNav/BottomNav.js +2 -2
  177. package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
  178. package/lib/module/components/Button/Button.js +32 -20
  179. package/lib/module/components/Card/Card.js +20 -20
  180. package/lib/module/components/CardAdvisory/CardAdvisory.js +6 -6
  181. package/lib/module/components/CardCTA/CardCTA.js +21 -21
  182. package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
  183. package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  184. package/lib/module/components/CardInsight/CardInsight.js +1 -2
  185. package/lib/module/components/Carousel/Carousel.js +18 -12
  186. package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
  187. package/lib/module/components/Checkbox/Checkbox.js +2 -9
  188. package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
  189. package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
  190. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +5 -5
  191. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
  192. package/lib/module/components/CircularRating/CircularRating.js +3 -3
  193. package/lib/module/components/CompareTable/CompareTable.js +16 -16
  194. package/lib/module/components/DebitCard/DebitCard.js +18 -18
  195. package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
  196. package/lib/module/components/DonutChart/DonutChart.js +11 -11
  197. package/lib/module/components/Drawer/Drawer.js +60 -60
  198. package/lib/module/components/Dropdown/Dropdown.js +22 -23
  199. package/lib/module/components/DropdownInput/DropdownInput.js +10 -10
  200. package/lib/module/components/EmptyState/EmptyState.js +14 -14
  201. package/lib/module/components/FilterBar/FilterBar.js +2 -2
  202. package/lib/module/components/Form/Form.js +3 -3
  203. package/lib/module/components/FormField/FormField.js +6 -6
  204. package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
  205. package/lib/module/components/Gauge/Gauge.js +8 -8
  206. package/lib/module/components/HoldingsCard/HoldingsCard.js +10 -10
  207. package/lib/module/components/Icon/Icon.js +6 -6
  208. package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
  209. package/lib/module/components/InputSearch/InputSearch.js +9 -9
  210. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -3
  211. package/lib/module/components/ListGroup/ListGroup.js +8 -8
  212. package/lib/module/components/ListItem/ListItem.js +10 -10
  213. package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  214. package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
  215. package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
  216. package/lib/module/components/MediaCard/MediaCard.js +21 -21
  217. package/lib/module/components/MessageField/MessageField.js +8 -8
  218. package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
  219. package/lib/module/components/NavArrow/NavArrow.js +8 -8
  220. package/lib/module/components/NoteInput/NoteInput.js +12 -12
  221. package/lib/module/components/Nudge/Nudge.js +20 -20
  222. package/lib/module/components/OTP/OTP.js +15 -15
  223. package/lib/module/components/PageHero/PageHero.js +16 -16
  224. package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
  225. package/lib/module/components/Popup/Popup.js +1 -1
  226. package/lib/module/components/ProgressBadge/ProgressBadge.js +5 -5
  227. package/lib/module/components/Radio/Radio.js +9 -9
  228. package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
  229. package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
  230. package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
  231. package/lib/module/components/Section/Section.js +24 -24
  232. package/lib/module/components/StatusHero/StatusHero.js +14 -14
  233. package/lib/module/components/Stepper/Step.js +16 -16
  234. package/lib/module/components/Stepper/StepLabel.js +16 -16
  235. package/lib/module/components/Stepper/Stepper.js +3 -3
  236. package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
  237. package/lib/module/components/SupportText/SupportText.js +6 -6
  238. package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
  239. package/lib/module/components/Text/Text.js +15 -3
  240. package/lib/module/components/TextInput/TextInput.js +14 -14
  241. package/lib/module/components/TextSegment/TextSegment.js +15 -3
  242. package/lib/module/components/ThreadHero/ThreadHero.js +17 -17
  243. package/lib/module/components/Title/Title.js +39 -17
  244. package/lib/module/components/Toast/Toast.js +15 -15
  245. package/lib/module/components/Toggle/Toggle.js +4 -12
  246. package/lib/module/components/Tooltip/Tooltip.js +12 -12
  247. package/lib/module/components/TransactionBubble/TransactionBubble.js +13 -13
  248. package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
  249. package/lib/module/components/TransactionStatus/TransactionStatus.js +9 -9
  250. package/lib/module/components/UpiHandle/UpiHandle.js +15 -15
  251. package/lib/module/components/index.js +2 -0
  252. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  253. package/lib/module/design-tokens/figma-modes.generated.js +50 -42
  254. package/lib/module/icons/components/Icon4g.js +12 -0
  255. package/lib/module/icons/components/Icon4gltedata.js +12 -0
  256. package/lib/module/icons/components/Icon5g.js +12 -0
  257. package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
  258. package/lib/module/icons/components/Icon5gplus.js +12 -0
  259. package/lib/module/icons/components/IconAdblocker.js +12 -0
  260. package/lib/module/icons/components/IconAdblockplus.js +12 -0
  261. package/lib/module/icons/components/IconAnalytics.js +12 -0
  262. package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
  263. package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
  264. package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
  265. package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
  266. package/lib/module/icons/components/IconCompoundinterest.js +12 -0
  267. package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
  268. package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
  269. package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
  270. package/lib/module/icons/components/IconConsumptionlow.js +12 -0
  271. package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
  272. package/lib/module/icons/components/IconCsvdoc.js +12 -0
  273. package/lib/module/icons/components/IconDatabase.js +12 -0
  274. package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
  275. package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
  276. package/lib/module/icons/components/IconDistribution.js +12 -0
  277. package/lib/module/icons/components/IconDocument.js +12 -0
  278. package/lib/module/icons/components/IconDocumentdoc.js +12 -0
  279. package/lib/module/icons/components/IconDocumentjpg.js +12 -0
  280. package/lib/module/icons/components/IconDocumentodt.js +12 -0
  281. package/lib/module/icons/components/IconDocumentpdf.js +12 -0
  282. package/lib/module/icons/components/IconDocumentpng.js +12 -0
  283. package/lib/module/icons/components/IconDocumentraw.js +12 -0
  284. package/lib/module/icons/components/IconDocumentrtf.js +12 -0
  285. package/lib/module/icons/components/IconDocumentsettings.js +12 -0
  286. package/lib/module/icons/components/IconDocumenttif.js +12 -0
  287. package/lib/module/icons/components/IconDocumenttxt.js +12 -0
  288. package/lib/module/icons/components/IconDocumentunknown.js +12 -0
  289. package/lib/module/icons/components/IconDocumentxls.js +12 -0
  290. package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
  291. package/lib/module/icons/components/IconFilerequest.js +12 -0
  292. package/lib/module/icons/components/IconFilesend.js +12 -0
  293. package/lib/module/icons/components/IconFileshare.js +12 -0
  294. package/lib/module/icons/components/IconFindinpage.js +12 -0
  295. package/lib/module/icons/components/IconFolder.js +12 -0
  296. package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
  297. package/lib/module/icons/components/IconFolderfavorites.js +12 -0
  298. package/lib/module/icons/components/IconFolderlocked.js +12 -0
  299. package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
  300. package/lib/module/icons/components/IconFolderpublic.js +12 -0
  301. package/lib/module/icons/components/IconFolderrated.js +12 -0
  302. package/lib/module/icons/components/IconFolderrequest.js +12 -0
  303. package/lib/module/icons/components/IconForm.js +12 -0
  304. package/lib/module/icons/components/IconFormadd.js +12 -0
  305. package/lib/module/icons/components/IconForms.js +12 -0
  306. package/lib/module/icons/components/IconGraphincreasing.js +12 -0
  307. package/lib/module/icons/components/IconGraphlow.js +12 -0
  308. package/lib/module/icons/components/IconGraphtable.js +12 -0
  309. package/lib/module/icons/components/IconHealthreport.js +12 -0
  310. package/lib/module/icons/components/IconHubmode.js +12 -0
  311. package/lib/module/icons/components/IconInfrastructure.js +12 -0
  312. package/lib/module/icons/components/IconInterestlow.js +12 -0
  313. package/lib/module/icons/components/IconLte.js +12 -0
  314. package/lib/module/icons/components/IconNetworkfuture.js +12 -0
  315. package/lib/module/icons/components/IconPagesettings.js +12 -0
  316. package/lib/module/icons/components/IconPptxdoc.js +12 -0
  317. package/lib/module/icons/components/IconPreferrednumber.js +12 -0
  318. package/lib/module/icons/components/IconPremiumnumber.js +12 -0
  319. package/lib/module/icons/components/IconProjection.js +12 -0
  320. package/lib/module/icons/components/IconRequest.js +12 -0
  321. package/lib/module/icons/components/IconRoutestraffic.js +12 -0
  322. package/lib/module/icons/components/IconTechnology.js +12 -0
  323. package/lib/module/icons/components/IconVolte.js +12 -0
  324. package/lib/module/icons/components/IconVonr.js +12 -0
  325. package/lib/module/icons/components/IconVowifi.js +12 -0
  326. package/lib/module/icons/components/IconVpndata.js +12 -0
  327. package/lib/module/icons/components/index.js +73 -0
  328. package/lib/module/icons/registry.js +2 -2
  329. package/lib/module/utils/index.js +2 -1
  330. package/lib/module/utils/react-utils.js +61 -0
  331. package/lib/module/utils/shadow.js +194 -0
  332. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
  333. package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
  334. package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
  335. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
  336. package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
  337. package/lib/typescript/src/components/Text/Text.d.ts +12 -3
  338. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +12 -3
  339. package/lib/typescript/src/components/Title/Title.d.ts +12 -2
  340. package/lib/typescript/src/components/index.d.ts +2 -0
  341. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
  342. package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
  343. package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
  344. package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
  345. package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
  346. package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
  347. package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
  348. package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
  349. package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
  350. package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
  351. package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
  352. package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
  353. package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
  354. package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
  355. package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
  356. package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
  357. package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
  358. package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
  359. package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
  360. package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
  361. package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
  362. package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
  363. package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
  364. package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
  365. package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
  366. package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
  367. package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
  368. package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
  369. package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
  370. package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
  371. package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
  372. package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
  373. package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
  374. package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
  375. package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
  376. package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
  377. package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
  378. package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
  379. package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
  380. package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
  381. package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
  382. package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
  383. package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
  384. package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
  385. package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
  386. package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
  387. package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
  388. package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
  389. package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
  390. package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
  391. package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
  392. package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
  393. package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
  394. package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
  395. package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
  396. package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
  397. package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
  398. package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
  399. package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
  400. package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
  401. package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
  402. package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
  403. package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
  404. package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
  405. package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
  406. package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
  407. package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
  408. package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
  409. package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
  410. package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
  411. package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
  412. package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
  413. package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
  414. package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
  415. package/lib/typescript/src/icons/components/index.d.ts +73 -0
  416. package/lib/typescript/src/icons/registry.d.ts +1 -1
  417. package/lib/typescript/src/utils/index.d.ts +2 -0
  418. package/lib/typescript/src/utils/react-utils.d.ts +40 -1
  419. package/lib/typescript/src/utils/shadow.d.ts +72 -0
  420. package/package.json +2 -1
  421. package/src/components/ActionFooter/ActionFooter.tsx +8 -26
  422. package/src/components/ActionTile/ActionTile.tsx +10 -10
  423. package/src/components/AmountInput/AmountInput.tsx +3 -3
  424. package/src/components/AreaLineChart/AreaLineChart.tsx +2 -2
  425. package/src/components/Attached/Attached.tsx +1 -1
  426. package/src/components/Avatar/Avatar.tsx +10 -10
  427. package/src/components/AvatarGroup/AvatarGroup.tsx +9 -9
  428. package/src/components/Badge/Badge.tsx +12 -13
  429. package/src/components/BenefitCard/BenefitCard.tsx +120 -27
  430. package/src/components/BottomNav/BottomNav.tsx +2 -2
  431. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
  432. package/src/components/Button/Button.tsx +30 -20
  433. package/src/components/Card/Card.tsx +20 -20
  434. package/src/components/CardAdvisory/CardAdvisory.tsx +6 -6
  435. package/src/components/CardCTA/CardCTA.tsx +21 -21
  436. package/src/components/CardFeedback/CardFeedback.tsx +18 -18
  437. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
  438. package/src/components/CardInsight/CardInsight.tsx +1 -3
  439. package/src/components/Carousel/Carousel.tsx +29 -12
  440. package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
  441. package/src/components/Checkbox/Checkbox.tsx +2 -8
  442. package/src/components/ChipGroup/ChipGroup.tsx +1 -1
  443. package/src/components/ChipSelect/ChipSelect.tsx +11 -11
  444. package/src/components/CircularProgressBar/CircularProgressBar.tsx +5 -5
  445. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +8 -8
  446. package/src/components/CircularRating/CircularRating.tsx +3 -3
  447. package/src/components/CompareTable/CompareTable.tsx +16 -16
  448. package/src/components/DebitCard/DebitCard.tsx +22 -22
  449. package/src/components/Disclaimer/Disclaimer.tsx +5 -5
  450. package/src/components/DonutChart/DonutChart.tsx +11 -45
  451. package/src/components/Drawer/Drawer.tsx +80 -71
  452. package/src/components/Dropdown/Dropdown.tsx +23 -28
  453. package/src/components/DropdownInput/DropdownInput.tsx +10 -17
  454. package/src/components/EmptyState/EmptyState.tsx +14 -14
  455. package/src/components/FilterBar/FilterBar.tsx +2 -2
  456. package/src/components/Form/Form.tsx +3 -3
  457. package/src/components/FormField/FormField.tsx +6 -11
  458. package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
  459. package/src/components/Gauge/Gauge.tsx +8 -8
  460. package/src/components/HoldingsCard/HoldingsCard.tsx +10 -10
  461. package/src/components/Icon/Icon.tsx +6 -6
  462. package/src/components/IconCapsule/IconCapsule.tsx +7 -7
  463. package/src/components/InputSearch/InputSearch.tsx +9 -9
  464. package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -6
  465. package/src/components/ListGroup/ListGroup.tsx +8 -8
  466. package/src/components/ListItem/ListItem.tsx +10 -10
  467. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
  468. package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
  469. package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
  470. package/src/components/MediaCard/MediaCard.tsx +21 -21
  471. package/src/components/MessageField/MessageField.tsx +8 -16
  472. package/src/components/MoneyValue/MoneyValue.tsx +7 -7
  473. package/src/components/NavArrow/NavArrow.tsx +8 -8
  474. package/src/components/NoteInput/NoteInput.tsx +12 -12
  475. package/src/components/Nudge/Nudge.tsx +20 -20
  476. package/src/components/OTP/OTP.tsx +16 -16
  477. package/src/components/PageHero/PageHero.tsx +16 -16
  478. package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
  479. package/src/components/Popup/Popup.tsx +1 -1
  480. package/src/components/ProgressBadge/ProgressBadge.tsx +5 -5
  481. package/src/components/Radio/Radio.tsx +8 -9
  482. package/src/components/RechargeCard/RechargeCard.tsx +31 -31
  483. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
  484. package/src/components/ScrollArea/ScrollArea.tsx +200 -0
  485. package/src/components/Section/Section.tsx +26 -26
  486. package/src/components/StatusHero/StatusHero.tsx +14 -14
  487. package/src/components/Stepper/Step.tsx +16 -18
  488. package/src/components/Stepper/StepLabel.tsx +16 -27
  489. package/src/components/Stepper/Stepper.tsx +3 -4
  490. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -20
  491. package/src/components/SupportText/SupportText.tsx +6 -6
  492. package/src/components/SupportText/SupportTextIcon.tsx +2 -2
  493. package/src/components/Text/Text.tsx +23 -5
  494. package/src/components/TextInput/TextInput.tsx +14 -14
  495. package/src/components/TextSegment/TextSegment.tsx +22 -4
  496. package/src/components/ThreadHero/ThreadHero.tsx +17 -17
  497. package/src/components/Title/Title.tsx +44 -18
  498. package/src/components/Toast/Toast.tsx +15 -15
  499. package/src/components/Toggle/Toggle.tsx +5 -10
  500. package/src/components/Tooltip/Tooltip.tsx +12 -12
  501. package/src/components/TransactionBubble/TransactionBubble.tsx +15 -15
  502. package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
  503. package/src/components/TransactionStatus/TransactionStatus.tsx +9 -9
  504. package/src/components/UpiHandle/UpiHandle.tsx +15 -15
  505. package/src/components/index.ts +2 -0
  506. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  507. package/src/design-tokens/figma-modes.generated.ts +50 -42
  508. package/src/icons/components/Icon4g.tsx +11 -0
  509. package/src/icons/components/Icon4gltedata.tsx +11 -0
  510. package/src/icons/components/Icon5g.tsx +11 -0
  511. package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
  512. package/src/icons/components/Icon5gplus.tsx +11 -0
  513. package/src/icons/components/IconAdblocker.tsx +11 -0
  514. package/src/icons/components/IconAdblockplus.tsx +11 -0
  515. package/src/icons/components/IconAnalytics.tsx +11 -0
  516. package/src/icons/components/IconAnalyticsdata.tsx +11 -0
  517. package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
  518. package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
  519. package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
  520. package/src/icons/components/IconCompoundinterest.tsx +11 -0
  521. package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
  522. package/src/icons/components/IconConsumptionaverage.tsx +11 -0
  523. package/src/icons/components/IconConsumptionhigh.tsx +11 -0
  524. package/src/icons/components/IconConsumptionlow.tsx +11 -0
  525. package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
  526. package/src/icons/components/IconCsvdoc.tsx +11 -0
  527. package/src/icons/components/IconDatabase.tsx +11 -0
  528. package/src/icons/components/IconDigitalecosystem.tsx +11 -0
  529. package/src/icons/components/IconDigitalselfservice.tsx +11 -0
  530. package/src/icons/components/IconDistribution.tsx +11 -0
  531. package/src/icons/components/IconDocument.tsx +11 -0
  532. package/src/icons/components/IconDocumentdoc.tsx +11 -0
  533. package/src/icons/components/IconDocumentjpg.tsx +11 -0
  534. package/src/icons/components/IconDocumentodt.tsx +11 -0
  535. package/src/icons/components/IconDocumentpdf.tsx +11 -0
  536. package/src/icons/components/IconDocumentpng.tsx +11 -0
  537. package/src/icons/components/IconDocumentraw.tsx +11 -0
  538. package/src/icons/components/IconDocumentrtf.tsx +11 -0
  539. package/src/icons/components/IconDocumentsettings.tsx +11 -0
  540. package/src/icons/components/IconDocumenttif.tsx +11 -0
  541. package/src/icons/components/IconDocumenttxt.tsx +11 -0
  542. package/src/icons/components/IconDocumentunknown.tsx +11 -0
  543. package/src/icons/components/IconDocumentxls.tsx +11 -0
  544. package/src/icons/components/IconDocumentxlsx.tsx +11 -0
  545. package/src/icons/components/IconFilerequest.tsx +11 -0
  546. package/src/icons/components/IconFilesend.tsx +11 -0
  547. package/src/icons/components/IconFileshare.tsx +11 -0
  548. package/src/icons/components/IconFindinpage.tsx +11 -0
  549. package/src/icons/components/IconFolder.tsx +11 -0
  550. package/src/icons/components/IconFolderbookmarks.tsx +11 -0
  551. package/src/icons/components/IconFolderfavorites.tsx +11 -0
  552. package/src/icons/components/IconFolderlocked.tsx +11 -0
  553. package/src/icons/components/IconFoldermovefiles.tsx +11 -0
  554. package/src/icons/components/IconFolderpublic.tsx +11 -0
  555. package/src/icons/components/IconFolderrated.tsx +11 -0
  556. package/src/icons/components/IconFolderrequest.tsx +11 -0
  557. package/src/icons/components/IconForm.tsx +11 -0
  558. package/src/icons/components/IconFormadd.tsx +11 -0
  559. package/src/icons/components/IconForms.tsx +11 -0
  560. package/src/icons/components/IconGraphincreasing.tsx +11 -0
  561. package/src/icons/components/IconGraphlow.tsx +11 -0
  562. package/src/icons/components/IconGraphtable.tsx +11 -0
  563. package/src/icons/components/IconHealthreport.tsx +11 -0
  564. package/src/icons/components/IconHubmode.tsx +11 -0
  565. package/src/icons/components/IconInfrastructure.tsx +11 -0
  566. package/src/icons/components/IconInterestlow.tsx +11 -0
  567. package/src/icons/components/IconLte.tsx +11 -0
  568. package/src/icons/components/IconNetworkfuture.tsx +11 -0
  569. package/src/icons/components/IconPagesettings.tsx +11 -0
  570. package/src/icons/components/IconPptxdoc.tsx +11 -0
  571. package/src/icons/components/IconPreferrednumber.tsx +11 -0
  572. package/src/icons/components/IconPremiumnumber.tsx +11 -0
  573. package/src/icons/components/IconProjection.tsx +11 -0
  574. package/src/icons/components/IconRequest.tsx +11 -0
  575. package/src/icons/components/IconRoutestraffic.tsx +11 -0
  576. package/src/icons/components/IconTechnology.tsx +11 -0
  577. package/src/icons/components/IconVolte.tsx +11 -0
  578. package/src/icons/components/IconVonr.tsx +11 -0
  579. package/src/icons/components/IconVowifi.tsx +11 -0
  580. package/src/icons/components/IconVpndata.tsx +11 -0
  581. package/src/icons/components/index.ts +73 -0
  582. package/src/icons/registry.ts +293 -1
  583. package/src/utils/index.ts +2 -0
  584. package/src/utils/react-utils.ts +72 -1
  585. package/src/utils/shadow.ts +219 -0
@@ -184,11 +184,9 @@ const defaultFilter = (query: string, option: SuggestiveSearchOption) =>
184
184
  function useFormFieldTokens(modes: Modes) {
185
185
  return useMemo(() => {
186
186
  const labelColor =
187
- (getVariableByName('formField/label/color', modes) as string) ||
188
- '#000000'
187
+ (getVariableByName('formField/label/color', modes) as string)
189
188
  const labelFontFamily =
190
- (getVariableByName('formField/label/fontFamily', modes) as string) ||
191
- 'JioType Var'
189
+ (getVariableByName('formField/label/fontFamily', modes) as string)
192
190
  const labelFontSize = toNumber(
193
191
  getVariableByName('formField/label/fontSize', modes),
194
192
  14
@@ -198,8 +196,7 @@ function useFormFieldTokens(modes: Modes) {
198
196
  17
199
197
  )
200
198
  const labelFontWeight =
201
- (getVariableByName('formField/label/fontWeight', modes) as string) ||
202
- '500'
199
+ (getVariableByName('formField/label/fontWeight', modes) as string)
203
200
 
204
201
  const gap = toNumber(getVariableByName('formField/gap', modes), 8)
205
202
 
@@ -217,11 +214,9 @@ function useFormFieldTokens(modes: Modes) {
217
214
  1.5
218
215
  )
219
216
  const inputBackground =
220
- (getVariableByName('formField/input/background', modes) as string) ||
221
- '#ffffff'
217
+ (getVariableByName('formField/input/background', modes) as string)
222
218
  const inputBorderColor =
223
- (getVariableByName('formField/input/border/color', modes) as string) ||
224
- '#b5b6b7'
219
+ (getVariableByName('formField/input/border/color', modes) as string)
225
220
  const inputFontSize = toNumber(
226
221
  getVariableByName('formField/input/label/fontSize', modes),
227
222
  16
@@ -231,14 +226,11 @@ function useFormFieldTokens(modes: Modes) {
231
226
  45
232
227
  )
233
228
  const inputFontFamily =
234
- (getVariableByName('formField/input/label/fontFamily', modes) as string) ||
235
- 'JioType Var'
229
+ (getVariableByName('formField/input/label/fontFamily', modes) as string)
236
230
  const inputFontWeight =
237
- (getVariableByName('formField/input/label/fontWeight', modes) as string) ||
238
- '400'
231
+ (getVariableByName('formField/input/label/fontWeight', modes) as string)
239
232
  const inputTextColor =
240
- (getVariableByName('formField/input/label/color', modes) as string) ||
241
- '#24262b'
233
+ (getVariableByName('formField/input/label/color', modes) as string)
242
234
 
243
235
  return {
244
236
  labelColor,
@@ -265,11 +257,9 @@ function useFormFieldTokens(modes: Modes) {
265
257
  function useDropdownItemTextTokens(modes: Modes) {
266
258
  return useMemo(() => {
267
259
  const foreground =
268
- (getVariableByName('dropdownItem/foreground', modes) as string) ||
269
- '#000000'
260
+ (getVariableByName('dropdownItem/foreground', modes) as string)
270
261
  const fontFamily =
271
- (getVariableByName('dropdownItem/fontFamily', modes) as string) ||
272
- 'JioType Var'
262
+ (getVariableByName('dropdownItem/fontFamily', modes) as string)
273
263
  const fontSize = toNumber(
274
264
  getVariableByName('dropdownItem/fontSize', modes),
275
265
  16
@@ -53,13 +53,13 @@ function SupportText({
53
53
  const modes = { ...globalModes, ...propModes };
54
54
 
55
55
  // --- Token Resolution ---
56
- const gap = parseInt(getVariableByName('supportText/gap', modes), 10) || 4;
56
+ const gap = parseInt(getVariableByName('supportText/gap', modes), 10);
57
57
 
58
- const textColor = getVariableByName('supportText/foreground', modes) || '#0c0d10';
59
- const fontFamily = getVariableByName('supportText/fontFamily', modes) || 'JioType Var';
60
- const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10) || 12;
61
- const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10) || 16;
62
- const fontWeight = getVariableByName('supportText/fontWeight', modes) || '500';
58
+ const textColor = getVariableByName('supportText/foreground', modes);
59
+ const fontFamily = getVariableByName('supportText/fontFamily', modes);
60
+ const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10);
61
+ const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10);
62
+ const fontWeight = getVariableByName('supportText/fontWeight', modes);
63
63
 
64
64
  // --- Styles ---
65
65
  const containerStyle: ViewStyle = {
@@ -29,14 +29,14 @@ function SupportTextIcon({
29
29
  const iconName = STATUS_ICON_MAP[status] || 'ic_info';
30
30
 
31
31
  // Resolve icon size
32
- const size = parseInt(getVariableByName('supportText/icon/size', modes), 10) || 16;
32
+ const size = parseInt(getVariableByName('supportText/icon/size', modes), 10);
33
33
 
34
34
  // Resolve icon color
35
35
  // Assuming supportText/foreground applies to icon as well, or there might be specific icon color tokens.
36
36
  // Using supportText/foreground as default based on common patterns if no specific icon token.
37
37
  // If specific tokens exist like 'supportText/icon/color', they should be used.
38
38
  // Detailed variables only showed supportText/foreground.
39
- const color = getVariableByName('supportText/foreground', modes) || '#0c0d10';
39
+ const color = getVariableByName('supportText/foreground', modes);
40
40
 
41
41
  return (
42
42
  <View style={style}>
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Text as RNText, type TextStyle, type StyleProp } from 'react-native'
3
3
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
4
- import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
4
+ import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils'
5
5
  import Skeleton from '../../skeleton/Skeleton'
6
6
  import { useSkeleton } from '../../skeleton/SkeletonGroup'
7
7
  import type { Modes } from '../../design-tokens'
@@ -28,10 +28,19 @@ export type TextProps = {
28
28
  numberOfLines?: number
29
29
  /**
30
30
  * When `true`, disables text truncation entirely: the trailing ellipsis (`…`)
31
- * is never shown and any `numberOfLines` clamp is ignored, so the text wraps
32
- * to as many lines as it needs even when horizontal space is tight.
31
+ * is never shown and any `numberOfLines` clamp is ignored. The text is also
32
+ * never shrunk by a tight parent — it keeps its full intrinsic size and
33
+ * overflows (even breaking the parent layout) rather than clipping into an
34
+ * ellipsis. It still wraps onto multiple lines.
33
35
  */
34
36
  disableTruncation?: boolean
37
+ /**
38
+ * When `true`, forces the text onto a single line with no wrapping (implies
39
+ * {@link disableTruncation}). On web the line overflows horizontally —
40
+ * brutally breaking the parent layout if it has to — instead of wrapping or
41
+ * truncating.
42
+ */
43
+ singleLine?: boolean
35
44
  /**
36
45
  * Explicit per-instance loading override. When `true`, this `Text` renders
37
46
  * a skeleton placeholder regardless of any surrounding `<SkeletonGroup>`.
@@ -66,6 +75,7 @@ function Text({
66
75
  style,
67
76
  numberOfLines,
68
77
  disableTruncation,
78
+ singleLine,
69
79
  loading,
70
80
  skeletonWidth,
71
81
  skeletonLines,
@@ -128,10 +138,18 @@ function Text({
128
138
  ? text
129
139
  : 'Korem ipsum '
130
140
 
141
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
142
+ // / no-wrap behaviour always wins.
143
+ const { style: layoutStyle, ...truncation } = resolveTextLayout({
144
+ disableTruncation,
145
+ singleLine,
146
+ numberOfLines,
147
+ })
148
+
131
149
  return (
132
150
  <RNText
133
- style={[textStyle, style]}
134
- {...resolveTruncation(disableTruncation, numberOfLines)}
151
+ style={[textStyle, style, layoutStyle]}
152
+ {...truncation}
135
153
  >
136
154
  {content}
137
155
  </RNText>
@@ -137,18 +137,18 @@ const TextInputBase = forwardRef<RNTextInput, TextInputProps>(function TextInput
137
137
  const inputRef = useRef<RNTextInput>(null)
138
138
 
139
139
  // Resolve container tokens
140
- const backgroundColor = getVariableByName('textInput/background', modes) || '#f5f5f5'
141
- const borderColor = getVariableByName('textInput/border/color', modes) || '#f5f5f5'
142
- const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes) || 14
143
- const paddingVertical = getVariableByName('textInput/vertical/padding', modes) || 14
144
- const radius = getVariableByName('textInput/radius', modes) || 99999
140
+ const backgroundColor = getVariableByName('textInput/background', modes)
141
+ const borderColor = getVariableByName('textInput/border/color', modes)
142
+ const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes)
143
+ const paddingVertical = getVariableByName('textInput/vertical/padding', modes)
144
+ const radius = getVariableByName('textInput/radius', modes)
145
145
 
146
146
  // Resolve text input typography tokens
147
- const textColor = getVariableByName('textInput/label/color', modes) || '#24262b'
148
- const fontSize = getVariableByName('textInput/fontSize', modes) || 14
149
- const lineHeight = getVariableByName('textInput/lineHeight', modes) || 18
150
- const fontFamily = getVariableByName('textInput/fontFamily', modes) || 'System'
151
- const fontWeightRaw = getVariableByName('textInput/fontWeight', modes) || 400
147
+ const textColor = getVariableByName('textInput/label/color', modes)
148
+ const fontSize = getVariableByName('textInput/fontSize', modes)
149
+ const lineHeight = getVariableByName('textInput/lineHeight', modes)
150
+ const fontFamily = getVariableByName('textInput/fontFamily', modes)
151
+ const fontWeightRaw = getVariableByName('textInput/fontWeight', modes)
152
152
  const fontWeight =
153
153
  typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw
154
154
 
@@ -156,8 +156,8 @@ const TextInputBase = forwardRef<RNTextInput, TextInputProps>(function TextInput
156
156
  const placeholderColor = makePlaceholderColor(textColor, 0.6)
157
157
 
158
158
  // Resolve icon tokens (for default icon rendering if needed)
159
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b'
160
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18
159
+ const iconColor = getVariableByName('textInput/icon/color', modes)
160
+ const iconSize = getVariableByName('textInput/icon/size', modes)
161
161
 
162
162
  // Convert radius to React Native format (if 99999, use a large value for fully rounded)
163
163
  const borderRadius = radius === 99999 ? 99999 : radius
@@ -346,8 +346,8 @@ const TextInputSearch = forwardRef<RNTextInput, TextInputSearchProps>(function T
346
346
  ...rest
347
347
  }: TextInputSearchProps, ref: React.Ref<RNTextInput>) {
348
348
  // Resolve icon tokens for default search icon
349
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b'
350
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18
349
+ const iconColor = getVariableByName('textInput/icon/color', modes)
350
+ const iconSize = getVariableByName('textInput/icon/size', modes)
351
351
 
352
352
  // Use provided leading or default to search icon
353
353
  const defaultLeading = (
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo } from 'react'
2
2
  import { Text as RNText, type TextStyle, type StyleProp } from 'react-native'
3
3
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
4
- import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
4
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTextLayout } from '../../utils/react-utils'
5
5
  import type { Modes } from '../../design-tokens'
6
6
 
7
7
  /**
@@ -60,10 +60,19 @@ export type TextSegmentProps = {
60
60
  numberOfLines?: number
61
61
  /**
62
62
  * When `true`, disables truncation entirely: the trailing ellipsis (`…`) is
63
- * never shown and the `numberOfLines` clamp is ignored, so the paragraph
64
- * wraps to as many lines as it needs even when horizontal space is tight.
63
+ * never shown and the `numberOfLines` clamp is ignored. The paragraph is also
64
+ * never shrunk by a tight parent it keeps its full intrinsic size and
65
+ * overflows (even breaking the parent layout) rather than clipping into an
66
+ * ellipsis. It still wraps onto multiple lines.
65
67
  */
66
68
  disableTruncation?: boolean
69
+ /**
70
+ * When `true`, forces the whole paragraph onto a single line with no wrapping
71
+ * (implies {@link disableTruncation}). On web the line overflows horizontally
72
+ * — brutally breaking the parent layout if it has to — instead of wrapping or
73
+ * truncating.
74
+ */
75
+ singleLine?: boolean
67
76
  /** Mode configuration used for the base style and cascaded to every run/child. */
68
77
  modes?: Modes
69
78
  /** Style override applied to the outer paragraph (e.g. width constraints to force wrapping). */
@@ -132,6 +141,7 @@ function TextSegment({
132
141
  textAlign = 'Left',
133
142
  numberOfLines,
134
143
  disableTruncation,
144
+ singleLine,
135
145
  modes = EMPTY_MODES,
136
146
  style,
137
147
  }: TextSegmentProps) {
@@ -163,8 +173,16 @@ function TextSegment({
163
173
  // while still honouring any per-child `modes` override.
164
174
  const content = hasChildren ? cloneChildrenWithModes(children, modes) : renderedSegments
165
175
 
176
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
177
+ // / no-wrap behaviour always wins.
178
+ const { style: layoutStyle, ...truncation } = resolveTextLayout({
179
+ disableTruncation,
180
+ singleLine,
181
+ numberOfLines,
182
+ })
183
+
166
184
  return (
167
- <RNText style={[baseStyle, style]} {...resolveTruncation(disableTruncation, numberOfLines)}>
185
+ <RNText style={[baseStyle, style, layoutStyle]} {...truncation}>
168
186
  {content}
169
187
  </RNText>
170
188
  )
@@ -38,29 +38,29 @@ export default function ThreadHero({
38
38
  disableTruncation,
39
39
  }: ThreadHeroProps) {
40
40
  // Container Gaps
41
- const containerGap = Number(getVariableByName('threadHero/gap', modes)) || 8
42
- const detailsGap = Number(getVariableByName('threadHero/details/gap', modes)) || 2
41
+ const containerGap = Number(getVariableByName('threadHero/gap', modes))
42
+ const detailsGap = Number(getVariableByName('threadHero/details/gap', modes))
43
43
 
44
44
  // Title Styles
45
- const titleColor = getVariableByName('threadHero/title/color', modes) || '#191b1e'
46
- const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes)) || 16
47
- const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes) || 'System'
48
- const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes)) || 20
49
- const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes) || '600'
45
+ const titleColor = getVariableByName('threadHero/title/color', modes)
46
+ const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes))
47
+ const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes)
48
+ const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes))
49
+ const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes)
50
50
 
51
51
  // Subtitle Styles
52
- const subtitleColor = getVariableByName('threadHero/subtitle/color', modes) || '#5d5d61'
53
- const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes)) || 12
54
- const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes) || 'System'
55
- const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes)) || 18
56
- const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes) || '500'
52
+ const subtitleColor = getVariableByName('threadHero/subtitle/color', modes)
53
+ const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes))
54
+ const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes)
55
+ const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes))
56
+ const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes)
57
57
 
58
58
  // Caption Styles
59
- const captionColor = getVariableByName('threadHero/caption/color', modes) || '#5d5d61'
60
- const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes)) || 12
61
- const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes) || 'System'
62
- const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes)) || 18
63
- const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes) || '500'
59
+ const captionColor = getVariableByName('threadHero/caption/color', modes)
60
+ const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes))
61
+ const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes)
62
+ const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes))
63
+ const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes)
64
64
 
65
65
  // Styles
66
66
  const containerStyle: ViewStyle = {
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  import { View, Text, type StyleProp, type ViewStyle, type TextStyle } from 'react-native'
3
3
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
4
4
  import { useTokens } from '../../design-tokens/JFSThemeProvider'
5
- import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
5
+ import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils'
6
6
  import type { Modes } from '../../design-tokens'
7
7
 
8
8
  export type TitleProps = {
@@ -20,9 +20,19 @@ export type TitleProps = {
20
20
  /**
21
21
  * When `true`, disables truncation for both the title and subtitle: the
22
22
  * trailing ellipsis (`…`) is never shown and the `numberOfLines` clamp is
23
- * ignored, so the text wraps fully even when horizontal space is tight.
23
+ * ignored. The text is also never shrunk by a tight parent — it keeps its
24
+ * full intrinsic size and overflows (even breaking the parent layout) rather
25
+ * than ever clipping into an ellipsis. The text still wraps onto multiple
26
+ * lines.
24
27
  */
25
28
  disableTruncation?: boolean;
29
+ /**
30
+ * When `true`, forces both the title and subtitle onto a single line with no
31
+ * wrapping (implies {@link disableTruncation}). On web the line overflows
32
+ * horizontally — brutally breaking the parent layout if it has to — instead
33
+ * of wrapping or truncating.
34
+ */
35
+ singleLine?: boolean;
26
36
  accessibilityLabel?: string;
27
37
  accessibilityHint?: string;
28
38
  } & React.ComponentProps<typeof View>;
@@ -42,6 +52,7 @@ function Title({
42
52
  subtitleStyle,
43
53
  numberOfLines,
44
54
  disableTruncation,
55
+ singleLine,
45
56
  accessibilityLabel,
46
57
  accessibilityHint,
47
58
  ...rest
@@ -50,16 +61,16 @@ function Title({
50
61
  const modes = { ...globalModes, ...propModes }
51
62
 
52
63
  const paddingHorizontal =
53
- getVariableByName('title/padding/horizontal', modes) || 16
64
+ getVariableByName('title/padding/horizontal', modes)
54
65
  const paddingVertical =
55
- getVariableByName('title/padding/vertical', modes) || 8
56
- const gap = getVariableByName('title/gap', modes) || 8
66
+ getVariableByName('title/padding/vertical', modes)
67
+ const gap = getVariableByName('title/gap', modes)
57
68
 
58
69
  const labelColor =
59
- getVariableByName('title/label/color', modes) || '#0d0d0f'
60
- const fontSize = getVariableByName('title/fontSize', modes) || 26
70
+ getVariableByName('title/label/color', modes)
71
+ const fontSize = getVariableByName('title/fontSize', modes)
61
72
  const rawLineHeight =
62
- getVariableByName('title/lineHeight', modes) || 26
73
+ getVariableByName('title/lineHeight', modes)
63
74
  // The Figma title tokens ship with `lineHeight === fontSize` (26/26). On
64
75
  // native (especially Android) that produces a Text box exactly `lineHeight`
65
76
  // tall, which clips descenders like p/g/y/q/j at the bottom — particularly
@@ -68,28 +79,28 @@ function Title({
68
79
  // the original value is preserved.
69
80
  const lineHeight = Math.max(rawLineHeight, Math.ceil(fontSize * 1.2))
70
81
  const fontFamily =
71
- getVariableByName('title/fontFamily', modes) || 'System'
82
+ getVariableByName('title/fontFamily', modes)
72
83
  const fontWeightRaw =
73
- getVariableByName('title/fontWeight', modes) || 900
84
+ getVariableByName('title/fontWeight', modes)
74
85
  const fontWeight =
75
86
  typeof fontWeightRaw === 'number'
76
87
  ? fontWeightRaw.toString()
77
88
  : fontWeightRaw
78
89
 
79
90
  const subtitleColor =
80
- getVariableByName('pageSubtitle/label/color', modes) || '#0d0d0f'
91
+ getVariableByName('pageSubtitle/label/color', modes)
81
92
  const subtitleFontSize =
82
- getVariableByName('pageSubtitle/fontSize', modes) || 14
93
+ getVariableByName('pageSubtitle/fontSize', modes)
83
94
  const subtitleRawLineHeight =
84
- getVariableByName('pageSubtitle/lineHeight', modes) || 18
95
+ getVariableByName('pageSubtitle/lineHeight', modes)
85
96
  const subtitleLineHeight = Math.max(
86
97
  subtitleRawLineHeight,
87
98
  Math.ceil(subtitleFontSize * 1.2)
88
99
  )
89
100
  const subtitleFontFamily =
90
- getVariableByName('pageSubtitle/fontFamily', modes) || 'System'
101
+ getVariableByName('pageSubtitle/fontFamily', modes)
91
102
  const subtitleFontWeightRaw =
92
- getVariableByName('pageSubtitle/fontWeight', modes) || 500
103
+ getVariableByName('pageSubtitle/fontWeight', modes)
93
104
  const subtitleFontWeight =
94
105
  typeof subtitleFontWeightRaw === 'number'
95
106
  ? subtitleFontWeightRaw.toString()
@@ -125,6 +136,20 @@ function Title({
125
136
  textAlign: TEXT_ALIGN_MAP[textAlign],
126
137
  }
127
138
 
139
+ // `style` from the layout helper must be merged AFTER the consumer override
140
+ // so the brutal overflow / no-wrap behaviour always wins.
141
+ const { style: titleLayoutStyle, ...titleTruncation } = resolveTextLayout({
142
+ disableTruncation,
143
+ singleLine,
144
+ numberOfLines: numberOfLines !== undefined ? numberOfLines : 1,
145
+ })
146
+ // The subtitle has never been line-clamped, so it only picks up the escape
147
+ // hatches (overflow / single-line) — `numberOfLines` is intentionally omitted.
148
+ const { style: subtitleLayoutStyle, ...subtitleTruncation } = resolveTextLayout({
149
+ disableTruncation,
150
+ singleLine,
151
+ })
152
+
128
153
  return (
129
154
  <View
130
155
  style={[containerStyle, style]}
@@ -134,8 +159,8 @@ function Title({
134
159
  {...rest}
135
160
  >
136
161
  <Text
137
- style={[titleTextStyle, textStyle]}
138
- {...resolveTruncation(disableTruncation, numberOfLines !== undefined ? numberOfLines : 1)}
162
+ style={[titleTextStyle, textStyle, titleLayoutStyle]}
163
+ {...titleTruncation}
139
164
  accessibilityElementsHidden={true}
140
165
  importantForAccessibility="no"
141
166
  >
@@ -143,7 +168,8 @@ function Title({
143
168
  </Text>
144
169
  {subtitle != null && (
145
170
  <Text
146
- style={[subtitleTextStyle, subtitleStyle]}
171
+ style={[subtitleTextStyle, subtitleStyle, subtitleLayoutStyle]}
172
+ {...subtitleTruncation}
147
173
  accessibilityElementsHidden={true}
148
174
  importantForAccessibility="no"
149
175
  >
@@ -44,21 +44,21 @@ function Toast({
44
44
  }
45
45
  }, [id, timeout])
46
46
 
47
- const backgroundColor = getVariableByName('toast/background', modes) || '#303338'
48
- const foreground = getVariableByName('toast/foreground', modes) || '#ffffff'
49
- const fontSize = getVariableByName('toast/fontSize', modes) || 14
50
- const fontFamily = getVariableByName('toast/fontFamily', modes) || undefined
51
- const fontWeight = getVariableByName('toast/fontWeight', modes) || '500'
52
- const lineHeight = getVariableByName('toast/lineHeight', modes) || 18
53
- const radius = getVariableByName('toast/radius', modes) || 14
54
- const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes) || 16
55
- const paddingVertical = getVariableByName('toast/padding/vertical', modes) || 14
56
- const gap = getVariableByName('toast/gap', modes) || 8
57
- const borderWidth = getVariableByName('toast/border/size', modes) || 1
58
- const borderColor = getVariableByName('toast/border/color', modes) || 'rgba(255,255,255,0.1)'
59
- const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes) || 48
60
- const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes) || 16
61
- const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes) || 'rgba(13,13,15,0.16)'
47
+ const backgroundColor = getVariableByName('toast/background', modes)
48
+ const foreground = getVariableByName('toast/foreground', modes)
49
+ const fontSize = getVariableByName('toast/fontSize', modes)
50
+ const fontFamily = getVariableByName('toast/fontFamily', modes)
51
+ const fontWeight = getVariableByName('toast/fontWeight', modes)
52
+ const lineHeight = getVariableByName('toast/lineHeight', modes)
53
+ const radius = getVariableByName('toast/radius', modes)
54
+ const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes)
55
+ const paddingVertical = getVariableByName('toast/padding/vertical', modes)
56
+ const gap = getVariableByName('toast/gap', modes)
57
+ const borderWidth = getVariableByName('toast/border/size', modes)
58
+ const borderColor = getVariableByName('toast/border/color', modes)
59
+ const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes)
60
+ const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes)
61
+ const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes)
62
62
 
63
63
  const enterAnimation = placement === 'top'
64
64
  ? SlideInUp.duration(ANIMATION_DURATION)
@@ -2,12 +2,12 @@ import React, { useCallback, useState } from 'react'
2
2
  import {
3
3
  Pressable,
4
4
  View,
5
- Platform,
6
5
  type StyleProp,
7
6
  type ViewStyle,
8
7
  } from 'react-native'
9
8
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
10
9
  import { EMPTY_MODES } from '../../utils/react-utils'
10
+ import { boxShadow } from '../../utils/shadow'
11
11
  import type { Modes } from '../../design-tokens'
12
12
 
13
13
  export interface ToggleProps {
@@ -89,15 +89,10 @@ function Toggle({
89
89
  opacity: disabled ? 0.5 : 1,
90
90
  }
91
91
 
92
- const thumbShadow: ViewStyle = Platform.OS === 'web'
93
- ? { boxShadow: `${thumbShadowOffsetX}px ${thumbShadowOffsetY}px ${thumbShadowRadius}px 0px ${thumbShadowColor}` } as ViewStyle
94
- : {
95
- shadowColor: thumbShadowColor as string,
96
- shadowOffset: { width: thumbShadowOffsetX as number, height: thumbShadowOffsetY as number },
97
- shadowRadius: thumbShadowRadius as number,
98
- shadowOpacity: 1,
99
- elevation: 4,
100
- }
92
+ const thumbShadow: ViewStyle = boxShadow(
93
+ `${thumbShadowOffsetX}px ${thumbShadowOffsetY}px ${thumbShadowRadius}px 0px ${thumbShadowColor}`,
94
+ { elevation: 4 },
95
+ )
101
96
 
102
97
  const thumbStyle: ViewStyle = {
103
98
  width: thumbSize as number,
@@ -263,18 +263,18 @@ export function TooltipContent({
263
263
  const { width: windowWidth, height: windowHeight } = Dimensions.get('window')
264
264
 
265
265
  // Tokens
266
- const bgColor = (getVariableByName('tooltip/background', modes) as string) || '#0f0d0a'
267
- const paddingH = Number(getVariableByName('tooltip/padding/horizontal', modes) || 12)
268
- const paddingV = Number(getVariableByName('tooltip/padding/vertical', modes) || 8)
269
- const radius = Number(getVariableByName('radius', modes) || 8)
270
- const maxWidthToken = Number(getVariableByName('maxWidth', modes) || 280)
271
- const arrowWidth = Number(getVariableByName('tooltip/tipItem/width', modes) || 16)
272
- const arrowHeight = Number(getVariableByName('tooltip/tipItem/height', modes) || 8)
273
- const labelColor = (getVariableByName('tooltip/label/color', modes) as string) || '#ffffff'
274
- const fontSize = Number(getVariableByName('tooltip/label/fontSize', modes) || 14)
275
- const fontWeight = (getVariableByName('tooltip/label/fontWeight', modes) as string) || '500'
276
- const lineHeight = Number(getVariableByName('tooltip/label/lineHeight', modes) || 18)
277
- const fontFamily = (getVariableByName('tooltip/lable/fontFamily', modes) as string) || undefined
266
+ const bgColor = (getVariableByName('tooltip/background', modes) as string)
267
+ const paddingH = Number(getVariableByName('tooltip/padding/horizontal', modes))
268
+ const paddingV = Number(getVariableByName('tooltip/padding/vertical', modes))
269
+ const radius = Number(getVariableByName('radius', modes))
270
+ const maxWidthToken = Number(getVariableByName('maxWidth', modes))
271
+ const arrowWidth = Number(getVariableByName('tooltip/tipItem/width', modes))
272
+ const arrowHeight = Number(getVariableByName('tooltip/tipItem/height', modes))
273
+ const labelColor = (getVariableByName('tooltip/label/color', modes) as string)
274
+ const fontSize = Number(getVariableByName('tooltip/label/fontSize', modes))
275
+ const fontWeight = (getVariableByName('tooltip/label/fontWeight', modes) as string)
276
+ const lineHeight = Number(getVariableByName('tooltip/label/lineHeight', modes))
277
+ const fontFamily = (getVariableByName('tooltip/lable/fontFamily', modes) as string)
278
278
 
279
279
  if (!isVisible) return null
280
280
 
@@ -70,21 +70,21 @@ function TransactionBubble({
70
70
  'Context3': 'Transaction Bubble',
71
71
  }
72
72
 
73
- const padding = Number(getVariableByName('transactionBubble/padding', resolvedModes)) || 16
74
- const radius = Number(getVariableByName('transactionBubble/radius', resolvedModes)) || 23
75
- const borderSize = Number(getVariableByName('transactionBubble/border/size', resolvedModes)) || 1
76
- const backgroundColor = getVariableByName('transactionBubble/background', resolvedModes) || '#ffffff'
77
- const borderColor = getVariableByName('transactionBubble/border/color', resolvedModes) || '#e5e5e5'
78
- const bubbleGap = Number(getVariableByName('transactionBubble/gap', resolvedModes)) || 8
79
- const moneyValueWrapGap = Number(getVariableByName('transactionBubble/wrap/gap', resolvedModes)) || 8
80
-
81
- const descriptionColor = getVariableByName('transactionBubble/description/color', resolvedModes) || '#24262b'
82
- const descriptionFontSize = Number(getVariableByName('transactionBubble/description/fontSize', resolvedModes)) || 14
83
- const descriptionLineHeight = Number(getVariableByName('transactionBubble/description/lineHeight', resolvedModes)) || 17
84
- const descriptionFontFamily = getVariableByName('transactionBubble/description/fontFamily', resolvedModes) || 'JioType Var'
85
-
86
- const statusWrapGap = Number(getVariableByName('transactionBubble/statusWrap/gap', resolvedModes)) || 4
87
- const statusWrapHeight = Number(getVariableByName('transactionBubble/statusWrap/height', resolvedModes)) || 18
73
+ const padding = Number(getVariableByName('transactionBubble/padding', resolvedModes))
74
+ const radius = Number(getVariableByName('transactionBubble/radius', resolvedModes))
75
+ const borderSize = Number(getVariableByName('transactionBubble/border/size', resolvedModes))
76
+ const backgroundColor = getVariableByName('transactionBubble/background', resolvedModes)
77
+ const borderColor = getVariableByName('transactionBubble/border/color', resolvedModes)
78
+ const bubbleGap = Number(getVariableByName('transactionBubble/gap', resolvedModes))
79
+ const moneyValueWrapGap = Number(getVariableByName('transactionBubble/wrap/gap', resolvedModes))
80
+
81
+ const descriptionColor = getVariableByName('transactionBubble/description/color', resolvedModes)
82
+ const descriptionFontSize = Number(getVariableByName('transactionBubble/description/fontSize', resolvedModes))
83
+ const descriptionLineHeight = Number(getVariableByName('transactionBubble/description/lineHeight', resolvedModes))
84
+ const descriptionFontFamily = getVariableByName('transactionBubble/description/fontFamily', resolvedModes)
85
+
86
+ const statusWrapGap = Number(getVariableByName('transactionBubble/statusWrap/gap', resolvedModes))
87
+ const statusWrapHeight = Number(getVariableByName('transactionBubble/statusWrap/height', resolvedModes))
88
88
 
89
89
  const containerStyle: ViewStyle = {
90
90
  padding,