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
@@ -150,9 +150,13 @@ function GradientMask({
150
150
  }
151
151
 
152
152
  /**
153
- * Glass / frosted surface for native (iOS + Android).
153
+ * Shared glass / frosted surface for native (iOS + Android).
154
154
  *
155
- * Why this lives in its own platform-split file (mirrors `MediaCard/GlassFill`):
155
+ * This is the single source of truth for the glass effect used by `MediaCard`,
156
+ * `ProductMerchandisingCard`, `Badge`, and any future consumer. It supersedes
157
+ * the per-component `GlassFill` copies that previously drifted apart.
158
+ *
159
+ * Why this lives in its own platform-split file:
156
160
  * - `@react-native-community/blur` is a native-only module; importing it on
157
161
  * web throws because it references native components not registered there.
158
162
  * Metro's platform-extension resolution picks `GlassFill.tsx` for native
@@ -165,12 +169,16 @@ function GradientMask({
165
169
  * native module isn't linked in the running binary, the component degrades to
166
170
  * a translucent tinted scrim (`reducedTransparencyFallbackColor` / fallback
167
171
  * color) instead of rendering the "Unimplemented component" placeholder.
172
+ *
173
+ * NOTE: the consumer MUST clip this with `overflow: 'hidden'` on a rounded
174
+ * parent — the native blur view does not honor `borderRadius` itself.
168
175
  */
169
176
  function GlassFill({
170
177
  tint = 'dark',
171
178
  intensity = 50,
172
179
  overlayColor,
173
180
  progressive = false,
181
+ androidTintWash = true,
174
182
  style
175
183
  }) {
176
184
  const rawId = (0, _react.useId)();
@@ -252,7 +260,7 @@ function GlassFill({
252
260
  style: [_reactNative.StyleSheet.absoluteFill, {
253
261
  backgroundColor: overlayColor
254
262
  }]
255
- }) : null, _reactNative.Platform.OS === 'android' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
263
+ }) : null, _reactNative.Platform.OS === 'android' && androidTintWash ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
256
264
  style: [_reactNative.StyleSheet.absoluteFill, {
257
265
  backgroundColor: 'rgba(255,255,255,0.03)',
258
266
  opacity: 0.6
@@ -10,6 +10,8 @@ var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  const DEFAULT_FALLBACK_DARK = '#1414174a';
12
12
  const DEFAULT_FALLBACK_LIGHT = '#ffffff66';
13
+ const DEFAULT_WEB_BLUR_SCALE = 0.32;
14
+ const DEFAULT_WEB_BLUR_MAX_PX = 32;
13
15
 
14
16
  // Mirror of the native ramp (see GlassFill.tsx). Each layer is a `mask-image`
15
17
  // gradient whose alpha stops (0 = top, 1 = bottom) ease the blur in; `amount`
@@ -57,7 +59,7 @@ function toGradient(stops) {
57
59
  }
58
60
 
59
61
  /**
60
- * Web counterpart of `GlassFill`.
62
+ * Web counterpart of the shared `GlassFill`.
61
63
  *
62
64
  * `@react-native-community/blur` ships no web implementation, so on web we
63
65
  * render a translucent `View` with `backdrop-filter: blur()`. Native bundles
@@ -69,15 +71,17 @@ function GlassFill({
69
71
  intensity = 50,
70
72
  overlayColor,
71
73
  progressive = false,
74
+ webBlurScale = DEFAULT_WEB_BLUR_SCALE,
75
+ webBlurMaxPx = DEFAULT_WEB_BLUR_MAX_PX,
72
76
  style
73
77
  }) {
74
- // intensity 0-100 -> ~0-32px CSS blur, kept in parity with the native scale.
75
- const blurPx = Math.max(0, Math.min(32, Math.round(intensity * 0.32)));
78
+ // intensity 0-100 -> ~0-maxPx CSS blur, kept in parity with the native scale.
79
+ const blurPx = Math.max(0, Math.min(webBlurMaxPx, Math.round(intensity * webBlurScale)));
76
80
  const tintColor = overlayColor ?? (tint === 'light' ? DEFAULT_FALLBACK_LIGHT : DEFAULT_FALLBACK_DARK);
77
81
  if (progressive) {
78
82
  // Full peak blur (parity with native) so the frosted glass is clearly
79
83
  // engaged at the bottom; the eased masks keep the top fully clear.
80
- const peakPx = Math.max(1, Math.min(32, Math.round(intensity * 0.32)));
84
+ const peakPx = Math.max(1, Math.min(webBlurMaxPx, Math.round(intensity * webBlurScale)));
81
85
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
82
86
  style: [_reactNative.StyleSheet.absoluteFill, style],
83
87
  pointerEvents: "none",
@@ -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 }; }
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.EMPTY_MODES = void 0;
7
7
  exports.cloneChildrenWithModes = cloneChildrenWithModes;
8
8
  exports.flattenChildren = flattenChildren;
9
+ exports.injectChildStyle = injectChildStyle;
9
10
  exports.mergeRefs = mergeRefs;
11
+ exports.resolveTextLayout = resolveTextLayout;
12
+ exports.resolveTruncation = resolveTruncation;
10
13
  var _react = _interopRequireDefault(require("react"));
14
+ var _reactNative = require("react-native");
11
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
16
  /**
13
17
  * A shared, frozen empty modes object.
@@ -80,6 +84,40 @@ function cloneChildrenWithModes(children, modes, forcedModes) {
80
84
  return _react.default.Children.toArray(result);
81
85
  }
82
86
 
87
+ /**
88
+ * Merges a style onto each direct (top-level) child element, with the injected
89
+ * style taking precedence over the child's own style.
90
+ *
91
+ * Used by the Stack family to *enforce* cross-axis stretching from the container
92
+ * itself: a child can set its own `alignSelf` (which, per the flexbox spec,
93
+ * overrides the parent's `alignItems`), so to guarantee equal heights / full
94
+ * width regardless of what individual children declare, we append
95
+ * `{ alignSelf: 'stretch' }` to every direct child.
96
+ *
97
+ * @remarks
98
+ * - Only top-level children are touched. Grandchildren are intentionally left
99
+ * alone — we never want to leak layout styles deeper into the tree.
100
+ * - Non-element children (strings, numbers) are passed through untouched.
101
+ * - This relies on the child forwarding `style` to its outer/root view. Built-in
102
+ * RN primitives and components that spread `style` onto their root honour it;
103
+ * a child that fully ignores `style` cannot be forced (this is a hard React
104
+ * Native limitation, not something this helper can work around).
105
+ * - Per Yoga, stretch has no effect on an axis where the child has a *fixed*
106
+ * dimension (e.g. an explicit `height` for a row). Such children opt out by
107
+ * design; this helper does not strip explicit dimensions.
108
+ */
109
+ function injectChildStyle(children, style) {
110
+ return _react.default.Children.map(children, child => {
111
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) {
112
+ return child;
113
+ }
114
+ const existingStyle = child.props?.style;
115
+ return /*#__PURE__*/_react.default.cloneElement(child, {
116
+ style: existingStyle != null ? [existingStyle, style] : style
117
+ });
118
+ });
119
+ }
120
+
83
121
  /**
84
122
  * Combines several refs (object refs and/or callback refs) into a single
85
123
  * callback ref. Useful when a component needs to keep its own internal ref to a
@@ -100,6 +138,86 @@ function mergeRefs(...refs) {
100
138
  });
101
139
  };
102
140
  }
141
+ /**
142
+ * Resolves the `numberOfLines` / `ellipsizeMode` pair for a `<Text>` based on a
143
+ * `disableTruncation` flag.
144
+ *
145
+ * When `disableTruncation` is `true`, both values are returned as `undefined`
146
+ * so the text wraps to as many lines as it needs and never shows the trailing
147
+ * ellipsis. Otherwise the provided values are passed through unchanged.
148
+ */
149
+ function resolveTruncation(disableTruncation, numberOfLines, ellipsizeMode) {
150
+ if (disableTruncation) {
151
+ return {
152
+ numberOfLines: undefined,
153
+ ellipsizeMode: undefined
154
+ };
155
+ }
156
+ return {
157
+ numberOfLines,
158
+ ellipsizeMode
159
+ };
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
+ }
103
221
 
104
222
  /**
105
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
+ }
@@ -10,6 +10,8 @@ exports.getWebAccessibilityProps = getWebAccessibilityProps;
10
10
  exports.isWeb = exports.isNative = void 0;
11
11
  exports.useKeyboardNavigation = useKeyboardNavigation;
12
12
  exports.usePressableWebSupport = usePressableWebSupport;
13
+ exports.useWebOutsidePress = useWebOutsidePress;
14
+ var _react = require("react");
13
15
  var _reactNative = require("react-native");
14
16
  /**
15
17
  * Web-specific props that should NOT be passed to React Native's Pressable component.
@@ -201,6 +203,63 @@ function usePressableWebSupport({
201
203
  };
202
204
  }
203
205
 
206
+ /**
207
+ * Detects pointer presses (mouse / touch) that land OUTSIDE the node held by
208
+ * `containerRef` and invokes `onOutsidePress`.
209
+ *
210
+ * Why this exists:
211
+ * On web, React Native pressables (`Pressable`, `Button`, links, etc.) do not
212
+ * always claim DOM focus the way a native `<button>`/`<input>` does. As a
213
+ * result, tapping an *interactive* element outside a focused `<input>` may
214
+ * never trigger the input's native `blur` event, leaving a field stuck in its
215
+ * "Active" visual state. Listening for document-level pointer-down in the
216
+ * capture phase lets a component force a blur (or close a popover, etc.)
217
+ * regardless of whether the outside target takes focus.
218
+ *
219
+ * Behavior & safety:
220
+ * - **Web only.** On native (or when `document` is unavailable) this is a
221
+ * no-op, so it is safe to call unconditionally.
222
+ * - Listeners are attached only while `enabled` is `true`, and are removed on
223
+ * cleanup / when disabled — there is no standing global listener.
224
+ * - Uses the **capture** phase so it runs before element-level handlers, and
225
+ * listens to both `mousedown` and `touchstart` for parity across devices.
226
+ * - The latest `onOutsidePress` is read through a ref, so passing a fresh
227
+ * inline closure every render does NOT re-subscribe the listener.
228
+ *
229
+ * @param containerRef - Ref to the root host node to treat as "inside".
230
+ * @param onOutsidePress - Called when a pointer press occurs outside the node.
231
+ * @param enabled - When `false`, no listener is attached. Defaults to `true`.
232
+ *
233
+ * @example
234
+ * ```tsx
235
+ * const rootRef = useRef<View>(null)
236
+ * const inputRef = useRef<RNTextInput>(null)
237
+ * useWebOutsidePress(rootRef, () => inputRef.current?.blur(), isFocused)
238
+ * ```
239
+ */
240
+ function useWebOutsidePress(containerRef, onOutsidePress, enabled = true) {
241
+ const callbackRef = (0, _react.useRef)(onOutsidePress);
242
+ callbackRef.current = onOutsidePress;
243
+ (0, _react.useEffect)(() => {
244
+ if (_reactNative.Platform.OS !== 'web' || typeof document === 'undefined' || !enabled) {
245
+ return;
246
+ }
247
+ const handlePointerDown = event => {
248
+ const node = containerRef.current;
249
+ const target = event.target;
250
+ if (node?.contains && !node.contains(target)) {
251
+ callbackRef.current();
252
+ }
253
+ };
254
+ document.addEventListener('mousedown', handlePointerDown, true);
255
+ document.addEventListener('touchstart', handlePointerDown, true);
256
+ return () => {
257
+ document.removeEventListener('mousedown', handlePointerDown, true);
258
+ document.removeEventListener('touchstart', handlePointerDown, true);
259
+ };
260
+ }, [containerRef, enabled]);
261
+ }
262
+
204
263
  /**
205
264
  * Type guard to check if running on web platform
206
265
  */
@@ -5,7 +5,7 @@ import { View, Text, Pressable, LayoutAnimation, Platform, UIManager } from 'rea
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import Icon from '../../icons/Icon';
7
7
  import { usePressableWebSupport } from '../../utils/web-platform-utils';
8
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
8
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  // Enable LayoutAnimation on Android
11
11
  if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) {
@@ -61,6 +61,7 @@ function Accordion({
61
61
  accessibilityHint,
62
62
  accessibilityState,
63
63
  webAccessibilityProps,
64
+ disableTruncation,
64
65
  ...rest
65
66
  }) {
66
67
  const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
@@ -160,7 +161,7 @@ function Accordion({
160
161
  ...webProps,
161
162
  children: [/*#__PURE__*/_jsx(Text, {
162
163
  style: titleStyle,
163
- numberOfLines: 1,
164
+ ...resolveTruncation(disableTruncation, 1),
164
165
  children: title
165
166
  }), /*#__PURE__*/_jsx(Icon, {
166
167
  name: isExpanded ? 'ic_minus' : 'ic_add',
@@ -3,7 +3,7 @@
3
3
  import React, { useCallback, useState } from 'react';
4
4
  import { View, Text, Pressable, LayoutAnimation, Platform, UIManager } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
7
7
  import Checkbox from '../Checkbox/Checkbox';
8
8
  import Divider from '../Divider/Divider';
9
9
  import Icon from '../../icons/Icon';
@@ -58,7 +58,8 @@ function AccordionCheckbox({
58
58
  children,
59
59
  modes = EMPTY_MODES,
60
60
  style,
61
- accessibilityLabel
61
+ accessibilityLabel,
62
+ disableTruncation
62
63
  }) {
63
64
  const isExpandedControlled = controlledExpanded !== undefined;
64
65
  const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
@@ -203,12 +204,12 @@ function AccordionCheckbox({
203
204
  style: textWrapStyle,
204
205
  children: [/*#__PURE__*/_jsx(Text, {
205
206
  style: titleStyle,
206
- numberOfLines: 1,
207
+ ...resolveTruncation(disableTruncation, 1),
207
208
  selectable: false,
208
209
  children: title
209
210
  }), subtitle ? /*#__PURE__*/_jsx(Text, {
210
211
  style: subtitleStyle,
211
- numberOfLines: 1,
212
+ ...resolveTruncation(disableTruncation, 1),
212
213
  selectable: false,
213
214
  children: subtitle
214
215
  }) : null]
@@ -3,7 +3,7 @@
3
3
  import React, { useCallback, useMemo, useRef } from 'react';
4
4
  import { Image as RNImage, Platform, Pressable, Text, View } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
7
7
  import Icon from '../../icons/Icon';
8
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
9
  const IS_IOS = Platform.OS === 'ios';
@@ -72,7 +72,8 @@ function AccountCard({
72
72
  modes = EMPTY_MODES,
73
73
  style,
74
74
  accessibilityLabel,
75
- accessibilityHint
75
+ accessibilityHint,
76
+ disableTruncation
76
77
  }) {
77
78
  const iconModes = useMemo(() => modes === EMPTY_MODES ? ADD_ICON_DEFAULT_MODES : {
78
79
  ...ADD_ICON_DEFAULT_MODES,
@@ -205,11 +206,11 @@ function AccountCard({
205
206
  },
206
207
  children: [title != null && title !== '' ? /*#__PURE__*/_jsx(Text, {
207
208
  style: titleStyle,
208
- numberOfLines: 1,
209
+ ...resolveTruncation(disableTruncation, 1),
209
210
  children: title
210
211
  }) : null, showSubtitle ? /*#__PURE__*/_jsx(Text, {
211
212
  style: subtitleStyle,
212
- numberOfLines: 1,
213
+ ...resolveTruncation(disableTruncation, 1),
213
214
  children: subtitle
214
215
  }) : null]
215
216
  }) : null]