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
@@ -0,0 +1,118 @@
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 slot in the {@link ComparisonBar}. Each item is either empty (the
6
+ * "Add" state — a tappable `+` capsule) or filled with an image (the
7
+ * "Image Added" state — the image plus a dismiss capsule in the corner).
8
+ *
9
+ * The presence of {@link ComparisonBarItem.imageSource} is what toggles the
10
+ * state: provide a source to show the image, leave it `undefined`/`null` to
11
+ * show the empty add slot. This keeps the component fully controlled — the
12
+ * `ComparisonBar` never owns the image state itself, so the consumer decides
13
+ * (e.g. after opening a file/asset picker) when and how an item flips between
14
+ * the two states.
15
+ */
16
+ export type ComparisonBarItem = {
17
+ /**
18
+ * Stable identifier for this slot. Returned to callbacks so the consumer
19
+ * can target the exact item that was interacted with. Falls back to the
20
+ * array index when omitted.
21
+ */
22
+ id?: string | number;
23
+ /**
24
+ * Image to render in the slot. When provided the slot renders in the
25
+ * "Image Added" state; when omitted/`null` it renders the empty "Add" state.
26
+ * Accepts the same shapes as the library `Image` component (remote URL
27
+ * string, `{ uri }`, or a `require()`d asset).
28
+ */
29
+ imageSource?: ImageSourcePropType | string | null;
30
+ /** Accessibility label for the slot. Defaults to a generic add/remove label. */
31
+ accessibilityLabel?: string;
32
+ };
33
+ export type ComparisonBarProps = {
34
+ /**
35
+ * The slots rendered before the Compare button. Each entry controls its own
36
+ * add/image state via {@link ComparisonBarItem.imageSource}.
37
+ */
38
+ items: ComparisonBarItem[];
39
+ /**
40
+ * Fired when an empty (Add) slot is tapped. The consumer is expected to react
41
+ * by opening whatever picker is appropriate and then updating that item's
42
+ * `imageSource` to flip it into the "Image Added" state — the component does
43
+ * not know how images are sourced. Receives the item's `id` (or index when no
44
+ * id was supplied) and the slot index.
45
+ */
46
+ onItemPress?: (id: ComparisonBarItem['id'], index: number) => void;
47
+ /**
48
+ * Fired when a filled slot is tapped. For better mobile ergonomics the
49
+ * *entire* filled slot is the remove target (the dismiss capsule is just a
50
+ * visual affordance), so a fingertip anywhere on the item triggers this. The
51
+ * consumer is expected to clear that item's `imageSource` to return it to the
52
+ * "Add" state. Receives the item's `id` (or index) and the slot index.
53
+ */
54
+ onItemRemove?: (id: ComparisonBarItem['id'], index: number) => void;
55
+ /** Fired when the Compare button is pressed. */
56
+ onCompare?: () => void;
57
+ /** Label for the trailing action button. Defaults to `"Compare"`. */
58
+ compareLabel?: string;
59
+ /**
60
+ * Explicitly controls the Compare button's *functional* disabled state — a
61
+ * truly disabled button is non-interactive (its `onPress` never fires), not
62
+ * just dimmed. Note that `modes` only affects appearance, so dimming the
63
+ * button via tokens does NOT stop taps; that is what this prop is for.
64
+ *
65
+ * When provided (a boolean), it always wins over
66
+ * {@link ComparisonBarProps.disableCompareWhenEmpty}. Leave it `undefined`
67
+ * to fall back to the auto behavior.
68
+ */
69
+ compareDisabled?: boolean;
70
+ /**
71
+ * When `true` (default) the Compare button is automatically (and truly)
72
+ * disabled while no slot has an image — there is nothing to compare yet. Set
73
+ * to `false` to keep it tappable even when empty. Ignored when
74
+ * {@link ComparisonBarProps.compareDisabled} is set explicitly.
75
+ */
76
+ disableCompareWhenEmpty?: boolean;
77
+ /** Mode configuration passed to the token resolver. */
78
+ modes?: Modes;
79
+ /** Style overrides for the outer floating card. */
80
+ style?: StyleProp<ViewStyle>;
81
+ };
82
+ /**
83
+ * ComparisonBar — a floating card that lets a user assemble a set of items to
84
+ * compare, then trigger the comparison.
85
+ *
86
+ * Each slot is fully controlled via its `imageSource`: an empty slot shows a
87
+ * tappable `+` (the "Add" state) and a filled slot shows the image with a
88
+ * dismiss capsule (the "Image Added" state). The component never sources or
89
+ * stores images itself — when an empty slot is pressed it fires `onItemPress`
90
+ * with the item's id/index so the consumer can open whatever picker is
91
+ * appropriate and then update that item's `imageSource` to flip its state.
92
+ * Tapping a filled slot (anywhere on it — a mobile-friendly hit target, with
93
+ * the dismiss capsule as a visual affordance) fires `onItemRemove` so the
94
+ * consumer can clear the source again.
95
+ *
96
+ * @example
97
+ * ```tsx
98
+ * const [items, setItems] = useState<ComparisonBarItem[]>([
99
+ * { id: 'a' }, { id: 'b' }, { id: 'c' }, { id: 'd' },
100
+ * ])
101
+ *
102
+ * <ComparisonBar
103
+ * items={items}
104
+ * onItemPress={async (id) => {
105
+ * const uri = await openImagePicker()
106
+ * setItems(prev => prev.map(it => it.id === id ? { ...it, imageSource: uri } : it))
107
+ * }}
108
+ * onItemRemove={(id) =>
109
+ * setItems(prev => prev.map(it => it.id === id ? { ...it, imageSource: null } : it))
110
+ * }
111
+ * onCompare={runComparison}
112
+ * />
113
+ * ```
114
+ */
115
+ declare function ComparisonBar({ items, onItemPress, onItemRemove, onCompare, compareLabel, compareDisabled, disableCompareWhenEmpty, modes: propModes, style, }: ComparisonBarProps): import("react/jsx-runtime").JSX.Element;
116
+ declare const _default: React.MemoExoticComponent<typeof ComparisonBar>;
117
+ export default _default;
118
+ //# sourceMappingURL=ComparisonBar.d.ts.map
@@ -83,6 +83,12 @@ export type CoverageBarComparisonProps = {
83
83
  labelStyle?: StyleProp<TextStyle>;
84
84
  /** Accessibility label for the entire component. */
85
85
  accessibilityLabel?: string;
86
+ /**
87
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
88
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
89
+ * lines as it needs even when horizontal space is tight.
90
+ */
91
+ disableTruncation?: boolean;
86
92
  };
87
93
  /**
88
94
  * `CoverageBarComparison` renders a small vertical-bar chart that compares
@@ -101,6 +107,6 @@ export type CoverageBarComparisonProps = {
101
107
  *
102
108
  * @component
103
109
  */
104
- declare function CoverageBarComparison({ bars, max, height, legendGap, modes: propModes, style, chartStyle, legendStyle, labelStyle, accessibilityLabel, }: CoverageBarComparisonProps): import("react/jsx-runtime").JSX.Element;
110
+ declare function CoverageBarComparison({ bars, max, height, legendGap, modes: propModes, style, chartStyle, legendStyle, labelStyle, accessibilityLabel, disableTruncation, }: CoverageBarComparisonProps): import("react/jsx-runtime").JSX.Element;
105
111
  export default CoverageBarComparison;
106
112
  //# sourceMappingURL=CoverageBarComparison.d.ts.map
@@ -70,6 +70,12 @@ export type DonutChartProps = {
70
70
  labelStyle?: StyleProp<TextStyle>;
71
71
  /** Accessibility label announced for the whole donut chart. */
72
72
  accessibilityLabel?: string;
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;
73
79
  };
74
80
  type DonutChartSegmentProps = {
75
81
  /** Angular weight relative to the sum of sibling segment values. */
@@ -108,7 +114,7 @@ declare function DonutChartSegment(_: DonutChartSegmentProps): any;
108
114
  * @component
109
115
  * @param {DonutChartProps} props
110
116
  */
111
- declare function DonutChart({ segments, value, label, children, size, strokeWidth: strokeWidthProp, gap, modes: propModes, style, valueStyle, labelStyle, accessibilityLabel, }: DonutChartProps): import("react/jsx-runtime").JSX.Element;
117
+ declare function DonutChart({ segments, value, label, children, size, strokeWidth: strokeWidthProp, gap, modes: propModes, style, valueStyle, labelStyle, accessibilityLabel, disableTruncation, }: DonutChartProps): import("react/jsx-runtime").JSX.Element;
112
118
  declare namespace DonutChart {
113
119
  var Segment: typeof DonutChartSegment;
114
120
  }
@@ -35,8 +35,14 @@ export type DropdownItemProps = {
35
35
  accessibilityLabel?: string;
36
36
  /** Accessibility hint. */
37
37
  accessibilityHint?: string;
38
+ /**
39
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
40
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
41
+ * lines as it needs even when horizontal space is tight.
42
+ */
43
+ disableTruncation?: boolean;
38
44
  };
39
- export declare function DropdownItem({ label, value, selected, disabled, leading, trailing, onPress, children, modes: propModes, style, labelStyle, accessibilityLabel, accessibilityHint, }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare function DropdownItem({ label, value, selected, disabled, leading, trailing, onPress, children, modes: propModes, style, labelStyle, accessibilityLabel, accessibilityHint, disableTruncation, }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
40
46
  export type DropdownProps = {
41
47
  /** Dropdown items, typically `<DropdownItem />` children. */
42
48
  children?: React.ReactNode;
@@ -14,6 +14,25 @@ export type DropdownInputOption = {
14
14
  /** Whether the option is non-selectable. */
15
15
  disabled?: boolean;
16
16
  };
17
+ /**
18
+ * Imperative handle exposed via `ref`. Lets the consumer drive the dropdown
19
+ * from outside — e.g. close it when an Android hardware/system button is
20
+ * pressed, or open it programmatically from a sibling control.
21
+ */
22
+ export type DropdownInputHandle = {
23
+ /** Opens the options menu (no-op when disabled / read-only). */
24
+ open: () => void;
25
+ /** Closes the options menu. */
26
+ close: () => void;
27
+ /** Toggles the options menu open/closed. */
28
+ toggle: () => void;
29
+ /** Moves focus to the trigger (web). */
30
+ focus: () => void;
31
+ /** Removes focus from the trigger (web). */
32
+ blur: () => void;
33
+ /** Measures the trigger in window coordinates. */
34
+ measureInWindow: (callback: (x: number, y: number, width: number, height: number) => void) => void;
35
+ };
17
36
  export type DropdownInputProps = {
18
37
  /** Label rendered above the input. */
19
38
  label?: string;
@@ -103,7 +122,13 @@ export type DropdownInputProps = {
103
122
  onFocus?: (e: any) => void;
104
123
  /** Called when the trigger loses focus (web only). */
105
124
  onBlur?: (e: any) => void;
125
+ /**
126
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
127
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
128
+ * lines as it needs even when horizontal space is tight.
129
+ */
130
+ disableTruncation?: boolean;
106
131
  };
107
- declare function DropdownInput({ label, placeholder, items, value, defaultValue, onValueChange, children, renderValue, open, defaultOpen, onOpenChange, placement, isRequired, isDisabled, isInvalid, isReadOnly, supportText, errorMessage, menuMaxHeight, menuOffset, matchTriggerWidth, closeOnBackdropPress, modes: propModes, style, inputStyle, menuStyle, accessibilityLabel, accessibilityHint, onFocus, onBlur, }: DropdownInputProps): import("react/jsx-runtime").JSX.Element;
132
+ declare const DropdownInput: React.ForwardRefExoticComponent<DropdownInputProps & React.RefAttributes<DropdownInputHandle>>;
108
133
  export default DropdownInput;
109
134
  //# sourceMappingURL=DropdownInput.d.ts.map
@@ -23,6 +23,12 @@ export type ExpandableCheckboxProps = {
23
23
  readLessLabel?: string;
24
24
  /** Number of lines to show when collapsed. Defaults to `1`. */
25
25
  collapsedLines?: number;
26
+ /**
27
+ * When `true`, disables truncation of the collapsed label: the trailing
28
+ * ellipsis (`…`) is never shown and the `collapsedLines` clamp is ignored, so
29
+ * the label wraps fully even when horizontal space is tight.
30
+ */
31
+ disableTruncation?: boolean;
26
32
  /** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
27
33
  modes?: Modes;
28
34
  /** Override outer container styles. */
@@ -59,6 +65,6 @@ export type ExpandableCheckboxProps = {
59
65
  * />
60
66
  * ```
61
67
  */
62
- declare function ExpandableCheckbox({ label, checked: controlledChecked, defaultChecked, onValueChange, expanded: controlledExpanded, defaultExpanded, onExpandedChange, disabled, readMoreLabel, readLessLabel, collapsedLines, modes, style, labelStyle, accessibilityLabel, }: ExpandableCheckboxProps): import("react/jsx-runtime").JSX.Element;
68
+ declare function ExpandableCheckbox({ label, checked: controlledChecked, defaultChecked, onValueChange, expanded: controlledExpanded, defaultExpanded, onExpandedChange, disabled, readMoreLabel, readLessLabel, collapsedLines, disableTruncation, modes, style, labelStyle, accessibilityLabel, }: ExpandableCheckboxProps): import("react/jsx-runtime").JSX.Element;
63
69
  export default ExpandableCheckbox;
64
70
  //# sourceMappingURL=ExpandableCheckbox.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type StyleProp, type TextInputProps as RNTextInputProps, type TextStyle, type ViewStyle } from 'react-native';
2
+ import { TextInput as RNTextInput, type StyleProp, type TextInputProps as RNTextInputProps, type TextStyle, type ViewStyle } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
4
  export type FormFieldType = 'text' | 'password' | 'email' | 'search' | 'number' | 'phone' | 'url';
5
5
  export type FormFieldProps = {
@@ -80,6 +80,6 @@ export type FormFieldProps = {
80
80
  /** Test identifier. */
81
81
  testID?: string;
82
82
  };
83
- declare function FormField({ label, placeholder, value, onChangeText, type, name, leading, trailing, leadingIconName, isRequired, isDisabled, isInvalid, isReadOnly, supportText, errorMessage, maxLength, autoFocus, modes: propModes, style, inputStyle, inputTextStyle, onFocus, onBlur, onSubmitEditing, accessibilityLabel, accessibilityHint, testID, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
83
+ declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<RNTextInput>>;
84
84
  export default FormField;
85
85
  //# sourceMappingURL=FormField.d.ts.map
@@ -25,6 +25,12 @@ export interface HoldingsCardProps {
25
25
  style?: StyleProp<ViewStyle>;
26
26
  /** Test ID for testing. */
27
27
  testID?: 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
- export default function HoldingsCard({ headerImage, heroLabel, heroValue, details, selected, disabled, onPress, modes, style, testID, }: HoldingsCardProps): import("react/jsx-runtime").JSX.Element;
35
+ export default function HoldingsCard({ headerImage, heroLabel, heroValue, details, selected, disabled, onPress, modes, style, testID, disableTruncation, }: HoldingsCardProps): import("react/jsx-runtime").JSX.Element;
30
36
  //# sourceMappingURL=HoldingsCard.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type StyleProp, type ViewStyle, type TextStyle, type TextInputProps as RNTextInputProps } from 'react-native';
2
+ import { TextInput as RNTextInput, type StyleProp, type ViewStyle, type TextStyle, type TextInputProps as RNTextInputProps } from 'react-native';
3
3
  import type { Modes } from '../../design-tokens';
4
4
  export type InputSearchProps = {
5
5
  supportText?: boolean;
@@ -22,5 +22,26 @@ export type InputSearchProps = {
22
22
  accessibilityLabel?: string;
23
23
  accessibilityHint?: string;
24
24
  } & Omit<RNTextInputProps, 'style' | 'onChangeText' | 'onFocus' | 'onBlur' | 'placeholder' | 'value'>;
25
- export default function InputSearch({ supportText, supportTextLabel, supportTextIcon, modes, containerStyle, placeholder, value, onChangeText, onFocus, onBlur, leading, trailing, inputStyle, ...rest }: InputSearchProps): import("react/jsx-runtime").JSX.Element;
25
+ declare const InputSearch: React.ForwardRefExoticComponent<{
26
+ supportText?: boolean;
27
+ supportTextLabel?: string;
28
+ /**
29
+ * Icon name from the icon registry to render inside the support text
30
+ * (e.g. 'ic_info', 'ic_cart'). Defaults to 'ic_info'.
31
+ */
32
+ supportTextIcon?: string;
33
+ modes?: Modes;
34
+ containerStyle?: StyleProp<ViewStyle>;
35
+ placeholder?: string;
36
+ value?: string;
37
+ onChangeText?: (text: string) => void;
38
+ onFocus?: (e: any) => void;
39
+ onBlur?: (e: any) => void;
40
+ leading?: React.ReactNode;
41
+ trailing?: React.ReactNode;
42
+ inputStyle?: StyleProp<TextStyle>;
43
+ accessibilityLabel?: string;
44
+ accessibilityHint?: string;
45
+ } & Omit<RNTextInputProps, "style" | "value" | "onFocus" | "onBlur" | "placeholder" | "onChangeText"> & React.RefAttributes<RNTextInput>>;
46
+ export default InputSearch;
26
47
  //# sourceMappingURL=InputSearch.d.ts.map
@@ -24,8 +24,14 @@ export type InstitutionBadgeProps = InstitutionBadgeBaseProps & {
24
24
  labelStyle?: StyleProp<TextStyle>;
25
25
  /** Accessibility label. Defaults to `label`. */
26
26
  accessibilityLabel?: string;
27
+ /**
28
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
29
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
30
+ * lines as it needs even when horizontal space is tight.
31
+ */
32
+ disableTruncation?: boolean;
27
33
  };
28
- declare function InstitutionBadge({ label, source, avatarSlot, modes: propModes, style, labelStyle, accessibilityLabel, ...rest }: InstitutionBadgeProps): import("react/jsx-runtime").JSX.Element;
34
+ declare function InstitutionBadge({ label, source, avatarSlot, modes: propModes, style, labelStyle, accessibilityLabel, disableTruncation, ...rest }: InstitutionBadgeProps): import("react/jsx-runtime").JSX.Element;
29
35
  declare const _default: React.MemoExoticComponent<typeof InstitutionBadge>;
30
36
  export default _default;
31
37
  //# sourceMappingURL=InstitutionBadge.d.ts.map
@@ -9,6 +9,12 @@ type ListGroupProps = {
9
9
  style?: StyleProp<ViewStyle>;
10
10
  accessibilityLabel?: string;
11
11
  accessibilityHint?: string;
12
+ /**
13
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
14
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
15
+ * lines as it needs even when horizontal space is tight.
16
+ */
17
+ disableTruncation?: boolean;
12
18
  } & Omit<React.ComponentProps<typeof View>, 'children'>;
13
19
  /**
14
20
  * ListGroup component that mirrors the Figma "List Group" component.
@@ -35,6 +41,6 @@ type ListGroupProps = {
35
41
  * @param {string} [props.accessibilityLabel] - Accessibility label for the list group. If not provided, uses label
36
42
  * @param {string} [props.accessibilityHint] - Additional accessibility hint for screen readers
37
43
  */
38
- declare function ListGroup({ label, listGroupSlot, children, modes, style, accessibilityLabel, accessibilityHint, ...rest }: ListGroupProps): import("react/jsx-runtime").JSX.Element;
44
+ declare function ListGroup({ label, listGroupSlot, children, modes, style, accessibilityLabel, accessibilityHint, disableTruncation, ...rest }: ListGroupProps): import("react/jsx-runtime").JSX.Element;
39
45
  export default ListGroup;
40
46
  //# sourceMappingURL=ListGroup.d.ts.map
@@ -31,6 +31,12 @@ type ListItemProps = {
31
31
  * Web-specific accessibility props (only used on web platform)
32
32
  */
33
33
  webAccessibilityProps?: WebAccessibilityProps;
34
+ /**
35
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
36
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
37
+ * lines as it needs even when horizontal space is tight.
38
+ */
39
+ disableTruncation?: boolean;
34
40
  } & React.ComponentProps<typeof View>;
35
41
  /**
36
42
  * ListItem component that mirrors the Figma "List Item" component.
@@ -78,7 +84,7 @@ type ListItemProps = {
78
84
  * handlers stay referentially stable across renders.
79
85
  * - The component is wrapped in `React.memo`.
80
86
  */
81
- declare function ListItemImpl({ layout, title, supportText, showSupportText, leading, supportSlot, trailing, endSlot, navArrow, modes, onPress, style, contentStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, ...rest }: ListItemProps): import("react/jsx-runtime").JSX.Element;
87
+ declare function ListItemImpl({ layout, title, supportText, showSupportText, leading, supportSlot, trailing, endSlot, navArrow, modes, onPress, style, contentStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, disableTruncation, ...rest }: ListItemProps): import("react/jsx-runtime").JSX.Element;
82
88
  declare const ListItem: React.MemoExoticComponent<typeof ListItemImpl>;
83
89
  export default ListItem;
84
90
  //# sourceMappingURL=ListItem.d.ts.map
@@ -30,6 +30,12 @@ export type MetricLegendItemProps = {
30
30
  labelStyle?: StyleProp<TextStyle>;
31
31
  /** Override the value text styles. */
32
32
  valueStyle?: StyleProp<TextStyle>;
33
+ /**
34
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
35
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
36
+ * lines as it needs even when horizontal space is tight.
37
+ */
38
+ disableTruncation?: boolean;
33
39
  };
34
40
  /**
35
41
  * MetricLegendItem renders a horizontal row consisting of a small colored
@@ -39,6 +45,6 @@ export type MetricLegendItemProps = {
39
45
  * @component
40
46
  * @param {MetricLegendItemProps} props
41
47
  */
42
- declare function MetricLegendItem({ label, value, indicatorColor, indicatorShape, modes, style, indicatorStyle, labelStyle, valueStyle, }: MetricLegendItemProps): import("react/jsx-runtime").JSX.Element;
48
+ declare function MetricLegendItem({ label, value, indicatorColor, indicatorShape, modes, style, indicatorStyle, labelStyle, valueStyle, disableTruncation, }: MetricLegendItemProps): import("react/jsx-runtime").JSX.Element;
43
49
  export default MetricLegendItem;
44
50
  //# sourceMappingURL=MetricLegendItem.d.ts.map
@@ -70,6 +70,12 @@ export type MonthlyStatusGridProps = {
70
70
  legendStyle?: StyleProp<ViewStyle>;
71
71
  /** Accessibility label for the entire component. */
72
72
  accessibilityLabel?: string;
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;
73
79
  };
74
80
  export type CalendarGlyphProps = {
75
81
  /** Text rendered inside the glyph (e.g. `'Jan'`). */
@@ -87,6 +93,12 @@ export type CalendarGlyphProps = {
87
93
  labelStyle?: StyleProp<TextStyle>;
88
94
  /** Accessibility label. Defaults to `"{label}, {status}"`. */
89
95
  accessibilityLabel?: string;
96
+ /**
97
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
98
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
99
+ * lines as it needs even when horizontal space is tight.
100
+ */
101
+ disableTruncation?: boolean;
90
102
  };
91
103
  /**
92
104
  * Single calendar-month glyph: a small pill with a status-driven background
@@ -95,7 +107,7 @@ export type CalendarGlyphProps = {
95
107
  * {@link MonthlyStatusGrid} instead, which keeps the count, layout and
96
108
  * legend in sync automatically.
97
109
  */
98
- declare function CalendarGlyph({ label, status, modes: propModes, style, labelStyle, accessibilityLabel, }: CalendarGlyphProps): import("react/jsx-runtime").JSX.Element;
110
+ declare function CalendarGlyph({ label, status, modes: propModes, style, labelStyle, accessibilityLabel, disableTruncation, }: CalendarGlyphProps): import("react/jsx-runtime").JSX.Element;
99
111
  /**
100
112
  * `MonthlyStatusGrid` shows a year (or any contiguous range of months) as a
101
113
  * grid of small pill-shaped calendar glyphs, each colored by its semantic
@@ -114,7 +126,7 @@ declare function CalendarGlyph({ label, status, modes: propModes, style, labelSt
114
126
  *
115
127
  * @component
116
128
  */
117
- declare function MonthlyStatusGrid({ months, columns, legend, legendStatuses, modes: propModes, style, monthsStyle, rowStyle, glyphStyle, labelStyle, legendStyle, accessibilityLabel, }: MonthlyStatusGridProps): import("react/jsx-runtime").JSX.Element;
129
+ declare function MonthlyStatusGrid({ months, columns, legend, legendStatuses, modes: propModes, style, monthsStyle, rowStyle, glyphStyle, labelStyle, legendStyle, accessibilityLabel, disableTruncation, }: MonthlyStatusGridProps): import("react/jsx-runtime").JSX.Element;
118
130
  export { CalendarGlyph };
119
131
  export default MonthlyStatusGrid;
120
132
  //# sourceMappingURL=MonthlyStatusGrid.d.ts.map
@@ -1,4 +1,5 @@
1
- import { type StyleProp, type ViewStyle, type TextStyle, type TextInputProps } from 'react-native';
1
+ import React from 'react';
2
+ import { TextInput as RNTextInput, type StyleProp, type ViewStyle, type TextStyle, type TextInputProps } from 'react-native';
2
3
  import type { Modes } from '../../design-tokens';
3
4
  export type NoteInputProps = {
4
5
  /** The value of the text input */
@@ -20,5 +21,21 @@ export type NoteInputProps = {
20
21
  * NoteInput component representing an interactive "Add note" badge style field.
21
22
  * Allows the user to click, clears the placeholder text, and shows a blinking cursor when focused.
22
23
  */
23
- export default function NoteInput({ value, placeholder, onChangeText, modes, style, textStyle, state: explicitState, onFocus, onBlur, ...rest }: NoteInputProps): import("react/jsx-runtime").JSX.Element;
24
+ declare const NoteInput: React.ForwardRefExoticComponent<{
25
+ /** The value of the text input */
26
+ value?: string;
27
+ /** The placeholder when empty ("Add note" by default) */
28
+ placeholder?: string;
29
+ /** Callback when text changes */
30
+ onChangeText?: (text: string) => void;
31
+ /** Design token modes (e.g., {'InputState': 'Idle', 'Color Mode': 'Light'}) */
32
+ modes?: Modes;
33
+ /** Custom container style */
34
+ style?: StyleProp<ViewStyle>;
35
+ /** Custom text input style */
36
+ textStyle?: StyleProp<TextStyle>;
37
+ /** State of the component */
38
+ state?: "Editing" | "Idle";
39
+ } & Omit<TextInputProps, "style" | "value" | "placeholder" | "onChangeText"> & React.RefAttributes<RNTextInput>>;
40
+ export default NoteInput;
24
41
  //# sourceMappingURL=NoteInput.d.ts.map
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
3
+ import type { Modes } from '../../design-tokens';
4
+ /**
5
+ * A single metric column inside the card's stats row: a small title, a bold
6
+ * value and an optional muted caption.
7
+ */
8
+ export interface PdpCcCardMetric {
9
+ /** Small label rendered above the value (e.g. `"Weight"`). */
10
+ title?: string;
11
+ /** The prominent value (e.g. `"24K"`). */
12
+ value?: string;
13
+ /** Optional muted caption rendered below the value. */
14
+ caption?: string;
15
+ }
16
+ export interface PdpCcCardProps {
17
+ /**
18
+ * Image source for the default media slot. Accepts a URL string or any RN
19
+ * `ImageSourcePropType`. Ignored when `media` is provided.
20
+ */
21
+ imageSource?: ImageSourcePropType | string;
22
+ /** Default media image width. Defaults to the Figma spec (`100`). */
23
+ imageWidth?: number;
24
+ /** Default media image height. Defaults to the Figma spec (`60`). */
25
+ imageHeight?: number;
26
+ /**
27
+ * Full override for the media slot (top of the card). Takes precedence over
28
+ * `imageSource`. `modes` cascade into it automatically.
29
+ */
30
+ media?: React.ReactNode;
31
+ /** Headline title (26px black). */
32
+ title?: string;
33
+ /** Subtitle rendered below the title (14px medium). */
34
+ subtitle?: string;
35
+ /**
36
+ * The metric columns rendered in the stats row. Vertical dividers are
37
+ * inserted automatically between adjacent metrics. Defaults to two sample
38
+ * metrics.
39
+ */
40
+ metrics?: PdpCcCardMetric[];
41
+ /** CTA button label. Defaults to `"button"`. */
42
+ buttonLabel?: string;
43
+ /**
44
+ * Registry icon name for the button's leading glyph. Defaults to
45
+ * `'ic_add_circle'`. Pass `null` to hide the leading icon.
46
+ */
47
+ buttonIcon?: string | null;
48
+ /** CTA press handler. */
49
+ onButtonPress?: () => void;
50
+ /** Full override for the CTA. Takes precedence over `buttonLabel`. */
51
+ button?: React.ReactNode;
52
+ /** Toggles the CTA button. Defaults to `true`. */
53
+ showButton?: boolean;
54
+ /** Press handler for the whole card. When set, the card becomes pressable. */
55
+ onPress?: () => void;
56
+ /** Card width. Defaults to the Figma spec (`344`). Pass `'100%'` to fill the parent. */
57
+ width?: number | `${number}%`;
58
+ /** Modes object for design-token resolution. Cascaded to all children. */
59
+ modes?: Modes;
60
+ /** Style overrides for the card container. */
61
+ style?: StyleProp<ViewStyle>;
62
+ /** Accessibility label for the card. */
63
+ accessibilityLabel?: string;
64
+ }
65
+ /**
66
+ * PdpCcCard — Figma node 5352:935 ("PDP cc card").
67
+ *
68
+ * A centered white product/PDP card composed from the shared design-system
69
+ * primitives so it stays in sync with the rest of the library:
70
+ *
71
+ * - **Media** — a top image slot (`Image`, rounded via `image/radius`). Pass
72
+ * `imageSource` for the default image or `media` for a full slot override.
73
+ * - **Title** — a centered headline + subtitle rendered through the shared
74
+ * {@link Title} component (`title/*`, `pageSubtitle/*` tokens).
75
+ * - **Metrics** — a row of {@link PdpCcCardMetric} columns (title / value /
76
+ * caption) separated by vertical `Divider`s (`metricdata/*` tokens).
77
+ * - **CTA** — a small tonal {@link Button} (`Button / Size: S`,
78
+ * `AppearanceBrand: Secondary`, `Emphasis: Medium`) with a leading icon.
79
+ *
80
+ * All defaults can be overridden via `modes`.
81
+ */
82
+ declare function PdpCcCard({ imageSource, imageWidth, imageHeight, media, title, subtitle, metrics, buttonLabel, buttonIcon, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: PdpCcCardProps): import("react/jsx-runtime").JSX.Element;
83
+ export default PdpCcCard;
84
+ //# sourceMappingURL=PdpCcCard.d.ts.map
@@ -46,6 +46,12 @@ export type PoweredByLabelProps = {
46
46
  * (which is decorative) does not need to be announced separately.
47
47
  */
48
48
  accessibilityLabel?: string;
49
+ /**
50
+ * When `true`, disables text truncation: the trailing ellipsis (`…`) is never
51
+ * shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
52
+ * lines as it needs even when horizontal space is tight.
53
+ */
54
+ disableTruncation?: boolean;
49
55
  };
50
56
  /**
51
57
  * `PoweredByLabel` renders the small "Powered by RBI-regulated account
@@ -66,6 +72,6 @@ export type PoweredByLabelProps = {
66
72
  * @component
67
73
  * @param {PoweredByLabelProps} props
68
74
  */
69
- declare function PoweredByLabel({ label, imageSource, imageWidth, imageHeight, imageSlot, modes: propModes, style, textStyle, imageStyle, accessibilityLabel, }: PoweredByLabelProps): import("react/jsx-runtime").JSX.Element;
75
+ declare function PoweredByLabel({ label, imageSource, imageWidth, imageHeight, imageSlot, modes: propModes, style, textStyle, imageStyle, accessibilityLabel, disableTruncation, }: PoweredByLabelProps): import("react/jsx-runtime").JSX.Element;
70
76
  export default PoweredByLabel;
71
77
  //# sourceMappingURL=PoweredByLabel.d.ts.map