jfs-components 0.1.12 → 0.1.18

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 (592) hide show
  1. package/CHANGELOG.md +24 -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 +50 -29
  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/ProductMerchandisingCard/ProductMerchandisingCard.js +64 -60
  62. package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +5 -5
  63. package/lib/commonjs/components/Radio/Radio.js +8 -8
  64. package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
  65. package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
  66. package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
  67. package/lib/commonjs/components/Section/Section.js +24 -24
  68. package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
  69. package/lib/commonjs/components/Stepper/Step.js +16 -16
  70. package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
  71. package/lib/commonjs/components/Stepper/Stepper.js +3 -3
  72. package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
  73. package/lib/commonjs/components/SupportText/SupportText.js +6 -6
  74. package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
  75. package/lib/commonjs/components/Text/Text.js +14 -2
  76. package/lib/commonjs/components/TextInput/TextInput.js +14 -14
  77. package/lib/commonjs/components/TextSegment/TextSegment.js +14 -2
  78. package/lib/commonjs/components/ThreadHero/ThreadHero.js +17 -17
  79. package/lib/commonjs/components/Title/Title.js +38 -16
  80. package/lib/commonjs/components/Toast/Toast.js +15 -15
  81. package/lib/commonjs/components/Toggle/Toggle.js +3 -11
  82. package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
  83. package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +13 -13
  84. package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
  85. package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +9 -9
  86. package/lib/commonjs/components/UpiHandle/UpiHandle.js +15 -15
  87. package/lib/commonjs/components/index.js +14 -0
  88. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  89. package/lib/commonjs/design-tokens/figma-modes.generated.js +50 -42
  90. package/lib/commonjs/icons/components/Icon4g.js +19 -0
  91. package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
  92. package/lib/commonjs/icons/components/Icon5g.js +19 -0
  93. package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
  94. package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
  95. package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
  96. package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
  97. package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
  98. package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
  99. package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
  100. package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
  101. package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
  102. package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
  103. package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
  104. package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
  105. package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
  106. package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
  107. package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
  108. package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
  109. package/lib/commonjs/icons/components/IconDatabase.js +19 -0
  110. package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
  111. package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
  112. package/lib/commonjs/icons/components/IconDistribution.js +19 -0
  113. package/lib/commonjs/icons/components/IconDocument.js +19 -0
  114. package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
  115. package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
  116. package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
  117. package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
  118. package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
  119. package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
  120. package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
  121. package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
  122. package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
  123. package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
  124. package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
  125. package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
  126. package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
  127. package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
  128. package/lib/commonjs/icons/components/IconFilesend.js +19 -0
  129. package/lib/commonjs/icons/components/IconFileshare.js +19 -0
  130. package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
  131. package/lib/commonjs/icons/components/IconFolder.js +19 -0
  132. package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
  133. package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
  134. package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
  135. package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
  136. package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
  137. package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
  138. package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
  139. package/lib/commonjs/icons/components/IconForm.js +19 -0
  140. package/lib/commonjs/icons/components/IconFormadd.js +19 -0
  141. package/lib/commonjs/icons/components/IconForms.js +19 -0
  142. package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
  143. package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
  144. package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
  145. package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
  146. package/lib/commonjs/icons/components/IconHubmode.js +19 -0
  147. package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
  148. package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
  149. package/lib/commonjs/icons/components/IconLte.js +19 -0
  150. package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
  151. package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
  152. package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
  153. package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
  154. package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
  155. package/lib/commonjs/icons/components/IconProjection.js +19 -0
  156. package/lib/commonjs/icons/components/IconRequest.js +19 -0
  157. package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
  158. package/lib/commonjs/icons/components/IconTechnology.js +19 -0
  159. package/lib/commonjs/icons/components/IconVolte.js +19 -0
  160. package/lib/commonjs/icons/components/IconVonr.js +19 -0
  161. package/lib/commonjs/icons/components/IconVowifi.js +19 -0
  162. package/lib/commonjs/icons/components/IconVpndata.js +19 -0
  163. package/lib/commonjs/icons/components/index.js +803 -0
  164. package/lib/commonjs/icons/registry.js +2 -2
  165. package/lib/commonjs/utils/GlassFill/GlassFill.js +69 -73
  166. package/lib/commonjs/utils/index.js +25 -0
  167. package/lib/commonjs/utils/react-utils.js +62 -0
  168. package/lib/commonjs/utils/shadow.js +200 -0
  169. package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
  170. package/lib/module/components/ActionTile/ActionTile.js +10 -10
  171. package/lib/module/components/AmountInput/AmountInput.js +3 -3
  172. package/lib/module/components/AreaLineChart/AreaLineChart.js +2 -2
  173. package/lib/module/components/Attached/Attached.js +1 -1
  174. package/lib/module/components/Avatar/Avatar.js +10 -10
  175. package/lib/module/components/AvatarGroup/AvatarGroup.js +52 -30
  176. package/lib/module/components/Badge/Badge.js +12 -12
  177. package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
  178. package/lib/module/components/BottomNav/BottomNav.js +2 -2
  179. package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
  180. package/lib/module/components/Button/Button.js +32 -20
  181. package/lib/module/components/Card/Card.js +20 -20
  182. package/lib/module/components/CardAdvisory/CardAdvisory.js +6 -6
  183. package/lib/module/components/CardCTA/CardCTA.js +21 -21
  184. package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
  185. package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  186. package/lib/module/components/CardInsight/CardInsight.js +1 -2
  187. package/lib/module/components/Carousel/Carousel.js +18 -12
  188. package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
  189. package/lib/module/components/Checkbox/Checkbox.js +2 -9
  190. package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
  191. package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
  192. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +5 -5
  193. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
  194. package/lib/module/components/CircularRating/CircularRating.js +3 -3
  195. package/lib/module/components/CompareTable/CompareTable.js +16 -16
  196. package/lib/module/components/DebitCard/DebitCard.js +18 -18
  197. package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
  198. package/lib/module/components/DonutChart/DonutChart.js +11 -11
  199. package/lib/module/components/Drawer/Drawer.js +60 -60
  200. package/lib/module/components/Dropdown/Dropdown.js +22 -23
  201. package/lib/module/components/DropdownInput/DropdownInput.js +10 -10
  202. package/lib/module/components/EmptyState/EmptyState.js +14 -14
  203. package/lib/module/components/FilterBar/FilterBar.js +2 -2
  204. package/lib/module/components/Form/Form.js +3 -3
  205. package/lib/module/components/FormField/FormField.js +6 -6
  206. package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
  207. package/lib/module/components/Gauge/Gauge.js +8 -8
  208. package/lib/module/components/HoldingsCard/HoldingsCard.js +10 -10
  209. package/lib/module/components/Icon/Icon.js +6 -6
  210. package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
  211. package/lib/module/components/InputSearch/InputSearch.js +9 -9
  212. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -3
  213. package/lib/module/components/ListGroup/ListGroup.js +8 -8
  214. package/lib/module/components/ListItem/ListItem.js +10 -10
  215. package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  216. package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
  217. package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
  218. package/lib/module/components/MediaCard/MediaCard.js +21 -21
  219. package/lib/module/components/MessageField/MessageField.js +8 -8
  220. package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
  221. package/lib/module/components/NavArrow/NavArrow.js +8 -8
  222. package/lib/module/components/NoteInput/NoteInput.js +12 -12
  223. package/lib/module/components/Nudge/Nudge.js +20 -20
  224. package/lib/module/components/OTP/OTP.js +15 -15
  225. package/lib/module/components/PageHero/PageHero.js +16 -16
  226. package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
  227. package/lib/module/components/Popup/Popup.js +1 -1
  228. package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +66 -62
  229. package/lib/module/components/ProgressBadge/ProgressBadge.js +5 -5
  230. package/lib/module/components/Radio/Radio.js +9 -9
  231. package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
  232. package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
  233. package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
  234. package/lib/module/components/Section/Section.js +24 -24
  235. package/lib/module/components/StatusHero/StatusHero.js +14 -14
  236. package/lib/module/components/Stepper/Step.js +16 -16
  237. package/lib/module/components/Stepper/StepLabel.js +16 -16
  238. package/lib/module/components/Stepper/Stepper.js +3 -3
  239. package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
  240. package/lib/module/components/SupportText/SupportText.js +6 -6
  241. package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
  242. package/lib/module/components/Text/Text.js +15 -3
  243. package/lib/module/components/TextInput/TextInput.js +14 -14
  244. package/lib/module/components/TextSegment/TextSegment.js +15 -3
  245. package/lib/module/components/ThreadHero/ThreadHero.js +17 -17
  246. package/lib/module/components/Title/Title.js +39 -17
  247. package/lib/module/components/Toast/Toast.js +15 -15
  248. package/lib/module/components/Toggle/Toggle.js +4 -12
  249. package/lib/module/components/Tooltip/Tooltip.js +12 -12
  250. package/lib/module/components/TransactionBubble/TransactionBubble.js +13 -13
  251. package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
  252. package/lib/module/components/TransactionStatus/TransactionStatus.js +9 -9
  253. package/lib/module/components/UpiHandle/UpiHandle.js +15 -15
  254. package/lib/module/components/index.js +2 -0
  255. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  256. package/lib/module/design-tokens/figma-modes.generated.js +50 -42
  257. package/lib/module/icons/components/Icon4g.js +12 -0
  258. package/lib/module/icons/components/Icon4gltedata.js +12 -0
  259. package/lib/module/icons/components/Icon5g.js +12 -0
  260. package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
  261. package/lib/module/icons/components/Icon5gplus.js +12 -0
  262. package/lib/module/icons/components/IconAdblocker.js +12 -0
  263. package/lib/module/icons/components/IconAdblockplus.js +12 -0
  264. package/lib/module/icons/components/IconAnalytics.js +12 -0
  265. package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
  266. package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
  267. package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
  268. package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
  269. package/lib/module/icons/components/IconCompoundinterest.js +12 -0
  270. package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
  271. package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
  272. package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
  273. package/lib/module/icons/components/IconConsumptionlow.js +12 -0
  274. package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
  275. package/lib/module/icons/components/IconCsvdoc.js +12 -0
  276. package/lib/module/icons/components/IconDatabase.js +12 -0
  277. package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
  278. package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
  279. package/lib/module/icons/components/IconDistribution.js +12 -0
  280. package/lib/module/icons/components/IconDocument.js +12 -0
  281. package/lib/module/icons/components/IconDocumentdoc.js +12 -0
  282. package/lib/module/icons/components/IconDocumentjpg.js +12 -0
  283. package/lib/module/icons/components/IconDocumentodt.js +12 -0
  284. package/lib/module/icons/components/IconDocumentpdf.js +12 -0
  285. package/lib/module/icons/components/IconDocumentpng.js +12 -0
  286. package/lib/module/icons/components/IconDocumentraw.js +12 -0
  287. package/lib/module/icons/components/IconDocumentrtf.js +12 -0
  288. package/lib/module/icons/components/IconDocumentsettings.js +12 -0
  289. package/lib/module/icons/components/IconDocumenttif.js +12 -0
  290. package/lib/module/icons/components/IconDocumenttxt.js +12 -0
  291. package/lib/module/icons/components/IconDocumentunknown.js +12 -0
  292. package/lib/module/icons/components/IconDocumentxls.js +12 -0
  293. package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
  294. package/lib/module/icons/components/IconFilerequest.js +12 -0
  295. package/lib/module/icons/components/IconFilesend.js +12 -0
  296. package/lib/module/icons/components/IconFileshare.js +12 -0
  297. package/lib/module/icons/components/IconFindinpage.js +12 -0
  298. package/lib/module/icons/components/IconFolder.js +12 -0
  299. package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
  300. package/lib/module/icons/components/IconFolderfavorites.js +12 -0
  301. package/lib/module/icons/components/IconFolderlocked.js +12 -0
  302. package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
  303. package/lib/module/icons/components/IconFolderpublic.js +12 -0
  304. package/lib/module/icons/components/IconFolderrated.js +12 -0
  305. package/lib/module/icons/components/IconFolderrequest.js +12 -0
  306. package/lib/module/icons/components/IconForm.js +12 -0
  307. package/lib/module/icons/components/IconFormadd.js +12 -0
  308. package/lib/module/icons/components/IconForms.js +12 -0
  309. package/lib/module/icons/components/IconGraphincreasing.js +12 -0
  310. package/lib/module/icons/components/IconGraphlow.js +12 -0
  311. package/lib/module/icons/components/IconGraphtable.js +12 -0
  312. package/lib/module/icons/components/IconHealthreport.js +12 -0
  313. package/lib/module/icons/components/IconHubmode.js +12 -0
  314. package/lib/module/icons/components/IconInfrastructure.js +12 -0
  315. package/lib/module/icons/components/IconInterestlow.js +12 -0
  316. package/lib/module/icons/components/IconLte.js +12 -0
  317. package/lib/module/icons/components/IconNetworkfuture.js +12 -0
  318. package/lib/module/icons/components/IconPagesettings.js +12 -0
  319. package/lib/module/icons/components/IconPptxdoc.js +12 -0
  320. package/lib/module/icons/components/IconPreferrednumber.js +12 -0
  321. package/lib/module/icons/components/IconPremiumnumber.js +12 -0
  322. package/lib/module/icons/components/IconProjection.js +12 -0
  323. package/lib/module/icons/components/IconRequest.js +12 -0
  324. package/lib/module/icons/components/IconRoutestraffic.js +12 -0
  325. package/lib/module/icons/components/IconTechnology.js +12 -0
  326. package/lib/module/icons/components/IconVolte.js +12 -0
  327. package/lib/module/icons/components/IconVonr.js +12 -0
  328. package/lib/module/icons/components/IconVowifi.js +12 -0
  329. package/lib/module/icons/components/IconVpndata.js +12 -0
  330. package/lib/module/icons/components/index.js +73 -0
  331. package/lib/module/icons/registry.js +2 -2
  332. package/lib/module/utils/GlassFill/GlassFill.js +69 -72
  333. package/lib/module/utils/index.js +2 -1
  334. package/lib/module/utils/react-utils.js +61 -0
  335. package/lib/module/utils/shadow.js +194 -0
  336. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
  337. package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
  338. package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
  339. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
  340. package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
  341. package/lib/typescript/src/components/Text/Text.d.ts +12 -3
  342. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +12 -3
  343. package/lib/typescript/src/components/Title/Title.d.ts +12 -2
  344. package/lib/typescript/src/components/index.d.ts +2 -0
  345. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
  346. package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
  347. package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
  348. package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
  349. package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
  350. package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
  351. package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
  352. package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
  353. package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
  354. package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
  355. package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
  356. package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
  357. package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
  358. package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
  359. package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
  360. package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
  361. package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
  362. package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
  363. package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
  364. package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
  365. package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
  366. package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
  367. package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
  368. package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
  369. package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
  370. package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
  371. package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
  372. package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
  373. package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
  374. package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
  375. package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
  376. package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
  377. package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
  378. package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
  379. package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
  380. package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
  381. package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
  382. package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
  383. package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
  384. package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
  385. package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
  386. package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
  387. package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
  388. package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
  389. package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
  390. package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
  391. package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
  392. package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
  393. package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
  394. package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
  395. package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
  396. package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
  397. package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
  398. package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
  399. package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
  400. package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
  401. package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
  402. package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
  403. package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
  404. package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
  405. package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
  406. package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
  407. package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
  408. package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
  409. package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
  410. package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
  411. package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
  412. package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
  413. package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
  414. package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
  415. package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
  416. package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
  417. package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
  418. package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
  419. package/lib/typescript/src/icons/components/index.d.ts +73 -0
  420. package/lib/typescript/src/icons/registry.d.ts +1 -1
  421. package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +11 -4
  422. package/lib/typescript/src/utils/index.d.ts +2 -0
  423. package/lib/typescript/src/utils/react-utils.d.ts +40 -1
  424. package/lib/typescript/src/utils/shadow.d.ts +72 -0
  425. package/package.json +2 -2
  426. package/src/components/ActionFooter/ActionFooter.tsx +8 -26
  427. package/src/components/ActionTile/ActionTile.tsx +10 -10
  428. package/src/components/AmountInput/AmountInput.tsx +3 -3
  429. package/src/components/AreaLineChart/AreaLineChart.tsx +2 -2
  430. package/src/components/Attached/Attached.tsx +1 -1
  431. package/src/components/Avatar/Avatar.tsx +10 -10
  432. package/src/components/AvatarGroup/AvatarGroup.tsx +53 -27
  433. package/src/components/Badge/Badge.tsx +12 -13
  434. package/src/components/BenefitCard/BenefitCard.tsx +120 -27
  435. package/src/components/BottomNav/BottomNav.tsx +2 -2
  436. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
  437. package/src/components/Button/Button.tsx +30 -20
  438. package/src/components/Card/Card.tsx +20 -20
  439. package/src/components/CardAdvisory/CardAdvisory.tsx +6 -6
  440. package/src/components/CardCTA/CardCTA.tsx +21 -21
  441. package/src/components/CardFeedback/CardFeedback.tsx +18 -18
  442. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
  443. package/src/components/CardInsight/CardInsight.tsx +1 -3
  444. package/src/components/Carousel/Carousel.tsx +29 -12
  445. package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
  446. package/src/components/Checkbox/Checkbox.tsx +2 -8
  447. package/src/components/ChipGroup/ChipGroup.tsx +1 -1
  448. package/src/components/ChipSelect/ChipSelect.tsx +11 -11
  449. package/src/components/CircularProgressBar/CircularProgressBar.tsx +5 -5
  450. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +8 -8
  451. package/src/components/CircularRating/CircularRating.tsx +3 -3
  452. package/src/components/CompareTable/CompareTable.tsx +16 -16
  453. package/src/components/DebitCard/DebitCard.tsx +22 -22
  454. package/src/components/Disclaimer/Disclaimer.tsx +5 -5
  455. package/src/components/DonutChart/DonutChart.tsx +11 -45
  456. package/src/components/Drawer/Drawer.tsx +80 -71
  457. package/src/components/Dropdown/Dropdown.tsx +23 -28
  458. package/src/components/DropdownInput/DropdownInput.tsx +10 -17
  459. package/src/components/EmptyState/EmptyState.tsx +14 -14
  460. package/src/components/FilterBar/FilterBar.tsx +2 -2
  461. package/src/components/Form/Form.tsx +3 -3
  462. package/src/components/FormField/FormField.tsx +6 -11
  463. package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
  464. package/src/components/Gauge/Gauge.tsx +8 -8
  465. package/src/components/HoldingsCard/HoldingsCard.tsx +10 -10
  466. package/src/components/Icon/Icon.tsx +6 -6
  467. package/src/components/IconCapsule/IconCapsule.tsx +7 -7
  468. package/src/components/InputSearch/InputSearch.tsx +9 -9
  469. package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -6
  470. package/src/components/ListGroup/ListGroup.tsx +8 -8
  471. package/src/components/ListItem/ListItem.tsx +10 -10
  472. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
  473. package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
  474. package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
  475. package/src/components/MediaCard/MediaCard.tsx +21 -21
  476. package/src/components/MessageField/MessageField.tsx +8 -16
  477. package/src/components/MoneyValue/MoneyValue.tsx +7 -7
  478. package/src/components/NavArrow/NavArrow.tsx +8 -8
  479. package/src/components/NoteInput/NoteInput.tsx +12 -12
  480. package/src/components/Nudge/Nudge.tsx +20 -20
  481. package/src/components/OTP/OTP.tsx +16 -16
  482. package/src/components/PageHero/PageHero.tsx +16 -16
  483. package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
  484. package/src/components/Popup/Popup.tsx +1 -1
  485. package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +76 -47
  486. package/src/components/ProgressBadge/ProgressBadge.tsx +5 -5
  487. package/src/components/Radio/Radio.tsx +8 -9
  488. package/src/components/RechargeCard/RechargeCard.tsx +31 -31
  489. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
  490. package/src/components/ScrollArea/ScrollArea.tsx +200 -0
  491. package/src/components/Section/Section.tsx +26 -26
  492. package/src/components/StatusHero/StatusHero.tsx +14 -14
  493. package/src/components/Stepper/Step.tsx +16 -18
  494. package/src/components/Stepper/StepLabel.tsx +16 -27
  495. package/src/components/Stepper/Stepper.tsx +3 -4
  496. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -20
  497. package/src/components/SupportText/SupportText.tsx +6 -6
  498. package/src/components/SupportText/SupportTextIcon.tsx +2 -2
  499. package/src/components/Text/Text.tsx +23 -5
  500. package/src/components/TextInput/TextInput.tsx +14 -14
  501. package/src/components/TextSegment/TextSegment.tsx +22 -4
  502. package/src/components/ThreadHero/ThreadHero.tsx +17 -17
  503. package/src/components/Title/Title.tsx +44 -18
  504. package/src/components/Toast/Toast.tsx +15 -15
  505. package/src/components/Toggle/Toggle.tsx +5 -10
  506. package/src/components/Tooltip/Tooltip.tsx +12 -12
  507. package/src/components/TransactionBubble/TransactionBubble.tsx +15 -15
  508. package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
  509. package/src/components/TransactionStatus/TransactionStatus.tsx +9 -9
  510. package/src/components/UpiHandle/UpiHandle.tsx +15 -15
  511. package/src/components/index.ts +2 -0
  512. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  513. package/src/design-tokens/figma-modes.generated.ts +50 -42
  514. package/src/icons/components/Icon4g.tsx +11 -0
  515. package/src/icons/components/Icon4gltedata.tsx +11 -0
  516. package/src/icons/components/Icon5g.tsx +11 -0
  517. package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
  518. package/src/icons/components/Icon5gplus.tsx +11 -0
  519. package/src/icons/components/IconAdblocker.tsx +11 -0
  520. package/src/icons/components/IconAdblockplus.tsx +11 -0
  521. package/src/icons/components/IconAnalytics.tsx +11 -0
  522. package/src/icons/components/IconAnalyticsdata.tsx +11 -0
  523. package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
  524. package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
  525. package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
  526. package/src/icons/components/IconCompoundinterest.tsx +11 -0
  527. package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
  528. package/src/icons/components/IconConsumptionaverage.tsx +11 -0
  529. package/src/icons/components/IconConsumptionhigh.tsx +11 -0
  530. package/src/icons/components/IconConsumptionlow.tsx +11 -0
  531. package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
  532. package/src/icons/components/IconCsvdoc.tsx +11 -0
  533. package/src/icons/components/IconDatabase.tsx +11 -0
  534. package/src/icons/components/IconDigitalecosystem.tsx +11 -0
  535. package/src/icons/components/IconDigitalselfservice.tsx +11 -0
  536. package/src/icons/components/IconDistribution.tsx +11 -0
  537. package/src/icons/components/IconDocument.tsx +11 -0
  538. package/src/icons/components/IconDocumentdoc.tsx +11 -0
  539. package/src/icons/components/IconDocumentjpg.tsx +11 -0
  540. package/src/icons/components/IconDocumentodt.tsx +11 -0
  541. package/src/icons/components/IconDocumentpdf.tsx +11 -0
  542. package/src/icons/components/IconDocumentpng.tsx +11 -0
  543. package/src/icons/components/IconDocumentraw.tsx +11 -0
  544. package/src/icons/components/IconDocumentrtf.tsx +11 -0
  545. package/src/icons/components/IconDocumentsettings.tsx +11 -0
  546. package/src/icons/components/IconDocumenttif.tsx +11 -0
  547. package/src/icons/components/IconDocumenttxt.tsx +11 -0
  548. package/src/icons/components/IconDocumentunknown.tsx +11 -0
  549. package/src/icons/components/IconDocumentxls.tsx +11 -0
  550. package/src/icons/components/IconDocumentxlsx.tsx +11 -0
  551. package/src/icons/components/IconFilerequest.tsx +11 -0
  552. package/src/icons/components/IconFilesend.tsx +11 -0
  553. package/src/icons/components/IconFileshare.tsx +11 -0
  554. package/src/icons/components/IconFindinpage.tsx +11 -0
  555. package/src/icons/components/IconFolder.tsx +11 -0
  556. package/src/icons/components/IconFolderbookmarks.tsx +11 -0
  557. package/src/icons/components/IconFolderfavorites.tsx +11 -0
  558. package/src/icons/components/IconFolderlocked.tsx +11 -0
  559. package/src/icons/components/IconFoldermovefiles.tsx +11 -0
  560. package/src/icons/components/IconFolderpublic.tsx +11 -0
  561. package/src/icons/components/IconFolderrated.tsx +11 -0
  562. package/src/icons/components/IconFolderrequest.tsx +11 -0
  563. package/src/icons/components/IconForm.tsx +11 -0
  564. package/src/icons/components/IconFormadd.tsx +11 -0
  565. package/src/icons/components/IconForms.tsx +11 -0
  566. package/src/icons/components/IconGraphincreasing.tsx +11 -0
  567. package/src/icons/components/IconGraphlow.tsx +11 -0
  568. package/src/icons/components/IconGraphtable.tsx +11 -0
  569. package/src/icons/components/IconHealthreport.tsx +11 -0
  570. package/src/icons/components/IconHubmode.tsx +11 -0
  571. package/src/icons/components/IconInfrastructure.tsx +11 -0
  572. package/src/icons/components/IconInterestlow.tsx +11 -0
  573. package/src/icons/components/IconLte.tsx +11 -0
  574. package/src/icons/components/IconNetworkfuture.tsx +11 -0
  575. package/src/icons/components/IconPagesettings.tsx +11 -0
  576. package/src/icons/components/IconPptxdoc.tsx +11 -0
  577. package/src/icons/components/IconPreferrednumber.tsx +11 -0
  578. package/src/icons/components/IconPremiumnumber.tsx +11 -0
  579. package/src/icons/components/IconProjection.tsx +11 -0
  580. package/src/icons/components/IconRequest.tsx +11 -0
  581. package/src/icons/components/IconRoutestraffic.tsx +11 -0
  582. package/src/icons/components/IconTechnology.tsx +11 -0
  583. package/src/icons/components/IconVolte.tsx +11 -0
  584. package/src/icons/components/IconVonr.tsx +11 -0
  585. package/src/icons/components/IconVowifi.tsx +11 -0
  586. package/src/icons/components/IconVpndata.tsx +11 -0
  587. package/src/icons/components/index.ts +73 -0
  588. package/src/icons/registry.ts +293 -1
  589. package/src/utils/GlassFill/GlassFill.tsx +59 -56
  590. package/src/utils/index.ts +2 -0
  591. package/src/utils/react-utils.ts +72 -1
  592. package/src/utils/shadow.ts +219 -0
@@ -304,26 +304,26 @@ function slotGridPropsAreEqual(prev, next) {
304
304
  */
305
305
 
306
306
  function resolveSectionTokens(modes) {
307
- const backgroundColor = getVariableByName('section/background/color', modes) || '#ffffff';
308
- const sectionGap = getVariableByName('section/gap', modes) || 12;
309
- const slotGap = getVariableByName('slot/gap', modes) || 12;
310
- const paddingHorizontal = getVariableByName('section/padding/horizontal', modes) || 12;
311
- const paddingVertical = getVariableByName('section/padding/vertical', modes) || 16;
312
- const radius = getVariableByName('section/radius', modes) || 12;
313
- const headerGap = getVariableByName('section/header/gap', modes) || 8;
314
- const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes) || 0;
315
- const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes) || 0;
316
- const titleColor = getVariableByName('section/title/color', modes) || '#0f0d0a';
317
- const titleFontSize = getVariableByName('section/title/fontSize', modes) || 18;
318
- const titleLineHeight = getVariableByName('section/title/lineHeight', modes) || 20;
319
- const titleFontFamily = getVariableByName('section/title/fontFamily', modes) || 'System';
320
- const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes) || 800;
307
+ const backgroundColor = getVariableByName('section/background/color', modes);
308
+ const sectionGap = getVariableByName('section/gap', modes);
309
+ const slotGap = getVariableByName('slot/gap', modes);
310
+ const paddingHorizontal = getVariableByName('section/padding/horizontal', modes);
311
+ const paddingVertical = getVariableByName('section/padding/vertical', modes);
312
+ const radius = getVariableByName('section/radius', modes);
313
+ const headerGap = getVariableByName('section/header/gap', modes);
314
+ const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes);
315
+ const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes);
316
+ const titleColor = getVariableByName('section/title/color', modes);
317
+ const titleFontSize = getVariableByName('section/title/fontSize', modes);
318
+ const titleLineHeight = getVariableByName('section/title/lineHeight', modes);
319
+ const titleFontFamily = getVariableByName('section/title/fontFamily', modes);
320
+ const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes);
321
321
  const titleFontWeight = typeof titleFontWeightRaw === 'number' ? titleFontWeightRaw.toString() : titleFontWeightRaw;
322
- const supportTextColor = getVariableByName('section/supportText/color', modes) || '#1f1a14';
323
- const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes) || 14;
324
- const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes) || 18;
325
- const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes) || 'System';
326
- const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes) || 500;
322
+ const supportTextColor = getVariableByName('section/supportText/color', modes);
323
+ const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes);
324
+ const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes);
325
+ const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes);
326
+ const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes);
327
327
  const supportTextFontWeight = typeof supportTextFontWeightRaw === 'number' ? supportTextFontWeightRaw.toString() : supportTextFontWeightRaw;
328
328
  return {
329
329
  containerStyle: {
@@ -568,11 +568,11 @@ function SectionBento({
568
568
  renderToggle,
569
569
  ...rest
570
570
  }) {
571
- const backgroundColor = getVariableByName('section/background/color', modes) || '#ffffff';
572
- const gap = getVariableByName('section/gap', modes) || 12;
573
- const paddingHorizontal = getVariableByName('section/padding/horizontal', modes) || 12;
574
- const paddingVertical = getVariableByName('section/padding/vertical', modes) || 16;
575
- const radius = getVariableByName('section/radius', modes) || 12;
571
+ const backgroundColor = getVariableByName('section/background/color', modes);
572
+ const gap = getVariableByName('section/gap', modes);
573
+ const paddingHorizontal = getVariableByName('section/padding/horizontal', modes);
574
+ const paddingVertical = getVariableByName('section/padding/vertical', modes);
575
+ const radius = getVariableByName('section/radius', modes);
576
576
  const containerStyle = useMemo(() => ({
577
577
  backgroundColor,
578
578
  paddingHorizontal,
@@ -48,28 +48,28 @@ export default function StatusHero({
48
48
  };
49
49
 
50
50
  // Container
51
- const gap = Number(getVariableByName('statusHero/gap', modes)) || 12;
52
- const padding = Number(getVariableByName('statusHero/padding', modes)) || 8;
51
+ const gap = Number(getVariableByName('statusHero/gap', modes));
52
+ const padding = Number(getVariableByName('statusHero/padding', modes));
53
53
 
54
54
  // Media slot wrap (gap between icon and money value in default slot)
55
- const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes)) || 46;
55
+ const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes));
56
56
 
57
57
  // Content wrap
58
- const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes)) || 12;
58
+ const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes));
59
59
 
60
60
  // Title
61
- const titleColor = getVariableByName('statusHero/title/foreground', modes) || '#0c0d10';
62
- const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes)) || 20;
63
- const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes) || 'System';
64
- const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes)) || 22;
65
- const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes) || '700';
61
+ const titleColor = getVariableByName('statusHero/title/foreground', modes);
62
+ const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes));
63
+ const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes);
64
+ const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes));
65
+ const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes);
66
66
 
67
67
  // Body
68
- const bodyColor = getVariableByName('statusHero/body/foreground', modes) || '#24262b';
69
- const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes)) || 14;
70
- const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes) || 'System';
71
- const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes)) || 17;
72
- const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes) || '500';
68
+ const bodyColor = getVariableByName('statusHero/body/foreground', modes);
69
+ const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes));
70
+ const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes);
71
+ const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes));
72
+ const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes);
73
73
  const containerStyle = {
74
74
  flexDirection: 'column',
75
75
  alignItems: 'center',
@@ -21,22 +21,22 @@ export function Step({
21
21
  meta = true,
22
22
  status = 'number'
23
23
  }) {
24
- const minHeight = Number(getVariableByName('steperItem/minHeight', modes)) || 52;
25
- const gap = Number(getVariableByName('steperItem/gap', modes)) || 16;
26
- const indicatorSize = Number(getVariableByName('stepIndicator/size', modes)) || 36;
27
- const indicatorRadius = Number(getVariableByName('stepIndicator/radius', modes)) || 9999;
28
- const indicatorBg = getVariableByName('stepIndicator/background', modes) || '#5d00b5';
29
- const indicatorBorderColor = getVariableByName('stepIndicator/border/color', modes) || '#5d00b5';
30
- const indicatorBorderSize = Number(getVariableByName('stepIndicator/border/size', modes)) || 1;
31
- const iconColor = getVariableByName('stepIndicator/icon/color', modes) || '#ffffff';
32
- const stepStatusSize = Number(getVariableByName('stepStatus/size', modes)) || 18;
33
- const labelFontSize = Number(getVariableByName('stepIndicator/label/fontSize', modes)) || 12;
34
- const labelFontFamily = getVariableByName('stepIndicator/label/fontFamily', modes) || undefined;
35
- const labelLineHeight = Number(getVariableByName('stepIndicator/label/lineHeight', modes)) || 14;
36
- const labelFontWeight = getVariableByName('stepIndicator/label/fontWeight', modes) || '500';
37
- const lineSize = Number(getVariableByName('steperItem/lineSize', modes)) || 2;
38
- const lineColor = getVariableByName('steperItem/line', modes) || '#5d00b5';
39
- const badgeWrapGap = Number(getVariableByName('steperItem/badgeWrap/gap', modes)) || 2;
24
+ const minHeight = Number(getVariableByName('steperItem/minHeight', modes));
25
+ const gap = Number(getVariableByName('steperItem/gap', modes));
26
+ const indicatorSize = Number(getVariableByName('stepIndicator/size', modes));
27
+ const indicatorRadius = Number(getVariableByName('stepIndicator/radius', modes));
28
+ const indicatorBg = getVariableByName('stepIndicator/background', modes);
29
+ const indicatorBorderColor = getVariableByName('stepIndicator/border/color', modes);
30
+ const indicatorBorderSize = Number(getVariableByName('stepIndicator/border/size', modes));
31
+ const iconColor = getVariableByName('stepIndicator/icon/color', modes);
32
+ const stepStatusSize = Number(getVariableByName('stepStatus/size', modes));
33
+ const labelFontSize = Number(getVariableByName('stepIndicator/label/fontSize', modes));
34
+ const labelFontFamily = getVariableByName('stepIndicator/label/fontFamily', modes);
35
+ const labelLineHeight = Number(getVariableByName('stepIndicator/label/lineHeight', modes));
36
+ const labelFontWeight = getVariableByName('stepIndicator/label/fontWeight', modes);
37
+ const lineSize = Number(getVariableByName('steperItem/lineSize', modes));
38
+ const lineColor = getVariableByName('steperItem/line', modes);
39
+ const badgeWrapGap = Number(getVariableByName('steperItem/badgeWrap/gap', modes));
40
40
  const containerStyle = {
41
41
  flexDirection: 'row',
42
42
  minHeight,
@@ -14,11 +14,11 @@ export function StepLabel({
14
14
  modes = EMPTY_MODES,
15
15
  style
16
16
  }) {
17
- const titleColor = getVariableByName('steperItem/title/color', modes) || '#0d0d0f';
18
- const titleFontSize = Number(getVariableByName('steperItem/title/fontSize', modes)) || 14;
19
- const titleFontFamily = getVariableByName('steperItem/title/fontFamily', modes) || undefined;
20
- const titleLineHeight = Number(getVariableByName('steperItem/title/lineHeight', modes)) || 18;
21
- const titleFontWeight = getVariableByName('steperItem/title/fontWeight', modes) || '700';
17
+ const titleColor = getVariableByName('steperItem/title/color', modes);
18
+ const titleFontSize = Number(getVariableByName('steperItem/title/fontSize', modes));
19
+ const titleFontFamily = getVariableByName('steperItem/title/fontFamily', modes);
20
+ const titleLineHeight = Number(getVariableByName('steperItem/title/lineHeight', modes));
21
+ const titleFontWeight = getVariableByName('steperItem/title/fontWeight', modes);
22
22
 
23
23
  // The Subtitle (supportingText) and Meta both default to the "Neutral"
24
24
  // AppearanceBrand. A caller-supplied `AppearanceBrand` still wins (it is
@@ -32,19 +32,19 @@ export function StepLabel({
32
32
  AppearanceBrand: 'Neutral',
33
33
  ...modes
34
34
  };
35
- const subtitleColor = getVariableByName('steperItem/subtitle/color', subtitleModes) || '#3d4047';
36
- const subtitleFontSize = Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes)) || 12;
37
- const subtitleFontFamily = getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) || undefined;
38
- const subtitleLineHeight = Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes)) || 16;
39
- const subtitleFontWeight = getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) || '400';
40
- const metaColor = getVariableByName('steperItem/meta/color', metaModes) || '#f7ab21';
41
- const metaFontSize = Number(getVariableByName('steperItem/meta/fontSize', metaModes)) || 10;
35
+ const subtitleColor = getVariableByName('steperItem/subtitle/color', subtitleModes);
36
+ const subtitleFontSize = Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes));
37
+ const subtitleFontFamily = getVariableByName('steperItem/subtitle/fontFamily', subtitleModes);
38
+ const subtitleLineHeight = Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes));
39
+ const subtitleFontWeight = getVariableByName('steperItem/subtitle/fontWeight', subtitleModes);
40
+ const metaColor = getVariableByName('steperItem/meta/color', metaModes);
41
+ const metaFontSize = Number(getVariableByName('steperItem/meta/fontSize', metaModes));
42
42
  // The Figma variable is authored as "fontFamily Copy" (with a space + suffix).
43
43
  // Match the literal Figma name to avoid a missing-variable warning.
44
- const metaFontFamily = getVariableByName('steperItem/meta/fontFamily Copy', metaModes) || undefined;
45
- const metaLineHeight = Number(getVariableByName('steperItem/meta/lineHeight', metaModes)) || 12;
46
- const metaFontWeight = getVariableByName('steperItem/meta/fontWeight', metaModes) || '700';
47
- const textGap = Number(getVariableByName('steperItem/textWrap/gap', modes)) || 2;
44
+ const metaFontFamily = getVariableByName('steperItem/meta/fontFamily Copy', metaModes);
45
+ const metaLineHeight = Number(getVariableByName('steperItem/meta/lineHeight', metaModes));
46
+ const metaFontWeight = getVariableByName('steperItem/meta/fontWeight', metaModes);
47
+ const textGap = Number(getVariableByName('steperItem/textWrap/gap', modes));
48
48
  const titleStyle = {
49
49
  color: titleColor,
50
50
  fontSize: titleFontSize,
@@ -13,9 +13,9 @@ export default function Stepper({
13
13
  modes = EMPTY_MODES,
14
14
  style
15
15
  }) {
16
- const paddingHorizontal = Number(getVariableByName('stepper/padding/horizontal', modes)) || 8;
17
- const paddingVertical = Number(getVariableByName('stepper/padding/vertical', modes)) || 0;
18
- const gap = Number(getVariableByName('stepper/gap', modes)) || 2;
16
+ const paddingHorizontal = Number(getVariableByName('stepper/padding/horizontal', modes));
17
+ const paddingVertical = Number(getVariableByName('stepper/padding/vertical', modes));
18
+ const gap = Number(getVariableByName('stepper/gap', modes));
19
19
  const containerStyle = {
20
20
  paddingHorizontal,
21
21
  paddingVertical,
@@ -46,23 +46,23 @@ const defaultFilter = (query, option) => option.label.toLowerCase().includes(que
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
58
  const inputBorderSize = toNumber(getVariableByName('formField/input/border/size', modes), 1.5);
59
- const inputBackground = getVariableByName('formField/input/background', modes) || '#ffffff';
60
- const inputBorderColor = getVariableByName('formField/input/border/color', modes) || '#b5b6b7';
59
+ const inputBackground = getVariableByName('formField/input/background', modes);
60
+ const inputBorderColor = getVariableByName('formField/input/border/color', modes);
61
61
  const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
62
62
  const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
63
- const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes) || 'JioType Var';
64
- const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes) || '400';
65
- const inputTextColor = getVariableByName('formField/input/label/color', modes) || '#24262b';
63
+ const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
64
+ const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes);
65
+ const inputTextColor = getVariableByName('formField/input/label/color', modes);
66
66
  return {
67
67
  labelColor,
68
68
  labelFontFamily,
@@ -86,8 +86,8 @@ function useFormFieldTokens(modes) {
86
86
  }
87
87
  function useDropdownItemTextTokens(modes) {
88
88
  return useMemo(() => {
89
- const foreground = getVariableByName('dropdownItem/foreground', modes) || '#000000';
90
- const fontFamily = getVariableByName('dropdownItem/fontFamily', modes) || 'JioType Var';
89
+ const foreground = getVariableByName('dropdownItem/foreground', modes);
90
+ const fontFamily = getVariableByName('dropdownItem/fontFamily', modes);
91
91
  const fontSize = toNumber(getVariableByName('dropdownItem/fontSize', modes), 16);
92
92
  const lineHeight = toNumber(getVariableByName('dropdownItem/lineHeight', modes), 19);
93
93
  return {
@@ -32,12 +32,12 @@ function SupportText({
32
32
  };
33
33
 
34
34
  // --- Token Resolution ---
35
- const gap = parseInt(getVariableByName('supportText/gap', modes), 10) || 4;
36
- const textColor = getVariableByName('supportText/foreground', modes) || '#0c0d10';
37
- const fontFamily = getVariableByName('supportText/fontFamily', modes) || 'JioType Var';
38
- const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10) || 12;
39
- const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10) || 16;
40
- const fontWeight = getVariableByName('supportText/fontWeight', modes) || '500';
35
+ const gap = parseInt(getVariableByName('supportText/gap', modes), 10);
36
+ const textColor = getVariableByName('supportText/foreground', modes);
37
+ const fontFamily = getVariableByName('supportText/fontFamily', modes);
38
+ const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10);
39
+ const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10);
40
+ const fontWeight = getVariableByName('supportText/fontWeight', modes);
41
41
 
42
42
  // --- Styles ---
43
43
  const containerStyle = {
@@ -21,14 +21,14 @@ function SupportTextIcon({
21
21
  const iconName = STATUS_ICON_MAP[status] || 'ic_info';
22
22
 
23
23
  // Resolve icon size
24
- const size = parseInt(getVariableByName('supportText/icon/size', modes), 10) || 16;
24
+ const size = parseInt(getVariableByName('supportText/icon/size', modes), 10);
25
25
 
26
26
  // Resolve icon color
27
27
  // Assuming supportText/foreground applies to icon as well, or there might be specific icon color tokens.
28
28
  // Using supportText/foreground as default based on common patterns if no specific icon token.
29
29
  // If specific tokens exist like 'supportText/icon/color', they should be used.
30
30
  // Detailed variables only showed supportText/foreground.
31
- const color = getVariableByName('supportText/foreground', modes) || '#0c0d10';
31
+ const color = getVariableByName('supportText/foreground', modes);
32
32
  return /*#__PURE__*/_jsx(View, {
33
33
  style: style,
34
34
  children: /*#__PURE__*/_jsx(Icon, {
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { Text as RNText } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils';
7
7
  import Skeleton from '../../skeleton/Skeleton';
8
8
  import { useSkeleton } from '../../skeleton/SkeletonGroup';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -19,6 +19,7 @@ function Text({
19
19
  style,
20
20
  numberOfLines,
21
21
  disableTruncation,
22
+ singleLine,
22
23
  loading,
23
24
  skeletonWidth,
24
25
  skeletonLines
@@ -69,9 +70,20 @@ function Text({
69
70
  // still renders something visible when no content is supplied via either
70
71
  // route.
71
72
  const content = children !== undefined && children !== null && children !== false ? children : text !== undefined ? text : 'Korem ipsum ';
73
+
74
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
75
+ // / no-wrap behaviour always wins.
76
+ const {
77
+ style: layoutStyle,
78
+ ...truncation
79
+ } = resolveTextLayout({
80
+ disableTruncation,
81
+ singleLine,
82
+ numberOfLines
83
+ });
72
84
  return /*#__PURE__*/_jsx(RNText, {
73
- style: [textStyle, style],
74
- ...resolveTruncation(disableTruncation, numberOfLines),
85
+ style: [textStyle, style, layoutStyle],
86
+ ...truncation,
75
87
  children: content
76
88
  });
77
89
  }
@@ -120,26 +120,26 @@ const TextInputBase = /*#__PURE__*/forwardRef(function TextInput({
120
120
  const inputRef = useRef(null);
121
121
 
122
122
  // Resolve container tokens
123
- const backgroundColor = getVariableByName('textInput/background', modes) || '#f5f5f5';
124
- const borderColor = getVariableByName('textInput/border/color', modes) || '#f5f5f5';
125
- const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes) || 14;
126
- const paddingVertical = getVariableByName('textInput/vertical/padding', modes) || 14;
127
- const radius = getVariableByName('textInput/radius', modes) || 99999;
123
+ const backgroundColor = getVariableByName('textInput/background', modes);
124
+ const borderColor = getVariableByName('textInput/border/color', modes);
125
+ const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes);
126
+ const paddingVertical = getVariableByName('textInput/vertical/padding', modes);
127
+ const radius = getVariableByName('textInput/radius', modes);
128
128
 
129
129
  // Resolve text input typography tokens
130
- const textColor = getVariableByName('textInput/label/color', modes) || '#24262b';
131
- const fontSize = getVariableByName('textInput/fontSize', modes) || 14;
132
- const lineHeight = getVariableByName('textInput/lineHeight', modes) || 18;
133
- const fontFamily = getVariableByName('textInput/fontFamily', modes) || 'System';
134
- const fontWeightRaw = getVariableByName('textInput/fontWeight', modes) || 400;
130
+ const textColor = getVariableByName('textInput/label/color', modes);
131
+ const fontSize = getVariableByName('textInput/fontSize', modes);
132
+ const lineHeight = getVariableByName('textInput/lineHeight', modes);
133
+ const fontFamily = getVariableByName('textInput/fontFamily', modes);
134
+ const fontWeightRaw = getVariableByName('textInput/fontWeight', modes);
135
135
  const fontWeight = typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw;
136
136
 
137
137
  // Create placeholder color (lighter/more transparent version of text color)
138
138
  const placeholderColor = makePlaceholderColor(textColor, 0.6);
139
139
 
140
140
  // Resolve icon tokens (for default icon rendering if needed)
141
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b';
142
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18;
141
+ const iconColor = getVariableByName('textInput/icon/color', modes);
142
+ const iconSize = getVariableByName('textInput/icon/size', modes);
143
143
 
144
144
  // Convert radius to React Native format (if 99999, use a large value for fully rounded)
145
145
  const borderRadius = radius === 99999 ? 99999 : radius;
@@ -303,8 +303,8 @@ const TextInputSearch = /*#__PURE__*/forwardRef(function TextInputSearch({
303
303
  ...rest
304
304
  }, ref) {
305
305
  // Resolve icon tokens for default search icon
306
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b';
307
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18;
306
+ const iconColor = getVariableByName('textInput/icon/color', modes);
307
+ const iconSize = getVariableByName('textInput/icon/size', modes);
308
308
 
309
309
  // Use provided leading or default to search icon
310
310
  const defaultLeading = /*#__PURE__*/_jsx(Icon, {
@@ -3,7 +3,7 @@
3
3
  import React, { useMemo } from 'react';
4
4
  import { Text as RNText } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTextLayout } from '../../utils/react-utils';
7
7
 
8
8
  /**
9
9
  * A single coloured run inside a {@link TextSegment}. Each run can carry its own
@@ -74,6 +74,7 @@ function TextSegment({
74
74
  textAlign = 'Left',
75
75
  numberOfLines,
76
76
  disableTruncation,
77
+ singleLine,
77
78
  modes = EMPTY_MODES,
78
79
  style
79
80
  }) {
@@ -105,9 +106,20 @@ function TextSegment({
105
106
  // nested library `Text` runs resolve their tokens against the same baseline,
106
107
  // while still honouring any per-child `modes` override.
107
108
  const content = hasChildren ? cloneChildrenWithModes(children, modes) : renderedSegments;
109
+
110
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
111
+ // / no-wrap behaviour always wins.
112
+ const {
113
+ style: layoutStyle,
114
+ ...truncation
115
+ } = resolveTextLayout({
116
+ disableTruncation,
117
+ singleLine,
118
+ numberOfLines
119
+ });
108
120
  return /*#__PURE__*/_jsx(RNText, {
109
- style: [baseStyle, style],
110
- ...resolveTruncation(disableTruncation, numberOfLines),
121
+ style: [baseStyle, style, layoutStyle],
122
+ ...truncation,
111
123
  children: content
112
124
  });
113
125
  }
@@ -18,29 +18,29 @@ export default function ThreadHero({
18
18
  disableTruncation
19
19
  }) {
20
20
  // Container Gaps
21
- const containerGap = Number(getVariableByName('threadHero/gap', modes)) || 8;
22
- const detailsGap = Number(getVariableByName('threadHero/details/gap', modes)) || 2;
21
+ const containerGap = Number(getVariableByName('threadHero/gap', modes));
22
+ const detailsGap = Number(getVariableByName('threadHero/details/gap', modes));
23
23
 
24
24
  // Title Styles
25
- const titleColor = getVariableByName('threadHero/title/color', modes) || '#191b1e';
26
- const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes)) || 16;
27
- const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes) || 'System';
28
- const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes)) || 20;
29
- const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes) || '600';
25
+ const titleColor = getVariableByName('threadHero/title/color', modes);
26
+ const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes));
27
+ const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes);
28
+ const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes));
29
+ const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes);
30
30
 
31
31
  // Subtitle Styles
32
- const subtitleColor = getVariableByName('threadHero/subtitle/color', modes) || '#5d5d61';
33
- const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes)) || 12;
34
- const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes) || 'System';
35
- const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes)) || 18;
36
- const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes) || '500';
32
+ const subtitleColor = getVariableByName('threadHero/subtitle/color', modes);
33
+ const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes));
34
+ const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes);
35
+ const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes));
36
+ const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes);
37
37
 
38
38
  // Caption Styles
39
- const captionColor = getVariableByName('threadHero/caption/color', modes) || '#5d5d61';
40
- const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes)) || 12;
41
- const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes) || 'System';
42
- const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes)) || 18;
43
- const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes) || '500';
39
+ const captionColor = getVariableByName('threadHero/caption/color', modes);
40
+ const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes));
41
+ const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes);
42
+ const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes));
43
+ const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes);
44
44
 
45
45
  // Styles
46
46
  const containerStyle = {
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { View, Text } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import { useTokens } from '../../design-tokens/JFSThemeProvider';
7
- import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils';
7
+ import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils';
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const TEXT_ALIGN_MAP = {
10
10
  Left: 'left',
@@ -20,6 +20,7 @@ function Title({
20
20
  subtitleStyle,
21
21
  numberOfLines,
22
22
  disableTruncation,
23
+ singleLine,
23
24
  accessibilityLabel,
24
25
  accessibilityHint,
25
26
  ...rest
@@ -31,12 +32,12 @@ function Title({
31
32
  ...globalModes,
32
33
  ...propModes
33
34
  };
34
- const paddingHorizontal = getVariableByName('title/padding/horizontal', modes) || 16;
35
- const paddingVertical = getVariableByName('title/padding/vertical', modes) || 8;
36
- const gap = getVariableByName('title/gap', modes) || 8;
37
- const labelColor = getVariableByName('title/label/color', modes) || '#0d0d0f';
38
- const fontSize = getVariableByName('title/fontSize', modes) || 26;
39
- const rawLineHeight = getVariableByName('title/lineHeight', modes) || 26;
35
+ const paddingHorizontal = getVariableByName('title/padding/horizontal', modes);
36
+ const paddingVertical = getVariableByName('title/padding/vertical', modes);
37
+ const gap = getVariableByName('title/gap', modes);
38
+ const labelColor = getVariableByName('title/label/color', modes);
39
+ const fontSize = getVariableByName('title/fontSize', modes);
40
+ const rawLineHeight = getVariableByName('title/lineHeight', modes);
40
41
  // The Figma title tokens ship with `lineHeight === fontSize` (26/26). On
41
42
  // native (especially Android) that produces a Text box exactly `lineHeight`
42
43
  // tall, which clips descenders like p/g/y/q/j at the bottom — particularly
@@ -44,15 +45,15 @@ function Title({
44
45
  // always fit. When a downstream token already provides adequate leading,
45
46
  // the original value is preserved.
46
47
  const lineHeight = Math.max(rawLineHeight, Math.ceil(fontSize * 1.2));
47
- const fontFamily = getVariableByName('title/fontFamily', modes) || 'System';
48
- const fontWeightRaw = getVariableByName('title/fontWeight', modes) || 900;
48
+ const fontFamily = getVariableByName('title/fontFamily', modes);
49
+ const fontWeightRaw = getVariableByName('title/fontWeight', modes);
49
50
  const fontWeight = typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw;
50
- const subtitleColor = getVariableByName('pageSubtitle/label/color', modes) || '#0d0d0f';
51
- const subtitleFontSize = getVariableByName('pageSubtitle/fontSize', modes) || 14;
52
- const subtitleRawLineHeight = getVariableByName('pageSubtitle/lineHeight', modes) || 18;
51
+ const subtitleColor = getVariableByName('pageSubtitle/label/color', modes);
52
+ const subtitleFontSize = getVariableByName('pageSubtitle/fontSize', modes);
53
+ const subtitleRawLineHeight = getVariableByName('pageSubtitle/lineHeight', modes);
53
54
  const subtitleLineHeight = Math.max(subtitleRawLineHeight, Math.ceil(subtitleFontSize * 1.2));
54
- const subtitleFontFamily = getVariableByName('pageSubtitle/fontFamily', modes) || 'System';
55
- const subtitleFontWeightRaw = getVariableByName('pageSubtitle/fontWeight', modes) || 500;
55
+ const subtitleFontFamily = getVariableByName('pageSubtitle/fontFamily', modes);
56
+ const subtitleFontWeightRaw = getVariableByName('pageSubtitle/fontWeight', modes);
56
57
  const subtitleFontWeight = typeof subtitleFontWeightRaw === 'number' ? subtitleFontWeightRaw.toString() : subtitleFontWeightRaw;
57
58
  const containerStyle = {
58
59
  flexDirection: 'column',
@@ -81,6 +82,26 @@ function Title({
81
82
  flexShrink: 1,
82
83
  textAlign: TEXT_ALIGN_MAP[textAlign]
83
84
  };
85
+
86
+ // `style` from the layout helper must be merged AFTER the consumer override
87
+ // so the brutal overflow / no-wrap behaviour always wins.
88
+ const {
89
+ style: titleLayoutStyle,
90
+ ...titleTruncation
91
+ } = resolveTextLayout({
92
+ disableTruncation,
93
+ singleLine,
94
+ numberOfLines: numberOfLines !== undefined ? numberOfLines : 1
95
+ });
96
+ // The subtitle has never been line-clamped, so it only picks up the escape
97
+ // hatches (overflow / single-line) — `numberOfLines` is intentionally omitted.
98
+ const {
99
+ style: subtitleLayoutStyle,
100
+ ...subtitleTruncation
101
+ } = resolveTextLayout({
102
+ disableTruncation,
103
+ singleLine
104
+ });
84
105
  return /*#__PURE__*/_jsxs(View, {
85
106
  style: [containerStyle, style],
86
107
  accessibilityRole: "header",
@@ -88,13 +109,14 @@ function Title({
88
109
  accessibilityHint: accessibilityHint,
89
110
  ...rest,
90
111
  children: [/*#__PURE__*/_jsx(Text, {
91
- style: [titleTextStyle, textStyle],
92
- ...resolveTruncation(disableTruncation, numberOfLines !== undefined ? numberOfLines : 1),
112
+ style: [titleTextStyle, textStyle, titleLayoutStyle],
113
+ ...titleTruncation,
93
114
  accessibilityElementsHidden: true,
94
115
  importantForAccessibility: "no",
95
116
  children: title
96
117
  }), subtitle != null && /*#__PURE__*/_jsx(Text, {
97
- style: [subtitleTextStyle, subtitleStyle],
118
+ style: [subtitleTextStyle, subtitleStyle, subtitleLayoutStyle],
119
+ ...subtitleTruncation,
98
120
  accessibilityElementsHidden: true,
99
121
  importantForAccessibility: "no",
100
122
  children: subtitle
@@ -26,21 +26,21 @@ function Toast({
26
26
  if (timerRef.current) clearTimeout(timerRef.current);
27
27
  };
28
28
  }, [id, timeout]);
29
- const backgroundColor = getVariableByName('toast/background', modes) || '#303338';
30
- const foreground = getVariableByName('toast/foreground', modes) || '#ffffff';
31
- const fontSize = getVariableByName('toast/fontSize', modes) || 14;
32
- const fontFamily = getVariableByName('toast/fontFamily', modes) || undefined;
33
- const fontWeight = getVariableByName('toast/fontWeight', modes) || '500';
34
- const lineHeight = getVariableByName('toast/lineHeight', modes) || 18;
35
- const radius = getVariableByName('toast/radius', modes) || 14;
36
- const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes) || 16;
37
- const paddingVertical = getVariableByName('toast/padding/vertical', modes) || 14;
38
- const gap = getVariableByName('toast/gap', modes) || 8;
39
- const borderWidth = getVariableByName('toast/border/size', modes) || 1;
40
- const borderColor = getVariableByName('toast/border/color', modes) || 'rgba(255,255,255,0.1)';
41
- const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes) || 48;
42
- const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes) || 16;
43
- const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes) || 'rgba(13,13,15,0.16)';
29
+ const backgroundColor = getVariableByName('toast/background', modes);
30
+ const foreground = getVariableByName('toast/foreground', modes);
31
+ const fontSize = getVariableByName('toast/fontSize', modes);
32
+ const fontFamily = getVariableByName('toast/fontFamily', modes);
33
+ const fontWeight = getVariableByName('toast/fontWeight', modes);
34
+ const lineHeight = getVariableByName('toast/lineHeight', modes);
35
+ const radius = getVariableByName('toast/radius', modes);
36
+ const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes);
37
+ const paddingVertical = getVariableByName('toast/padding/vertical', modes);
38
+ const gap = getVariableByName('toast/gap', modes);
39
+ const borderWidth = getVariableByName('toast/border/size', modes);
40
+ const borderColor = getVariableByName('toast/border/color', modes);
41
+ const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes);
42
+ const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes);
43
+ const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes);
44
44
  const enterAnimation = placement === 'top' ? SlideInUp.duration(ANIMATION_DURATION) : SlideInDown.duration(ANIMATION_DURATION);
45
45
  const containerStyle = {
46
46
  backgroundColor,