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
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "MediaSource", {
9
9
  return _MediaSource.default;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "boxShadow", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _shadow.boxShadow;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "cloneChildrenWithModes", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -27,7 +33,26 @@ Object.defineProperty(exports, "formatIndianNumber", {
27
33
  return _numberUtils.formatIndianNumber;
28
34
  }
29
35
  });
36
+ Object.defineProperty(exports, "parseBoxShadow", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _shadow.parseBoxShadow;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "parseSingleShadow", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _shadow.parseSingleShadow;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "supportsNativeBoxShadow", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _shadow.supportsNativeBoxShadow;
52
+ }
53
+ });
30
54
  var _reactUtils = require("./react-utils");
31
55
  var _MediaSource = _interopRequireDefault(require("./MediaSource"));
32
56
  var _numberUtils = require("./number-utils");
57
+ var _shadow = require("./shadow");
33
58
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -8,8 +8,10 @@ exports.cloneChildrenWithModes = cloneChildrenWithModes;
8
8
  exports.flattenChildren = flattenChildren;
9
9
  exports.injectChildStyle = injectChildStyle;
10
10
  exports.mergeRefs = mergeRefs;
11
+ exports.resolveTextLayout = resolveTextLayout;
11
12
  exports.resolveTruncation = resolveTruncation;
12
13
  var _react = _interopRequireDefault(require("react"));
14
+ var _reactNative = require("react-native");
13
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
16
  /**
15
17
  * A shared, frozen empty modes object.
@@ -156,6 +158,66 @@ function resolveTruncation(disableTruncation, numberOfLines, ellipsizeMode) {
156
158
  ellipsizeMode
157
159
  };
158
160
  }
161
+ /**
162
+ * Resolves the `<Text>` props + style for the two truncation escape hatches.
163
+ * This supersedes {@link resolveTruncation} for components that want the
164
+ * "brutal" overflow behaviour rather than just dropping the line clamp.
165
+ *
166
+ * - `disableTruncation`: never truncate. Drops `numberOfLines`/`ellipsizeMode`
167
+ * AND sets `flexShrink: 0`, so a tight flex parent can no longer squeeze the
168
+ * text into an ellipsis — instead the text keeps its intrinsic size and
169
+ * overflows, even if that means blowing past (and visually breaking) the
170
+ * parent layout. The text still wraps onto multiple lines.
171
+ * - `singleLine`: force everything onto one line with no wrapping. Implies
172
+ * `disableTruncation` (the ellipsis is never shown). On web this adds
173
+ * `whiteSpace: 'nowrap'` so the single line overflows horizontally instead of
174
+ * wrapping. The text is never shrunk.
175
+ *
176
+ * Note (native): React Native's `<Text>` has no `white-space: nowrap`
177
+ * equivalent, so on iOS/Android `singleLine` cannot force a hard non-wrapping
178
+ * overflow — it behaves like `disableTruncation` (no ellipsis, no shrink). The
179
+ * hard single-line overflow is honoured on web (Storybook / react-native-web).
180
+ *
181
+ * When neither flag is set, the supplied `numberOfLines`/`ellipsizeMode` pass
182
+ * through unchanged and no extra style is returned.
183
+ */
184
+ function resolveTextLayout({
185
+ disableTruncation,
186
+ singleLine,
187
+ numberOfLines,
188
+ ellipsizeMode
189
+ }) {
190
+ if (singleLine) {
191
+ return {
192
+ numberOfLines: undefined,
193
+ ellipsizeMode: undefined,
194
+ style: {
195
+ flexShrink: 0,
196
+ flexGrow: 0,
197
+ ...(_reactNative.Platform.OS === 'web' ? {
198
+ whiteSpace: 'nowrap',
199
+ overflow: 'visible'
200
+ } : {})
201
+ }
202
+ };
203
+ }
204
+ if (disableTruncation) {
205
+ return {
206
+ numberOfLines: undefined,
207
+ ellipsizeMode: undefined,
208
+ style: {
209
+ flexShrink: 0,
210
+ ...(_reactNative.Platform.OS === 'web' ? {
211
+ overflow: 'visible'
212
+ } : {})
213
+ }
214
+ };
215
+ }
216
+ return {
217
+ numberOfLines,
218
+ ellipsizeMode
219
+ };
220
+ }
159
221
 
160
222
  /**
161
223
  * Flattens React children, extracting them from Fragments.
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.boxShadow = boxShadow;
7
+ exports.parseBoxShadow = parseBoxShadow;
8
+ exports.parseSingleShadow = parseSingleShadow;
9
+ exports.supportsNativeBoxShadow = supportsNativeBoxShadow;
10
+ var _reactNative = require("react-native");
11
+ /**
12
+ * Cross-platform drop-shadow helper with a backward-compatibility layer.
13
+ *
14
+ * Why this exists
15
+ * ----------------
16
+ * The spec-compliant `boxShadow` style prop only landed in React Native 0.76
17
+ * (and only on the New Architecture / Fabric). Older apps that consume this
18
+ * library are still on pre-0.76 React Native where `boxShadow` is silently
19
+ * ignored on native, so their shadows simply disappear.
20
+ *
21
+ * Rather than hand-rolling a `Platform.select` block in every component, route
22
+ * ALL drop shadows through this single helper. When `boxShadow` is natively
23
+ * supported it is used verbatim (web + RN 0.76+ Fabric). When it is NOT
24
+ * supported, the CSS-style shadow string is parsed and translated into the
25
+ * legacy native shadow API:
26
+ * - iOS: `shadowColor`, `shadowOffset`, `shadowOpacity`, `shadowRadius`
27
+ * - Android: `elevation`
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * const style = boxShadow('0px 2px 4px 0px rgba(0,0,0,0.18)')
32
+ * <View style={[base, style]} />
33
+ * ```
34
+ */
35
+
36
+ // `boxShadow` is intentionally absent from the @types/react-native surface in
37
+ // this repo (pinned to 0.73), so we widen ViewStyle locally for the cases
38
+ // where we DO emit the native/web boxShadow string.
39
+
40
+ /**
41
+ * Whether the spec-compliant `boxShadow` style prop is honored at runtime.
42
+ * - Web (react-native-web) always supports it.
43
+ * - Native supports it from RN 0.76+ AND only on the New Architecture (Fabric).
44
+ */
45
+ function supportsNativeBoxShadow() {
46
+ if (_reactNative.Platform.OS === 'web') {
47
+ return true;
48
+ }
49
+ const version = _reactNative.Platform.constants?.reactNativeVersion;
50
+ const isVersionSupported = version ? version.major > 0 || version.major === 0 && version.minor >= 76 : false;
51
+
52
+ // Even on 0.76+, boxShadow is a New Architecture feature. Fabric exposes a
53
+ // global UI manager; its presence is the most reliable runtime signal.
54
+ const isFabric = typeof globalThis !== 'undefined' && globalThis.nativeFabricUIManager != null;
55
+ return isVersionSupported && isFabric;
56
+ }
57
+
58
+ /**
59
+ * Splits a (potentially multi-) box-shadow string on top-level commas, i.e.
60
+ * commas that are NOT inside a color function such as `rgba(12, 13, 16, 0.12)`.
61
+ */
62
+ function splitShadows(value) {
63
+ const out = [];
64
+ let depth = 0;
65
+ let current = '';
66
+ for (const ch of value) {
67
+ if (ch === '(') depth++;else if (ch === ')') depth--;
68
+ if (ch === ',' && depth === 0) {
69
+ if (current.trim()) out.push(current.trim());
70
+ current = '';
71
+ } else {
72
+ current += ch;
73
+ }
74
+ }
75
+ if (current.trim()) out.push(current.trim());
76
+ return out;
77
+ }
78
+
79
+ /**
80
+ * Parses a single CSS box-shadow layer into its primitive parts.
81
+ * Supports: `[inset] offsetX offsetY [blur] [spread] color` in any sensible
82
+ * ordering of the keyword/color, with `rgb()/rgba()/hsl()/hsla()`, hex, or
83
+ * named colors.
84
+ */
85
+ function parseSingleShadow(input) {
86
+ let s = input.trim();
87
+ let inset = false;
88
+ if (/(^|\s)inset(\s|$)/i.test(s)) {
89
+ inset = true;
90
+ s = s.replace(/(^|\s)inset(\s|$)/i, ' ').trim();
91
+ }
92
+ let color = 'rgba(0,0,0,1)';
93
+ const fnColor = s.match(/(?:rgba?|hsla?)\([^)]*\)/i);
94
+ if (fnColor) {
95
+ color = fnColor[0];
96
+ s = s.replace(fnColor[0], ' ').trim();
97
+ } else {
98
+ const hex = s.match(/#[0-9a-fA-F]{3,8}\b/);
99
+ if (hex) {
100
+ color = hex[0];
101
+ s = s.replace(hex[0], ' ').trim();
102
+ } else {
103
+ // Fall back to a trailing named color token (e.g. "red", "black").
104
+ const tokens = s.split(/\s+/).filter(Boolean);
105
+ const last = tokens[tokens.length - 1];
106
+ if (last && Number.isNaN(parseFloat(last))) {
107
+ color = last;
108
+ tokens.pop();
109
+ s = tokens.join(' ');
110
+ }
111
+ }
112
+ }
113
+ const nums = s.split(/\s+/).filter(Boolean).map(t => parseFloat(t) || 0);
114
+ const [offsetX = 0, offsetY = 0, blur = 0, spread = 0] = nums;
115
+ return {
116
+ offsetX,
117
+ offsetY,
118
+ blur,
119
+ spread,
120
+ color,
121
+ inset
122
+ };
123
+ }
124
+
125
+ /**
126
+ * Parses a full box-shadow string (one or more comma-separated layers).
127
+ */
128
+ function parseBoxShadow(value) {
129
+ return splitShadows(value).map(parseSingleShadow);
130
+ }
131
+
132
+ /**
133
+ * Picks the visually dominant shadow layer (largest blur, then largest spread).
134
+ * iOS' legacy shadow API can only render a single shadow per view.
135
+ */
136
+ function pickPrimary(shadows) {
137
+ if (shadows.length === 0) return undefined;
138
+ return shadows.reduce((best, s) => {
139
+ if (s.blur > best.blur) return s;
140
+ if (s.blur === best.blur && s.spread > best.spread) return s;
141
+ return best;
142
+ });
143
+ }
144
+
145
+ /**
146
+ * Translates the parsed shadow into the legacy native shadow style used by
147
+ * pre-0.76 React Native.
148
+ */
149
+ function legacyShadowStyle(value, options) {
150
+ const shadows = parseBoxShadow(value);
151
+ const primary = pickPrimary(shadows);
152
+ if (!primary) {
153
+ return {};
154
+ }
155
+ if (_reactNative.Platform.OS === 'android') {
156
+ const elevation = options?.elevation ?? Math.max(0, Math.round(primary.blur / 2));
157
+ if (elevation <= 0) {
158
+ return {};
159
+ }
160
+ return {
161
+ elevation
162
+ };
163
+ }
164
+
165
+ // iOS: shadowOpacity defaults to 0 (invisible), so it MUST be set. We keep
166
+ // the full color (its own alpha is respected) and use opacity 1 as the
167
+ // multiplier so rgba() alpha is honored end-to-end.
168
+ return {
169
+ shadowColor: primary.color,
170
+ shadowOffset: {
171
+ width: primary.offsetX,
172
+ height: primary.offsetY
173
+ },
174
+ shadowOpacity: 1,
175
+ shadowRadius: primary.blur
176
+ };
177
+ }
178
+
179
+ /**
180
+ * Returns a style object that renders the given CSS-style box-shadow on every
181
+ * platform. Uses the native `boxShadow` prop when supported, otherwise falls
182
+ * back to the legacy `shadow*` (iOS) / `elevation` (Android) API.
183
+ *
184
+ * @param value A CSS box-shadow string, e.g. `'0px 2px 4px 0px rgba(0,0,0,0.2)'`.
185
+ * Multiple comma-separated layers are supported; on the legacy
186
+ * fallback iOS uses the most prominent layer and Android uses a
187
+ * single elevation.
188
+ * @param options Optional overrides (e.g. explicit Android `elevation`).
189
+ */
190
+ function boxShadow(value, options) {
191
+ if (!value) {
192
+ return {};
193
+ }
194
+ if (supportsNativeBoxShadow()) {
195
+ return {
196
+ boxShadow: value
197
+ };
198
+ }
199
+ return legacyShadowStyle(value, options);
200
+ }
@@ -4,10 +4,9 @@ import React, { useEffect, useMemo, useRef } from 'react';
4
4
  import { Animated, Keyboard, View, Platform } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils';
7
+ import { boxShadow } from '../../utils/shadow';
7
8
  import IconButton from '../IconButton/IconButton';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const IS_WEB = Platform.OS === 'web';
10
-
11
10
  // ---------------------------------------------------------------------------
12
11
  // Yoga-safe stretch
13
12
  // ---------------------------------------------------------------------------
@@ -36,27 +35,11 @@ const STRETCH_STYLE = {
36
35
  minWidth: 0
37
36
  };
38
37
 
39
- // Platform-specific drop shadow. Web boxShadow can't go through
40
- // Platform.select (RN's typed surface doesn't include it) so we keep it as a
41
- // separate constant and append it below.
42
- const NATIVE_SHADOW = Platform.select({
43
- ios: {
44
- shadowColor: '#0c0d10',
45
- shadowOffset: {
46
- width: 0,
47
- height: -12
48
- },
49
- shadowOpacity: 0.16,
50
- shadowRadius: 24
51
- },
52
- android: {
53
- elevation: 16
54
- },
55
- default: {}
38
+ // Upward drop shadow routed through the unified helper: native `boxShadow` on
39
+ // web + RN 0.76+, legacy `shadow*` (iOS) / `elevation` (Android) on older RN.
40
+ const SHADOW = boxShadow('0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)', {
41
+ elevation: 16
56
42
  });
57
- const WEB_SHADOW = IS_WEB ? {
58
- boxShadow: '0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)'
59
- } : null;
60
43
 
61
44
  // The runtime token a slot child must equal (by reference) to be treated as
62
45
  // an IconButton. `IconButton` is exported wrapped in `React.memo`, so the
@@ -165,7 +148,7 @@ function ActionFooter({
165
148
  paddingRight: paddingHorizontal,
166
149
  paddingTop,
167
150
  paddingBottom,
168
- ...NATIVE_SHADOW
151
+ ...SHADOW
169
152
  };
170
153
  const slot = {
171
154
  flexDirection: 'row',
@@ -202,7 +185,7 @@ function ActionFooter({
202
185
  });
203
186
  }, [children, modes]);
204
187
  return /*#__PURE__*/_jsx(Animated.View, {
205
- style: [containerStyle, WEB_SHADOW, style,
188
+ style: [containerStyle, style,
206
189
  // Counter-translate by the keyboard height on Android so `adjustResize`
207
190
  // can't lift the footer above the keyboard (no-op on iOS/web where the
208
191
  // value stays at 0).
@@ -29,18 +29,18 @@ export default function ActionTile({
29
29
  };
30
30
 
31
31
  // Resolve tokens
32
- const backgroundColor = getVariableByName('actionTile/background', modes) || '#ffffff';
33
- const gap = Number(getVariableByName('actionTile/gap', modes)) || 8;
34
- const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes)) || 12;
35
- const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes)) || 16;
36
- const radius = Number(getVariableByName('actionTile/radius', modes)) || 16;
32
+ const backgroundColor = getVariableByName('actionTile/background', modes);
33
+ const gap = Number(getVariableByName('actionTile/gap', modes));
34
+ const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes));
35
+ const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes));
36
+ const radius = Number(getVariableByName('actionTile/radius', modes));
37
37
 
38
38
  // Text tokens
39
- const textColor = getVariableByName('actionTile/foreground', modes) || '#0d0d0f';
40
- const fontSize = Number(getVariableByName('actionTile/fontSize', modes)) || 14;
41
- const fontFamily = getVariableByName('actionTile/fontFamily', modes) || 'JioType Var';
42
- const fontWeightStr = getVariableByName('actionTile/fontWeight', modes) || '500';
43
- const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes)) || 17;
39
+ const textColor = getVariableByName('actionTile/foreground', modes);
40
+ const fontSize = Number(getVariableByName('actionTile/fontSize', modes));
41
+ const fontFamily = getVariableByName('actionTile/fontFamily', modes);
42
+ const fontWeightStr = getVariableByName('actionTile/fontWeight', modes);
43
+ const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes));
44
44
  const containerStyle = {
45
45
  backgroundColor,
46
46
  borderRadius: radius,
@@ -28,9 +28,9 @@ const AmountInput = /*#__PURE__*/forwardRef(function AmountInput({
28
28
  };
29
29
 
30
30
  // Resolve tokens
31
- const gap = Number(getVariableByName('amountInput/gap', modes)) || 16;
32
- const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes)) || 0;
33
- const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes)) || 0;
31
+ const gap = Number(getVariableByName('amountInput/gap', modes));
32
+ const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes));
33
+ const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes));
34
34
  const containerStyle = {
35
35
  flexDirection: 'column',
36
36
  alignItems: 'center',
@@ -720,7 +720,7 @@ function ChartTooltip({
720
720
  const bg = getVariableByName('tooltip/background', modes) ?? '#0f0d0a';
721
721
  const paddingH = toNumber(getVariableByName('tooltip/padding/horizontal', modes), 12);
722
722
  const paddingV = toNumber(getVariableByName('tooltip/padding/vertical', modes), 8);
723
- const radius = toNumber(getVariableByName('radius', modes), 8);
723
+ const radius = 8;
724
724
  const labelColor = getVariableByName('tooltip/label/color', modes) ?? '#ffffff';
725
725
  if (items.length === 0) return null;
726
726
 
@@ -798,7 +798,7 @@ function ChartLegend() {
798
798
  /** Resolve `axisItem/*` typography tokens into a memoized text style. */
799
799
  function useAxisTypography(modes) {
800
800
  return useMemo(() => {
801
- const color = getVariableByName('axisItem/color', modes) ?? '#000000';
801
+ const color = getVariableByName('axisItem/fg', modes) ?? '#000000';
802
802
  const fontFamily = getVariableByName('axisItem/fontFamily', modes) ?? 'JioType Var';
803
803
  const fontSize = toNumber(getVariableByName('axisItem/fontSize', modes), 12);
804
804
  const lineHeight = toNumber(getVariableByName('axisItem/lineHeight', modes), 16);
@@ -124,7 +124,7 @@ function Attached({
124
124
  // anchor centering intact).
125
125
  const slotBorderStyle = useMemo(() => {
126
126
  const borderColor = getVariableByName('attached/slot/border', modes);
127
- const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes) || '0');
127
+ const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes));
128
128
  if (!borderColor || !(borderWidth > 0)) return null;
129
129
 
130
130
  // Match the inner clip radius so the ring stays concentric. The outer edge
@@ -51,17 +51,17 @@ const monogramContainerStyle = {
51
51
  // ---------------------------------------------------------------------------
52
52
 
53
53
  function resolveAvatarTokens(modes, isMonogram) {
54
- const size = getVariableByName('avatar/size', modes) || 29;
55
- const radiusRaw = getVariableByName('avatar/radius', modes) || 9999;
56
- const backgroundColor = getVariableByName('avatar/background', modes) || '#dbcfff';
57
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)';
58
- const borderSize = getVariableByName('avatar/border/size', modes) || 1;
59
- const labelColor = getVariableByName('avatar/label/color', modes) || '#5c00b5';
60
- const labelFontSize = getVariableByName('avatar/label/fontSize', modes) || 12;
61
- const labelLineHeight = getVariableByName('avatar/label/lineHeight', modes) || 14;
62
- const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes) || 500;
54
+ const size = getVariableByName('avatar/size', modes);
55
+ const radiusRaw = getVariableByName('avatar/radius', modes);
56
+ const backgroundColor = getVariableByName('avatar/background', modes);
57
+ const borderColor = getVariableByName('avatar/border/color', modes);
58
+ const borderSize = getVariableByName('avatar/border/size', modes);
59
+ const labelColor = getVariableByName('avatar/label/color', modes);
60
+ const labelFontSize = getVariableByName('avatar/label/fontSize', modes);
61
+ const labelLineHeight = getVariableByName('avatar/label/lineHeight', modes);
62
+ const labelFontWeightRaw = getVariableByName('avatar/label/fontWeight', modes);
63
63
  const labelFontWeight = typeof labelFontWeightRaw === 'number' ? labelFontWeightRaw.toString() : labelFontWeightRaw;
64
- const labelFontFamily = getVariableByName('avatar/label/fontFamily', modes) || 'Inter';
64
+ const labelFontFamily = getVariableByName('avatar/label/fontFamily', modes);
65
65
 
66
66
  // 9999 is the design-token sentinel for "perfect circle"
67
67
  const borderRadius = radiusRaw === 9999 ? size / 2 : radiusRaw;
@@ -13,15 +13,15 @@ function AvatarGroup({
13
13
  style,
14
14
  ...rest
15
15
  }) {
16
- const gap = getVariableByName('avatarGroup/gap', modes) || 0;
17
- const avatarSize = getVariableByName('avatar/size', modes) || 29;
18
- const avatarRadius = getVariableByName('avatar/radius', modes) || 9999;
19
- const borderSize = getVariableByName('avatar/border/size', modes) || 1;
20
- const borderColor = getVariableByName('avatar/border/color', modes) || 'rgba(255,255,255,0)';
21
- const paddingLeft = getVariableByName('avatarGroup/padding/left', modes) || 0;
22
- const paddingRight = getVariableByName('avatarGroup/padding/right', modes) || 0;
23
- const paddingTop = getVariableByName('avatarGroup/padding/top', modes) || 0;
24
- const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes) || 0;
16
+ const gap = getVariableByName('avatarGroup/gap', modes);
17
+ const avatarSize = getVariableByName('avatar/size', modes);
18
+ const avatarRadius = getVariableByName('avatar/radius', modes);
19
+ const borderSize = getVariableByName('avatar/border/size', modes);
20
+ const borderColor = getVariableByName('avatar/border/color', modes);
21
+ const paddingLeft = getVariableByName('avatarGroup/padding/left', modes);
22
+ const paddingRight = getVariableByName('avatarGroup/padding/right', modes);
23
+ const paddingTop = getVariableByName('avatarGroup/padding/top', modes);
24
+ const paddingBottom = getVariableByName('avatarGroup/padding/bottom', modes);
25
25
  const validChildren = flattenChildren(children);
26
26
  const totalChildren = validChildren.length;
27
27
 
@@ -29,20 +29,20 @@ function Badge({
29
29
  // Resolve token values (fall back to sensible defaults). The glass type
30
30
  // swaps the solid fill for a translucent overlay + white label, matching the
31
31
  // Figma `badge/glass/*` tokens.
32
- const backgroundColor = getVariableByName('badge/color/background', modes) || '#d8effe';
33
- const glassBackground = getVariableByName('badge/glass/color/background', modes) || '#ffffff26';
34
- const glassLabelColor = getVariableByName('badge/glass/color/label', modes) || '#ffffff';
35
- const labelColor = isGlass ? glassLabelColor : getVariableByName('badge/color/label', modes) || '#000000';
36
- const fontSize = Number(getVariableByName('badge/label/fontSize', modes)) || 12;
37
- const fontFamily = getVariableByName('badge/fontFamily', modes) || undefined;
38
- const fontWeight = getVariableByName('badge/label/fontWeight', modes) || '600';
39
- const paddingHorizontal = Number(getVariableByName('badge/padding/horizontal', modes)) || 6;
40
- const paddingVertical = Number(getVariableByName('badge/padding/vertical', modes)) || 4;
41
- const borderRadius = Number(getVariableByName('badge/radius', modes)) || 4;
42
- const lineHeight = Number(getVariableByName('badge/label/lineHeight', modes)) || Math.round(fontSize * 1.2);
32
+ const backgroundColor = getVariableByName('badge/color/background', modes);
33
+ const glassBackground = getVariableByName('badge/glass/color/background', modes);
34
+ const glassLabelColor = getVariableByName('badge/glass/color/label', modes);
35
+ const labelColor = isGlass ? glassLabelColor : getVariableByName('badge/color/label', modes);
36
+ const fontSize = Number(getVariableByName('badge/label/fontSize', modes));
37
+ const fontFamily = getVariableByName('badge/fontFamily', modes);
38
+ const fontWeight = getVariableByName('badge/label/fontWeight', modes);
39
+ const paddingHorizontal = Number(getVariableByName('badge/padding/horizontal', modes));
40
+ const paddingVertical = Number(getVariableByName('badge/padding/vertical', modes));
41
+ const borderRadius = Number(getVariableByName('badge/radius', modes));
42
+ const lineHeight = Number(getVariableByName('badge/label/lineHeight', modes));
43
43
  // Figma `blur/minimal` (px radius) -> GlassFill's 0–100 intensity scale, the
44
44
  // same 1:1 mapping the merchandising card footer uses.
45
- const blurIntensity = Math.max(0, Math.min(100, Math.round(Number(getVariableByName('blur/minimal', modes)) || 29)));
45
+ const blurIntensity = Math.max(0, Math.min(100, Math.round(Number(getVariableByName('blur/minimal', modes)))));
46
46
 
47
47
  // Skeleton short-circuit. Size derived from the same tokens the loaded
48
48
  // badge would use so the placeholder occupies the same box.