jfs-components 0.1.0 → 0.1.2

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 (331) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +1 -1
  3. package/lib/commonjs/components/Balance/Balance.js +17 -12
  4. package/lib/commonjs/components/Card/Card.js +2 -1
  5. package/lib/commonjs/components/CardFeedback/CardFeedback.js +2 -1
  6. package/lib/commonjs/components/Checkbox/Checkbox.js +2 -1
  7. package/lib/commonjs/components/Drawer/Drawer.js +13 -4
  8. package/lib/commonjs/components/DropdownInput/DropdownInput.js +1 -1
  9. package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +62 -2
  10. package/lib/commonjs/components/Image/Image.js +11 -5
  11. package/lib/commonjs/components/LottiePlayer/loadNativeLottieView.js +8 -13
  12. package/lib/commonjs/components/Overlay/Overlay.js +92 -0
  13. package/lib/commonjs/components/PlanComparisonCard/PlanComparisonCard.js +2 -1
  14. package/lib/commonjs/components/TextInput/TextInput.js +2 -1
  15. package/lib/commonjs/components/docs/modeControls.js +116 -0
  16. package/lib/commonjs/components/index.js +7 -0
  17. package/lib/commonjs/design-tokens/JFSThemeProvider.js +1 -1
  18. package/lib/commonjs/design-tokens/figma-modes.generated.js +391 -0
  19. package/lib/commonjs/design-tokens/index.js +11 -0
  20. package/lib/commonjs/icons/registry.js +1 -1
  21. package/lib/module/components/Accordion/Accordion.js +1 -2
  22. package/lib/module/components/AreaLineChart/AreaLineChart.js +1 -1
  23. package/lib/module/components/Balance/Balance.js +18 -13
  24. package/lib/module/components/Card/Card.js +1 -2
  25. package/lib/module/components/CardFeedback/CardFeedback.js +1 -2
  26. package/lib/module/components/Checkbox/Checkbox.js +1 -2
  27. package/lib/module/components/Drawer/Drawer.js +12 -4
  28. package/lib/module/components/DropdownInput/DropdownInput.js +1 -1
  29. package/lib/module/components/FullscreenModal/FullscreenModal.js +64 -5
  30. package/lib/module/components/Image/Image.js +11 -5
  31. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +1 -2
  32. package/lib/module/components/LottiePlayer/loadNativeLottieView.js +8 -13
  33. package/lib/module/components/MoneyValue/MoneyValue.js +1 -2
  34. package/lib/module/components/OTP/OTP.js +1 -2
  35. package/lib/module/components/Overlay/Overlay.js +87 -0
  36. package/lib/module/components/PlanComparisonCard/PlanComparisonCard.js +1 -2
  37. package/lib/module/components/PoweredByLabel/PoweredByLabel.js +1 -2
  38. package/lib/module/components/RechargeCard/RechargeCard.js +1 -2
  39. package/lib/module/components/Section/Section.js +1 -2
  40. package/lib/module/components/TextInput/TextInput.js +1 -2
  41. package/lib/module/components/UpiHandle/UpiHandle.js +1 -2
  42. package/lib/module/components/docs/modeControls.js +111 -0
  43. package/lib/module/components/index.js +1 -0
  44. package/lib/module/design-tokens/JFSThemeProvider.js +1 -1
  45. package/lib/module/design-tokens/figma-modes.generated.js +387 -0
  46. package/lib/module/design-tokens/index.js +2 -1
  47. package/lib/module/icons/registry.js +1 -1
  48. package/lib/module/utils/react-utils.js +0 -1
  49. package/lib/typescript/scripts/extract-component-tokens.d.ts +1 -1
  50. package/lib/typescript/scripts/generate-mode-types.d.ts +2 -0
  51. package/lib/typescript/scripts/retype-modes.d.cts +2 -0
  52. package/lib/typescript/src/components/Accordion/Accordion.d.ts +2 -1
  53. package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +2 -1
  54. package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +2 -1
  55. package/lib/typescript/src/components/ActionFooter/ActionFooter.d.ts +2 -1
  56. package/lib/typescript/src/components/ActionTile/ActionTile.d.ts +2 -1
  57. package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +2 -1
  58. package/lib/typescript/src/components/AmountInput/AmountInput.d.ts +2 -1
  59. package/lib/typescript/src/components/AppBar/AppBar.d.ts +2 -1
  60. package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +3 -2
  61. package/lib/typescript/src/components/Attached/Attached.d.ts +2 -1
  62. package/lib/typescript/src/components/Avatar/Avatar.d.ts +2 -1
  63. package/lib/typescript/src/components/AvatarGroup/AvatarGroup.d.ts +2 -1
  64. package/lib/typescript/src/components/Badge/Badge.d.ts +2 -1
  65. package/lib/typescript/src/components/Balance/Balance.d.ts +2 -1
  66. package/lib/typescript/src/components/BottomNav/BottomNav.d.ts +2 -1
  67. package/lib/typescript/src/components/BottomNavItem/BottomNavItem.d.ts +2 -1
  68. package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +2 -1
  69. package/lib/typescript/src/components/BubbleChart/BubbleChart.d.ts +2 -1
  70. package/lib/typescript/src/components/Button/Button.d.ts +2 -1
  71. package/lib/typescript/src/components/ButtonGroup/ButtonGroup.d.ts +2 -1
  72. package/lib/typescript/src/components/Card/Card.d.ts +3 -2
  73. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +2 -1
  74. package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +2 -1
  75. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +2 -1
  76. package/lib/typescript/src/components/CardFeedback/CardFeedback.d.ts +7 -6
  77. package/lib/typescript/src/components/CardFinancialCondition/CardFinancialCondition.d.ts +2 -1
  78. package/lib/typescript/src/components/CardInsight/CardInsight.d.ts +2 -1
  79. package/lib/typescript/src/components/CardProviderInfo/CardProviderInfo.d.ts +2 -1
  80. package/lib/typescript/src/components/Carousel/Carousel.d.ts +4 -3
  81. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +2 -1
  82. package/lib/typescript/src/components/CheckboxGroup/CheckboxGroup.d.ts +2 -1
  83. package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +2 -1
  84. package/lib/typescript/src/components/ChipGroup/ChipGroup.d.ts +2 -1
  85. package/lib/typescript/src/components/ChipSelect/ChipSelect.d.ts +2 -1
  86. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +2 -1
  87. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +2 -1
  88. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +2 -1
  89. package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +2 -1
  90. package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +3 -2
  91. package/lib/typescript/src/components/CoverageRing/CoverageRing.d.ts +2 -1
  92. package/lib/typescript/src/components/DebitCard/DebitCard.d.ts +2 -1
  93. package/lib/typescript/src/components/Disclaimer/Disclaimer.d.ts +2 -1
  94. package/lib/typescript/src/components/Divider/Divider.d.ts +2 -1
  95. package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +4 -3
  96. package/lib/typescript/src/components/DonutChartSummary/DonutChartSummary.d.ts +3 -2
  97. package/lib/typescript/src/components/Drawer/Drawer.d.ts +15 -1
  98. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +3 -2
  99. package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +2 -1
  100. package/lib/typescript/src/components/EmptyState/EmptyState.d.ts +2 -1
  101. package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +2 -1
  102. package/lib/typescript/src/components/FilterBar/FilterBar.d.ts +3 -2
  103. package/lib/typescript/src/components/Form/Form.d.ts +2 -1
  104. package/lib/typescript/src/components/FormField/FormField.d.ts +2 -1
  105. package/lib/typescript/src/components/FullscreenModal/FullscreenModal.d.ts +2 -1
  106. package/lib/typescript/src/components/Gauge/Gauge.d.ts +2 -1
  107. package/lib/typescript/src/components/HStack/HStack.d.ts +2 -1
  108. package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +2 -1
  109. package/lib/typescript/src/components/Icon/Icon.d.ts +2 -1
  110. package/lib/typescript/src/components/IconButton/IconButton.d.ts +2 -1
  111. package/lib/typescript/src/components/IconCapsule/IconCapsule.d.ts +2 -1
  112. package/lib/typescript/src/components/Image/Image.d.ts +17 -1
  113. package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +2 -1
  114. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +2 -1
  115. package/lib/typescript/src/components/LazyList/LazyList.d.ts +2 -1
  116. package/lib/typescript/src/components/LinearMeter/LinearMeter.d.ts +3 -2
  117. package/lib/typescript/src/components/LinearProgress/LinearProgress.d.ts +2 -1
  118. package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +2 -1
  119. package/lib/typescript/src/components/ListItem/ListItem.d.ts +2 -1
  120. package/lib/typescript/src/components/LottieIntroBlock/LottieIntroBlock.d.ts +2 -1
  121. package/lib/typescript/src/components/LottiePlayer/LottiePlayer.d.ts +2 -1
  122. package/lib/typescript/src/components/LottiePlayer/LottiePlayer.web.d.ts +2 -1
  123. package/lib/typescript/src/components/MediaCard/MediaCard.d.ts +6 -5
  124. package/lib/typescript/src/components/MerchantProfile/MerchantProfile.d.ts +2 -1
  125. package/lib/typescript/src/components/MessageField/MessageField.d.ts +2 -1
  126. package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +2 -1
  127. package/lib/typescript/src/components/MoneyValue/MoneyValue.d.ts +2 -1
  128. package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +4 -3
  129. package/lib/typescript/src/components/NavArrow/NavArrow.d.ts +2 -1
  130. package/lib/typescript/src/components/NoteInput/NoteInput.d.ts +2 -1
  131. package/lib/typescript/src/components/Nudge/Nudge.d.ts +2 -1
  132. package/lib/typescript/src/components/Numpad/Numpad.d.ts +2 -1
  133. package/lib/typescript/src/components/OTP/OTP.d.ts +3 -2
  134. package/lib/typescript/src/components/Overlay/Overlay.d.ts +52 -0
  135. package/lib/typescript/src/components/PageHero/PageHero.d.ts +2 -1
  136. package/lib/typescript/src/components/PaymentFeedback/PaymentFeedback.d.ts +2 -1
  137. package/lib/typescript/src/components/PlanComparisonCard/PlanComparisonCard.d.ts +2 -1
  138. package/lib/typescript/src/components/Popup/Popup.d.ts +2 -1
  139. package/lib/typescript/src/components/PortfolioHero/PortfolioHero.d.ts +2 -1
  140. package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +2 -1
  141. package/lib/typescript/src/components/ProductLabel/ProductLabel.d.ts +2 -1
  142. package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +2 -1
  143. package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +2 -1
  144. package/lib/typescript/src/components/Radio/Radio.d.ts +2 -1
  145. package/lib/typescript/src/components/RangeTrack/RangeTrack.d.ts +3 -2
  146. package/lib/typescript/src/components/RechargeCard/RechargeCard.d.ts +2 -1
  147. package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +2 -1
  148. package/lib/typescript/src/components/Screen/Screen.d.ts +2 -1
  149. package/lib/typescript/src/components/Section/Section.d.ts +3 -2
  150. package/lib/typescript/src/components/SegmentedControl/SegmentedControl.d.ts +2 -1
  151. package/lib/typescript/src/components/SegmentedTrack/SegmentedTrack.d.ts +4 -3
  152. package/lib/typescript/src/components/Slot/Slot.d.ts +2 -1
  153. package/lib/typescript/src/components/Spinner/Spinner.d.ts +2 -1
  154. package/lib/typescript/src/components/StatGroup/StatGroup.d.ts +2 -1
  155. package/lib/typescript/src/components/StatItem/StatItem.d.ts +2 -1
  156. package/lib/typescript/src/components/StatusHero/StatusHero.d.ts +2 -1
  157. package/lib/typescript/src/components/Stepper/Step.d.ts +2 -1
  158. package/lib/typescript/src/components/Stepper/StepLabel.d.ts +2 -1
  159. package/lib/typescript/src/components/Stepper/Stepper.d.ts +2 -1
  160. package/lib/typescript/src/components/StrengthIndicator/StrengthIndicator.d.ts +2 -1
  161. package/lib/typescript/src/components/SuggestiveSearch/SuggestiveSearch.d.ts +2 -1
  162. package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +2 -1
  163. package/lib/typescript/src/components/SupportText/SupportText.d.ts +2 -1
  164. package/lib/typescript/src/components/SupportText/SupportTextIcon.d.ts +2 -1
  165. package/lib/typescript/src/components/SwappableAmount/SwappableAmount.d.ts +2 -1
  166. package/lib/typescript/src/components/Tabs/TabItem.d.ts +2 -1
  167. package/lib/typescript/src/components/Tabs/Tabs.d.ts +2 -1
  168. package/lib/typescript/src/components/TestimonialsCard/TestimonialsCard.d.ts +2 -1
  169. package/lib/typescript/src/components/Text/Text.d.ts +2 -1
  170. package/lib/typescript/src/components/TextInput/TextInput.d.ts +3 -2
  171. package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +2 -1
  172. package/lib/typescript/src/components/Title/Title.d.ts +2 -1
  173. package/lib/typescript/src/components/Toast/Toast.d.ts +2 -1
  174. package/lib/typescript/src/components/Toast/ToastProvider.d.ts +2 -1
  175. package/lib/typescript/src/components/Toast/useToast.d.ts +3 -2
  176. package/lib/typescript/src/components/Toggle/Toggle.d.ts +2 -1
  177. package/lib/typescript/src/components/Tooltip/Tooltip.d.ts +2 -1
  178. package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +2 -1
  179. package/lib/typescript/src/components/TransactionDetails/TransactionDetails.d.ts +3 -2
  180. package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +2 -1
  181. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +2 -1
  182. package/lib/typescript/src/components/VStack/VStack.d.ts +2 -1
  183. package/lib/typescript/src/components/docs/modeControls.d.ts +28 -0
  184. package/lib/typescript/src/components/index.d.ts +1 -0
  185. package/lib/typescript/src/design-tokens/JFSThemeProvider.d.ts +4 -3
  186. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +264 -0
  187. package/lib/typescript/src/design-tokens/index.d.ts +1 -0
  188. package/lib/typescript/src/icons/registry.d.ts +1 -1
  189. package/lib/typescript/src/skeleton/Skeleton.d.ts +2 -1
  190. package/lib/typescript/src/utils/react-utils.d.ts +2 -1
  191. package/package.json +3 -2
  192. package/src/components/Accordion/Accordion.tsx +2 -1
  193. package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +2 -1
  194. package/src/components/AccountCard/AccountCard.tsx +2 -1
  195. package/src/components/ActionFooter/ActionFooter.tsx +2 -1
  196. package/src/components/ActionTile/ActionTile.tsx +2 -1
  197. package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +2 -1
  198. package/src/components/AmountInput/AmountInput.tsx +2 -1
  199. package/src/components/AppBar/AppBar.tsx +2 -1
  200. package/src/components/AreaLineChart/AreaLineChart.tsx +8 -7
  201. package/src/components/Attached/Attached.tsx +2 -1
  202. package/src/components/Avatar/Avatar.tsx +3 -2
  203. package/src/components/AvatarGroup/AvatarGroup.tsx +2 -1
  204. package/src/components/Badge/Badge.tsx +2 -1
  205. package/src/components/Balance/Balance.tsx +18 -12
  206. package/src/components/BottomNav/BottomNav.tsx +2 -1
  207. package/src/components/BottomNavItem/BottomNavItem.tsx +3 -2
  208. package/src/components/BrandChip/BrandChip.tsx +3 -2
  209. package/src/components/BubbleChart/BubbleChart.tsx +2 -1
  210. package/src/components/Button/Button.tsx +3 -2
  211. package/src/components/ButtonGroup/ButtonGroup.tsx +2 -1
  212. package/src/components/Card/Card.tsx +4 -3
  213. package/src/components/CardAdvisory/CardAdvisory.tsx +3 -2
  214. package/src/components/CardBankAccount/CardBankAccount.tsx +2 -1
  215. package/src/components/CardCTA/CardCTA.tsx +3 -2
  216. package/src/components/CardFeedback/CardFeedback.tsx +11 -10
  217. package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +3 -2
  218. package/src/components/CardInsight/CardInsight.tsx +2 -1
  219. package/src/components/CardProviderInfo/CardProviderInfo.tsx +2 -1
  220. package/src/components/Carousel/Carousel.tsx +5 -4
  221. package/src/components/Checkbox/Checkbox.tsx +2 -1
  222. package/src/components/CheckboxGroup/CheckboxGroup.tsx +2 -1
  223. package/src/components/CheckboxItem/CheckboxItem.tsx +2 -1
  224. package/src/components/ChipGroup/ChipGroup.tsx +2 -1
  225. package/src/components/ChipSelect/ChipSelect.tsx +2 -1
  226. package/src/components/CircularProgressBar/CircularProgressBar.tsx +2 -1
  227. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +2 -1
  228. package/src/components/CircularRating/CircularRating.tsx +3 -2
  229. package/src/components/ClusterBubble/ClusterBubble.tsx +2 -1
  230. package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +3 -2
  231. package/src/components/CoverageRing/CoverageRing.tsx +2 -1
  232. package/src/components/DebitCard/DebitCard.tsx +2 -1
  233. package/src/components/Disclaimer/Disclaimer.tsx +2 -1
  234. package/src/components/Divider/Divider.tsx +2 -1
  235. package/src/components/DonutChart/DonutChart.tsx +6 -5
  236. package/src/components/DonutChartSummary/DonutChartSummary.tsx +3 -2
  237. package/src/components/Drawer/Drawer.tsx +21 -1
  238. package/src/components/Dropdown/Dropdown.tsx +4 -3
  239. package/src/components/DropdownInput/DropdownInput.tsx +5 -4
  240. package/src/components/EmptyState/EmptyState.tsx +2 -1
  241. package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +2 -1
  242. package/src/components/FilterBar/FilterBar.tsx +3 -2
  243. package/src/components/Form/Form.tsx +2 -1
  244. package/src/components/FormField/FormField.tsx +3 -2
  245. package/src/components/FullscreenModal/FullscreenModal.tsx +68 -10
  246. package/src/components/Gauge/Gauge.tsx +2 -1
  247. package/src/components/HStack/HStack.tsx +2 -1
  248. package/src/components/HoldingsCard/HoldingsCard.tsx +2 -1
  249. package/src/components/Icon/Icon.tsx +3 -2
  250. package/src/components/IconButton/IconButton.tsx +3 -2
  251. package/src/components/IconCapsule/IconCapsule.tsx +3 -2
  252. package/src/components/Image/Image.tsx +29 -5
  253. package/src/components/InputSearch/InputSearch.tsx +3 -2
  254. package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -2
  255. package/src/components/LazyList/LazyList.tsx +2 -1
  256. package/src/components/LinearMeter/LinearMeter.tsx +3 -2
  257. package/src/components/LinearProgress/LinearProgress.tsx +2 -1
  258. package/src/components/ListGroup/ListGroup.tsx +2 -1
  259. package/src/components/ListItem/ListItem.tsx +3 -2
  260. package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +2 -1
  261. package/src/components/LottiePlayer/LottiePlayer.tsx +3 -2
  262. package/src/components/LottiePlayer/LottiePlayer.web.tsx +3 -2
  263. package/src/components/LottiePlayer/loadNativeLottieView.tsx +9 -13
  264. package/src/components/MediaCard/MediaCard.tsx +7 -6
  265. package/src/components/MerchantProfile/MerchantProfile.tsx +2 -1
  266. package/src/components/MessageField/MessageField.tsx +3 -2
  267. package/src/components/MetricLegendItem/MetricLegendItem.tsx +2 -1
  268. package/src/components/MoneyValue/MoneyValue.tsx +2 -1
  269. package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +5 -4
  270. package/src/components/NavArrow/NavArrow.tsx +3 -2
  271. package/src/components/NoteInput/NoteInput.tsx +2 -1
  272. package/src/components/Nudge/Nudge.tsx +3 -2
  273. package/src/components/Numpad/Numpad.tsx +2 -1
  274. package/src/components/OTP/OTP.tsx +3 -2
  275. package/src/components/Overlay/Overlay.tsx +114 -0
  276. package/src/components/PageHero/PageHero.tsx +2 -1
  277. package/src/components/PaymentFeedback/PaymentFeedback.tsx +2 -1
  278. package/src/components/PlanComparisonCard/PlanComparisonCard.tsx +2 -1
  279. package/src/components/Popup/Popup.tsx +2 -1
  280. package/src/components/PortfolioHero/PortfolioHero.tsx +2 -1
  281. package/src/components/PoweredByLabel/PoweredByLabel.tsx +2 -1
  282. package/src/components/ProductLabel/ProductLabel.tsx +2 -1
  283. package/src/components/ProductOverview/ProductOverview.tsx +2 -1
  284. package/src/components/ProgressBadge/ProgressBadge.tsx +2 -1
  285. package/src/components/Radio/Radio.tsx +2 -1
  286. package/src/components/RangeTrack/RangeTrack.tsx +3 -2
  287. package/src/components/RechargeCard/RechargeCard.tsx +2 -1
  288. package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +2 -1
  289. package/src/components/Screen/Screen.tsx +2 -1
  290. package/src/components/Section/Section.tsx +6 -5
  291. package/src/components/SegmentedControl/SegmentedControl.tsx +3 -2
  292. package/src/components/SegmentedTrack/SegmentedTrack.tsx +5 -4
  293. package/src/components/Slot/Slot.tsx +2 -1
  294. package/src/components/Spinner/Spinner.tsx +2 -1
  295. package/src/components/StatGroup/StatGroup.tsx +3 -2
  296. package/src/components/StatItem/StatItem.tsx +2 -1
  297. package/src/components/StatusHero/StatusHero.tsx +2 -1
  298. package/src/components/Stepper/Step.tsx +2 -1
  299. package/src/components/Stepper/StepLabel.tsx +2 -1
  300. package/src/components/Stepper/Stepper.tsx +2 -1
  301. package/src/components/StrengthIndicator/StrengthIndicator.tsx +2 -1
  302. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +4 -3
  303. package/src/components/SummaryTile/SummaryTile.tsx +2 -1
  304. package/src/components/SupportText/SupportText.tsx +2 -1
  305. package/src/components/SupportText/SupportTextIcon.tsx +2 -1
  306. package/src/components/SwappableAmount/SwappableAmount.tsx +2 -1
  307. package/src/components/Tabs/TabItem.tsx +2 -1
  308. package/src/components/Tabs/Tabs.tsx +2 -1
  309. package/src/components/TestimonialsCard/TestimonialsCard.tsx +2 -1
  310. package/src/components/Text/Text.tsx +2 -1
  311. package/src/components/TextInput/TextInput.tsx +3 -2
  312. package/src/components/ThreadHero/ThreadHero.tsx +2 -1
  313. package/src/components/Title/Title.tsx +2 -1
  314. package/src/components/Toast/Toast.tsx +2 -1
  315. package/src/components/Toast/ToastProvider.tsx +2 -1
  316. package/src/components/Toast/useToast.ts +3 -2
  317. package/src/components/Toggle/Toggle.tsx +2 -1
  318. package/src/components/Tooltip/Tooltip.tsx +3 -2
  319. package/src/components/TransactionBubble/TransactionBubble.tsx +2 -1
  320. package/src/components/TransactionDetails/TransactionDetails.tsx +3 -2
  321. package/src/components/TransactionStatus/TransactionStatus.tsx +3 -2
  322. package/src/components/UpiHandle/UpiHandle.tsx +3 -2
  323. package/src/components/VStack/VStack.tsx +2 -1
  324. package/src/components/docs/modeControls.tsx +122 -0
  325. package/src/components/index.ts +1 -0
  326. package/src/design-tokens/JFSThemeProvider.tsx +4 -3
  327. package/src/design-tokens/figma-modes.generated.ts +396 -0
  328. package/src/design-tokens/index.ts +1 -0
  329. package/src/icons/registry.ts +1 -1
  330. package/src/skeleton/Skeleton.tsx +2 -1
  331. package/src/utils/react-utils.ts +3 -2
@@ -0,0 +1,396 @@
1
+ /* eslint-disable */
2
+ // -----------------------------------------------------------------------------
3
+ // AUTO-GENERATED — DO NOT EDIT BY HAND.
4
+ //
5
+ // Regenerate with: node scripts/generate-mode-types.js
6
+ //
7
+ // Source of truth: src/design-tokens/Coin Variables-variables-full.json
8
+ //
9
+ // This file turns the Figma "collection -> modes" data into TypeScript so that
10
+ // the `modes` prop accepts ENUM-like, auto-completing values for BOTH the
11
+ // collection-name keys and the mode-name values — instead of raw strings.
12
+ //
13
+ // NOTE: mode/collection names are reproduced EXACTLY as they exist in Figma,
14
+ // including any typos (e.g. "Defult"). They MUST match the runtime resolver, so
15
+ // do not "fix" them here — fix them in Figma and re-export the JSON.
16
+ // -----------------------------------------------------------------------------
17
+
18
+ /**
19
+ * Every design-token collection and its available modes, keyed by the exact
20
+ * collection name used by the resolver and the `modes` prop.
21
+ */
22
+ export const FIGMA_MODES = {
23
+ "Accordion / Output": ["Default"],
24
+ "Accordion States": ["Idle", "Hover", "Open", "Open Hover", "Disabled"],
25
+ "AccordionCheckbox / Output": ["Default"],
26
+ "AccordionGroup / Output": ["Default"],
27
+ "AccountCard / Output": ["Default"],
28
+ "Action": ["True", "False"],
29
+ "ActionFooter / Output": ["Default"],
30
+ "ActionNumpad / Output": ["Default"],
31
+ "ActionTile / Output": ["Default"],
32
+ "Allocation Comparison Chart / Output": ["Default"],
33
+ "AmountInput / Output": ["Default"],
34
+ "AppBar.MainPage / Output": ["Default"],
35
+ "AppBar.SubPage/ Output": ["Default"],
36
+ "Appearance / DataViz": ["Primary", "Secondary", "Tertiary", "Quaternary", "Quinary", "Senary", "Neutral"],
37
+ "AppearanceBrand": ["Primary", "Secondary", "Neutral", "Tertiary"],
38
+ "AppearanceSystem": ["positive", "warning", "negative"],
39
+ "Attached / Output": ["Default"],
40
+ "Avatar / Output": ["Default"],
41
+ "Avatar Group / Output": ["Default"],
42
+ "Avatar Size": ["L", "M", "S"],
43
+ "Avatar Type": ["Avatar", "Icon", "Text"],
44
+ "Axis / Output": ["Default"],
45
+ "Background": ["False", "True"],
46
+ "Badge / Output": ["Default"],
47
+ "Balance / Output": ["Default"],
48
+ "BankAccountCard / Output": ["Default"],
49
+ "Benefit Card": ["Default"],
50
+ "Blur": ["Default"],
51
+ "bottomNav / Output": ["Default"],
52
+ "BottomNavItem / Output": ["Default"],
53
+ "BottomNavItem / State": ["Idle", "Active"],
54
+ "Brand": ["Jio Finance"],
55
+ "Brand Chip / Output": ["Default"],
56
+ "Button / Output": ["Default"],
57
+ "Button / Size": ["M", "S", "XS"],
58
+ "Button / State": ["Idle", "Hover", "Pressed", "Disabled"],
59
+ "ButtonGroup / Output": ["Default"],
60
+ "Calendar Glyph / Output": ["Default"],
61
+ "Calendar Glyph State": ["Idle", "notSaved", "saved"],
62
+ "Card / Output": ["Default"],
63
+ "Card Feedback / Output": ["Default"],
64
+ "Card.Media": ["Default"],
65
+ "Card/CTA / Output": ["Default"],
66
+ "Card/Insight": ["Mode 1"],
67
+ "Card/ProviderInfo / Output": ["Default"],
68
+ "CardAdvisory / Output": ["Default"],
69
+ "cardsShared": ["Default"],
70
+ "Carousel / Output": ["Default"],
71
+ "CarouselCardAccounts / Output": ["Default"],
72
+ "checkbox / Output": ["Default"],
73
+ "Checkbox / Output": ["Default"],
74
+ "Checkbox states": ["Idle", "Hover", "Focus", "Focus Selected", "Selected Hover", "Disabled/Active", "Disabled", "Selected"],
75
+ "CheckboxGroup / Output": ["Default"],
76
+ "CheckboxItem / Output": ["Default"],
77
+ "Chip / Output": ["Default"],
78
+ "Chip lineHeight": ["Default"],
79
+ "ChipGroup / Output": ["Default"],
80
+ "ChipSelect / Output": ["Default"],
81
+ "ChipSelect State": ["Idle", "Active"],
82
+ "Circular Progress Bar / Doted": ["Default"],
83
+ "Circular Rating / Output": ["Defult"],
84
+ "circularProgressBar / Output": ["Default"],
85
+ "circularProgressBar Size": ["S", "M"],
86
+ "clusterBubble / Output": ["Default"],
87
+ "Color Mode": ["Light", "Dark"],
88
+ "Confidence": ["High", "Medium", "Low", "None"],
89
+ "ContentSheet / Output": ["Default"],
90
+ "Context": ["Default", "Nudge&Alert", "CTACard", "ListItem"],
91
+ "Context2": ["Default", "AppBar"],
92
+ "Context3": ["Default", "Transaction Bubble", "Balance & Cards", "Amount Input"],
93
+ "Context4": ["Default", "Chip", "Button"],
94
+ "context5": ["Default", "Fullscreen Modal"],
95
+ "context7": ["Default", "Card"],
96
+ "Contrast Context": ["on dark", "on light"],
97
+ "Conversation Feed / Output": ["Default"],
98
+ "Coverage Bar Comparison / Output": ["Default"],
99
+ "CoverageRing / Output": ["Mode 1"],
100
+ "CTACard / Output": ["Default"],
101
+ "DataViz / Output": ["Default"],
102
+ "DebitCard / Output": ["Default"],
103
+ "DebitCard brand": ["JFS", "SBI"],
104
+ "DebitCardStack / Output": ["Default"],
105
+ "DetailItem / Output": ["Default"],
106
+ "Disclaimer / Output": ["Default"],
107
+ "Divider / Output": ["Default"],
108
+ "Donut Chart / Output": ["Default"],
109
+ "Drawer / Output": ["Default"],
110
+ "Dropdown / Output": ["Default"],
111
+ "Dropdown Item / Output": ["Default"],
112
+ "Dropdown Item State": ["Idle", "Selected"],
113
+ "Emphasis": ["High", "Medium", "Low"],
114
+ "Emphasis / DataViz": ["High", "Medium", "Low"],
115
+ "EmptyState / Output": ["Default"],
116
+ "ExpandableCheckbox / Output": ["Default"],
117
+ "Feedback / Output": ["Default"],
118
+ "filterBar / Output": ["Default"],
119
+ "FinancialConditionCard / Output": ["Default"],
120
+ "Form / Output": ["Default"],
121
+ "FormField / Output": ["Default"],
122
+ "FormField States": ["Idle", "Active", "Read Only", "Error", "Disabled"],
123
+ "FullScreenModal": ["Default"],
124
+ "Gap": ["S", "M", "L", "None"],
125
+ "Gauge / Output": ["Default"],
126
+ "Heading / Output": ["Default"],
127
+ "Heading text": ["Default", "Slot"],
128
+ "Holdings card / Output": ["Default"],
129
+ "HStack / Output": ["Default"],
130
+ "Icon / Output": ["Default"],
131
+ "Icon Button / Output": ["Default"],
132
+ "Icon Capsule / Output": ["Default"],
133
+ "Icon Capsule Size": ["M", "L", "S"],
134
+ "Image / Output": ["Default"],
135
+ "Input / Output": ["Default"],
136
+ "Input/PINSlot States": ["Idle", "Active", "Error"],
137
+ "Input/PINSlot / Output": ["Default"],
138
+ "InputField / Output": ["Default"],
139
+ "InputState": ["Idle", "Active"],
140
+ "Institution Badge / Output": ["Default"],
141
+ "isActive": ["False", "True"],
142
+ "lazyList / Output": ["Default"],
143
+ "LinearMeter / Output": ["Default"],
144
+ "LinearProgress / Output": ["Default"],
145
+ "LinearProgress Size": ["M", "L"],
146
+ "Link / Output": ["Default"],
147
+ "List Item / Output": ["Default"],
148
+ "List Item Style": ["Default", "Boxed", "Minimal"],
149
+ "listGroup / Output": ["Default"],
150
+ "ListItem State": ["Idle", "Active"],
151
+ "LottieIntroBlock / Output": ["Default"],
152
+ "Media / Output": ["L", "M", "S"],
153
+ "MediaBlock": ["IconCapsule", "Image"],
154
+ "MerchantProfile / Output": ["Default"],
155
+ "Message Direction": ["Incoming (Left)", "Outgoing (Right)"],
156
+ "Message Row / Output": ["Default"],
157
+ "MessageField / Output": ["Default"],
158
+ "MetricLegendItem / Output": ["Default"],
159
+ "Money Value / Output": ["Default"],
160
+ "MonthlyStatusGrid / Output": ["Default"],
161
+ "Multipliers": ["Idle"],
162
+ "NavArrow": ["Default"],
163
+ "NavArrow / Output": ["Default"],
164
+ "NavArrow Direction": ["Left&Right", "Top&Bottom"],
165
+ "NoteInput / Output": ["Default"],
166
+ "Nudge / Output": ["Default"],
167
+ "Nudge padding": ["Default", "None"],
168
+ "Numpad / Output": ["Default"],
169
+ "OTP / Output": ["Mode 1"],
170
+ "Overlay / Output": ["Mode 1"],
171
+ "Padding": ["Default", "None"],
172
+ "Page type": ["MainPage", "SubPage", "JioPlus"],
173
+ "PageHero / Output": ["Default"],
174
+ "PaymnetFeedback / Output": ["Default"],
175
+ "peekOffset": ["Medium", "Small", "Large", "None"],
176
+ "Placement": ["Prefix", "Suffix"],
177
+ "PlanComparisonCard / Output": ["Default"],
178
+ "Popup / Output": ["Default"],
179
+ "PortfolioHero / Output": ["Default"],
180
+ "PoweredByLabel": ["Default"],
181
+ "ProductLabel / Output": ["Default"],
182
+ "ProductOverview / Output": ["Default"],
183
+ "ProgressBadge / Output": ["Default"],
184
+ "QR code / Output": ["Idle"],
185
+ "Radio / Output": ["Default"],
186
+ "Radius": ["S", "M", "L", "None"],
187
+ "RangeTrack / Output": ["Default"],
188
+ "RechargeCard / Output": ["Default"],
189
+ "rotfl": ["Default"],
190
+ "SavingsGoalSummary / Output": ["Default"],
191
+ "Screen / Output": ["Default"],
192
+ "SearchFilterBar / Output": ["Default"],
193
+ "Section / Output": ["Defult"],
194
+ "SectionBentoGrid / Output": ["Default"],
195
+ "Segment Indicator / Output": ["Default"],
196
+ "SegmentedControl / Output": ["Default"],
197
+ "SegmentedControl/Segment": ["Idle", "Active"],
198
+ "SegmentedControl/Segment / Output": ["Default"],
199
+ "SegmentedTrack / Output": ["Default"],
200
+ "Selectable": ["False", "True"],
201
+ "Semantic Intent": ["Brand", "System"],
202
+ "Skeleton": ["Mode 1"],
203
+ "Slot gap": ["S", "M", "L", "XL"],
204
+ "special button": ["Default"],
205
+ "Spinner / Output": ["Default"],
206
+ "statGroup / Output": ["Default"],
207
+ "StatItem / Output": ["Default"],
208
+ "StatItem Label Position ": ["Top", "Bottom"],
209
+ "Status": ["Auto", "Warning", "Error", "Success", "Loading", "Neutral"],
210
+ "StatusHero / Output": ["Default"],
211
+ "Step Indicator / Output": ["Default"],
212
+ "Step Status": ["active", "inactive", "complete", "error", "warning"],
213
+ "Steper Item / Output": ["Default"],
214
+ "Stepper / Output": ["Default"],
215
+ "StrengthIndicator / Output": ["Default"],
216
+ "Sufix": ["False", "True"],
217
+ "SummaryTile / Output": ["Default"],
218
+ "SupportText / Output": ["Default"],
219
+ "Swappable subComponent / Output": ["Default"],
220
+ "SwappableAmount / Output": ["Default"],
221
+ "tabItem / Output": ["Default"],
222
+ "Tabs / Output": ["Default"],
223
+ "Text / Output": ["Default"],
224
+ "textInput / Output": ["Default"],
225
+ "Thread Hero / Output": ["Default"],
226
+ "Title / Output": ["Default"],
227
+ "Title Level": ["Default", "Bold"],
228
+ "Toggle / Output": ["Default"],
229
+ "Toggle States": ["Off", "On", "Disabled Off", "Disabled On"],
230
+ "ToggleIconButton / Output": ["Default"],
231
+ "tooltip / Output": ["Default"],
232
+ "Tost Output": ["Default"],
233
+ "Transaction Status": ["Request", "Paid", "Declined", "Expired"],
234
+ "Transaction Status / Output": ["Default"],
235
+ "TransactionBubble / Output": ["Default"],
236
+ "TransationDetails / Output": ["Default"],
237
+ "UPI Handle / Output": ["Default"],
238
+ "ValueBar / Output": ["Default"],
239
+ "VStack / Output": ["Default"],
240
+ "Weight": ["Medium", "Regular", "Bold"],
241
+ } as const;
242
+
243
+ /**
244
+ * Multi-mode collections each component actually uses (derived from the token
245
+ * tracing in `.token-metadata.json`). Drives the per-component Storybook mode
246
+ * select controls. Empty until `extract-component-tokens.js` has run.
247
+ */
248
+ export const FIGMA_COMPONENT_MODES: Record<string, readonly string[]> = {
249
+ "Accordion": ["Accordion States"],
250
+ "AccordionCheckbox": ["Color Mode"],
251
+ "AccountCard": ["AppearanceBrand", "Button / Size", "Button / State", "Color Mode", "Emphasis"],
252
+ "ActionFooter": ["Color Mode", "context5"],
253
+ "ActionTile": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context", "Emphasis", "Icon Capsule Size", "Semantic Intent"],
254
+ "AllocationComparisonChart": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
255
+ "AmountInput": ["Color Mode", "Context3"],
256
+ "AppBar": ["Color Mode", "Context2", "context5", "NavArrow Direction", "Page type"],
257
+ "AreaLineChart": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
258
+ "Attached": ["Color Mode"],
259
+ "Avatar": ["Avatar Size", "Color Mode", "Context4"],
260
+ "AvatarGroup": ["Avatar Size", "Context4"],
261
+ "Badge": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Emphasis", "Semantic Intent"],
262
+ "Balance": ["Color Mode", "Context3"],
263
+ "BottomNav": ["Color Mode"],
264
+ "BottomNavItem": ["BottomNavItem / State", "Color Mode"],
265
+ "BrandChip": ["Avatar Size", "Color Mode", "Context4"],
266
+ "BubbleChart": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
267
+ "Button": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Semantic Intent"],
268
+ "Card": ["Color Mode", "Gap", "Page type"],
269
+ "CardAdvisory": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "circularProgressBar Size", "Color Mode", "Context", "Emphasis", "Nudge padding", "Semantic Intent", "Slot gap"],
270
+ "CardBankAccount": ["AppearanceBrand", "AppearanceSystem", "Avatar Size", "Button / Size", "Button / State", "Color Mode", "Context", "Context4", "context5", "Emphasis", "List Item Style", "Semantic Intent", "Weight"],
271
+ "CardCTA": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Icon Capsule Size", "MediaBlock", "Semantic Intent"],
272
+ "CardFeedback": ["AppearanceBrand", "AppearanceSystem", "Color Mode"],
273
+ "CardFinancialCondition": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "circularProgressBar Size", "Color Mode", "Context", "Emphasis", "Nudge padding", "Semantic Intent", "Slot gap"],
274
+ "CardInsight": ["Appearance / DataViz", "AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "context7", "Emphasis", "Emphasis / DataViz", "LinearProgress Size", "Nudge padding", "Page type", "Semantic Intent", "Slot gap"],
275
+ "CardProviderInfo": ["AppearanceBrand", "Avatar Size", "Color Mode", "Context4"],
276
+ "Carousel": ["peekOffset"],
277
+ "Checkbox": ["Color Mode"],
278
+ "CheckboxGroup": ["Color Mode"],
279
+ "CheckboxItem": ["Color Mode"],
280
+ "ChipSelect": ["ChipSelect State", "Color Mode"],
281
+ "CircularProgressBar": ["AppearanceBrand", "AppearanceSystem", "circularProgressBar Size", "Color Mode", "Emphasis", "Semantic Intent"],
282
+ "CircularRating": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Nudge padding", "Semantic Intent", "Slot gap"],
283
+ "ClusterBubble": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
284
+ "CoverageBarComparison": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
285
+ "CoverageRing": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "circularProgressBar Size", "Color Mode", "Context", "Emphasis", "Semantic Intent"],
286
+ "DebitCard": ["DebitCard brand"],
287
+ "Disclaimer": ["Color Mode", "context5"],
288
+ "Divider": ["Color Mode"],
289
+ "DonutChart": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
290
+ "DonutChartSummary": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
291
+ "Drawer": ["Color Mode", "Page type"],
292
+ "Dropdown": ["Dropdown Item State"],
293
+ "DropdownInput": ["AppearanceBrand", "Button / State", "Color Mode", "Dropdown Item State", "Emphasis", "FormField States", "Status"],
294
+ "EmptyState": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Icon Capsule Size", "Semantic Intent"],
295
+ "ExpandableCheckbox": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Semantic Intent"],
296
+ "FilterBar": ["Color Mode", "InputState"],
297
+ "FormField": ["Color Mode", "FormField States", "Status"],
298
+ "FullscreenModal": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "context5", "Emphasis", "Semantic Intent", "Slot gap"],
299
+ "Gauge": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "FormField States", "Semantic Intent", "Status"],
300
+ "HoldingsCard": ["AppearanceBrand", "Color Mode"],
301
+ "HStack": ["Context", "Padding", "Page type", "Slot gap"],
302
+ "Icon": ["AppearanceBrand", "Color Mode"],
303
+ "IconButton": ["AppearanceBrand", "Button / Size", "Button / State", "Color Mode", "Emphasis"],
304
+ "IconCapsule": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context", "Emphasis", "Icon Capsule Size", "Semantic Intent"],
305
+ "InputSearch": ["Color Mode", "FormField States", "InputState", "Status"],
306
+ "InstitutionBadge": ["Avatar Size", "Context4"],
307
+ "LinearMeter": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context3", "Emphasis", "LinearProgress Size", "Semantic Intent"],
308
+ "LinearProgress": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Emphasis", "LinearProgress Size", "Semantic Intent"],
309
+ "ListGroup": ["Color Mode", "List Item Style", "Title Level"],
310
+ "ListItem": ["AppearanceBrand", "Color Mode", "Context2", "context5", "List Item Style", "NavArrow Direction", "Page type"],
311
+ "LottieIntroBlock": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Semantic Intent"],
312
+ "LottiePlayer": ["Media / Output"],
313
+ "MediaCard": ["Contrast Context"],
314
+ "MerchantProfile": ["Avatar Size", "Color Mode", "Context4"],
315
+ "MessageField": ["Color Mode", "FormField States"],
316
+ "MetricLegendItem": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
317
+ "MoneyValue": ["Color Mode", "Context3"],
318
+ "MonthlyStatusGrid": ["Appearance / DataViz", "Calendar Glyph State", "Color Mode", "Emphasis / DataViz"],
319
+ "NavArrow": ["Color Mode", "Context2", "context5", "NavArrow Direction", "Page type"],
320
+ "Nudge": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Nudge padding", "Semantic Intent", "Slot gap"],
321
+ "OTP": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "FormField States", "Input/PINSlot States", "Semantic Intent", "Status"],
322
+ "PageHero": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Media / Output", "Semantic Intent"],
323
+ "PaymentFeedback": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context", "Emphasis", "Icon Capsule Size", "Semantic Intent"],
324
+ "PlanComparisonCard": ["Color Mode"],
325
+ "Popup": ["Color Mode", "Context", "Padding", "Page type", "Slot gap"],
326
+ "PortfolioHero": ["Avatar Size", "Color Mode", "Context3", "Context4"],
327
+ "ProductLabel": ["Avatar Size", "Color Mode", "Context4"],
328
+ "ProductOverview": ["Avatar Size", "Color Mode", "Context4"],
329
+ "Radio": ["Color Mode"],
330
+ "RangeTrack": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
331
+ "RechargeCard": ["Avatar Size", "Color Mode", "Context3", "Context4"],
332
+ "SavingsGoalSummary": ["Appearance / DataViz", "AppearanceBrand", "AppearanceSystem", "Color Mode", "context7", "Emphasis", "Emphasis / DataViz", "LinearProgress Size", "Page type", "Semantic Intent"],
333
+ "Screen": ["Color Mode", "Page type"],
334
+ "Section": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context", "Context2", "context5", "Emphasis", "Icon Capsule Size", "List Item Style", "NavArrow Direction", "Padding", "Page type", "Semantic Intent", "Slot gap"],
335
+ "SegmentedControl": ["SegmentedControl/Segment"],
336
+ "SegmentedTrack": ["Appearance / DataViz", "Color Mode", "Emphasis / DataViz"],
337
+ "Slot": ["Context", "Slot gap"],
338
+ "StatGroup": ["Color Mode", "StatItem Label Position "],
339
+ "StatItem": ["StatItem Label Position "],
340
+ "StatusHero": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Context", "Context3", "Emphasis", "Icon Capsule Size", "Semantic Intent"],
341
+ "Step": ["Color Mode", "Step Status"],
342
+ "StepLabel": ["AppearanceBrand", "AppearanceSystem", "Color Mode", "Emphasis", "Semantic Intent"],
343
+ "SuggestiveSearch": ["Color Mode", "Dropdown Item State", "FormField States", "Status"],
344
+ "SummaryTile": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Context2", "context5", "Emphasis", "NavArrow Direction", "Page type", "Semantic Intent"],
345
+ "SupportText": ["Color Mode", "FormField States", "Status"],
346
+ "SupportTextIcon": ["Color Mode", "FormField States", "Status"],
347
+ "SwappableAmount": ["AppearanceBrand", "AppearanceSystem", "Button / Size", "Button / State", "Color Mode", "Context", "Emphasis", "Semantic Intent"],
348
+ "TabItem": ["Color Mode"],
349
+ "TestimonialsCard": ["Avatar Size", "Color Mode", "Context4"],
350
+ "Text": ["Weight"],
351
+ "TextInput": ["Color Mode", "InputState"],
352
+ "Title": ["Color Mode", "context7", "Page type"],
353
+ "Toggle": ["Color Mode", "Toggle States"],
354
+ "Tooltip": ["Color Mode"],
355
+ "TransactionBubble": ["Color Mode", "Context2", "Context3", "context5", "NavArrow Direction", "Page type", "Transaction Status"],
356
+ "TransactionStatus": ["Transaction Status"],
357
+ "UpiHandle": ["Color Mode"],
358
+ "VStack": ["Context", "Padding", "Page type", "Slot gap"],
359
+ };
360
+
361
+ /**
362
+ * Allow the known literal values to drive autocomplete while still accepting any
363
+ * `string` — this keeps the typing fully backward compatible with dynamically
364
+ * computed / forced mode values.
365
+ */
366
+ type LiteralUnion<T extends string> = T | (string & {});
367
+
368
+ /** Union of every valid collection name (the keys of a `modes` object). */
369
+ export type CollectionName = keyof typeof FIGMA_MODES;
370
+
371
+ /** Valid mode names for a given collection. */
372
+ export type ModeOf<C extends CollectionName> = (typeof FIGMA_MODES)[C][number];
373
+
374
+ /**
375
+ * The typed `modes` prop. Known collection-name keys and their mode values
376
+ * drive autocomplete, while an index signature (plus `boolean`/`number` values)
377
+ * keeps it fully backward compatible with dynamically-built, forced, or legacy
378
+ * `modes` objects — nothing that compiled before starts failing.
379
+ *
380
+ * @example
381
+ * const modes: Modes = { 'Color Mode': 'Dark', 'Page type': 'JioPlus' }
382
+ */
383
+ export type Modes = {
384
+ [K in CollectionName]?: LiteralUnion<ModeOf<K>> | boolean | number;
385
+ } & {
386
+ [collection: string]: string | boolean | number | undefined;
387
+ };
388
+
389
+ /**
390
+ * Strict variant: only real collection-name keys and exact mode values are
391
+ * allowed (no `string` escape hatch, no unknown keys). Opt in when you want
392
+ * typos in mode keys/values to be a compile error.
393
+ */
394
+ export type StrictModes = {
395
+ [K in CollectionName]?: ModeOf<K>;
396
+ };
@@ -1,2 +1,3 @@
1
1
  export * from './figma-variables-resolver';
2
2
  export * from './JFSThemeProvider';
3
+ export * from './figma-modes.generated';
@@ -4,7 +4,7 @@
4
4
  * Auto-generated from SVG files in src/icons/
5
5
  * DO NOT EDIT MANUALLY - Run "npm run icons:generate" to regenerate
6
6
  *
7
- * Generated: 2026-06-09T13:55:40.250Z
7
+ * Generated: 2026-06-10T14:28:21.260Z
8
8
  */
9
9
 
10
10
  // Icon name to SVG data mapping
@@ -27,6 +27,7 @@ import {
27
27
  type SkeletonKind,
28
28
  } from './shimmer-tokens'
29
29
  import { useSkeleton, useStaggerIndex } from './SkeletonGroup'
30
+ import type { Modes } from '../design-tokens'
30
31
 
31
32
  export interface SkeletonProps {
32
33
  /**
@@ -48,7 +49,7 @@ export interface SkeletonProps {
48
49
  * Modes for token resolution (forwarded to `getVariableByName`). Most
49
50
  * consumers can omit this — defaults work for every standard mode.
50
51
  */
51
- modes?: Record<string, any>;
52
+ modes?: Modes;
52
53
  }
53
54
 
54
55
  // Solid-white overlay used by reduced-motion mode (also acts as the safe
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { Modes } from '../design-tokens'
2
3
 
3
4
  /**
4
5
  * A shared, frozen empty modes object.
@@ -22,8 +23,8 @@ export const EMPTY_MODES: Readonly<Record<string, any>> = Object.freeze({});
22
23
  */
23
24
  export function cloneChildrenWithModes(
24
25
  children: React.ReactNode,
25
- modes: Record<string, any>,
26
- forcedModes?: Record<string, any>
26
+ modes: Modes,
27
+ forcedModes?: Modes
27
28
  ): React.ReactNode[] {
28
29
  const result: React.ReactNode[] = [];
29
30