jfs-components 0.1.2 → 0.1.12

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 (287) hide show
  1. package/CHANGELOG.md +45 -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/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
  6. package/lib/commonjs/components/AmountInput/AmountInput.js +8 -5
  7. package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +11 -7
  8. package/lib/commonjs/components/Badge/Badge.js +47 -8
  9. package/lib/commonjs/components/BenefitCard/BenefitCard.js +231 -0
  10. package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
  11. package/lib/commonjs/components/Button/Button.js +2 -1
  12. package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +2 -1
  13. package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
  14. package/lib/commonjs/components/CardCTA/CardCTA.js +197 -27
  15. package/lib/commonjs/components/CardInsight/CardInsight.js +5 -1
  16. package/lib/commonjs/components/CcCard/CcCard.js +470 -0
  17. package/lib/commonjs/components/Checkbox/Checkbox.js +4 -3
  18. package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +4 -3
  19. package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +7 -3
  20. package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +3 -2
  21. package/lib/commonjs/components/CircularRating/CircularRating.js +2 -1
  22. package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
  23. package/lib/commonjs/components/CompareTable/CompareTable.js +401 -0
  24. package/lib/commonjs/components/ComparisonBar/ComparisonBar.js +266 -0
  25. package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
  26. package/lib/commonjs/components/DonutChart/DonutChart.js +4 -3
  27. package/lib/commonjs/components/Dropdown/Dropdown.js +3 -2
  28. package/lib/commonjs/components/DropdownInput/DropdownInput.js +38 -5
  29. package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  30. package/lib/commonjs/components/FormField/FormField.js +45 -4
  31. package/lib/commonjs/components/Gauge/Gauge.js +1 -1
  32. package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +3 -2
  33. package/lib/commonjs/components/InputSearch/InputSearch.js +6 -4
  34. package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +2 -1
  35. package/lib/commonjs/components/ListGroup/ListGroup.js +2 -1
  36. package/lib/commonjs/components/ListItem/ListItem.js +3 -2
  37. package/lib/commonjs/components/MediaCard/MediaCard.js +4 -2
  38. package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
  39. package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
  40. package/lib/commonjs/components/NoteInput/NoteInput.js +6 -5
  41. package/lib/commonjs/components/PdpCcCard/PdpCcCard.js +273 -0
  42. package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
  43. package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +427 -0
  44. package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
  45. package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +2 -2
  46. package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +162 -0
  47. package/lib/commonjs/components/Radio/Radio.js +5 -5
  48. package/lib/commonjs/components/Section/Section.js +3 -2
  49. package/lib/commonjs/components/Slider/Slider.js +474 -0
  50. package/lib/commonjs/components/Stack/Stack.js +86 -0
  51. package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
  52. package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
  53. package/lib/commonjs/components/Table/Table.js +324 -0
  54. package/lib/commonjs/components/Text/Text.js +2 -1
  55. package/lib/commonjs/components/TextInput/TextInput.js +22 -9
  56. package/lib/commonjs/components/TextSegment/TextSegment.js +119 -0
  57. package/lib/commonjs/components/ThreadHero/ThreadHero.js +4 -5
  58. package/lib/commonjs/components/Title/Title.js +2 -1
  59. package/lib/commonjs/components/Toast/Toast.js +3 -2
  60. package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +2 -1
  61. package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +3 -2
  62. package/lib/commonjs/components/UpiHandle/UpiHandle.js +2 -2
  63. package/lib/commonjs/components/index.js +107 -0
  64. package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
  65. package/lib/commonjs/design-tokens/figma-modes.generated.js +39 -9
  66. package/lib/commonjs/icons/registry.js +1 -1
  67. package/lib/commonjs/utils/GlassFill/GlassFill.js +271 -0
  68. package/lib/commonjs/utils/GlassFill/GlassFill.web.js +120 -0
  69. package/lib/commonjs/utils/react-utils.js +78 -0
  70. package/lib/commonjs/utils/web-platform-utils.js +59 -0
  71. package/lib/module/components/Accordion/Accordion.js +3 -2
  72. package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
  73. package/lib/module/components/AccountCard/AccountCard.js +5 -4
  74. package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
  75. package/lib/module/components/AmountInput/AmountInput.js +6 -4
  76. package/lib/module/components/AreaLineChart/AreaLineChart.js +12 -8
  77. package/lib/module/components/Badge/Badge.js +49 -10
  78. package/lib/module/components/BenefitCard/BenefitCard.js +225 -0
  79. package/lib/module/components/BrandChip/BrandChip.js +4 -4
  80. package/lib/module/components/Button/Button.js +3 -2
  81. package/lib/module/components/CardAdvisory/CardAdvisory.js +3 -2
  82. package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
  83. package/lib/module/components/CardCTA/CardCTA.js +198 -28
  84. package/lib/module/components/CardInsight/CardInsight.js +5 -1
  85. package/lib/module/components/CcCard/CcCard.js +464 -0
  86. package/lib/module/components/Checkbox/Checkbox.js +5 -4
  87. package/lib/module/components/CheckboxItem/CheckboxItem.js +5 -4
  88. package/lib/module/components/CircularProgressBar/CircularProgressBar.js +8 -4
  89. package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +4 -3
  90. package/lib/module/components/CircularRating/CircularRating.js +3 -2
  91. package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
  92. package/lib/module/components/CompareTable/CompareTable.js +396 -0
  93. package/lib/module/components/ComparisonBar/ComparisonBar.js +260 -0
  94. package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
  95. package/lib/module/components/DonutChart/DonutChart.js +5 -4
  96. package/lib/module/components/Dropdown/Dropdown.js +4 -3
  97. package/lib/module/components/DropdownInput/DropdownInput.js +40 -7
  98. package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
  99. package/lib/module/components/FormField/FormField.js +48 -7
  100. package/lib/module/components/Gauge/Gauge.js +1 -1
  101. package/lib/module/components/HoldingsCard/HoldingsCard.js +4 -3
  102. package/lib/module/components/InputSearch/InputSearch.js +6 -4
  103. package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -2
  104. package/lib/module/components/ListGroup/ListGroup.js +3 -2
  105. package/lib/module/components/ListItem/ListItem.js +4 -3
  106. package/lib/module/components/MediaCard/MediaCard.js +4 -2
  107. package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
  108. package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
  109. package/lib/module/components/NoteInput/NoteInput.js +7 -6
  110. package/lib/module/components/PdpCcCard/PdpCcCard.js +267 -0
  111. package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
  112. package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +421 -0
  113. package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
  114. package/lib/module/components/ProgressBadge/ProgressBadge.js +3 -3
  115. package/lib/module/components/ProjectionMarker/ProjectionMarker.js +157 -0
  116. package/lib/module/components/Radio/Radio.js +5 -4
  117. package/lib/module/components/Section/Section.js +4 -3
  118. package/lib/module/components/Slider/Slider.js +469 -0
  119. package/lib/module/components/Stack/Stack.js +81 -0
  120. package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
  121. package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
  122. package/lib/module/components/Table/Table.js +315 -0
  123. package/lib/module/components/Text/Text.js +3 -2
  124. package/lib/module/components/TextInput/TextInput.js +24 -11
  125. package/lib/module/components/TextSegment/TextSegment.js +114 -0
  126. package/lib/module/components/ThreadHero/ThreadHero.js +5 -6
  127. package/lib/module/components/Title/Title.js +3 -2
  128. package/lib/module/components/Toast/Toast.js +4 -3
  129. package/lib/module/components/TransactionBubble/TransactionBubble.js +3 -2
  130. package/lib/module/components/TransactionStatus/TransactionStatus.js +4 -3
  131. package/lib/module/components/UpiHandle/UpiHandle.js +3 -3
  132. package/lib/module/components/index.js +11 -0
  133. package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
  134. package/lib/module/design-tokens/figma-modes.generated.js +39 -9
  135. package/lib/module/icons/registry.js +1 -1
  136. package/lib/module/utils/GlassFill/GlassFill.js +265 -0
  137. package/lib/module/utils/GlassFill/GlassFill.web.js +115 -0
  138. package/lib/module/utils/react-utils.js +75 -0
  139. package/lib/module/utils/web-platform-utils.js +58 -0
  140. package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
  141. package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
  142. package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
  143. package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
  144. package/lib/typescript/src/components/AmountInput/AmountInput.d.ts +3 -2
  145. package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
  146. package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
  147. package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +93 -0
  148. package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
  149. package/lib/typescript/src/components/Button/Button.d.ts +7 -1
  150. package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
  151. package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
  152. package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
  153. package/lib/typescript/src/components/CcCard/CcCard.d.ts +137 -0
  154. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +3 -2
  155. package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +2 -2
  156. package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +7 -1
  157. package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
  158. package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
  159. package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
  160. package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +94 -0
  161. package/lib/typescript/src/components/ComparisonBar/ComparisonBar.d.ts +118 -0
  162. package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
  163. package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
  164. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
  165. package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +26 -1
  166. package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
  167. package/lib/typescript/src/components/FormField/FormField.d.ts +2 -2
  168. package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
  169. package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +23 -2
  170. package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
  171. package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
  172. package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
  173. package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
  174. package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
  175. package/lib/typescript/src/components/NoteInput/NoteInput.d.ts +19 -2
  176. package/lib/typescript/src/components/PdpCcCard/PdpCcCard.d.ts +84 -0
  177. package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
  178. package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +87 -0
  179. package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
  180. package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
  181. package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +88 -0
  182. package/lib/typescript/src/components/Radio/Radio.d.ts +3 -2
  183. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +2 -2
  184. package/lib/typescript/src/components/Section/Section.d.ts +7 -1
  185. package/lib/typescript/src/components/Slider/Slider.d.ts +105 -0
  186. package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
  187. package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
  188. package/lib/typescript/src/components/Table/Table.d.ts +139 -0
  189. package/lib/typescript/src/components/Text/Text.d.ts +7 -1
  190. package/lib/typescript/src/components/TextInput/TextInput.d.ts +9 -29
  191. package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +106 -0
  192. package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
  193. package/lib/typescript/src/components/Title/Title.d.ts +7 -1
  194. package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
  195. package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
  196. package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
  197. package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
  198. package/lib/typescript/src/components/index.d.ts +14 -3
  199. package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +22 -2
  200. package/lib/typescript/src/icons/registry.d.ts +1 -1
  201. package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +84 -0
  202. package/lib/typescript/src/utils/GlassFill/GlassFill.web.d.ts +43 -0
  203. package/lib/typescript/src/utils/react-utils.d.ts +47 -0
  204. package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
  205. package/package.json +2 -1
  206. package/src/components/Accordion/Accordion.tsx +9 -2
  207. package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
  208. package/src/components/AccountCard/AccountCard.tsx +10 -3
  209. package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
  210. package/src/components/AmountInput/AmountInput.tsx +7 -5
  211. package/src/components/AreaLineChart/AreaLineChart.tsx +15 -5
  212. package/src/components/Badge/Badge.tsx +78 -8
  213. package/src/components/BenefitCard/BenefitCard.tsx +309 -0
  214. package/src/components/BrandChip/BrandChip.tsx +9 -3
  215. package/src/components/Button/Button.tsx +9 -2
  216. package/src/components/CardAdvisory/CardAdvisory.tsx +9 -2
  217. package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
  218. package/src/components/CardCTA/CardCTA.tsx +214 -41
  219. package/src/components/CardInsight/CardInsight.tsx +7 -1
  220. package/src/components/CcCard/CcCard.tsx +598 -0
  221. package/src/components/Checkbox/Checkbox.tsx +5 -4
  222. package/src/components/CheckboxItem/CheckboxItem.tsx +5 -4
  223. package/src/components/CircularProgressBar/CircularProgressBar.tsx +14 -4
  224. package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +10 -3
  225. package/src/components/CircularRating/CircularRating.tsx +9 -2
  226. package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
  227. package/src/components/CompareTable/CompareTable.tsx +525 -0
  228. package/src/components/ComparisonBar/ComparisonBar.tsx +356 -0
  229. package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
  230. package/src/components/DonutChart/DonutChart.tsx +10 -3
  231. package/src/components/Dropdown/Dropdown.tsx +9 -2
  232. package/src/components/DropdownInput/DropdownInput.tsx +64 -5
  233. package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
  234. package/src/components/FormField/FormField.tsx +52 -6
  235. package/src/components/Gauge/Gauge.tsx +1 -1
  236. package/src/components/HoldingsCard/HoldingsCard.tsx +9 -2
  237. package/src/components/InputSearch/InputSearch.tsx +8 -5
  238. package/src/components/InstitutionBadge/InstitutionBadge.tsx +9 -2
  239. package/src/components/ListGroup/ListGroup.tsx +9 -2
  240. package/src/components/ListItem/ListItem.tsx +10 -3
  241. package/src/components/MediaCard/MediaCard.tsx +2 -2
  242. package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
  243. package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
  244. package/src/components/NoteInput/NoteInput.tsx +8 -6
  245. package/src/components/PdpCcCard/PdpCcCard.tsx +356 -0
  246. package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
  247. package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +490 -0
  248. package/src/components/ProductOverview/ProductOverview.tsx +10 -3
  249. package/src/components/ProgressBadge/ProgressBadge.tsx +9 -3
  250. package/src/components/ProjectionMarker/ProjectionMarker.tsx +284 -0
  251. package/src/components/Radio/Radio.tsx +5 -4
  252. package/src/components/Section/Section.tsx +10 -3
  253. package/src/components/Slider/Slider.tsx +635 -0
  254. package/src/components/Stack/Stack.tsx +131 -0
  255. package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -1
  256. package/src/components/SummaryTile/SummaryTile.tsx +9 -2
  257. package/src/components/Table/Table.tsx +449 -0
  258. package/src/components/Text/Text.tsx +9 -2
  259. package/src/components/TextInput/TextInput.tsx +22 -12
  260. package/src/components/TextSegment/TextSegment.tsx +173 -0
  261. package/src/components/ThreadHero/ThreadHero.tsx +10 -3
  262. package/src/components/Title/Title.tsx +9 -2
  263. package/src/components/Toast/Toast.tsx +9 -2
  264. package/src/components/TransactionBubble/TransactionBubble.tsx +9 -2
  265. package/src/components/TransactionStatus/TransactionStatus.tsx +9 -2
  266. package/src/components/UpiHandle/UpiHandle.tsx +9 -3
  267. package/src/components/index.ts +33 -3
  268. package/src/design-tokens/Coin Variables-variables-full.json +1 -1
  269. package/src/design-tokens/figma-modes.generated.ts +39 -9
  270. package/src/icons/registry.ts +1 -1
  271. package/src/utils/GlassFill/GlassFill.tsx +305 -0
  272. package/src/utils/GlassFill/GlassFill.web.tsx +148 -0
  273. package/src/utils/react-utils.ts +84 -0
  274. package/src/utils/web-platform-utils.ts +68 -0
  275. package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
  276. package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
  277. package/lib/module/components/MediaCard/GlassFill.js +0 -57
  278. package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
  279. package/lib/typescript/scripts/extract-component-tokens.d.ts +0 -9
  280. package/lib/typescript/scripts/generate-component-docs.d.ts +0 -9
  281. package/lib/typescript/scripts/generate-icon-registry.d.ts +0 -3
  282. package/lib/typescript/scripts/generate-mode-types.d.ts +0 -2
  283. package/lib/typescript/scripts/retype-modes.d.cts +0 -2
  284. package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
  285. package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
  286. package/src/components/MediaCard/GlassFill.tsx +0 -89
  287. package/src/components/MediaCard/GlassFill.web.tsx +0 -53
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
2
  import { View, type ViewStyle, type TextStyle } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
- type BadgeProps = {
4
+ export type BadgeType = 'default' | 'glass';
5
+ export type BadgeProps = {
5
6
  /** Visible label text shown inside the badge */
6
7
  label?: string;
8
+ /**
9
+ * Visual style (matches the Figma `type` property). `'default'` is a solid
10
+ * token-colored pill; `'glass'` is a frosted, translucent pill backed by a
11
+ * real background blur (`GlassFill`) — the same glass surface used at the
12
+ * bottom of media/merchandising cards.
13
+ */
14
+ type?: BadgeType;
7
15
  /** Modes used to resolve design tokens (e.g. Appearance, Size) */
8
16
  modes?: Modes;
9
17
  /** Optional press handler to make the badge interactive */
@@ -11,13 +19,35 @@ type BadgeProps = {
11
19
  accessibilityLabel?: string;
12
20
  style?: ViewStyle;
13
21
  labelStyle?: TextStyle;
22
+ /**
23
+ * Optional leading node (icon/image) rendered before the label, inside the
24
+ * badge surface. When present, the badge lays its contents out in a row.
25
+ */
26
+ leading?: React.ReactNode;
27
+ /**
28
+ * Glass-only override for the translucent overlay color painted over the live
29
+ * blur. Defaults to the `badge/glass/color/background` token. Ignored for the
30
+ * `'default'` type.
31
+ */
32
+ glassOverlayColor?: string;
33
+ /**
34
+ * Glass-only override for the blur intensity on the 0–100 scale. Defaults to
35
+ * the `blur/minimal` token. Ignored for the `'default'` type.
36
+ */
37
+ glassIntensity?: number;
14
38
  /**
15
39
  * Explicit per-instance loading override. When `true`, renders a
16
40
  * badge-shaped skeleton placeholder instead of the badge. Defaults to
17
41
  * inheriting from the surrounding `<SkeletonGroup>`.
18
42
  */
19
43
  loading?: boolean;
44
+ /**
45
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
46
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
47
+ * lines as it needs even when horizontal space is tight.
48
+ */
49
+ disableTruncation?: boolean;
20
50
  } & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel' | 'accessibilityRole'>;
21
- declare function Badge({ label, modes, onPress, accessibilityLabel, style, labelStyle, loading, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
51
+ declare function Badge({ label, type, modes, onPress, accessibilityLabel, style, labelStyle, loading, disableTruncation, leading, glassOverlayColor, glassIntensity, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
22
52
  export default Badge;
23
53
  //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
4
+ /**
5
+ * A single benefit row rendered with the shared `ListItem` primitive: a
6
+ * leading icon, a title and an optional right-aligned trailing value.
7
+ */
8
+ export interface BenefitCardItem {
9
+ /** Registry icon name for the leading glyph (e.g. `'ic_jewellery_diamond'`). */
10
+ icon?: string;
11
+ /** Per-item override for the leading icon color. Defaults to the brand token. */
12
+ iconColor?: string;
13
+ /** Full override for the leading node. Takes precedence over `icon`. */
14
+ leading?: React.ReactNode;
15
+ /** Row title (e.g. `"JioPoints"`). */
16
+ title: string;
17
+ /** Optional right-aligned trailing value (e.g. `"Up to 2000 pts"`). */
18
+ trailingText?: string;
19
+ /** Full override for the trailing node. Takes precedence over `trailingText`. */
20
+ trailing?: React.ReactNode;
21
+ /** Makes the row pressable. */
22
+ onPress?: () => void;
23
+ }
24
+ export interface BenefitCardProps {
25
+ /** Header section title (e.g. `"You will earn"`). */
26
+ headerTitle?: string;
27
+ /**
28
+ * Highlighted item shown directly under the header title (icon + title +
29
+ * optional trailing value). Rendered above the divider.
30
+ */
31
+ headerItem?: BenefitCardItem;
32
+ /**
33
+ * Toggles the whole header section (title + item + divider). Mirrors the
34
+ * Figma `showHeader` property. Defaults to `true`.
35
+ */
36
+ showHeader?: boolean;
37
+ /** Body section title (e.g. `"Upgrade to JioFinance+ and earn more"`). */
38
+ bodyTitle?: string;
39
+ /**
40
+ * Body benefit rows. Ignored when `children` is provided (the slot wins).
41
+ */
42
+ items?: BenefitCardItem[];
43
+ /**
44
+ * Real slot for the body "list wrap". When provided, these children render
45
+ * instead of `items`; `modes` (plus the `List Item Style: Minimal` style)
46
+ * cascade into every child automatically.
47
+ */
48
+ children?: React.ReactNode;
49
+ /** CTA button label. Defaults to `"Upgrade"`. */
50
+ buttonLabel?: string;
51
+ /** CTA press handler. */
52
+ onButtonPress?: () => void;
53
+ /** Full override for the CTA. Takes precedence over `buttonLabel`. */
54
+ button?: React.ReactNode;
55
+ /**
56
+ * Toggles the CTA button. Mirrors the Figma `showButton` property.
57
+ * Defaults to `true`.
58
+ */
59
+ showButton?: boolean;
60
+ /** Press handler for the whole card. When set, the card becomes pressable. */
61
+ onPress?: () => void;
62
+ /** Card width. Defaults to the Figma spec (`344`). Pass `'100%'` to fill the parent. */
63
+ width?: number | `${number}%`;
64
+ /** Modes object for design-token resolution. Cascaded to all children. */
65
+ modes?: Modes;
66
+ /** Style overrides for the card container. */
67
+ style?: StyleProp<ViewStyle>;
68
+ /** Accessibility label for the card. */
69
+ accessibilityLabel?: string;
70
+ }
71
+ /**
72
+ * BenefitCard — Figma node 5352:1077 ("Benefit Card").
73
+ *
74
+ * A white, rounded card that summarises the rewards a user will earn. It is
75
+ * composed entirely from the shared design-system primitives so it stays in
76
+ * sync with the rest of the library:
77
+ *
78
+ * - **Header** — a section title + a single highlighted {@link ListItem}
79
+ * (leading `Icon`, title, right-aligned trailing value) followed by a
80
+ * `Divider`.
81
+ * - **Body** — a section title + a column of benefit {@link ListItem}s. The
82
+ * list is a real slot: pass `children` to fully control it, or `items` for
83
+ * the declarative path.
84
+ * - **CTA** — a small {@link Button} (Figma `Button / Size = S`).
85
+ *
86
+ * The list rows resolve through the `List Item Style: Minimal` mode (12px /
87
+ * regular title, 4px gap, no padding) and the leading icons use the
88
+ * `AppearanceBrand: Secondary` brand color, exactly matching the design. All
89
+ * three defaults can be overridden via `modes`.
90
+ */
91
+ declare function BenefitCard({ headerTitle, headerItem, showHeader, bodyTitle, items, children, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: BenefitCardProps): import("react/jsx-runtime").JSX.Element;
92
+ export default BenefitCard;
93
+ //# sourceMappingURL=BenefitCard.d.ts.map
@@ -25,6 +25,12 @@ export type BrandChipProps = {
25
25
  labelStyle?: StyleProp<TextStyle>;
26
26
  /** Accessibility label. Defaults to `label`. */
27
27
  accessibilityLabel?: string;
28
+ /**
29
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
30
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
31
+ * lines as it needs even when horizontal space is tight.
32
+ */
33
+ disableTruncation?: boolean;
28
34
  };
29
35
  /**
30
36
  * `BrandChip` renders a compact pill that pairs a small institution avatar
@@ -38,7 +44,7 @@ export type BrandChipProps = {
38
44
  * @component
39
45
  * @param {BrandChipProps} props
40
46
  */
41
- declare function BrandChip({ label, imageSource, avatarSlot, onPress, modes: propModes, style, labelStyle, accessibilityLabel, }: BrandChipProps): import("react/jsx-runtime").JSX.Element;
47
+ declare function BrandChip({ label, imageSource, avatarSlot, onPress, modes: propModes, style, labelStyle, accessibilityLabel, disableTruncation, }: BrandChipProps): import("react/jsx-runtime").JSX.Element;
42
48
  declare const _default: React.MemoExoticComponent<typeof BrandChip>;
43
49
  export default _default;
44
50
  //# sourceMappingURL=BrandChip.d.ts.map
@@ -48,6 +48,12 @@ export type ButtonProps = SafePressableProps & {
48
48
  * the group.
49
49
  */
50
50
  loading?: boolean;
51
+ /**
52
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
53
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
54
+ * lines as it needs even when horizontal space is tight.
55
+ */
56
+ disableTruncation?: boolean;
51
57
  };
52
58
  /**
53
59
  * Button component that maps directly to the Figma design using design tokens.
@@ -84,7 +90,7 @@ export type ButtonProps = SafePressableProps & {
84
90
  * advantage of this should pass stable `modes` (the default `EMPTY_MODES`
85
91
  * is already stable) and stable callback props.
86
92
  */
87
- declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, loading, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
93
+ declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, loading, disableTruncation, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
88
94
  declare const Button: React.MemoExoticComponent<typeof ButtonImpl>;
89
95
  export default Button;
90
96
  //# sourceMappingURL=Button.d.ts.map
@@ -43,8 +43,14 @@ export type CardAdvisoryProps = CardAdvisoryBaseProps & {
43
43
  nudgeStyle?: StyleProp<ViewStyle>;
44
44
  /** Accessibility label for the full card. */
45
45
  accessibilityLabel?: string;
46
+ /**
47
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
48
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
49
+ * lines as it needs even when horizontal space is tight.
50
+ */
51
+ disableTruncation?: boolean;
46
52
  };
47
- declare function CardAdvisory({ title, description, value, valueLabel, showInfoIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, titleEndSlot, progressSlot, nudgeSlot, modes: propModes, style, mainContentStyle, titleStyle, descriptionStyle, progressStyle, nudgeStyle, accessibilityLabel, ...rest }: CardAdvisoryProps): import("react/jsx-runtime").JSX.Element;
53
+ declare function CardAdvisory({ title, description, value, valueLabel, showInfoIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, titleEndSlot, progressSlot, nudgeSlot, modes: propModes, style, mainContentStyle, titleStyle, descriptionStyle, progressStyle, nudgeStyle, accessibilityLabel, disableTruncation, ...rest }: CardAdvisoryProps): import("react/jsx-runtime").JSX.Element;
48
54
  declare const _default: React.MemoExoticComponent<typeof CardAdvisory>;
49
55
  export default _default;
50
56
  //# sourceMappingURL=CardAdvisory.d.ts.map
@@ -67,6 +67,12 @@ export type CardBankAccountProps = {
67
67
  style?: StyleProp<ViewStyle>;
68
68
  /** Accessibility label for the card region. */
69
69
  accessibilityLabel?: string;
70
+ /**
71
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
72
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
73
+ * lines as it needs even when horizontal space is tight.
74
+ */
75
+ disableTruncation?: boolean;
70
76
  };
71
77
  /**
72
78
  * `CardBankAccount` renders a bank account summary card composed of:
@@ -82,6 +88,6 @@ export type CardBankAccountProps = {
82
88
  * @component
83
89
  * @param {CardBankAccountProps} props
84
90
  */
85
- declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes: propModes, style, accessibilityLabel, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
91
+ declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes: propModes, style, accessibilityLabel, disableTruncation, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
86
92
  export default CardBankAccount;
87
93
  //# sourceMappingURL=CardBankAccount.d.ts.map
@@ -1,10 +1,22 @@
1
1
  import React from 'react';
2
- import { type ViewStyle, type StyleProp } from 'react-native';
2
+ import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
- export type CardCTAType = 'cta' | 'rating';
4
+ export type CardCTAType = 'cta' | 'rating' | 'sip';
5
+ /**
6
+ * Accepted `type` values. The canonical (and historical) values are lowercase
7
+ * (`'cta' | 'rating' | 'sip'`). The Figma variant names are PascalCase
8
+ * (`'CTA' | 'Rating' | 'Sip'`) — we accept those too and normalize internally
9
+ * so callers can pass either casing without a breaking change.
10
+ */
11
+ export type CardCTATypeInput = CardCTAType | 'CTA' | 'Rating' | 'Sip';
5
12
  export type CardCTAProps = {
6
- /** Visual layout variant */
7
- type?: CardCTAType;
13
+ /**
14
+ * Visual layout variant. `'cta'` (default) is the horizontal CTA card,
15
+ * `'rating'` is the rating card, and `'sip'` is the avatar-led card with a
16
+ * headline/description/subtitle footer. PascalCase Figma names
17
+ * (`'CTA' | 'Rating' | 'Sip'`) are also accepted.
18
+ */
19
+ type?: CardCTATypeInput;
8
20
  /** Title text */
9
21
  title?: string;
10
22
  /** Body / subtitle text */
@@ -23,6 +35,14 @@ export type CardCTAProps = {
23
35
  onPressLike?: () => void;
24
36
  /** Callback for the default dislike action */
25
37
  onPressDislike?: () => void;
38
+ /** [sip] Headline text shown above the description row */
39
+ headline?: string;
40
+ /** [sip] Description text (left of subtitle) */
41
+ description?: string;
42
+ /** [sip] Subtitle text (right of description) */
43
+ subtitle?: string;
44
+ /** [sip] Image source for the default Avatar */
45
+ avatarSource?: ImageSourcePropType | string;
26
46
  /** Mode configuration for design token resolution */
27
47
  modes?: Modes;
28
48
  /** Slot: replaces the default icon area (right side) */
@@ -33,9 +53,11 @@ export type CardCTAProps = {
33
53
  ratingBadgeSlot?: React.ReactNode;
34
54
  /** Slot: replaces the default like/dislike action group */
35
55
  ratingActionsSlot?: React.ReactNode;
56
+ /** [sip] Slot: replaces the default Avatar */
57
+ avatarSlot?: React.ReactNode;
36
58
  /** Container style overrides */
37
59
  style?: StyleProp<ViewStyle>;
38
60
  };
39
- declare function CardCTA({ type, title, body, iconName, buttonLabel, onPressButton, ratingLabel, showRatingActions, onPressLike, onPressDislike, modes: propModes, iconSlot, buttonSlot, ratingBadgeSlot, ratingActionsSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
61
+ declare function CardCTA({ type, title, body, iconName, buttonLabel, onPressButton, ratingLabel, showRatingActions, onPressLike, onPressDislike, headline, description, subtitle, avatarSource, modes: propModes, iconSlot, buttonSlot, ratingBadgeSlot, ratingActionsSlot, avatarSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
40
62
  export default CardCTA;
41
63
  //# sourceMappingURL=CardCTA.d.ts.map
@@ -0,0 +1,137 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
3
+ import { type TextSegmentRun } from '../TextSegment/TextSegment';
4
+ import type { Modes } from '../../design-tokens';
5
+ /**
6
+ * A single coloured chip rendered in the card header. Each badge resolves its
7
+ * own design tokens through `modes`, so different appearances (brand, tonal,
8
+ * etc.) can sit side-by-side in the same group.
9
+ */
10
+ export interface CcCardBadge {
11
+ /** Visible label text. */
12
+ label: string;
13
+ /** Per-badge mode overrides (e.g. `{ AppearanceBrand: 'Tertiary' }`). */
14
+ modes?: Modes;
15
+ /** Background color override (wins over the token-resolved value). */
16
+ color?: string;
17
+ /** Label color override (wins over the token-resolved value). */
18
+ labelColor?: string;
19
+ }
20
+ /**
21
+ * A single benefit row in the card's list, rendered through the shared
22
+ * {@link ListItem} primitive (leading icon + title).
23
+ */
24
+ export interface CcCardListItem {
25
+ /**
26
+ * Registry icon name for the leading glyph. Defaults to `'ic_card'`. Pass
27
+ * `null` to omit the leading icon.
28
+ */
29
+ icon?: string | null;
30
+ /** Per-row override for the leading icon color. */
31
+ iconColor?: string;
32
+ /** Full override for the leading node. Takes precedence over `icon`. */
33
+ leading?: React.ReactNode;
34
+ /** Row title (e.g. `"4 domestic + 2 intl. lounge access yearly"`). */
35
+ title: string;
36
+ /** Makes the row pressable. */
37
+ onPress?: () => void;
38
+ }
39
+ export interface CcCardProps {
40
+ /**
41
+ * Compact variant. Renders only the leading media slot (an `Avatar` by
42
+ * default) followed by the footer **without** its CTA button — a condensed
43
+ * representation of the card. Mirrors the Figma `compact` property.
44
+ */
45
+ compact?: boolean;
46
+ /** Toggles the header badge row. Defaults to `true`. */
47
+ showHeader?: boolean;
48
+ /** Leading (left) badge group. */
49
+ badges?: CcCardBadge[];
50
+ /** Trailing (right-aligned) badge group. */
51
+ trailingBadges?: CcCardBadge[];
52
+ /** Full override for the header. Takes precedence over `badges`/`trailingBadges`. */
53
+ header?: React.ReactNode;
54
+ /**
55
+ * Image source for the default media slot. Accepts a URL string or any RN
56
+ * `ImageSourcePropType`. Ignored when `media` is provided.
57
+ */
58
+ imageSource?: ImageSourcePropType | string;
59
+ /** Default media image width. Defaults to the Figma spec (`88`). */
60
+ imageWidth?: number;
61
+ /** Default media image height. Defaults to the Figma spec (`54`). */
62
+ imageHeight?: number;
63
+ /** Product title rendered next to the media slot (non-compact only). */
64
+ title?: string;
65
+ /** Product subtitle rendered below the title (non-compact only). */
66
+ subtitle?: string;
67
+ /**
68
+ * Full override for the media slot's visual. Whatever you pass here is
69
+ * rendered **in both the compact and non-compact variants** — e.g. pass an
70
+ * `Avatar` and it stays an avatar in both, pass an `Image` and it stays an
71
+ * image in both. `modes` cascade into it automatically. Defaults to an
72
+ * `Image` driven by `imageSource`.
73
+ */
74
+ media?: React.ReactNode;
75
+ /** Benefit rows rendered in the list. Defaults to three sample rows. */
76
+ items?: CcCardListItem[];
77
+ /** Toggles the upsell nudge row. Defaults to `true`. */
78
+ showNudge?: boolean;
79
+ /**
80
+ * Declarative content for the nudge's inline text. Defaults to a sample
81
+ * "Upsell message JioFinance+" string with the last run brand-coloured.
82
+ */
83
+ nudgeSegments?: TextSegmentRun[];
84
+ /** Avatar image source shown at the start of the nudge row. */
85
+ nudgeAvatarSource?: ImageSourcePropType | string;
86
+ /** Full override for the nudge row. Takes precedence over the declarative props. */
87
+ nudge?: React.ReactNode;
88
+ /** Small muted label above the footer title (`ccCard/headline/*`). */
89
+ headline?: string;
90
+ /** Bold footer value (`ccCard/title/*`). */
91
+ description?: string;
92
+ /** Muted caption rendered inline after the description (`ccCard/subtitle/*`). */
93
+ footerSubtitle?: string;
94
+ /** Full override for the footer text block. */
95
+ footer?: React.ReactNode;
96
+ /** CTA button label. Defaults to `"Button"`. */
97
+ buttonLabel?: string;
98
+ /** CTA press handler. */
99
+ onButtonPress?: () => void;
100
+ /** Full override for the CTA. Takes precedence over `buttonLabel`. */
101
+ button?: React.ReactNode;
102
+ /** Toggles the CTA button (non-compact). Defaults to `true`. */
103
+ showButton?: boolean;
104
+ /** Press handler for the whole card. When set, the card becomes pressable. */
105
+ onPress?: () => void;
106
+ /** Card width. Defaults to the Figma spec (`343`). Pass `'100%'` to fill the parent. */
107
+ width?: number | `${number}%`;
108
+ /** Modes object for design-token resolution. Cascaded to all children. */
109
+ modes?: Modes;
110
+ /** Style overrides for the card container. */
111
+ style?: StyleProp<ViewStyle>;
112
+ /** Accessibility label for the card. */
113
+ accessibilityLabel?: string;
114
+ }
115
+ /**
116
+ * CcCard — Figma node 5434:1992 ("Cc Card").
117
+ *
118
+ * A white, rounded credit-card product card composed entirely from the shared
119
+ * design-system primitives so it stays in sync with the rest of the library:
120
+ *
121
+ * - **Header** — two {@link Badge} groups (a leading group + a right-aligned
122
+ * trailing group), e.g. `Pre-qualified` / `Lifetime free`.
123
+ * - **Media** — a product `Image` + a {@link Title} (title + subtitle resolved
124
+ * through the `context7: Card` mode → 14px/12px).
125
+ * - **List** — a column of benefit {@link ListItem}s (`List Item Style:
126
+ * Minimal`) with leading icons.
127
+ * - **Nudge** — an inline upsell row: an {@link Avatar} + a {@link TextSegment}.
128
+ * - **Footer** — a headline + description + subtitle text block alongside a
129
+ * small {@link Button} (`Button / Size: S`, `AppearanceBrand: Secondary`).
130
+ *
131
+ * The {@link CcCardProps.compact} variant collapses the card to just the
132
+ * leading avatar slot + the footer text block (no CTA button). All defaults can
133
+ * be overridden via `modes`.
134
+ */
135
+ declare function CcCard({ compact, showHeader, badges, trailingBadges, header, imageSource, imageWidth, imageHeight, title, subtitle, media, items, showNudge, nudgeSegments, nudgeAvatarSource, nudge, headline, description, footerSubtitle, footer, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: CcCardProps): import("react/jsx-runtime").JSX.Element;
136
+ export default CcCard;
137
+ //# sourceMappingURL=CcCard.d.ts.map
@@ -1,4 +1,5 @@
1
- import { type StyleProp, type ViewStyle } from 'react-native';
1
+ import React from 'react';
2
+ import { View, type StyleProp, type ViewStyle } from 'react-native';
2
3
  import type { Modes } from '../../design-tokens';
3
4
  export interface CheckboxProps {
4
5
  /** Whether the checkbox is checked (controlled) */
@@ -26,6 +27,6 @@ export interface CheckboxProps {
26
27
  * @component
27
28
  * @param {CheckboxProps} props
28
29
  */
29
- declare function Checkbox({ checked: controlledChecked, defaultChecked, onValueChange, disabled, modes, style, accessibilityLabel, }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
30
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<View>>;
30
31
  export default Checkbox;
31
32
  //# sourceMappingURL=Checkbox.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
2
+ import { View, type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
4
  export type CheckboxItemProps = {
5
5
  /** Whether the checkbox is checked (controlled). */
@@ -68,6 +68,6 @@ export type CheckboxItemProps = {
68
68
  * />
69
69
  * ```
70
70
  */
71
- declare function CheckboxItem({ checked: controlledChecked, defaultChecked, onValueChange, disabled, label, control, endSlot, endSlotWidth, modes, style, labelStyle, accessibilityLabel, }: CheckboxItemProps): import("react/jsx-runtime").JSX.Element;
71
+ declare const CheckboxItem: React.ForwardRefExoticComponent<CheckboxItemProps & React.RefAttributes<View>>;
72
72
  export default CheckboxItem;
73
73
  //# sourceMappingURL=CheckboxItem.d.ts.map
@@ -32,7 +32,13 @@ export type CircularProgressBarProps = CircularProgressBarBaseProps & {
32
32
  supportTextStyle?: StyleProp<TextStyle>;
33
33
  /** Accessibility label for the whole progress component. */
34
34
  accessibilityLabel?: string;
35
+ /**
36
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
37
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
38
+ * lines as it needs even when horizontal space is tight.
39
+ */
40
+ disableTruncation?: boolean;
35
41
  };
36
- declare function CircularProgressBar({ value, state, valueLabel, supportText, modes: propModes, style, trackStyle, progressStyle, valueStyle, supportTextStyle, accessibilityLabel, ...rest }: CircularProgressBarProps): import("react/jsx-runtime").JSX.Element;
42
+ declare function CircularProgressBar({ value, state, valueLabel, supportText, modes: propModes, style, trackStyle, progressStyle, valueStyle, supportTextStyle, accessibilityLabel, disableTruncation, ...rest }: CircularProgressBarProps): import("react/jsx-runtime").JSX.Element;
37
43
  export default CircularProgressBar;
38
44
  //# sourceMappingURL=CircularProgressBar.d.ts.map
@@ -43,7 +43,13 @@ export type CircularProgressBarDotedProps = CircularProgressBarDotedBaseProps &
43
43
  tierLabelStyle?: StyleProp<TextStyle>;
44
44
  /** Accessibility label for the whole progress component. */
45
45
  accessibilityLabel?: string;
46
+ /**
47
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
48
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
49
+ * lines as it needs even when horizontal space is tight.
50
+ */
51
+ disableTruncation?: boolean;
46
52
  };
47
- declare function CircularProgressBarDoted({ value, dotCount, label, tierLabel, showChevron, onPress, onTierPress, modes: propModes, children, style, ringStyle, trackDotStyle, progressDotStyle, contentStyle, scoreTierStyle, scoreTrendStyle, labelStyle, scoreLabelStyle, tierLabelStyle, accessibilityLabel, onLayout, ...rest }: CircularProgressBarDotedProps): import("react/jsx-runtime").JSX.Element;
53
+ declare function CircularProgressBarDoted({ value, dotCount, label, tierLabel, showChevron, onPress, onTierPress, modes: propModes, children, style, ringStyle, trackDotStyle, progressDotStyle, contentStyle, scoreTierStyle, scoreTrendStyle, labelStyle, scoreLabelStyle, tierLabelStyle, accessibilityLabel, disableTruncation, onLayout, ...rest }: CircularProgressBarDotedProps): import("react/jsx-runtime").JSX.Element;
48
54
  export default CircularProgressBarDoted;
49
55
  //# sourceMappingURL=CircularProgressBarDoted.d.ts.map
@@ -43,8 +43,14 @@ export type CircularRatingProps = CircularRatingBaseProps & {
43
43
  nudgeStyle?: StyleProp<ViewStyle>;
44
44
  /** Accessibility label for the whole component. */
45
45
  accessibilityLabel?: string;
46
+ /**
47
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
48
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
49
+ * lines as it needs even when horizontal space is tight.
50
+ */
51
+ disableTruncation?: boolean;
46
52
  };
47
- declare function CircularRating({ value, dotCount, label, tierLabel, footerText, showFooterIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, onTierPress, footerSlot, nudgeSlot, modes: propModes, style, ratingStyle, footerStyle, footerTextStyle, nudgeStyle, accessibilityLabel, ...rest }: CircularRatingProps): import("react/jsx-runtime").JSX.Element;
53
+ declare function CircularRating({ value, dotCount, label, tierLabel, footerText, showFooterIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, onTierPress, footerSlot, nudgeSlot, modes: propModes, style, ratingStyle, footerStyle, footerTextStyle, nudgeStyle, accessibilityLabel, disableTruncation, ...rest }: CircularRatingProps): import("react/jsx-runtime").JSX.Element;
48
54
  declare const _default: React.MemoExoticComponent<typeof CircularRating>;
49
55
  export default _default;
50
56
  //# sourceMappingURL=CircularRating.d.ts.map
@@ -61,6 +61,12 @@ export type ClusterBubbleProps = {
61
61
  modes?: Modes;
62
62
  /** Accessibility label. Defaults to a `value + label` composite. */
63
63
  accessibilityLabel?: string;
64
+ /**
65
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
66
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
67
+ * lines as it needs even when horizontal space is tight.
68
+ */
69
+ disableTruncation?: boolean;
64
70
  };
65
71
  /**
66
72
  * `ClusterBubble` is the atomic circle that composes a `BubbleChart`. It renders
@@ -72,6 +78,6 @@ export type ClusterBubbleProps = {
72
78
  *
73
79
  * @component
74
80
  */
75
- declare function ClusterBubble({ value, label, size, appearance, color, labelPlacement, labelDirection, labelGap, autoInsideMinSize, insideTextColor, onPress, valueStyle, labelStyle, circleStyle, style, modes: propModes, accessibilityLabel, }: ClusterBubbleProps): import("react/jsx-runtime").JSX.Element;
81
+ declare function ClusterBubble({ value, label, size, appearance, color, labelPlacement, labelDirection, labelGap, autoInsideMinSize, insideTextColor, onPress, valueStyle, labelStyle, circleStyle, style, modes: propModes, accessibilityLabel, disableTruncation, }: ClusterBubbleProps): import("react/jsx-runtime").JSX.Element;
76
82
  export default ClusterBubble;
77
83
  //# sourceMappingURL=ClusterBubble.d.ts.map
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+ import { type ImageSourcePropType, type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
4
+ /**
5
+ * A single product/plan column rendered as a selection card at the top of the
6
+ * table. The card order maps 1:1 to each {@link CompareTableRow}'s `values`.
7
+ */
8
+ export type CompareTableColumn = {
9
+ /** Product / plan name shown under the image. */
10
+ label?: string;
11
+ /** Thumbnail / logo image. Accepts a URL string or an RN image source. */
12
+ imageSource?: ImageSourcePropType | string;
13
+ /** CTA link text (e.g. "View details"). Omit to hide the link. */
14
+ actionLabel?: string;
15
+ /** Handler for the CTA link. Implies the link is shown. */
16
+ onActionPress?: () => void;
17
+ /** When provided, renders a tappable close icon to remove the column. */
18
+ onRemove?: () => void;
19
+ /** Stable key. Falls back to the label / index. */
20
+ key?: React.Key;
21
+ };
22
+ /**
23
+ * Value rendered inside a comparison cell.
24
+ * - `string` / `number` → rendered as value text.
25
+ * - `false` → renders the muted "not available" cross icon.
26
+ * - any React element → rendered as-is (e.g. a `Badge`, `MoneyValue`, icon…).
27
+ * - `null` / `undefined` / `true` → empty cell.
28
+ */
29
+ export type CompareTableCellValue = string | number | boolean | null | undefined | React.ReactElement;
30
+ export type CompareTableRow = {
31
+ /** One value per column, in the same order as `columns`. */
32
+ values: CompareTableCellValue[];
33
+ /** Stable key. Falls back to the index. */
34
+ key?: React.Key;
35
+ };
36
+ /**
37
+ * A collapsible section. Each section renders as an `Accordion` whose body is a
38
+ * comparison table that spans the same columns as the selection cards.
39
+ */
40
+ export type CompareTableSection = {
41
+ /** Accordion header label, e.g. "Fees & charges". */
42
+ title: string;
43
+ /** Optional full-width header row shown at the top of the table body. */
44
+ header?: string;
45
+ /** Comparison rows; each row's `values` map 1:1 to `columns`. */
46
+ rows: CompareTableRow[];
47
+ /** Initial expanded state. Defaults to `true` for the first section. */
48
+ defaultExpanded?: boolean;
49
+ /** Stable key. Falls back to the title / index. */
50
+ key?: React.Key;
51
+ };
52
+ export type CompareTableProps = {
53
+ /**
54
+ * Product / plan columns rendered as selection cards. Their order maps 1:1
55
+ * to each row's `values` array. Supports any number of columns.
56
+ */
57
+ columns?: CompareTableColumn[];
58
+ /** Collapsible comparison sections. */
59
+ sections?: CompareTableSection[];
60
+ /**
61
+ * When provided, renders an "Add a card" tile after the columns. Hidden once
62
+ * `columns.length` reaches `maxColumns`.
63
+ */
64
+ onAddColumn?: () => void;
65
+ /** Label for the add-a-card tile. @default 'Add a card' */
66
+ addColumnLabel?: string;
67
+ /** Maximum number of columns before the add tile is hidden. @default 4 */
68
+ maxColumns?: number;
69
+ /** Design token modes for theming (e.g. `{ "Color Mode": "Light" }`). */
70
+ modes?: Modes;
71
+ /** Override the outer container style. */
72
+ style?: StyleProp<ViewStyle>;
73
+ /**
74
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
75
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
76
+ * lines as it needs even when horizontal space is tight.
77
+ */
78
+ disableTruncation?: boolean;
79
+ };
80
+ /**
81
+ * CompareTable renders a product comparison surface: a row of selection cards
82
+ * (one per column) followed by one or more collapsible sections, each holding a
83
+ * comparison table whose cells line up beneath their column.
84
+ *
85
+ * The selection card is an internal sub-component and is intentionally not
86
+ * exported — it should only be used through `CompareTable`. Implementation of
87
+ * Figma node `5568:3496` (`Compare table`) with sub-component `5568:3487`
88
+ * (`selectioncard`).
89
+ *
90
+ * @component
91
+ */
92
+ declare function CompareTable({ columns, sections, onAddColumn, addColumnLabel, maxColumns, modes, style, disableTruncation, }: CompareTableProps): import("react/jsx-runtime").JSX.Element;
93
+ export default CompareTable;
94
+ //# sourceMappingURL=CompareTable.d.ts.map