jfs-components 0.1.8 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/lib/commonjs/components/Accordion/Accordion.js +2 -1
  3. package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +4 -3
  4. package/lib/commonjs/components/AccountCard/AccountCard.js +4 -3
  5. package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
  6. package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
  7. package/lib/commonjs/components/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
  8. package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
  9. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +13 -9
  10. package/lib/commonjs/components/Attached/Attached.js +1 -1
  11. package/lib/commonjs/components/Avatar/Avatar.js +10 -10
  12. package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +9 -9
  13. package/lib/commonjs/components/Badge/Badge.js +55 -16
  14. package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
  15. package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
  16. package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
  17. package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
  18. package/lib/commonjs/components/Button/Button.js +32 -19
  19. package/lib/commonjs/components/Card/Card.js +20 -20
  20. package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +8 -7
  21. package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
  22. package/lib/commonjs/components/CardCTA/CardCTA.js +215 -45
  23. package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
  24. package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  25. package/lib/commonjs/components/CardInsight/CardInsight.js +6 -3
  26. package/lib/commonjs/components/Carousel/Carousel.js +18 -12
  27. package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
  28. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
  29. package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
  30. package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
  31. package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +12 -8
  32. package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +11 -10
  33. package/lib/commonjs/components/CircularRating/CircularRating.js +5 -4
  34. package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
  35. package/lib/commonjs/components/CompareTable/CompareTable.js +88 -59
  36. package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
  37. package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
  38. package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
  39. package/lib/commonjs/components/DonutChart/DonutChart.js +15 -14
  40. package/lib/commonjs/components/Drawer/Drawer.js +60 -60
  41. package/lib/commonjs/components/Dropdown/Dropdown.js +25 -25
  42. package/lib/commonjs/components/DropdownInput/DropdownInput.js +13 -12
  43. package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
  44. package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  45. package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
  46. package/lib/commonjs/components/Form/Form.js +3 -3
  47. package/lib/commonjs/components/FormField/FormField.js +48 -8
  48. package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
  49. package/lib/commonjs/components/Gauge/Gauge.js +9 -9
  50. package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +13 -12
  51. package/lib/commonjs/components/Icon/Icon.js +6 -6
  52. package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
  53. package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
  54. package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +5 -4
  55. package/lib/commonjs/components/ListGroup/ListGroup.js +10 -9
  56. package/lib/commonjs/components/ListItem/ListItem.js +13 -12
  57. package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  58. package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
  59. package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
  60. package/lib/commonjs/components/MediaCard/MediaCard.js +25 -23
  61. package/lib/commonjs/components/MessageField/MessageField.js +8 -8
  62. package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
  63. package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
  64. package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
  65. package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
  66. package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
  67. package/lib/commonjs/components/Nudge/Nudge.js +20 -20
  68. package/lib/commonjs/components/OTP/OTP.js +15 -15
  69. package/lib/commonjs/components/PageHero/PageHero.js +16 -16
  70. package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
  71. package/lib/commonjs/components/Popup/Popup.js +1 -1
  72. package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
  73. package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +107 -33
  74. package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
  75. package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +7 -7
  76. package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +3 -2
  77. package/lib/commonjs/components/Radio/Radio.js +8 -8
  78. package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
  79. package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
  80. package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
  81. package/lib/commonjs/components/Section/Section.js +27 -26
  82. package/lib/commonjs/components/Slider/Slider.js +3 -2
  83. package/lib/commonjs/components/Stack/Stack.js +86 -0
  84. package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
  85. package/lib/commonjs/components/Stepper/Step.js +16 -16
  86. package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
  87. package/lib/commonjs/components/Stepper/Stepper.js +3 -3
  88. package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
  89. package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
  90. package/lib/commonjs/components/SupportText/SupportText.js +6 -6
  91. package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
  92. package/lib/commonjs/components/Table/Table.js +324 -0
  93. package/lib/commonjs/components/Text/Text.js +15 -2
  94. package/lib/commonjs/components/TextInput/TextInput.js +23 -15
  95. package/lib/commonjs/components/TextSegment/TextSegment.js +15 -2
  96. package/lib/commonjs/components/ThreadHero/ThreadHero.js +21 -22
  97. package/lib/commonjs/components/Title/Title.js +39 -16
  98. package/lib/commonjs/components/Toast/Toast.js +18 -17
  99. package/lib/commonjs/components/Toggle/Toggle.js +3 -11
  100. package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
  101. package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +15 -14
  102. package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
  103. package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +12 -11
  104. package/lib/commonjs/components/UpiHandle/UpiHandle.js +17 -17
  105. package/lib/commonjs/components/index.js +58 -0
  106. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  107. package/lib/commonjs/design-tokens/figma-modes.generated.js +51 -42
  108. package/lib/commonjs/icons/components/Icon4g.js +19 -0
  109. package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
  110. package/lib/commonjs/icons/components/Icon5g.js +19 -0
  111. package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
  112. package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
  113. package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
  114. package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
  115. package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
  116. package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
  117. package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
  118. package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
  119. package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
  120. package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
  121. package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
  122. package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
  123. package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
  124. package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
  125. package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
  126. package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
  127. package/lib/commonjs/icons/components/IconDatabase.js +19 -0
  128. package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
  129. package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
  130. package/lib/commonjs/icons/components/IconDistribution.js +19 -0
  131. package/lib/commonjs/icons/components/IconDocument.js +19 -0
  132. package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
  133. package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
  134. package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
  135. package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
  136. package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
  137. package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
  138. package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
  139. package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
  140. package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
  141. package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
  142. package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
  143. package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
  144. package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
  145. package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
  146. package/lib/commonjs/icons/components/IconFilesend.js +19 -0
  147. package/lib/commonjs/icons/components/IconFileshare.js +19 -0
  148. package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
  149. package/lib/commonjs/icons/components/IconFolder.js +19 -0
  150. package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
  151. package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
  152. package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
  153. package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
  154. package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
  155. package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
  156. package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
  157. package/lib/commonjs/icons/components/IconForm.js +19 -0
  158. package/lib/commonjs/icons/components/IconFormadd.js +19 -0
  159. package/lib/commonjs/icons/components/IconForms.js +19 -0
  160. package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
  161. package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
  162. package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
  163. package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
  164. package/lib/commonjs/icons/components/IconHubmode.js +19 -0
  165. package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
  166. package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
  167. package/lib/commonjs/icons/components/IconLte.js +19 -0
  168. package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
  169. package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
  170. package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
  171. package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
  172. package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
  173. package/lib/commonjs/icons/components/IconProjection.js +19 -0
  174. package/lib/commonjs/icons/components/IconRequest.js +19 -0
  175. package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
  176. package/lib/commonjs/icons/components/IconTechnology.js +19 -0
  177. package/lib/commonjs/icons/components/IconVolte.js +19 -0
  178. package/lib/commonjs/icons/components/IconVonr.js +19 -0
  179. package/lib/commonjs/icons/components/IconVowifi.js +19 -0
  180. package/lib/commonjs/icons/components/IconVpndata.js +19 -0
  181. package/lib/commonjs/icons/components/index.js +803 -0
  182. package/lib/commonjs/icons/registry.js +2 -2
  183. package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
  184. package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
  185. package/lib/commonjs/utils/index.js +25 -0
  186. package/lib/commonjs/utils/react-utils.js +118 -0
  187. package/lib/commonjs/utils/shadow.js +200 -0
  188. package/lib/commonjs/utils/web-platform-utils.js +59 -0
  189. package/lib/module/components/Accordion/Accordion.js +3 -2
  190. package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
  191. package/lib/module/components/AccountCard/AccountCard.js +5 -4
  192. package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
  193. package/lib/module/components/ActionTile/ActionTile.js +10 -10
  194. package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
  195. package/lib/module/components/AmountInput/AmountInput.js +3 -3
  196. package/lib/module/components/AreaLineChart/AreaLineChart.js +14 -10
  197. package/lib/module/components/Attached/Attached.js +1 -1
  198. package/lib/module/components/Avatar/Avatar.js +10 -10
  199. package/lib/module/components/AvatarGroup/AvatarGroup.js +9 -9
  200. package/lib/module/components/Badge/Badge.js +57 -18
  201. package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
  202. package/lib/module/components/BottomNav/BottomNav.js +2 -2
  203. package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
  204. package/lib/module/components/BrandChip/BrandChip.js +4 -4
  205. package/lib/module/components/Button/Button.js +32 -19
  206. package/lib/module/components/Card/Card.js +20 -20
  207. package/lib/module/components/CardAdvisory/CardAdvisory.js +9 -8
  208. package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
  209. package/lib/module/components/CardCTA/CardCTA.js +216 -46
  210. package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
  211. package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
  212. package/lib/module/components/CardInsight/CardInsight.js +6 -3
  213. package/lib/module/components/Carousel/Carousel.js +18 -12
  214. package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
  215. package/lib/module/components/Checkbox/Checkbox.js +2 -9
  216. package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
  217. package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
  218. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +13 -9
  219. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +12 -11
  220. package/lib/module/components/CircularRating/CircularRating.js +6 -5
  221. package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
  222. package/lib/module/components/CompareTable/CompareTable.js +89 -60
  223. package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
  224. package/lib/module/components/DebitCard/DebitCard.js +18 -18
  225. package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
  226. package/lib/module/components/DonutChart/DonutChart.js +16 -15
  227. package/lib/module/components/Drawer/Drawer.js +60 -60
  228. package/lib/module/components/Dropdown/Dropdown.js +26 -26
  229. package/lib/module/components/DropdownInput/DropdownInput.js +14 -13
  230. package/lib/module/components/EmptyState/EmptyState.js +14 -14
  231. package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  232. package/lib/module/components/FilterBar/FilterBar.js +2 -2
  233. package/lib/module/components/Form/Form.js +3 -3
  234. package/lib/module/components/FormField/FormField.js +51 -11
  235. package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
  236. package/lib/module/components/Gauge/Gauge.js +9 -9
  237. package/lib/module/components/HoldingsCard/HoldingsCard.js +14 -13
  238. package/lib/module/components/Icon/Icon.js +6 -6
  239. package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
  240. package/lib/module/components/InputSearch/InputSearch.js +9 -9
  241. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +6 -5
  242. package/lib/module/components/ListGroup/ListGroup.js +11 -10
  243. package/lib/module/components/ListItem/ListItem.js +14 -13
  244. package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
  245. package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
  246. package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
  247. package/lib/module/components/MediaCard/MediaCard.js +25 -23
  248. package/lib/module/components/MessageField/MessageField.js +8 -8
  249. package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
  250. package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
  251. package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
  252. package/lib/module/components/NavArrow/NavArrow.js +8 -8
  253. package/lib/module/components/NoteInput/NoteInput.js +12 -12
  254. package/lib/module/components/Nudge/Nudge.js +20 -20
  255. package/lib/module/components/OTP/OTP.js +15 -15
  256. package/lib/module/components/PageHero/PageHero.js +16 -16
  257. package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
  258. package/lib/module/components/Popup/Popup.js +1 -1
  259. package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
  260. package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +109 -35
  261. package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
  262. package/lib/module/components/ProgressBadge/ProgressBadge.js +8 -8
  263. package/lib/module/components/ProjectionMarker/ProjectionMarker.js +4 -3
  264. package/lib/module/components/Radio/Radio.js +9 -9
  265. package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
  266. package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
  267. package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
  268. package/lib/module/components/Section/Section.js +28 -27
  269. package/lib/module/components/Slider/Slider.js +4 -3
  270. package/lib/module/components/Stack/Stack.js +81 -0
  271. package/lib/module/components/StatusHero/StatusHero.js +14 -14
  272. package/lib/module/components/Stepper/Step.js +16 -16
  273. package/lib/module/components/Stepper/StepLabel.js +16 -16
  274. package/lib/module/components/Stepper/Stepper.js +3 -3
  275. package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
  276. package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
  277. package/lib/module/components/SupportText/SupportText.js +6 -6
  278. package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
  279. package/lib/module/components/Table/Table.js +315 -0
  280. package/lib/module/components/Text/Text.js +16 -3
  281. package/lib/module/components/TextInput/TextInput.js +23 -15
  282. package/lib/module/components/TextSegment/TextSegment.js +16 -3
  283. package/lib/module/components/ThreadHero/ThreadHero.js +22 -23
  284. package/lib/module/components/Title/Title.js +40 -17
  285. package/lib/module/components/Toast/Toast.js +19 -18
  286. package/lib/module/components/Toggle/Toggle.js +4 -12
  287. package/lib/module/components/Tooltip/Tooltip.js +12 -12
  288. package/lib/module/components/TransactionBubble/TransactionBubble.js +16 -15
  289. package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
  290. package/lib/module/components/TransactionStatus/TransactionStatus.js +13 -12
  291. package/lib/module/components/UpiHandle/UpiHandle.js +18 -18
  292. package/lib/module/components/index.js +4 -0
  293. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  294. package/lib/module/design-tokens/figma-modes.generated.js +51 -42
  295. package/lib/module/icons/components/Icon4g.js +12 -0
  296. package/lib/module/icons/components/Icon4gltedata.js +12 -0
  297. package/lib/module/icons/components/Icon5g.js +12 -0
  298. package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
  299. package/lib/module/icons/components/Icon5gplus.js +12 -0
  300. package/lib/module/icons/components/IconAdblocker.js +12 -0
  301. package/lib/module/icons/components/IconAdblockplus.js +12 -0
  302. package/lib/module/icons/components/IconAnalytics.js +12 -0
  303. package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
  304. package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
  305. package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
  306. package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
  307. package/lib/module/icons/components/IconCompoundinterest.js +12 -0
  308. package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
  309. package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
  310. package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
  311. package/lib/module/icons/components/IconConsumptionlow.js +12 -0
  312. package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
  313. package/lib/module/icons/components/IconCsvdoc.js +12 -0
  314. package/lib/module/icons/components/IconDatabase.js +12 -0
  315. package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
  316. package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
  317. package/lib/module/icons/components/IconDistribution.js +12 -0
  318. package/lib/module/icons/components/IconDocument.js +12 -0
  319. package/lib/module/icons/components/IconDocumentdoc.js +12 -0
  320. package/lib/module/icons/components/IconDocumentjpg.js +12 -0
  321. package/lib/module/icons/components/IconDocumentodt.js +12 -0
  322. package/lib/module/icons/components/IconDocumentpdf.js +12 -0
  323. package/lib/module/icons/components/IconDocumentpng.js +12 -0
  324. package/lib/module/icons/components/IconDocumentraw.js +12 -0
  325. package/lib/module/icons/components/IconDocumentrtf.js +12 -0
  326. package/lib/module/icons/components/IconDocumentsettings.js +12 -0
  327. package/lib/module/icons/components/IconDocumenttif.js +12 -0
  328. package/lib/module/icons/components/IconDocumenttxt.js +12 -0
  329. package/lib/module/icons/components/IconDocumentunknown.js +12 -0
  330. package/lib/module/icons/components/IconDocumentxls.js +12 -0
  331. package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
  332. package/lib/module/icons/components/IconFilerequest.js +12 -0
  333. package/lib/module/icons/components/IconFilesend.js +12 -0
  334. package/lib/module/icons/components/IconFileshare.js +12 -0
  335. package/lib/module/icons/components/IconFindinpage.js +12 -0
  336. package/lib/module/icons/components/IconFolder.js +12 -0
  337. package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
  338. package/lib/module/icons/components/IconFolderfavorites.js +12 -0
  339. package/lib/module/icons/components/IconFolderlocked.js +12 -0
  340. package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
  341. package/lib/module/icons/components/IconFolderpublic.js +12 -0
  342. package/lib/module/icons/components/IconFolderrated.js +12 -0
  343. package/lib/module/icons/components/IconFolderrequest.js +12 -0
  344. package/lib/module/icons/components/IconForm.js +12 -0
  345. package/lib/module/icons/components/IconFormadd.js +12 -0
  346. package/lib/module/icons/components/IconForms.js +12 -0
  347. package/lib/module/icons/components/IconGraphincreasing.js +12 -0
  348. package/lib/module/icons/components/IconGraphlow.js +12 -0
  349. package/lib/module/icons/components/IconGraphtable.js +12 -0
  350. package/lib/module/icons/components/IconHealthreport.js +12 -0
  351. package/lib/module/icons/components/IconHubmode.js +12 -0
  352. package/lib/module/icons/components/IconInfrastructure.js +12 -0
  353. package/lib/module/icons/components/IconInterestlow.js +12 -0
  354. package/lib/module/icons/components/IconLte.js +12 -0
  355. package/lib/module/icons/components/IconNetworkfuture.js +12 -0
  356. package/lib/module/icons/components/IconPagesettings.js +12 -0
  357. package/lib/module/icons/components/IconPptxdoc.js +12 -0
  358. package/lib/module/icons/components/IconPreferrednumber.js +12 -0
  359. package/lib/module/icons/components/IconPremiumnumber.js +12 -0
  360. package/lib/module/icons/components/IconProjection.js +12 -0
  361. package/lib/module/icons/components/IconRequest.js +12 -0
  362. package/lib/module/icons/components/IconRoutestraffic.js +12 -0
  363. package/lib/module/icons/components/IconTechnology.js +12 -0
  364. package/lib/module/icons/components/IconVolte.js +12 -0
  365. package/lib/module/icons/components/IconVonr.js +12 -0
  366. package/lib/module/icons/components/IconVowifi.js +12 -0
  367. package/lib/module/icons/components/IconVpndata.js +12 -0
  368. package/lib/module/icons/components/index.js +73 -0
  369. package/lib/module/icons/registry.js +2 -2
  370. package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
  371. package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
  372. package/lib/module/utils/index.js +2 -1
  373. package/lib/module/utils/react-utils.js +115 -0
  374. package/lib/module/utils/shadow.js +194 -0
  375. package/lib/module/utils/web-platform-utils.js +58 -0
  376. package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
  377. package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
  378. package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
  379. package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
  380. package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
  381. package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
  382. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
  383. package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
  384. package/lib/typescript/src/components/Button/Button.d.ts +7 -1
  385. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
  386. package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
  387. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
  388. package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
  389. package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
  390. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +7 -1
  391. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
  392. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
  393. package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
  394. package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +7 -1
  395. package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
  396. package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
  397. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
  398. package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +6 -0
  399. package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
  400. package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
  401. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
  402. package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
  403. package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
  404. package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
  405. package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
  406. package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
  407. package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +7 -1
  408. package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
  409. package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
  410. package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +7 -1
  411. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
  412. package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
  413. package/lib/typescript/src/components/Section/Section.d.ts +7 -1
  414. package/lib/typescript/src/components/Slider/Slider.d.ts +6 -0
  415. package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
  416. package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
  417. package/lib/typescript/src/components/Table/Table.d.ts +139 -0
  418. package/lib/typescript/src/components/Text/Text.d.ts +16 -1
  419. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +16 -1
  420. package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
  421. package/lib/typescript/src/components/Title/Title.d.ts +17 -1
  422. package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
  423. package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
  424. package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
  425. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
  426. package/lib/typescript/src/components/index.d.ts +6 -2
  427. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
  428. package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
  429. package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
  430. package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
  431. package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
  432. package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
  433. package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
  434. package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
  435. package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
  436. package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
  437. package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
  438. package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
  439. package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
  440. package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
  441. package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
  442. package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
  443. package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
  444. package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
  445. package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
  446. package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
  447. package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
  448. package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
  449. package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
  450. package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
  451. package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
  452. package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
  453. package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
  454. package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
  455. package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
  456. package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
  457. package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
  458. package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
  459. package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
  460. package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
  461. package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
  462. package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
  463. package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
  464. package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
  465. package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
  466. package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
  467. package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
  468. package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
  469. package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
  470. package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
  471. package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
  472. package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
  473. package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
  474. package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
  475. package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
  476. package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
  477. package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
  478. package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
  479. package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
  480. package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
  481. package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
  482. package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
  483. package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
  484. package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
  485. package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
  486. package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
  487. package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
  488. package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
  489. package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
  490. package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
  491. package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
  492. package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
  493. package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
  494. package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
  495. package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
  496. package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
  497. package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
  498. package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
  499. package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
  500. package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
  501. package/lib/typescript/src/icons/components/index.d.ts +73 -0
  502. package/lib/typescript/src/icons/registry.d.ts +1 -1
  503. package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.d.ts +31 -3
  504. package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.d.ts +18 -2
  505. package/lib/typescript/src/utils/index.d.ts +2 -0
  506. package/lib/typescript/src/utils/react-utils.d.ts +76 -0
  507. package/lib/typescript/src/utils/shadow.d.ts +72 -0
  508. package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
  509. package/package.json +2 -1
  510. package/src/components/Accordion/Accordion.tsx +9 -2
  511. package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
  512. package/src/components/AccountCard/AccountCard.tsx +10 -3
  513. package/src/components/ActionFooter/ActionFooter.tsx +8 -26
  514. package/src/components/ActionTile/ActionTile.tsx +10 -10
  515. package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
  516. package/src/components/AmountInput/AmountInput.tsx +3 -3
  517. package/src/components/AreaLineChart/AreaLineChart.tsx +17 -7
  518. package/src/components/Attached/Attached.tsx +1 -1
  519. package/src/components/Avatar/Avatar.tsx +10 -10
  520. package/src/components/AvatarGroup/AvatarGroup.tsx +9 -9
  521. package/src/components/Badge/Badge.tsx +86 -17
  522. package/src/components/BenefitCard/BenefitCard.tsx +120 -27
  523. package/src/components/BottomNav/BottomNav.tsx +2 -2
  524. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
  525. package/src/components/BrandChip/BrandChip.tsx +9 -3
  526. package/src/components/Button/Button.tsx +36 -19
  527. package/src/components/Card/Card.tsx +20 -20
  528. package/src/components/CardAdvisory/CardAdvisory.tsx +15 -8
  529. package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
  530. package/src/components/CardCTA/CardCTA.tsx +237 -64
  531. package/src/components/CardFeedback/CardFeedback.tsx +18 -18
  532. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
  533. package/src/components/CardInsight/CardInsight.tsx +8 -4
  534. package/src/components/Carousel/Carousel.tsx +29 -12
  535. package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
  536. package/src/components/Checkbox/Checkbox.tsx +2 -8
  537. package/src/components/ChipGroup/ChipGroup.tsx +1 -1
  538. package/src/components/ChipSelect/ChipSelect.tsx +11 -11
  539. package/src/components/CircularProgressBar/CircularProgressBar.tsx +19 -9
  540. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +18 -11
  541. package/src/components/CircularRating/CircularRating.tsx +12 -5
  542. package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
  543. package/src/components/CompareTable/CompareTable.tsx +114 -66
  544. package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
  545. package/src/components/DebitCard/DebitCard.tsx +22 -22
  546. package/src/components/Disclaimer/Disclaimer.tsx +5 -5
  547. package/src/components/DonutChart/DonutChart.tsx +21 -48
  548. package/src/components/Drawer/Drawer.tsx +80 -71
  549. package/src/components/Dropdown/Dropdown.tsx +32 -30
  550. package/src/components/DropdownInput/DropdownInput.tsx +19 -19
  551. package/src/components/EmptyState/EmptyState.tsx +14 -14
  552. package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
  553. package/src/components/FilterBar/FilterBar.tsx +2 -2
  554. package/src/components/Form/Form.tsx +3 -3
  555. package/src/components/FormField/FormField.tsx +55 -15
  556. package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
  557. package/src/components/Gauge/Gauge.tsx +9 -9
  558. package/src/components/HoldingsCard/HoldingsCard.tsx +19 -12
  559. package/src/components/Icon/Icon.tsx +6 -6
  560. package/src/components/IconCapsule/IconCapsule.tsx +7 -7
  561. package/src/components/InputSearch/InputSearch.tsx +9 -9
  562. package/src/components/InstitutionBadge/InstitutionBadge.tsx +12 -8
  563. package/src/components/ListGroup/ListGroup.tsx +17 -10
  564. package/src/components/ListItem/ListItem.tsx +20 -13
  565. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
  566. package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
  567. package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
  568. package/src/components/MediaCard/MediaCard.tsx +23 -23
  569. package/src/components/MessageField/MessageField.tsx +8 -16
  570. package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
  571. package/src/components/MoneyValue/MoneyValue.tsx +7 -7
  572. package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
  573. package/src/components/NavArrow/NavArrow.tsx +8 -8
  574. package/src/components/NoteInput/NoteInput.tsx +12 -12
  575. package/src/components/Nudge/Nudge.tsx +20 -20
  576. package/src/components/OTP/OTP.tsx +16 -16
  577. package/src/components/PageHero/PageHero.tsx +16 -16
  578. package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
  579. package/src/components/Popup/Popup.tsx +1 -1
  580. package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
  581. package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +104 -37
  582. package/src/components/ProductOverview/ProductOverview.tsx +10 -3
  583. package/src/components/ProgressBadge/ProgressBadge.tsx +14 -8
  584. package/src/components/ProjectionMarker/ProjectionMarker.tsx +9 -2
  585. package/src/components/Radio/Radio.tsx +8 -9
  586. package/src/components/RechargeCard/RechargeCard.tsx +31 -31
  587. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
  588. package/src/components/ScrollArea/ScrollArea.tsx +200 -0
  589. package/src/components/Section/Section.tsx +36 -29
  590. package/src/components/Slider/Slider.tsx +9 -2
  591. package/src/components/Stack/Stack.tsx +131 -0
  592. package/src/components/StatusHero/StatusHero.tsx +14 -14
  593. package/src/components/Stepper/Step.tsx +16 -18
  594. package/src/components/Stepper/StepLabel.tsx +16 -27
  595. package/src/components/Stepper/Stepper.tsx +3 -4
  596. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +20 -21
  597. package/src/components/SummaryTile/SummaryTile.tsx +9 -2
  598. package/src/components/SupportText/SupportText.tsx +6 -6
  599. package/src/components/SupportText/SupportTextIcon.tsx +2 -2
  600. package/src/components/Table/Table.tsx +449 -0
  601. package/src/components/Text/Text.tsx +28 -3
  602. package/src/components/TextInput/TextInput.tsx +21 -15
  603. package/src/components/TextSegment/TextSegment.tsx +27 -2
  604. package/src/components/ThreadHero/ThreadHero.tsx +27 -20
  605. package/src/components/Title/Title.tsx +50 -17
  606. package/src/components/Toast/Toast.tsx +24 -17
  607. package/src/components/Toggle/Toggle.tsx +5 -10
  608. package/src/components/Tooltip/Tooltip.tsx +12 -12
  609. package/src/components/TransactionBubble/TransactionBubble.tsx +22 -15
  610. package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
  611. package/src/components/TransactionStatus/TransactionStatus.tsx +18 -11
  612. package/src/components/UpiHandle/UpiHandle.tsx +24 -18
  613. package/src/components/index.ts +25 -2
  614. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  615. package/src/design-tokens/figma-modes.generated.ts +51 -42
  616. package/src/icons/components/Icon4g.tsx +11 -0
  617. package/src/icons/components/Icon4gltedata.tsx +11 -0
  618. package/src/icons/components/Icon5g.tsx +11 -0
  619. package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
  620. package/src/icons/components/Icon5gplus.tsx +11 -0
  621. package/src/icons/components/IconAdblocker.tsx +11 -0
  622. package/src/icons/components/IconAdblockplus.tsx +11 -0
  623. package/src/icons/components/IconAnalytics.tsx +11 -0
  624. package/src/icons/components/IconAnalyticsdata.tsx +11 -0
  625. package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
  626. package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
  627. package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
  628. package/src/icons/components/IconCompoundinterest.tsx +11 -0
  629. package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
  630. package/src/icons/components/IconConsumptionaverage.tsx +11 -0
  631. package/src/icons/components/IconConsumptionhigh.tsx +11 -0
  632. package/src/icons/components/IconConsumptionlow.tsx +11 -0
  633. package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
  634. package/src/icons/components/IconCsvdoc.tsx +11 -0
  635. package/src/icons/components/IconDatabase.tsx +11 -0
  636. package/src/icons/components/IconDigitalecosystem.tsx +11 -0
  637. package/src/icons/components/IconDigitalselfservice.tsx +11 -0
  638. package/src/icons/components/IconDistribution.tsx +11 -0
  639. package/src/icons/components/IconDocument.tsx +11 -0
  640. package/src/icons/components/IconDocumentdoc.tsx +11 -0
  641. package/src/icons/components/IconDocumentjpg.tsx +11 -0
  642. package/src/icons/components/IconDocumentodt.tsx +11 -0
  643. package/src/icons/components/IconDocumentpdf.tsx +11 -0
  644. package/src/icons/components/IconDocumentpng.tsx +11 -0
  645. package/src/icons/components/IconDocumentraw.tsx +11 -0
  646. package/src/icons/components/IconDocumentrtf.tsx +11 -0
  647. package/src/icons/components/IconDocumentsettings.tsx +11 -0
  648. package/src/icons/components/IconDocumenttif.tsx +11 -0
  649. package/src/icons/components/IconDocumenttxt.tsx +11 -0
  650. package/src/icons/components/IconDocumentunknown.tsx +11 -0
  651. package/src/icons/components/IconDocumentxls.tsx +11 -0
  652. package/src/icons/components/IconDocumentxlsx.tsx +11 -0
  653. package/src/icons/components/IconFilerequest.tsx +11 -0
  654. package/src/icons/components/IconFilesend.tsx +11 -0
  655. package/src/icons/components/IconFileshare.tsx +11 -0
  656. package/src/icons/components/IconFindinpage.tsx +11 -0
  657. package/src/icons/components/IconFolder.tsx +11 -0
  658. package/src/icons/components/IconFolderbookmarks.tsx +11 -0
  659. package/src/icons/components/IconFolderfavorites.tsx +11 -0
  660. package/src/icons/components/IconFolderlocked.tsx +11 -0
  661. package/src/icons/components/IconFoldermovefiles.tsx +11 -0
  662. package/src/icons/components/IconFolderpublic.tsx +11 -0
  663. package/src/icons/components/IconFolderrated.tsx +11 -0
  664. package/src/icons/components/IconFolderrequest.tsx +11 -0
  665. package/src/icons/components/IconForm.tsx +11 -0
  666. package/src/icons/components/IconFormadd.tsx +11 -0
  667. package/src/icons/components/IconForms.tsx +11 -0
  668. package/src/icons/components/IconGraphincreasing.tsx +11 -0
  669. package/src/icons/components/IconGraphlow.tsx +11 -0
  670. package/src/icons/components/IconGraphtable.tsx +11 -0
  671. package/src/icons/components/IconHealthreport.tsx +11 -0
  672. package/src/icons/components/IconHubmode.tsx +11 -0
  673. package/src/icons/components/IconInfrastructure.tsx +11 -0
  674. package/src/icons/components/IconInterestlow.tsx +11 -0
  675. package/src/icons/components/IconLte.tsx +11 -0
  676. package/src/icons/components/IconNetworkfuture.tsx +11 -0
  677. package/src/icons/components/IconPagesettings.tsx +11 -0
  678. package/src/icons/components/IconPptxdoc.tsx +11 -0
  679. package/src/icons/components/IconPreferrednumber.tsx +11 -0
  680. package/src/icons/components/IconPremiumnumber.tsx +11 -0
  681. package/src/icons/components/IconProjection.tsx +11 -0
  682. package/src/icons/components/IconRequest.tsx +11 -0
  683. package/src/icons/components/IconRoutestraffic.tsx +11 -0
  684. package/src/icons/components/IconTechnology.tsx +11 -0
  685. package/src/icons/components/IconVolte.tsx +11 -0
  686. package/src/icons/components/IconVonr.tsx +11 -0
  687. package/src/icons/components/IconVowifi.tsx +11 -0
  688. package/src/icons/components/IconVpndata.tsx +11 -0
  689. package/src/icons/components/index.ts +73 -0
  690. package/src/icons/registry.ts +293 -1
  691. package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.tsx +32 -3
  692. package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.tsx +25 -4
  693. package/src/utils/index.ts +2 -0
  694. package/src/utils/react-utils.ts +132 -0
  695. package/src/utils/shadow.ts +219 -0
  696. package/src/utils/web-platform-utils.ts +68 -0
  697. package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
  698. package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
  699. package/lib/module/components/MediaCard/GlassFill.js +0 -57
  700. package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
  701. package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
  702. package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
  703. package/src/components/MediaCard/GlassFill.tsx +0 -89
  704. package/src/components/MediaCard/GlassFill.web.tsx +0 -53
@@ -144,9 +144,13 @@ function GradientMask({
144
144
  }
145
145
 
146
146
  /**
147
- * Glass / frosted surface for native (iOS + Android).
147
+ * Shared glass / frosted surface for native (iOS + Android).
148
148
  *
149
- * Why this lives in its own platform-split file (mirrors `MediaCard/GlassFill`):
149
+ * This is the single source of truth for the glass effect used by `MediaCard`,
150
+ * `ProductMerchandisingCard`, `Badge`, and any future consumer. It supersedes
151
+ * the per-component `GlassFill` copies that previously drifted apart.
152
+ *
153
+ * Why this lives in its own platform-split file:
150
154
  * - `@react-native-community/blur` is a native-only module; importing it on
151
155
  * web throws because it references native components not registered there.
152
156
  * Metro's platform-extension resolution picks `GlassFill.tsx` for native
@@ -159,12 +163,16 @@ function GradientMask({
159
163
  * native module isn't linked in the running binary, the component degrades to
160
164
  * a translucent tinted scrim (`reducedTransparencyFallbackColor` / fallback
161
165
  * color) instead of rendering the "Unimplemented component" placeholder.
166
+ *
167
+ * NOTE: the consumer MUST clip this with `overflow: 'hidden'` on a rounded
168
+ * parent — the native blur view does not honor `borderRadius` itself.
162
169
  */
163
170
  function GlassFill({
164
171
  tint = 'dark',
165
172
  intensity = 50,
166
173
  overlayColor,
167
174
  progressive = false,
175
+ androidTintWash = true,
168
176
  style
169
177
  }) {
170
178
  const rawId = useId();
@@ -246,7 +254,7 @@ function GlassFill({
246
254
  style: [StyleSheet.absoluteFill, {
247
255
  backgroundColor: overlayColor
248
256
  }]
249
- }) : null, Platform.OS === 'android' ? /*#__PURE__*/_jsx(View, {
257
+ }) : null, Platform.OS === 'android' && androidTintWash ? /*#__PURE__*/_jsx(View, {
250
258
  style: [StyleSheet.absoluteFill, {
251
259
  backgroundColor: 'rgba(255,255,255,0.03)',
252
260
  opacity: 0.6
@@ -5,6 +5,8 @@ import { View, StyleSheet } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const DEFAULT_FALLBACK_DARK = '#1414174a';
7
7
  const DEFAULT_FALLBACK_LIGHT = '#ffffff66';
8
+ const DEFAULT_WEB_BLUR_SCALE = 0.32;
9
+ const DEFAULT_WEB_BLUR_MAX_PX = 32;
8
10
 
9
11
  // Mirror of the native ramp (see GlassFill.tsx). Each layer is a `mask-image`
10
12
  // gradient whose alpha stops (0 = top, 1 = bottom) ease the blur in; `amount`
@@ -52,7 +54,7 @@ function toGradient(stops) {
52
54
  }
53
55
 
54
56
  /**
55
- * Web counterpart of `GlassFill`.
57
+ * Web counterpart of the shared `GlassFill`.
56
58
  *
57
59
  * `@react-native-community/blur` ships no web implementation, so on web we
58
60
  * render a translucent `View` with `backdrop-filter: blur()`. Native bundles
@@ -64,15 +66,17 @@ function GlassFill({
64
66
  intensity = 50,
65
67
  overlayColor,
66
68
  progressive = false,
69
+ webBlurScale = DEFAULT_WEB_BLUR_SCALE,
70
+ webBlurMaxPx = DEFAULT_WEB_BLUR_MAX_PX,
67
71
  style
68
72
  }) {
69
- // intensity 0-100 -> ~0-32px CSS blur, kept in parity with the native scale.
70
- const blurPx = Math.max(0, Math.min(32, Math.round(intensity * 0.32)));
73
+ // intensity 0-100 -> ~0-maxPx CSS blur, kept in parity with the native scale.
74
+ const blurPx = Math.max(0, Math.min(webBlurMaxPx, Math.round(intensity * webBlurScale)));
71
75
  const tintColor = overlayColor ?? (tint === 'light' ? DEFAULT_FALLBACK_LIGHT : DEFAULT_FALLBACK_DARK);
72
76
  if (progressive) {
73
77
  // Full peak blur (parity with native) so the frosted glass is clearly
74
78
  // engaged at the bottom; the eased masks keep the top fully clear.
75
- const peakPx = Math.max(1, Math.min(32, Math.round(intensity * 0.32)));
79
+ const peakPx = Math.max(1, Math.min(webBlurMaxPx, Math.round(intensity * webBlurScale)));
76
80
  return /*#__PURE__*/_jsx(View, {
77
81
  style: [StyleSheet.absoluteFill, style],
78
82
  pointerEvents: "none",
@@ -2,4 +2,5 @@
2
2
 
3
3
  export { cloneChildrenWithModes, flattenChildren } from './react-utils';
4
4
  export { default as MediaSource } from './MediaSource';
5
- export { formatIndianNumber } from './number-utils';
5
+ export { formatIndianNumber } from './number-utils';
6
+ export { boxShadow, supportsNativeBoxShadow, parseBoxShadow, parseSingleShadow } from './shadow';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React from 'react';
4
+ import { Platform } from 'react-native';
4
5
  /**
5
6
  * A shared, frozen empty modes object.
6
7
  *
@@ -72,6 +73,40 @@ export function cloneChildrenWithModes(children, modes, forcedModes) {
72
73
  return React.Children.toArray(result);
73
74
  }
74
75
 
76
+ /**
77
+ * Merges a style onto each direct (top-level) child element, with the injected
78
+ * style taking precedence over the child's own style.
79
+ *
80
+ * Used by the Stack family to *enforce* cross-axis stretching from the container
81
+ * itself: a child can set its own `alignSelf` (which, per the flexbox spec,
82
+ * overrides the parent's `alignItems`), so to guarantee equal heights / full
83
+ * width regardless of what individual children declare, we append
84
+ * `{ alignSelf: 'stretch' }` to every direct child.
85
+ *
86
+ * @remarks
87
+ * - Only top-level children are touched. Grandchildren are intentionally left
88
+ * alone — we never want to leak layout styles deeper into the tree.
89
+ * - Non-element children (strings, numbers) are passed through untouched.
90
+ * - This relies on the child forwarding `style` to its outer/root view. Built-in
91
+ * RN primitives and components that spread `style` onto their root honour it;
92
+ * a child that fully ignores `style` cannot be forced (this is a hard React
93
+ * Native limitation, not something this helper can work around).
94
+ * - Per Yoga, stretch has no effect on an axis where the child has a *fixed*
95
+ * dimension (e.g. an explicit `height` for a row). Such children opt out by
96
+ * design; this helper does not strip explicit dimensions.
97
+ */
98
+ export function injectChildStyle(children, style) {
99
+ return React.Children.map(children, child => {
100
+ if (! /*#__PURE__*/React.isValidElement(child)) {
101
+ return child;
102
+ }
103
+ const existingStyle = child.props?.style;
104
+ return /*#__PURE__*/React.cloneElement(child, {
105
+ style: existingStyle != null ? [existingStyle, style] : style
106
+ });
107
+ });
108
+ }
109
+
75
110
  /**
76
111
  * Combines several refs (object refs and/or callback refs) into a single
77
112
  * callback ref. Useful when a component needs to keep its own internal ref to a
@@ -92,6 +127,86 @@ export function mergeRefs(...refs) {
92
127
  });
93
128
  };
94
129
  }
130
+ /**
131
+ * Resolves the `numberOfLines` / `ellipsizeMode` pair for a `<Text>` based on a
132
+ * `disableTruncation` flag.
133
+ *
134
+ * When `disableTruncation` is `true`, both values are returned as `undefined`
135
+ * so the text wraps to as many lines as it needs and never shows the trailing
136
+ * ellipsis. Otherwise the provided values are passed through unchanged.
137
+ */
138
+ export function resolveTruncation(disableTruncation, numberOfLines, ellipsizeMode) {
139
+ if (disableTruncation) {
140
+ return {
141
+ numberOfLines: undefined,
142
+ ellipsizeMode: undefined
143
+ };
144
+ }
145
+ return {
146
+ numberOfLines,
147
+ ellipsizeMode
148
+ };
149
+ }
150
+ /**
151
+ * Resolves the `<Text>` props + style for the two truncation escape hatches.
152
+ * This supersedes {@link resolveTruncation} for components that want the
153
+ * "brutal" overflow behaviour rather than just dropping the line clamp.
154
+ *
155
+ * - `disableTruncation`: never truncate. Drops `numberOfLines`/`ellipsizeMode`
156
+ * AND sets `flexShrink: 0`, so a tight flex parent can no longer squeeze the
157
+ * text into an ellipsis — instead the text keeps its intrinsic size and
158
+ * overflows, even if that means blowing past (and visually breaking) the
159
+ * parent layout. The text still wraps onto multiple lines.
160
+ * - `singleLine`: force everything onto one line with no wrapping. Implies
161
+ * `disableTruncation` (the ellipsis is never shown). On web this adds
162
+ * `whiteSpace: 'nowrap'` so the single line overflows horizontally instead of
163
+ * wrapping. The text is never shrunk.
164
+ *
165
+ * Note (native): React Native's `<Text>` has no `white-space: nowrap`
166
+ * equivalent, so on iOS/Android `singleLine` cannot force a hard non-wrapping
167
+ * overflow — it behaves like `disableTruncation` (no ellipsis, no shrink). The
168
+ * hard single-line overflow is honoured on web (Storybook / react-native-web).
169
+ *
170
+ * When neither flag is set, the supplied `numberOfLines`/`ellipsizeMode` pass
171
+ * through unchanged and no extra style is returned.
172
+ */
173
+ export function resolveTextLayout({
174
+ disableTruncation,
175
+ singleLine,
176
+ numberOfLines,
177
+ ellipsizeMode
178
+ }) {
179
+ if (singleLine) {
180
+ return {
181
+ numberOfLines: undefined,
182
+ ellipsizeMode: undefined,
183
+ style: {
184
+ flexShrink: 0,
185
+ flexGrow: 0,
186
+ ...(Platform.OS === 'web' ? {
187
+ whiteSpace: 'nowrap',
188
+ overflow: 'visible'
189
+ } : {})
190
+ }
191
+ };
192
+ }
193
+ if (disableTruncation) {
194
+ return {
195
+ numberOfLines: undefined,
196
+ ellipsizeMode: undefined,
197
+ style: {
198
+ flexShrink: 0,
199
+ ...(Platform.OS === 'web' ? {
200
+ overflow: 'visible'
201
+ } : {})
202
+ }
203
+ };
204
+ }
205
+ return {
206
+ numberOfLines,
207
+ ellipsizeMode
208
+ };
209
+ }
95
210
 
96
211
  /**
97
212
  * Flattens React children, extracting them from Fragments.
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+
5
+ /**
6
+ * Cross-platform drop-shadow helper with a backward-compatibility layer.
7
+ *
8
+ * Why this exists
9
+ * ----------------
10
+ * The spec-compliant `boxShadow` style prop only landed in React Native 0.76
11
+ * (and only on the New Architecture / Fabric). Older apps that consume this
12
+ * library are still on pre-0.76 React Native where `boxShadow` is silently
13
+ * ignored on native, so their shadows simply disappear.
14
+ *
15
+ * Rather than hand-rolling a `Platform.select` block in every component, route
16
+ * ALL drop shadows through this single helper. When `boxShadow` is natively
17
+ * supported it is used verbatim (web + RN 0.76+ Fabric). When it is NOT
18
+ * supported, the CSS-style shadow string is parsed and translated into the
19
+ * legacy native shadow API:
20
+ * - iOS: `shadowColor`, `shadowOffset`, `shadowOpacity`, `shadowRadius`
21
+ * - Android: `elevation`
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * const style = boxShadow('0px 2px 4px 0px rgba(0,0,0,0.18)')
26
+ * <View style={[base, style]} />
27
+ * ```
28
+ */
29
+
30
+ // `boxShadow` is intentionally absent from the @types/react-native surface in
31
+ // this repo (pinned to 0.73), so we widen ViewStyle locally for the cases
32
+ // where we DO emit the native/web boxShadow string.
33
+
34
+ /**
35
+ * Whether the spec-compliant `boxShadow` style prop is honored at runtime.
36
+ * - Web (react-native-web) always supports it.
37
+ * - Native supports it from RN 0.76+ AND only on the New Architecture (Fabric).
38
+ */
39
+ export function supportsNativeBoxShadow() {
40
+ if (Platform.OS === 'web') {
41
+ return true;
42
+ }
43
+ const version = Platform.constants?.reactNativeVersion;
44
+ const isVersionSupported = version ? version.major > 0 || version.major === 0 && version.minor >= 76 : false;
45
+
46
+ // Even on 0.76+, boxShadow is a New Architecture feature. Fabric exposes a
47
+ // global UI manager; its presence is the most reliable runtime signal.
48
+ const isFabric = typeof globalThis !== 'undefined' && globalThis.nativeFabricUIManager != null;
49
+ return isVersionSupported && isFabric;
50
+ }
51
+
52
+ /**
53
+ * Splits a (potentially multi-) box-shadow string on top-level commas, i.e.
54
+ * commas that are NOT inside a color function such as `rgba(12, 13, 16, 0.12)`.
55
+ */
56
+ function splitShadows(value) {
57
+ const out = [];
58
+ let depth = 0;
59
+ let current = '';
60
+ for (const ch of value) {
61
+ if (ch === '(') depth++;else if (ch === ')') depth--;
62
+ if (ch === ',' && depth === 0) {
63
+ if (current.trim()) out.push(current.trim());
64
+ current = '';
65
+ } else {
66
+ current += ch;
67
+ }
68
+ }
69
+ if (current.trim()) out.push(current.trim());
70
+ return out;
71
+ }
72
+
73
+ /**
74
+ * Parses a single CSS box-shadow layer into its primitive parts.
75
+ * Supports: `[inset] offsetX offsetY [blur] [spread] color` in any sensible
76
+ * ordering of the keyword/color, with `rgb()/rgba()/hsl()/hsla()`, hex, or
77
+ * named colors.
78
+ */
79
+ export function parseSingleShadow(input) {
80
+ let s = input.trim();
81
+ let inset = false;
82
+ if (/(^|\s)inset(\s|$)/i.test(s)) {
83
+ inset = true;
84
+ s = s.replace(/(^|\s)inset(\s|$)/i, ' ').trim();
85
+ }
86
+ let color = 'rgba(0,0,0,1)';
87
+ const fnColor = s.match(/(?:rgba?|hsla?)\([^)]*\)/i);
88
+ if (fnColor) {
89
+ color = fnColor[0];
90
+ s = s.replace(fnColor[0], ' ').trim();
91
+ } else {
92
+ const hex = s.match(/#[0-9a-fA-F]{3,8}\b/);
93
+ if (hex) {
94
+ color = hex[0];
95
+ s = s.replace(hex[0], ' ').trim();
96
+ } else {
97
+ // Fall back to a trailing named color token (e.g. "red", "black").
98
+ const tokens = s.split(/\s+/).filter(Boolean);
99
+ const last = tokens[tokens.length - 1];
100
+ if (last && Number.isNaN(parseFloat(last))) {
101
+ color = last;
102
+ tokens.pop();
103
+ s = tokens.join(' ');
104
+ }
105
+ }
106
+ }
107
+ const nums = s.split(/\s+/).filter(Boolean).map(t => parseFloat(t) || 0);
108
+ const [offsetX = 0, offsetY = 0, blur = 0, spread = 0] = nums;
109
+ return {
110
+ offsetX,
111
+ offsetY,
112
+ blur,
113
+ spread,
114
+ color,
115
+ inset
116
+ };
117
+ }
118
+
119
+ /**
120
+ * Parses a full box-shadow string (one or more comma-separated layers).
121
+ */
122
+ export function parseBoxShadow(value) {
123
+ return splitShadows(value).map(parseSingleShadow);
124
+ }
125
+
126
+ /**
127
+ * Picks the visually dominant shadow layer (largest blur, then largest spread).
128
+ * iOS' legacy shadow API can only render a single shadow per view.
129
+ */
130
+ function pickPrimary(shadows) {
131
+ if (shadows.length === 0) return undefined;
132
+ return shadows.reduce((best, s) => {
133
+ if (s.blur > best.blur) return s;
134
+ if (s.blur === best.blur && s.spread > best.spread) return s;
135
+ return best;
136
+ });
137
+ }
138
+
139
+ /**
140
+ * Translates the parsed shadow into the legacy native shadow style used by
141
+ * pre-0.76 React Native.
142
+ */
143
+ function legacyShadowStyle(value, options) {
144
+ const shadows = parseBoxShadow(value);
145
+ const primary = pickPrimary(shadows);
146
+ if (!primary) {
147
+ return {};
148
+ }
149
+ if (Platform.OS === 'android') {
150
+ const elevation = options?.elevation ?? Math.max(0, Math.round(primary.blur / 2));
151
+ if (elevation <= 0) {
152
+ return {};
153
+ }
154
+ return {
155
+ elevation
156
+ };
157
+ }
158
+
159
+ // iOS: shadowOpacity defaults to 0 (invisible), so it MUST be set. We keep
160
+ // the full color (its own alpha is respected) and use opacity 1 as the
161
+ // multiplier so rgba() alpha is honored end-to-end.
162
+ return {
163
+ shadowColor: primary.color,
164
+ shadowOffset: {
165
+ width: primary.offsetX,
166
+ height: primary.offsetY
167
+ },
168
+ shadowOpacity: 1,
169
+ shadowRadius: primary.blur
170
+ };
171
+ }
172
+
173
+ /**
174
+ * Returns a style object that renders the given CSS-style box-shadow on every
175
+ * platform. Uses the native `boxShadow` prop when supported, otherwise falls
176
+ * back to the legacy `shadow*` (iOS) / `elevation` (Android) API.
177
+ *
178
+ * @param value A CSS box-shadow string, e.g. `'0px 2px 4px 0px rgba(0,0,0,0.2)'`.
179
+ * Multiple comma-separated layers are supported; on the legacy
180
+ * fallback iOS uses the most prominent layer and Android uses a
181
+ * single elevation.
182
+ * @param options Optional overrides (e.g. explicit Android `elevation`).
183
+ */
184
+ export function boxShadow(value, options) {
185
+ if (!value) {
186
+ return {};
187
+ }
188
+ if (supportsNativeBoxShadow()) {
189
+ return {
190
+ boxShadow: value
191
+ };
192
+ }
193
+ return legacyShadowStyle(value, options);
194
+ }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { useEffect, useRef } from 'react';
3
4
  import { Platform } from 'react-native';
4
5
  /**
5
6
  * Web-specific props that should NOT be passed to React Native's Pressable component.
@@ -191,6 +192,63 @@ export function usePressableWebSupport({
191
192
  };
192
193
  }
193
194
 
195
+ /**
196
+ * Detects pointer presses (mouse / touch) that land OUTSIDE the node held by
197
+ * `containerRef` and invokes `onOutsidePress`.
198
+ *
199
+ * Why this exists:
200
+ * On web, React Native pressables (`Pressable`, `Button`, links, etc.) do not
201
+ * always claim DOM focus the way a native `<button>`/`<input>` does. As a
202
+ * result, tapping an *interactive* element outside a focused `<input>` may
203
+ * never trigger the input's native `blur` event, leaving a field stuck in its
204
+ * "Active" visual state. Listening for document-level pointer-down in the
205
+ * capture phase lets a component force a blur (or close a popover, etc.)
206
+ * regardless of whether the outside target takes focus.
207
+ *
208
+ * Behavior & safety:
209
+ * - **Web only.** On native (or when `document` is unavailable) this is a
210
+ * no-op, so it is safe to call unconditionally.
211
+ * - Listeners are attached only while `enabled` is `true`, and are removed on
212
+ * cleanup / when disabled — there is no standing global listener.
213
+ * - Uses the **capture** phase so it runs before element-level handlers, and
214
+ * listens to both `mousedown` and `touchstart` for parity across devices.
215
+ * - The latest `onOutsidePress` is read through a ref, so passing a fresh
216
+ * inline closure every render does NOT re-subscribe the listener.
217
+ *
218
+ * @param containerRef - Ref to the root host node to treat as "inside".
219
+ * @param onOutsidePress - Called when a pointer press occurs outside the node.
220
+ * @param enabled - When `false`, no listener is attached. Defaults to `true`.
221
+ *
222
+ * @example
223
+ * ```tsx
224
+ * const rootRef = useRef<View>(null)
225
+ * const inputRef = useRef<RNTextInput>(null)
226
+ * useWebOutsidePress(rootRef, () => inputRef.current?.blur(), isFocused)
227
+ * ```
228
+ */
229
+ export function useWebOutsidePress(containerRef, onOutsidePress, enabled = true) {
230
+ const callbackRef = useRef(onOutsidePress);
231
+ callbackRef.current = onOutsidePress;
232
+ useEffect(() => {
233
+ if (Platform.OS !== 'web' || typeof document === 'undefined' || !enabled) {
234
+ return;
235
+ }
236
+ const handlePointerDown = event => {
237
+ const node = containerRef.current;
238
+ const target = event.target;
239
+ if (node?.contains && !node.contains(target)) {
240
+ callbackRef.current();
241
+ }
242
+ };
243
+ document.addEventListener('mousedown', handlePointerDown, true);
244
+ document.addEventListener('touchstart', handlePointerDown, true);
245
+ return () => {
246
+ document.removeEventListener('mousedown', handlePointerDown, true);
247
+ document.removeEventListener('touchstart', handlePointerDown, true);
248
+ };
249
+ }, [containerRef, enabled]);
250
+ }
251
+
194
252
  /**
195
253
  * Type guard to check if running on web platform
196
254
  */
@@ -33,6 +33,12 @@ export type AccordionProps = {
33
33
  accessibilityState?: AccessibilityState;
34
34
  /** Web-specific accessibility props (only used on web platform) */
35
35
  webAccessibilityProps?: WebAccessibilityProps;
36
+ /**
37
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
38
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
39
+ * lines as it needs even when horizontal space is tight.
40
+ */
41
+ disableTruncation?: boolean;
36
42
  } & React.ComponentProps<typeof View>;
37
43
  /**
38
44
  * Accordion component that mirrors the Figma "Accordion" component.
@@ -48,6 +54,6 @@ export type AccordionProps = {
48
54
  *
49
55
  * @component
50
56
  */
51
- declare function Accordion({ title, contained, defaultExpanded, expanded: controlledExpanded, onExpandedChange, disabled, children, modes, style, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, ...rest }: AccordionProps): import("react/jsx-runtime").JSX.Element;
57
+ declare function Accordion({ title, contained, defaultExpanded, expanded: controlledExpanded, onExpandedChange, disabled, children, modes, style, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, disableTruncation, ...rest }: AccordionProps): import("react/jsx-runtime").JSX.Element;
52
58
  export default Accordion;
53
59
  //# sourceMappingURL=Accordion.d.ts.map
@@ -32,6 +32,12 @@ export type AccordionCheckboxProps = {
32
32
  style?: StyleProp<ViewStyle>;
33
33
  /** Accessibility label for the header press target. Defaults to `title`. */
34
34
  accessibilityLabel?: string;
35
+ /**
36
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
37
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
38
+ * lines as it needs even when horizontal space is tight.
39
+ */
40
+ disableTruncation?: boolean;
35
41
  };
36
42
  /**
37
43
  * AccordionCheckbox composes a header (with a `Checkbox`, title, subtitle and
@@ -67,6 +73,6 @@ export type AccordionCheckboxProps = {
67
73
  * </AccordionCheckbox>
68
74
  * ```
69
75
  */
70
- declare function AccordionCheckbox({ title, subtitle, defaultExpanded, expanded: controlledExpanded, onExpandedChange, defaultChecked, checked: controlledChecked, onCheckedChange, disabled, children, modes, style, accessibilityLabel, }: AccordionCheckboxProps): import("react/jsx-runtime").JSX.Element;
76
+ declare function AccordionCheckbox({ title, subtitle, defaultExpanded, expanded: controlledExpanded, onExpandedChange, defaultChecked, checked: controlledChecked, onCheckedChange, disabled, children, modes, style, accessibilityLabel, disableTruncation, }: AccordionCheckboxProps): import("react/jsx-runtime").JSX.Element;
71
77
  export default AccordionCheckbox;
72
78
  //# sourceMappingURL=AccordionCheckbox.d.ts.map
@@ -57,6 +57,12 @@ export type AccountCardProps = {
57
57
  accessibilityLabel?: string;
58
58
  /** Accessibility hint forwarded to the underlying `Pressable`. */
59
59
  accessibilityHint?: string;
60
+ /**
61
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
62
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
63
+ * lines as it needs even when horizontal space is tight.
64
+ */
65
+ disableTruncation?: boolean;
60
66
  };
61
67
  /**
62
68
  * `AccountCard` — a compact card preview used to represent a linked
@@ -76,7 +82,7 @@ export type AccountCardProps = {
76
82
  * @component
77
83
  * @param {AccountCardProps} props
78
84
  */
79
- declare function AccountCard({ state, title, subtitle, imageSource, imageRatio, cardSlot, addIcon, onPress, disabled, modes, style, accessibilityLabel, accessibilityHint, }: AccountCardProps): import("react/jsx-runtime").JSX.Element;
85
+ declare function AccountCard({ state, title, subtitle, imageSource, imageRatio, cardSlot, addIcon, onPress, disabled, modes, style, accessibilityLabel, accessibilityHint, disableTruncation, }: AccountCardProps): import("react/jsx-runtime").JSX.Element;
80
86
  declare const _default: React.MemoExoticComponent<typeof AccountCard>;
81
87
  export default _default;
82
88
  //# sourceMappingURL=AccountCard.d.ts.map
@@ -96,6 +96,12 @@ export type AllocationComparisonChartProps = {
96
96
  legendStyle?: StyleProp<ViewStyle>;
97
97
  /** Accessibility label for the whole chart. */
98
98
  accessibilityLabel?: string;
99
+ /**
100
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
101
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
102
+ * lines as it needs even when horizontal space is tight.
103
+ */
104
+ disableTruncation?: boolean;
99
105
  };
100
106
  /**
101
107
  * `AllocationComparisonChart` plots a row of vertical pill bars that compare a
@@ -114,6 +120,6 @@ export type AllocationComparisonChartProps = {
114
120
  *
115
121
  * @component
116
122
  */
117
- declare function AllocationComparisonChart({ data, max, height, barWidth, showLegend, valueLegendLabel, baselineLegendLabel, formatValue, modes: propModes, style, chartStyle, legendStyle, accessibilityLabel, }: AllocationComparisonChartProps): import("react/jsx-runtime").JSX.Element;
123
+ declare function AllocationComparisonChart({ data, max, height, barWidth, showLegend, valueLegendLabel, baselineLegendLabel, formatValue, modes: propModes, style, chartStyle, legendStyle, accessibilityLabel, disableTruncation, }: AllocationComparisonChartProps): import("react/jsx-runtime").JSX.Element;
118
124
  export default AllocationComparisonChart;
119
125
  //# sourceMappingURL=AllocationComparisonChart.d.ts.map
@@ -105,6 +105,12 @@ export type AreaLineChartProps = {
105
105
  children?: React.ReactNode;
106
106
  /** Accessibility label for the whole chart. */
107
107
  accessibilityLabel?: string;
108
+ /**
109
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
110
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
111
+ * lines as it needs even when horizontal space is tight.
112
+ */
113
+ disableTruncation?: boolean;
108
114
  };
109
115
  type ResolvedSeries = {
110
116
  key: React.Key;
@@ -136,6 +142,7 @@ type ChartContextValue = {
136
142
  formatY: (value: number) => React.ReactNode;
137
143
  showDots: boolean;
138
144
  modes: Modes;
145
+ disableTruncation?: boolean;
139
146
  };
140
147
  /** Access the surrounding chart geometry from a decorator/sub-component. */
141
148
  export declare function useChart(): ChartContextValue;
@@ -154,7 +161,7 @@ export declare function useChart(): ChartContextValue;
154
161
  *
155
162
  * @component
156
163
  */
157
- declare function AreaLineChart({ series, xLabels, yMin, yMax, numberOfTicks, curve, height, contentInset, showGrid, showXAxis, showYAxis, showLegend, showDots, formatX, formatY, formatValue, goalPin, activeIndex: activeIndexProp, defaultActiveIndex, onActiveIndexChange, interactive, modes: propModes, style, children, accessibilityLabel, }: AreaLineChartProps): import("react/jsx-runtime").JSX.Element;
164
+ declare function AreaLineChart({ series, xLabels, yMin, yMax, numberOfTicks, curve, height, contentInset, showGrid, showXAxis, showYAxis, showLegend, showDots, formatX, formatY, formatValue, goalPin, activeIndex: activeIndexProp, defaultActiveIndex, onActiveIndexChange, interactive, modes: propModes, style, children, accessibilityLabel, disableTruncation, }: AreaLineChartProps): import("react/jsx-runtime").JSX.Element;
158
165
  declare namespace AreaLineChart {
159
166
  var Grid: typeof ChartGrid;
160
167
  var XAxis: typeof ChartXAxis;
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
2
  import { View, type ViewStyle, type TextStyle } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
- type BadgeProps = {
4
+ export type BadgeType = 'default' | 'glass';
5
+ export type BadgeProps = {
5
6
  /** Visible label text shown inside the badge */
6
7
  label?: string;
8
+ /**
9
+ * Visual style (matches the Figma `type` property). `'default'` is a solid
10
+ * token-colored pill; `'glass'` is a frosted, translucent pill backed by a
11
+ * real background blur (`GlassFill`) — the same glass surface used at the
12
+ * bottom of media/merchandising cards.
13
+ */
14
+ type?: BadgeType;
7
15
  /** Modes used to resolve design tokens (e.g. Appearance, Size) */
8
16
  modes?: Modes;
9
17
  /** Optional press handler to make the badge interactive */
@@ -11,13 +19,35 @@ type BadgeProps = {
11
19
  accessibilityLabel?: string;
12
20
  style?: ViewStyle;
13
21
  labelStyle?: TextStyle;
22
+ /**
23
+ * Optional leading node (icon/image) rendered before the label, inside the
24
+ * badge surface. When present, the badge lays its contents out in a row.
25
+ */
26
+ leading?: React.ReactNode;
27
+ /**
28
+ * Glass-only override for the translucent overlay color painted over the live
29
+ * blur. Defaults to the `badge/glass/color/background` token. Ignored for the
30
+ * `'default'` type.
31
+ */
32
+ glassOverlayColor?: string;
33
+ /**
34
+ * Glass-only override for the blur intensity on the 0–100 scale. Defaults to
35
+ * the `blur/minimal` token. Ignored for the `'default'` type.
36
+ */
37
+ glassIntensity?: number;
14
38
  /**
15
39
  * Explicit per-instance loading override. When `true`, renders a
16
40
  * badge-shaped skeleton placeholder instead of the badge. Defaults to
17
41
  * inheriting from the surrounding `<SkeletonGroup>`.
18
42
  */
19
43
  loading?: boolean;
44
+ /**
45
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
46
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
47
+ * lines as it needs even when horizontal space is tight.
48
+ */
49
+ disableTruncation?: boolean;
20
50
  } & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel' | 'accessibilityRole'>;
21
- declare function Badge({ label, modes, onPress, accessibilityLabel, style, labelStyle, loading, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
51
+ declare function Badge({ label, type, modes, onPress, accessibilityLabel, style, labelStyle, loading, disableTruncation, leading, glassOverlayColor, glassIntensity, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
22
52
  export default Badge;
23
53
  //# sourceMappingURL=Badge.d.ts.map