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
@@ -14,11 +14,11 @@ export function StepLabel({
14
14
  modes = EMPTY_MODES,
15
15
  style
16
16
  }) {
17
- const titleColor = getVariableByName('steperItem/title/color', modes) || '#0d0d0f';
18
- const titleFontSize = Number(getVariableByName('steperItem/title/fontSize', modes)) || 14;
19
- const titleFontFamily = getVariableByName('steperItem/title/fontFamily', modes) || undefined;
20
- const titleLineHeight = Number(getVariableByName('steperItem/title/lineHeight', modes)) || 18;
21
- const titleFontWeight = getVariableByName('steperItem/title/fontWeight', modes) || '700';
17
+ const titleColor = getVariableByName('steperItem/title/color', modes);
18
+ const titleFontSize = Number(getVariableByName('steperItem/title/fontSize', modes));
19
+ const titleFontFamily = getVariableByName('steperItem/title/fontFamily', modes);
20
+ const titleLineHeight = Number(getVariableByName('steperItem/title/lineHeight', modes));
21
+ const titleFontWeight = getVariableByName('steperItem/title/fontWeight', modes);
22
22
 
23
23
  // The Subtitle (supportingText) and Meta both default to the "Neutral"
24
24
  // AppearanceBrand. A caller-supplied `AppearanceBrand` still wins (it is
@@ -32,19 +32,19 @@ export function StepLabel({
32
32
  AppearanceBrand: 'Neutral',
33
33
  ...modes
34
34
  };
35
- const subtitleColor = getVariableByName('steperItem/subtitle/color', subtitleModes) || '#3d4047';
36
- const subtitleFontSize = Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes)) || 12;
37
- const subtitleFontFamily = getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) || undefined;
38
- const subtitleLineHeight = Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes)) || 16;
39
- const subtitleFontWeight = getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) || '400';
40
- const metaColor = getVariableByName('steperItem/meta/color', metaModes) || '#f7ab21';
41
- const metaFontSize = Number(getVariableByName('steperItem/meta/fontSize', metaModes)) || 10;
35
+ const subtitleColor = getVariableByName('steperItem/subtitle/color', subtitleModes);
36
+ const subtitleFontSize = Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes));
37
+ const subtitleFontFamily = getVariableByName('steperItem/subtitle/fontFamily', subtitleModes);
38
+ const subtitleLineHeight = Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes));
39
+ const subtitleFontWeight = getVariableByName('steperItem/subtitle/fontWeight', subtitleModes);
40
+ const metaColor = getVariableByName('steperItem/meta/color', metaModes);
41
+ const metaFontSize = Number(getVariableByName('steperItem/meta/fontSize', metaModes));
42
42
  // The Figma variable is authored as "fontFamily Copy" (with a space + suffix).
43
43
  // Match the literal Figma name to avoid a missing-variable warning.
44
- const metaFontFamily = getVariableByName('steperItem/meta/fontFamily Copy', metaModes) || undefined;
45
- const metaLineHeight = Number(getVariableByName('steperItem/meta/lineHeight', metaModes)) || 12;
46
- const metaFontWeight = getVariableByName('steperItem/meta/fontWeight', metaModes) || '700';
47
- const textGap = Number(getVariableByName('steperItem/textWrap/gap', modes)) || 2;
44
+ const metaFontFamily = getVariableByName('steperItem/meta/fontFamily Copy', metaModes);
45
+ const metaLineHeight = Number(getVariableByName('steperItem/meta/lineHeight', metaModes));
46
+ const metaFontWeight = getVariableByName('steperItem/meta/fontWeight', metaModes);
47
+ const textGap = Number(getVariableByName('steperItem/textWrap/gap', modes));
48
48
  const titleStyle = {
49
49
  color: titleColor,
50
50
  fontSize: titleFontSize,
@@ -13,9 +13,9 @@ export default function Stepper({
13
13
  modes = EMPTY_MODES,
14
14
  style
15
15
  }) {
16
- const paddingHorizontal = Number(getVariableByName('stepper/padding/horizontal', modes)) || 8;
17
- const paddingVertical = Number(getVariableByName('stepper/padding/vertical', modes)) || 0;
18
- const gap = Number(getVariableByName('stepper/gap', modes)) || 2;
16
+ const paddingHorizontal = Number(getVariableByName('stepper/padding/horizontal', modes));
17
+ const paddingVertical = Number(getVariableByName('stepper/padding/vertical', modes));
18
+ const gap = Number(getVariableByName('stepper/gap', modes));
19
19
  const containerStyle = {
20
20
  paddingHorizontal,
21
21
  paddingVertical,
@@ -46,23 +46,23 @@ const defaultFilter = (query, option) => option.label.toLowerCase().includes(que
46
46
 
47
47
  function useFormFieldTokens(modes) {
48
48
  return useMemo(() => {
49
- const labelColor = getVariableByName('formField/label/color', modes) || '#000000';
50
- const labelFontFamily = getVariableByName('formField/label/fontFamily', modes) || 'JioType Var';
49
+ const labelColor = getVariableByName('formField/label/color', modes);
50
+ const labelFontFamily = getVariableByName('formField/label/fontFamily', modes);
51
51
  const labelFontSize = toNumber(getVariableByName('formField/label/fontSize', modes), 14);
52
52
  const labelLineHeight = toNumber(getVariableByName('formField/label/lineHeight', modes), 17);
53
- const labelFontWeight = getVariableByName('formField/label/fontWeight', modes) || '500';
53
+ const labelFontWeight = getVariableByName('formField/label/fontWeight', modes);
54
54
  const gap = toNumber(getVariableByName('formField/gap', modes), 8);
55
55
  const inputPaddingH = toNumber(getVariableByName('formField/input/padding/horizontal', modes), 12);
56
56
  const inputGap = toNumber(getVariableByName('formField/input/gap', modes), 8);
57
57
  const inputRadius = toNumber(getVariableByName('formField/input/radius', modes), 8);
58
58
  const inputBorderSize = toNumber(getVariableByName('formField/input/border/size', modes), 1.5);
59
- const inputBackground = getVariableByName('formField/input/background', modes) || '#ffffff';
60
- const inputBorderColor = getVariableByName('formField/input/border/color', modes) || '#b5b6b7';
59
+ const inputBackground = getVariableByName('formField/input/background', modes);
60
+ const inputBorderColor = getVariableByName('formField/input/border/color', modes);
61
61
  const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
62
62
  const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
63
- const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes) || 'JioType Var';
64
- const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes) || '400';
65
- const inputTextColor = getVariableByName('formField/input/label/color', modes) || '#24262b';
63
+ const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
64
+ const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes);
65
+ const inputTextColor = getVariableByName('formField/input/label/color', modes);
66
66
  return {
67
67
  labelColor,
68
68
  labelFontFamily,
@@ -86,8 +86,8 @@ function useFormFieldTokens(modes) {
86
86
  }
87
87
  function useDropdownItemTextTokens(modes) {
88
88
  return useMemo(() => {
89
- const foreground = getVariableByName('dropdownItem/foreground', modes) || '#000000';
90
- const fontFamily = getVariableByName('dropdownItem/fontFamily', modes) || 'JioType Var';
89
+ const foreground = getVariableByName('dropdownItem/foreground', modes);
90
+ const fontFamily = getVariableByName('dropdownItem/fontFamily', modes);
91
91
  const fontSize = toNumber(getVariableByName('dropdownItem/fontSize', modes), 16);
92
92
  const lineHeight = toNumber(getVariableByName('dropdownItem/lineHeight', modes), 19);
93
93
  return {
@@ -306,7 +306,16 @@ function SuggestiveSearch({
306
306
  color: tokens.inputTextColor,
307
307
  fontFamily: tokens.inputFontFamily,
308
308
  fontSize: tokens.inputFontSize,
309
- lineHeight: tokens.inputLineHeight,
309
+ // iOS-only quirk: a single-line RNTextInput with `lineHeight` (45) far
310
+ // larger than `fontSize` (16) sinks the text to the bottom of the box
311
+ // instead of centering — iOS puts all the extra space ABOVE the glyphs.
312
+ // The row already owns the 45px height via `minHeight` + centering, so
313
+ // omit lineHeight on iOS (UITextField centers natively) and keep the
314
+ // token value on Android/Web where it renders correctly. Same fix as
315
+ // FormField — see facebook/react-native#39145 / #28012.
316
+ ...(Platform.OS === 'ios' ? null : {
317
+ lineHeight: tokens.inputLineHeight
318
+ }),
310
319
  fontWeight: tokens.inputFontWeight,
311
320
  padding: 0,
312
321
  margin: 0,
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { View, Text, Pressable } 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 Button from '../Button/Button';
8
8
  import NavArrow from '../NavArrow/NavArrow';
9
9
  import StrengthIndicator from '../StrengthIndicator/StrengthIndicator';
@@ -29,7 +29,8 @@ function SummaryTile({
29
29
  style,
30
30
  titleStyle,
31
31
  descriptionStyle,
32
- accessibilityLabel
32
+ accessibilityLabel,
33
+ disableTruncation
33
34
  }) {
34
35
  const containerGap = getVariableByName('summaryTile/gap', modes) ?? 8;
35
36
  const containerPadding = getVariableByName('summaryTile/padding', modes) ?? 0;
@@ -95,7 +96,7 @@ function SummaryTile({
95
96
  },
96
97
  children: [title ? /*#__PURE__*/_jsx(Text, {
97
98
  style: [titleTextStyle, titleStyle],
98
- numberOfLines: 1,
99
+ ...resolveTruncation(disableTruncation, 1),
99
100
  children: title
100
101
  }) : null, showIndicator ? /*#__PURE__*/_jsx(StrengthIndicator, {
101
102
  confidence: confidence,
@@ -32,12 +32,12 @@ function SupportText({
32
32
  };
33
33
 
34
34
  // --- Token Resolution ---
35
- const gap = parseInt(getVariableByName('supportText/gap', modes), 10) || 4;
36
- const textColor = getVariableByName('supportText/foreground', modes) || '#0c0d10';
37
- const fontFamily = getVariableByName('supportText/fontFamily', modes) || 'JioType Var';
38
- const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10) || 12;
39
- const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10) || 16;
40
- const fontWeight = getVariableByName('supportText/fontWeight', modes) || '500';
35
+ const gap = parseInt(getVariableByName('supportText/gap', modes), 10);
36
+ const textColor = getVariableByName('supportText/foreground', modes);
37
+ const fontFamily = getVariableByName('supportText/fontFamily', modes);
38
+ const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10);
39
+ const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10);
40
+ const fontWeight = getVariableByName('supportText/fontWeight', modes);
41
41
 
42
42
  // --- Styles ---
43
43
  const containerStyle = {
@@ -21,14 +21,14 @@ function SupportTextIcon({
21
21
  const iconName = STATUS_ICON_MAP[status] || 'ic_info';
22
22
 
23
23
  // Resolve icon size
24
- const size = parseInt(getVariableByName('supportText/icon/size', modes), 10) || 16;
24
+ const size = parseInt(getVariableByName('supportText/icon/size', modes), 10);
25
25
 
26
26
  // Resolve icon color
27
27
  // Assuming supportText/foreground applies to icon as well, or there might be specific icon color tokens.
28
28
  // Using supportText/foreground as default based on common patterns if no specific icon token.
29
29
  // If specific tokens exist like 'supportText/icon/color', they should be used.
30
30
  // Detailed variables only showed supportText/foreground.
31
- const color = getVariableByName('supportText/foreground', modes) || '#0c0d10';
31
+ const color = getVariableByName('supportText/foreground', modes);
32
32
  return /*#__PURE__*/_jsx(View, {
33
33
  style: style,
34
34
  children: /*#__PURE__*/_jsx(Icon, {
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, Text, Pressable, ScrollView, Platform } from 'react-native';
5
+ import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
+ import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
7
+
8
+ /* -------------------------------------------------------------------------------------------------
9
+ * Shared types & token resolution
10
+ * -----------------------------------------------------------------------------------------------*/
11
+
12
+ /** Resolved styling for a header cell and a body cell, derived from design tokens. */
13
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const toWeight = w => typeof w === 'number' ? `${w}` : w;
15
+
16
+ /**
17
+ * Resolve every token the table family needs in one place. Sub-components call
18
+ * this with their cascaded `modes` so they render correctly both inside a
19
+ * `Table` and when used standalone. Fallbacks mirror the Figma node values
20
+ * (`tableCell/*`, `tableHeader/*`) so the component is faithful even before the
21
+ * tokens are published to the local store.
22
+ */
23
+ function resolveTableTokens(modes) {
24
+ const headerFontFamily = getVariableByName('tableHeader/label/fontfamily', modes) ?? 'JioType Var';
25
+ const headerFontSize = getVariableByName('tableHeader/label/fontsize', modes) ?? 14;
26
+ const headerFontWeight = getVariableByName('tableHeader/label/fontweight', modes) ?? 600;
27
+ const cellFontFamily = getVariableByName('tableCell/label/fontfamily', modes) ?? 'JioType Var';
28
+ const cellFontSize = getVariableByName('tableCell/label/fontsize', modes) ?? 14;
29
+ const cellFontWeight = getVariableByName('tableCell/label/fontweight', modes) ?? 400;
30
+ return {
31
+ headerBg: getVariableByName('tableHeader/background/color', modes) ?? '#f5f5f5',
32
+ headerPaddingH: getVariableByName('tableHeader/padding/horizontal', modes) ?? 12,
33
+ headerPaddingV: getVariableByName('tableHeader/padding/vertical', modes) ?? 12,
34
+ headerText: {
35
+ color: getVariableByName('tableHeader/label/color', modes) ?? '#000000',
36
+ fontFamily: headerFontFamily,
37
+ fontSize: headerFontSize,
38
+ fontWeight: toWeight(headerFontWeight),
39
+ lineHeight: 20
40
+ },
41
+ cellBg: getVariableByName('tableCell/background/color', modes) ?? '#ffffff',
42
+ cellPaddingH: getVariableByName('tableCell/padding/horizontal', modes) ?? 12,
43
+ cellPaddingV: getVariableByName('tableCell/padding/vertical', modes) ?? 12,
44
+ cellText: {
45
+ color: getVariableByName('tableCell/label/color', modes) ?? '#000000',
46
+ fontFamily: cellFontFamily,
47
+ fontSize: cellFontSize,
48
+ fontWeight: toWeight(cellFontWeight),
49
+ lineHeight: 20
50
+ },
51
+ borderColor: getVariableByName('tableCell/border/color', modes) ?? '#eeeeee',
52
+ borderSize: getVariableByName('tableCell/border/size', modes) ?? 1
53
+ };
54
+ }
55
+ const alignToJustify = align => align === 'center' ? 'center' : align === 'right' ? 'flex-end' : 'flex-start';
56
+
57
+ /** Renders text children through the resolved label style; passes elements through untouched. */
58
+ function renderCellContent(children, textStyle, align, modes) {
59
+ if (children == null || children === false) return null;
60
+ if (typeof children === 'string' || typeof children === 'number') {
61
+ return /*#__PURE__*/_jsx(Text, {
62
+ style: [textStyle, {
63
+ textAlign: align
64
+ }],
65
+ children: children
66
+ });
67
+ }
68
+ return cloneChildrenWithModes(children, modes);
69
+ }
70
+
71
+ /* -------------------------------------------------------------------------------------------------
72
+ * Table.Cell — body cell (Figma `table-cell`, node 603:23)
73
+ * -----------------------------------------------------------------------------------------------*/
74
+
75
+ /**
76
+ * A single body cell. White background with a bottom + right divider, matching
77
+ * the Figma `table-cell` sub-component. String/number children are rendered
78
+ * with the token label style; any element is rendered as-is.
79
+ */
80
+ function TableCell({
81
+ children,
82
+ align = 'left',
83
+ width,
84
+ flex = 1,
85
+ isLastColumn = false,
86
+ isLastRow = false,
87
+ modes = EMPTY_MODES,
88
+ style
89
+ }) {
90
+ const t = resolveTableTokens(modes);
91
+ return /*#__PURE__*/_jsx(View, {
92
+ style: [{
93
+ backgroundColor: t.cellBg,
94
+ flexDirection: 'row',
95
+ alignItems: 'center',
96
+ justifyContent: alignToJustify(align),
97
+ paddingHorizontal: t.cellPaddingH,
98
+ paddingVertical: t.cellPaddingV,
99
+ borderColor: t.borderColor,
100
+ borderBottomWidth: isLastRow ? 0 : t.borderSize,
101
+ borderRightWidth: isLastColumn ? 0 : t.borderSize,
102
+ ...(width != null ? {
103
+ width
104
+ } : {
105
+ flex,
106
+ minWidth: 0
107
+ })
108
+ }, style],
109
+ children: renderCellContent(children, t.cellText, align, modes)
110
+ });
111
+ }
112
+
113
+ /* -------------------------------------------------------------------------------------------------
114
+ * Table.HeaderCell — header cell (Figma `table header wrap`, node 603:21)
115
+ * -----------------------------------------------------------------------------------------------*/
116
+
117
+ /**
118
+ * A single header cell. Muted background with the bold token label style,
119
+ * matching the Figma `table header wrap` sub-component. Header cells carry no
120
+ * dividers; the header row draws a single bottom divider beneath them.
121
+ */
122
+ function TableHeaderCell({
123
+ children,
124
+ align = 'left',
125
+ width,
126
+ flex = 1,
127
+ modes = EMPTY_MODES,
128
+ style
129
+ }) {
130
+ const t = resolveTableTokens(modes);
131
+ return /*#__PURE__*/_jsx(View, {
132
+ style: [{
133
+ backgroundColor: t.headerBg,
134
+ flexDirection: 'row',
135
+ alignItems: 'center',
136
+ justifyContent: alignToJustify(align),
137
+ paddingHorizontal: t.headerPaddingH,
138
+ paddingVertical: t.headerPaddingV,
139
+ ...(width != null ? {
140
+ width
141
+ } : {
142
+ flex,
143
+ minWidth: 0
144
+ })
145
+ }, style],
146
+ children: renderCellContent(children, t.headerText, align, modes)
147
+ });
148
+ }
149
+
150
+ /* -------------------------------------------------------------------------------------------------
151
+ * Table.Header — row of header cells with a bottom divider
152
+ * -----------------------------------------------------------------------------------------------*/
153
+
154
+ function TableHeader({
155
+ children,
156
+ modes = EMPTY_MODES,
157
+ style
158
+ }) {
159
+ const t = resolveTableTokens(modes);
160
+ return /*#__PURE__*/_jsx(View, {
161
+ style: [{
162
+ flexDirection: 'row',
163
+ width: '100%',
164
+ borderBottomWidth: t.borderSize,
165
+ borderBottomColor: t.borderColor
166
+ }, style],
167
+ children: cloneChildrenWithModes(children, modes)
168
+ });
169
+ }
170
+
171
+ /* -------------------------------------------------------------------------------------------------
172
+ * Table.Row — row of body cells
173
+ * -----------------------------------------------------------------------------------------------*/
174
+
175
+ function TableRow({
176
+ children,
177
+ onPress,
178
+ modes = EMPTY_MODES,
179
+ style
180
+ }) {
181
+ const rowStyle = {
182
+ flexDirection: 'row',
183
+ width: '100%'
184
+ };
185
+ const content = cloneChildrenWithModes(children, modes);
186
+ if (onPress) {
187
+ return /*#__PURE__*/_jsx(Pressable, {
188
+ onPress: onPress,
189
+ accessibilityRole: "button",
190
+ style: ({
191
+ pressed
192
+ }) => [rowStyle, pressed ? {
193
+ opacity: 0.6
194
+ } : null, style],
195
+ children: content
196
+ });
197
+ }
198
+ return /*#__PURE__*/_jsx(View, {
199
+ style: [rowStyle, style],
200
+ children: content
201
+ });
202
+ }
203
+
204
+ /* -------------------------------------------------------------------------------------------------
205
+ * Table.Body — column container for rows
206
+ * -----------------------------------------------------------------------------------------------*/
207
+
208
+ function TableBody({
209
+ children,
210
+ modes = EMPTY_MODES,
211
+ style
212
+ }) {
213
+ return /*#__PURE__*/_jsx(View, {
214
+ style: [{
215
+ width: '100%'
216
+ }, style],
217
+ children: cloneChildrenWithModes(children, modes)
218
+ });
219
+ }
220
+
221
+ /* -------------------------------------------------------------------------------------------------
222
+ * Table — root (Figma `Table`, node 5732:3710)
223
+ * -----------------------------------------------------------------------------------------------*/
224
+
225
+ /**
226
+ * Column definition for the data-driven `Table` API. `T` is the shape of one
227
+ * row record.
228
+ */
229
+
230
+ /**
231
+ * Table renders structured rows and columns. It supports two complementary
232
+ * usage styles that share the same token-driven styling:
233
+ *
234
+ * 1. **Data-driven** (recommended): pass `columns` + `data`. The header and body
235
+ * are built for you, columns stay aligned, and per-column `align`/`width`/
236
+ * `flex`/`render` give full control.
237
+ *
238
+ * 2. **Composition**: pass `Table.Header` / `Table.Body` / `Table.Row` /
239
+ * `Table.Cell` / `Table.HeaderCell` as children for bespoke layouts. These
240
+ * sub-components are also exported standalone.
241
+ *
242
+ * Implementation of Figma node `5732:3710` (`Table`) with sub-components
243
+ * `603:23` (`table-cell`) and `603:21` (`table header wrap`).
244
+ *
245
+ * @component
246
+ */
247
+ function Table({
248
+ columns,
249
+ data,
250
+ children,
251
+ showHeader = true,
252
+ getRowKey,
253
+ onRowPress,
254
+ scrollable = false,
255
+ accessibilityLabel,
256
+ modes = EMPTY_MODES,
257
+ style
258
+ }) {
259
+ const isComposition = children != null;
260
+ const body = isComposition ? cloneChildrenWithModes(children, modes) : /*#__PURE__*/_jsxs(_Fragment, {
261
+ children: [showHeader && columns && columns.length > 0 && /*#__PURE__*/_jsx(TableHeader, {
262
+ modes: modes,
263
+ children: columns.map(col => /*#__PURE__*/_jsx(TableHeaderCell, {
264
+ align: col.headerAlign ?? col.align ?? 'left',
265
+ width: col.width,
266
+ flex: col.flex ?? 1,
267
+ modes: modes,
268
+ children: col.header ?? col.key
269
+ }, col.key))
270
+ }), columns && data && data.length > 0 && /*#__PURE__*/_jsx(TableBody, {
271
+ modes: modes,
272
+ children: data.map((row, rowIndex) => {
273
+ const isLastRow = rowIndex === data.length - 1;
274
+ return /*#__PURE__*/_jsx(TableRow, {
275
+ onPress: onRowPress ? () => onRowPress(row, rowIndex) : undefined,
276
+ modes: modes,
277
+ children: columns.map((col, colIndex) => /*#__PURE__*/_jsx(TableCell, {
278
+ align: col.align ?? 'left',
279
+ width: col.width,
280
+ flex: col.flex ?? 1,
281
+ isLastColumn: colIndex === columns.length - 1,
282
+ isLastRow: isLastRow,
283
+ modes: modes,
284
+ children: col.render ? col.render(row, rowIndex) : row[col.key]
285
+ }, col.key))
286
+ }, getRowKey?.(row, rowIndex) ?? rowIndex);
287
+ })
288
+ })]
289
+ });
290
+ const container = /*#__PURE__*/_jsx(View, {
291
+ accessibilityRole: Platform.OS === 'web' ? 'table' : undefined,
292
+ accessibilityLabel: accessibilityLabel,
293
+ style: [{
294
+ overflow: 'hidden'
295
+ }, !scrollable && {
296
+ width: '100%'
297
+ }, style],
298
+ children: body
299
+ });
300
+ if (scrollable) {
301
+ return /*#__PURE__*/_jsx(ScrollView, {
302
+ horizontal: true,
303
+ showsHorizontalScrollIndicator: false,
304
+ children: container
305
+ });
306
+ }
307
+ return container;
308
+ }
309
+ Table.Header = TableHeader;
310
+ Table.HeaderCell = TableHeaderCell;
311
+ Table.Body = TableBody;
312
+ Table.Row = TableRow;
313
+ Table.Cell = TableCell;
314
+ export { TableHeader, TableHeaderCell, TableBody, TableRow, TableCell };
315
+ export default Table;
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { Text as RNText } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils';
7
7
  import Skeleton from '../../skeleton/Skeleton';
8
8
  import { useSkeleton } from '../../skeleton/SkeletonGroup';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -18,6 +18,8 @@ function Text({
18
18
  modes = EMPTY_MODES,
19
19
  style,
20
20
  numberOfLines,
21
+ disableTruncation,
22
+ singleLine,
21
23
  loading,
22
24
  skeletonWidth,
23
25
  skeletonLines
@@ -68,9 +70,20 @@ function Text({
68
70
  // still renders something visible when no content is supplied via either
69
71
  // route.
70
72
  const content = children !== undefined && children !== null && children !== false ? children : text !== undefined ? text : 'Korem ipsum ';
73
+
74
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
75
+ // / no-wrap behaviour always wins.
76
+ const {
77
+ style: layoutStyle,
78
+ ...truncation
79
+ } = resolveTextLayout({
80
+ disableTruncation,
81
+ singleLine,
82
+ numberOfLines
83
+ });
71
84
  return /*#__PURE__*/_jsx(RNText, {
72
- style: [textStyle, style],
73
- numberOfLines: numberOfLines,
85
+ style: [textStyle, style, layoutStyle],
86
+ ...truncation,
74
87
  children: content
75
88
  });
76
89
  }
@@ -120,26 +120,26 @@ const TextInputBase = /*#__PURE__*/forwardRef(function TextInput({
120
120
  const inputRef = useRef(null);
121
121
 
122
122
  // Resolve container tokens
123
- const backgroundColor = getVariableByName('textInput/background', modes) || '#f5f5f5';
124
- const borderColor = getVariableByName('textInput/border/color', modes) || '#f5f5f5';
125
- const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes) || 14;
126
- const paddingVertical = getVariableByName('textInput/vertical/padding', modes) || 14;
127
- const radius = getVariableByName('textInput/radius', modes) || 99999;
123
+ const backgroundColor = getVariableByName('textInput/background', modes);
124
+ const borderColor = getVariableByName('textInput/border/color', modes);
125
+ const paddingHorizontal = getVariableByName('textInput/horizontal/padding', modes);
126
+ const paddingVertical = getVariableByName('textInput/vertical/padding', modes);
127
+ const radius = getVariableByName('textInput/radius', modes);
128
128
 
129
129
  // Resolve text input typography tokens
130
- const textColor = getVariableByName('textInput/label/color', modes) || '#24262b';
131
- const fontSize = getVariableByName('textInput/fontSize', modes) || 14;
132
- const lineHeight = getVariableByName('textInput/lineHeight', modes) || 18;
133
- const fontFamily = getVariableByName('textInput/fontFamily', modes) || 'System';
134
- const fontWeightRaw = getVariableByName('textInput/fontWeight', modes) || 400;
130
+ const textColor = getVariableByName('textInput/label/color', modes);
131
+ const fontSize = getVariableByName('textInput/fontSize', modes);
132
+ const lineHeight = getVariableByName('textInput/lineHeight', modes);
133
+ const fontFamily = getVariableByName('textInput/fontFamily', modes);
134
+ const fontWeightRaw = getVariableByName('textInput/fontWeight', modes);
135
135
  const fontWeight = typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw;
136
136
 
137
137
  // Create placeholder color (lighter/more transparent version of text color)
138
138
  const placeholderColor = makePlaceholderColor(textColor, 0.6);
139
139
 
140
140
  // Resolve icon tokens (for default icon rendering if needed)
141
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b';
142
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18;
141
+ const iconColor = getVariableByName('textInput/icon/color', modes);
142
+ const iconSize = getVariableByName('textInput/icon/size', modes);
143
143
 
144
144
  // Convert radius to React Native format (if 99999, use a large value for fully rounded)
145
145
  const borderRadius = radius === 99999 ? 99999 : radius;
@@ -166,7 +166,15 @@ const TextInputBase = /*#__PURE__*/forwardRef(function TextInput({
166
166
  flex: 1,
167
167
  color: textColor,
168
168
  fontSize,
169
- lineHeight,
169
+ // iOS-only quirk: a single-line RNTextInput with an explicit `lineHeight`
170
+ // larger than `fontSize` puts all the extra space ABOVE the glyphs, so the
171
+ // text/placeholder sits below center (iOS native font-metrics bug — see
172
+ // facebook/react-native#39145 / #28012). The container centers via
173
+ // `alignItems: 'center'` + `minHeight`, so omit lineHeight on iOS
174
+ // (UITextField centers natively) and keep it on Android/Web where it's fine.
175
+ ...(Platform.OS === 'ios' ? null : {
176
+ lineHeight
177
+ }),
170
178
  fontFamily,
171
179
  fontWeight,
172
180
  padding: 0,
@@ -295,8 +303,8 @@ const TextInputSearch = /*#__PURE__*/forwardRef(function TextInputSearch({
295
303
  ...rest
296
304
  }, ref) {
297
305
  // Resolve icon tokens for default search icon
298
- const iconColor = getVariableByName('textInput/icon/color', modes) || '#24262b';
299
- const iconSize = getVariableByName('textInput/icon/size', modes) || 18;
306
+ const iconColor = getVariableByName('textInput/icon/color', modes);
307
+ const iconSize = getVariableByName('textInput/icon/size', modes);
300
308
 
301
309
  // Use provided leading or default to search icon
302
310
  const defaultLeading = /*#__PURE__*/_jsx(Icon, {
@@ -3,7 +3,7 @@
3
3
  import React, { useMemo } from 'react';
4
4
  import { Text as RNText } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
- import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
6
+ import { EMPTY_MODES, cloneChildrenWithModes, resolveTextLayout } from '../../utils/react-utils';
7
7
 
8
8
  /**
9
9
  * A single coloured run inside a {@link TextSegment}. Each run can carry its own
@@ -73,6 +73,8 @@ function TextSegment({
73
73
  children,
74
74
  textAlign = 'Left',
75
75
  numberOfLines,
76
+ disableTruncation,
77
+ singleLine,
76
78
  modes = EMPTY_MODES,
77
79
  style
78
80
  }) {
@@ -104,9 +106,20 @@ function TextSegment({
104
106
  // nested library `Text` runs resolve their tokens against the same baseline,
105
107
  // while still honouring any per-child `modes` override.
106
108
  const content = hasChildren ? cloneChildrenWithModes(children, modes) : renderedSegments;
109
+
110
+ // Layout `style` is merged after the consumer `style` so the brutal overflow
111
+ // / no-wrap behaviour always wins.
112
+ const {
113
+ style: layoutStyle,
114
+ ...truncation
115
+ } = resolveTextLayout({
116
+ disableTruncation,
117
+ singleLine,
118
+ numberOfLines
119
+ });
107
120
  return /*#__PURE__*/_jsx(RNText, {
108
- style: [baseStyle, style],
109
- numberOfLines: numberOfLines,
121
+ style: [baseStyle, style, layoutStyle],
122
+ ...truncation,
110
123
  children: content
111
124
  });
112
125
  }