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.
- package/CHANGELOG.md +45 -0
- package/lib/commonjs/components/Accordion/Accordion.js +2 -1
- package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +4 -3
- package/lib/commonjs/components/AccountCard/AccountCard.js +4 -3
- package/lib/commonjs/components/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
- package/lib/commonjs/components/AmountInput/AmountInput.js +8 -5
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +11 -7
- package/lib/commonjs/components/Badge/Badge.js +47 -8
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +231 -0
- package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
- package/lib/commonjs/components/Button/Button.js +2 -1
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +2 -1
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
- package/lib/commonjs/components/CardCTA/CardCTA.js +197 -27
- package/lib/commonjs/components/CardInsight/CardInsight.js +5 -1
- package/lib/commonjs/components/CcCard/CcCard.js +470 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +4 -3
- package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +4 -3
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +7 -3
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +3 -2
- package/lib/commonjs/components/CircularRating/CircularRating.js +2 -1
- package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
- package/lib/commonjs/components/CompareTable/CompareTable.js +401 -0
- package/lib/commonjs/components/ComparisonBar/ComparisonBar.js +266 -0
- package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
- package/lib/commonjs/components/DonutChart/DonutChart.js +4 -3
- package/lib/commonjs/components/Dropdown/Dropdown.js +3 -2
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +38 -5
- package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/commonjs/components/FormField/FormField.js +45 -4
- package/lib/commonjs/components/Gauge/Gauge.js +1 -1
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +3 -2
- package/lib/commonjs/components/InputSearch/InputSearch.js +6 -4
- package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +2 -1
- package/lib/commonjs/components/ListGroup/ListGroup.js +2 -1
- package/lib/commonjs/components/ListItem/ListItem.js +3 -2
- package/lib/commonjs/components/MediaCard/MediaCard.js +4 -2
- package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
- package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
- package/lib/commonjs/components/NoteInput/NoteInput.js +6 -5
- package/lib/commonjs/components/PdpCcCard/PdpCcCard.js +273 -0
- package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +427 -0
- package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +2 -2
- package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +162 -0
- package/lib/commonjs/components/Radio/Radio.js +5 -5
- package/lib/commonjs/components/Section/Section.js +3 -2
- package/lib/commonjs/components/Slider/Slider.js +474 -0
- package/lib/commonjs/components/Stack/Stack.js +86 -0
- package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
- package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
- package/lib/commonjs/components/Table/Table.js +324 -0
- package/lib/commonjs/components/Text/Text.js +2 -1
- package/lib/commonjs/components/TextInput/TextInput.js +22 -9
- package/lib/commonjs/components/TextSegment/TextSegment.js +119 -0
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +4 -5
- package/lib/commonjs/components/Title/Title.js +2 -1
- package/lib/commonjs/components/Toast/Toast.js +3 -2
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +2 -1
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +3 -2
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +2 -2
- package/lib/commonjs/components/index.js +107 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +39 -9
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/utils/GlassFill/GlassFill.js +271 -0
- package/lib/commonjs/utils/GlassFill/GlassFill.web.js +120 -0
- package/lib/commonjs/utils/react-utils.js +78 -0
- package/lib/commonjs/utils/web-platform-utils.js +59 -0
- package/lib/module/components/Accordion/Accordion.js +3 -2
- package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
- package/lib/module/components/AccountCard/AccountCard.js +5 -4
- package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
- package/lib/module/components/AmountInput/AmountInput.js +6 -4
- package/lib/module/components/AreaLineChart/AreaLineChart.js +12 -8
- package/lib/module/components/Badge/Badge.js +49 -10
- package/lib/module/components/BenefitCard/BenefitCard.js +225 -0
- package/lib/module/components/BrandChip/BrandChip.js +4 -4
- package/lib/module/components/Button/Button.js +3 -2
- package/lib/module/components/CardAdvisory/CardAdvisory.js +3 -2
- package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
- package/lib/module/components/CardCTA/CardCTA.js +198 -28
- package/lib/module/components/CardInsight/CardInsight.js +5 -1
- package/lib/module/components/CcCard/CcCard.js +464 -0
- package/lib/module/components/Checkbox/Checkbox.js +5 -4
- package/lib/module/components/CheckboxItem/CheckboxItem.js +5 -4
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +8 -4
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +4 -3
- package/lib/module/components/CircularRating/CircularRating.js +3 -2
- package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
- package/lib/module/components/CompareTable/CompareTable.js +396 -0
- package/lib/module/components/ComparisonBar/ComparisonBar.js +260 -0
- package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
- package/lib/module/components/DonutChart/DonutChart.js +5 -4
- package/lib/module/components/Dropdown/Dropdown.js +4 -3
- package/lib/module/components/DropdownInput/DropdownInput.js +40 -7
- package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/module/components/FormField/FormField.js +48 -7
- package/lib/module/components/Gauge/Gauge.js +1 -1
- package/lib/module/components/HoldingsCard/HoldingsCard.js +4 -3
- package/lib/module/components/InputSearch/InputSearch.js +6 -4
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -2
- package/lib/module/components/ListGroup/ListGroup.js +3 -2
- package/lib/module/components/ListItem/ListItem.js +4 -3
- package/lib/module/components/MediaCard/MediaCard.js +4 -2
- package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
- package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
- package/lib/module/components/NoteInput/NoteInput.js +7 -6
- package/lib/module/components/PdpCcCard/PdpCcCard.js +267 -0
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +421 -0
- package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
- package/lib/module/components/ProgressBadge/ProgressBadge.js +3 -3
- package/lib/module/components/ProjectionMarker/ProjectionMarker.js +157 -0
- package/lib/module/components/Radio/Radio.js +5 -4
- package/lib/module/components/Section/Section.js +4 -3
- package/lib/module/components/Slider/Slider.js +469 -0
- package/lib/module/components/Stack/Stack.js +81 -0
- package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
- package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
- package/lib/module/components/Table/Table.js +315 -0
- package/lib/module/components/Text/Text.js +3 -2
- package/lib/module/components/TextInput/TextInput.js +24 -11
- package/lib/module/components/TextSegment/TextSegment.js +114 -0
- package/lib/module/components/ThreadHero/ThreadHero.js +5 -6
- package/lib/module/components/Title/Title.js +3 -2
- package/lib/module/components/Toast/Toast.js +4 -3
- package/lib/module/components/TransactionBubble/TransactionBubble.js +3 -2
- package/lib/module/components/TransactionStatus/TransactionStatus.js +4 -3
- package/lib/module/components/UpiHandle/UpiHandle.js +3 -3
- package/lib/module/components/index.js +11 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +39 -9
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/utils/GlassFill/GlassFill.js +265 -0
- package/lib/module/utils/GlassFill/GlassFill.web.js +115 -0
- package/lib/module/utils/react-utils.js +75 -0
- package/lib/module/utils/web-platform-utils.js +58 -0
- package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
- package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
- package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
- package/lib/typescript/src/components/AmountInput/AmountInput.d.ts +3 -2
- package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
- package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +93 -0
- package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
- package/lib/typescript/src/components/Button/Button.d.ts +7 -1
- package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
- package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
- package/lib/typescript/src/components/CcCard/CcCard.d.ts +137 -0
- package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +3 -2
- package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +2 -2
- package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +7 -1
- package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
- package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
- package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
- package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +94 -0
- package/lib/typescript/src/components/ComparisonBar/ComparisonBar.d.ts +118 -0
- package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
- package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +26 -1
- package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/FormField/FormField.d.ts +2 -2
- package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
- package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +23 -2
- package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
- package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
- package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
- package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
- package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
- package/lib/typescript/src/components/NoteInput/NoteInput.d.ts +19 -2
- package/lib/typescript/src/components/PdpCcCard/PdpCcCard.d.ts +84 -0
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
- package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +87 -0
- package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
- package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
- package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +88 -0
- package/lib/typescript/src/components/Radio/Radio.d.ts +3 -2
- package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +2 -2
- package/lib/typescript/src/components/Section/Section.d.ts +7 -1
- package/lib/typescript/src/components/Slider/Slider.d.ts +105 -0
- package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
- package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
- package/lib/typescript/src/components/Table/Table.d.ts +139 -0
- package/lib/typescript/src/components/Text/Text.d.ts +7 -1
- package/lib/typescript/src/components/TextInput/TextInput.d.ts +9 -29
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +106 -0
- package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
- package/lib/typescript/src/components/Title/Title.d.ts +7 -1
- package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
- package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
- package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
- package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
- package/lib/typescript/src/components/index.d.ts +14 -3
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +22 -2
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +84 -0
- package/lib/typescript/src/utils/GlassFill/GlassFill.web.d.ts +43 -0
- package/lib/typescript/src/utils/react-utils.d.ts +47 -0
- package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
- package/package.json +2 -1
- package/src/components/Accordion/Accordion.tsx +9 -2
- package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
- package/src/components/AccountCard/AccountCard.tsx +10 -3
- package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
- package/src/components/AmountInput/AmountInput.tsx +7 -5
- package/src/components/AreaLineChart/AreaLineChart.tsx +15 -5
- package/src/components/Badge/Badge.tsx +78 -8
- package/src/components/BenefitCard/BenefitCard.tsx +309 -0
- package/src/components/BrandChip/BrandChip.tsx +9 -3
- package/src/components/Button/Button.tsx +9 -2
- package/src/components/CardAdvisory/CardAdvisory.tsx +9 -2
- package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
- package/src/components/CardCTA/CardCTA.tsx +214 -41
- package/src/components/CardInsight/CardInsight.tsx +7 -1
- package/src/components/CcCard/CcCard.tsx +598 -0
- package/src/components/Checkbox/Checkbox.tsx +5 -4
- package/src/components/CheckboxItem/CheckboxItem.tsx +5 -4
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +14 -4
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +10 -3
- package/src/components/CircularRating/CircularRating.tsx +9 -2
- package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
- package/src/components/CompareTable/CompareTable.tsx +525 -0
- package/src/components/ComparisonBar/ComparisonBar.tsx +356 -0
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
- package/src/components/DonutChart/DonutChart.tsx +10 -3
- package/src/components/Dropdown/Dropdown.tsx +9 -2
- package/src/components/DropdownInput/DropdownInput.tsx +64 -5
- package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
- package/src/components/FormField/FormField.tsx +52 -6
- package/src/components/Gauge/Gauge.tsx +1 -1
- package/src/components/HoldingsCard/HoldingsCard.tsx +9 -2
- package/src/components/InputSearch/InputSearch.tsx +8 -5
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +9 -2
- package/src/components/ListGroup/ListGroup.tsx +9 -2
- package/src/components/ListItem/ListItem.tsx +10 -3
- package/src/components/MediaCard/MediaCard.tsx +2 -2
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
- package/src/components/NoteInput/NoteInput.tsx +8 -6
- package/src/components/PdpCcCard/PdpCcCard.tsx +356 -0
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +490 -0
- package/src/components/ProductOverview/ProductOverview.tsx +10 -3
- package/src/components/ProgressBadge/ProgressBadge.tsx +9 -3
- package/src/components/ProjectionMarker/ProjectionMarker.tsx +284 -0
- package/src/components/Radio/Radio.tsx +5 -4
- package/src/components/Section/Section.tsx +10 -3
- package/src/components/Slider/Slider.tsx +635 -0
- package/src/components/Stack/Stack.tsx +131 -0
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -1
- package/src/components/SummaryTile/SummaryTile.tsx +9 -2
- package/src/components/Table/Table.tsx +449 -0
- package/src/components/Text/Text.tsx +9 -2
- package/src/components/TextInput/TextInput.tsx +22 -12
- package/src/components/TextSegment/TextSegment.tsx +173 -0
- package/src/components/ThreadHero/ThreadHero.tsx +10 -3
- package/src/components/Title/Title.tsx +9 -2
- package/src/components/Toast/Toast.tsx +9 -2
- package/src/components/TransactionBubble/TransactionBubble.tsx +9 -2
- package/src/components/TransactionStatus/TransactionStatus.tsx +9 -2
- package/src/components/UpiHandle/UpiHandle.tsx +9 -3
- package/src/components/index.ts +33 -3
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +39 -9
- package/src/icons/registry.ts +1 -1
- package/src/utils/GlassFill/GlassFill.tsx +305 -0
- package/src/utils/GlassFill/GlassFill.web.tsx +148 -0
- package/src/utils/react-utils.ts +84 -0
- package/src/utils/web-platform-utils.ts +68 -0
- package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
- package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
- package/lib/module/components/MediaCard/GlassFill.js +0 -57
- package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
- package/lib/typescript/scripts/extract-component-tokens.d.ts +0 -9
- package/lib/typescript/scripts/generate-component-docs.d.ts +0 -9
- package/lib/typescript/scripts/generate-icon-registry.d.ts +0 -3
- package/lib/typescript/scripts/generate-mode-types.d.ts +0 -2
- package/lib/typescript/scripts/retype-modes.d.cts +0 -2
- package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
- package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
- package/src/components/MediaCard/GlassFill.tsx +0 -89
- package/src/components/MediaCard/GlassFill.web.tsx +0 -53
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
export interface ProductMerchandisingCardProps {
|
|
5
|
+
/**
|
|
6
|
+
* Background media for the card. Accepts a URL string or any RN
|
|
7
|
+
* `ImageSourcePropType` (same shape as `Avatar`, `MediaCard`, etc.). The
|
|
8
|
+
* image is rendered full-bleed behind the header and glass footer.
|
|
9
|
+
*/
|
|
10
|
+
imageSource?: ImageSourcePropType | string;
|
|
11
|
+
/** Footer title (bold, white). */
|
|
12
|
+
title?: string;
|
|
13
|
+
/** Footer subtitle (muted). */
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Header badge label (top-right). The badge is hidden when this is
|
|
17
|
+
* `undefined` and no `badge` override is provided.
|
|
18
|
+
*/
|
|
19
|
+
badgeLabel?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Full override for the header badge. Takes precedence over `badgeLabel`.
|
|
22
|
+
*/
|
|
23
|
+
badge?: React.ReactNode;
|
|
24
|
+
/** Show the header avatar (top-left). Defaults to `true`. */
|
|
25
|
+
showAvatar?: boolean;
|
|
26
|
+
/** Avatar image source. */
|
|
27
|
+
avatarSource?: ImageSourcePropType | string;
|
|
28
|
+
/** Avatar monogram fallback when no image is supplied. */
|
|
29
|
+
avatarMonogram?: string;
|
|
30
|
+
/** Full override for the header avatar. Takes precedence over avatar props. */
|
|
31
|
+
avatar?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Footer "special badge" label (small frosted pill above the title). The
|
|
34
|
+
* badge is hidden when this is `undefined` and no `specialBadge` override
|
|
35
|
+
* is provided.
|
|
36
|
+
*/
|
|
37
|
+
specialBadgeLabel?: string;
|
|
38
|
+
/** Optional leading node (icon/image) rendered inside the special badge. */
|
|
39
|
+
specialBadgeIcon?: React.ReactNode;
|
|
40
|
+
/** Full override for the special badge. Takes precedence over the props above. */
|
|
41
|
+
specialBadge?: React.ReactNode;
|
|
42
|
+
/** CTA button label. Defaults to `"CTA"`. */
|
|
43
|
+
ctaLabel?: string;
|
|
44
|
+
/** CTA button press handler. */
|
|
45
|
+
onCtaPress?: () => void;
|
|
46
|
+
/** Full override for the CTA. Takes precedence over `ctaLabel`/`onCtaPress`. */
|
|
47
|
+
cta?: React.ReactNode;
|
|
48
|
+
/** Press handler for the whole card. When set, the card becomes pressable. */
|
|
49
|
+
onPress?: () => void;
|
|
50
|
+
/** Card height in px. Defaults to `223` (Figma spec). */
|
|
51
|
+
height?: number;
|
|
52
|
+
/** Modes object for design-token resolution. Cascaded to all children. */
|
|
53
|
+
modes?: Modes;
|
|
54
|
+
/** Style overrides for the card container. */
|
|
55
|
+
style?: StyleProp<ViewStyle>;
|
|
56
|
+
/** Accessibility label for the card. */
|
|
57
|
+
accessibilityLabel?: string;
|
|
58
|
+
/**
|
|
59
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
60
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
61
|
+
* lines as it needs even when horizontal space is tight.
|
|
62
|
+
*/
|
|
63
|
+
disableTruncation?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* ProductMerchandisingCard — a full-bleed image card (Figma node 5277:317)
|
|
67
|
+
* with a top header (avatar + badge) and a bottom **glass footer** that
|
|
68
|
+
* combines a real native background blur with a transparent→black gradient
|
|
69
|
+
* scrim for legible text over any image.
|
|
70
|
+
*
|
|
71
|
+
* Glass footer implementation (works on iOS, Android and Web):
|
|
72
|
+
* - **iOS / Android:** `<GlassFill>` wraps `@react-native-community/blur`'s
|
|
73
|
+
* `BlurView` — iOS gets a real `UIVisualEffectView` (live OS blur),
|
|
74
|
+
* Android gets the community `RealtimeBlurView` with a tinted scrim
|
|
75
|
+
* fallback. The native-only module is isolated in `GlassFill.tsx`.
|
|
76
|
+
* - **Web:** the platform-extension `GlassFill.web.tsx` renders a translucent
|
|
77
|
+
* `View` with `backdrop-filter: blur()` — Metro picks the right file so the
|
|
78
|
+
* web bundle never imports the native blur module.
|
|
79
|
+
* - The gradient scrim is drawn with `react-native-svg` (one renderer for all
|
|
80
|
+
* platforms) so the fade is identical everywhere.
|
|
81
|
+
*
|
|
82
|
+
* The blur strength is driven by the Figma `blur/minimal` token, mapped to the
|
|
83
|
+
* `GlassFill` 0–100 intensity scale the same way `MediaCard` does.
|
|
84
|
+
*/
|
|
85
|
+
declare function ProductMerchandisingCard({ imageSource, title, subtitle, badgeLabel, badge, showAvatar, avatarSource, avatarMonogram, avatar, specialBadgeLabel, specialBadgeIcon, specialBadge, ctaLabel, onCtaPress, cta, onPress, height, modes, style, accessibilityLabel, disableTruncation, }: ProductMerchandisingCardProps): import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
export default ProductMerchandisingCard;
|
|
87
|
+
//# sourceMappingURL=ProductMerchandisingCard.d.ts.map
|
|
@@ -34,7 +34,13 @@ export type ProductOverviewProps = {
|
|
|
34
34
|
* for badges, callouts, etc. Receives the same `modes` as the parent.
|
|
35
35
|
*/
|
|
36
36
|
children?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
39
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
40
|
+
* lines as it needs even when horizontal space is tight.
|
|
41
|
+
*/
|
|
42
|
+
disableTruncation?: boolean;
|
|
37
43
|
};
|
|
38
|
-
declare const ProductOverview: ({ imageSource, imageRatio, labelImageSource, label, productName, description, stats, modes, style, children, }: ProductOverviewProps) => import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
declare const ProductOverview: ({ imageSource, imageRatio, labelImageSource, label, productName, description, stats, modes, style, children, disableTruncation, }: ProductOverviewProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
45
|
export default ProductOverview;
|
|
40
46
|
//# sourceMappingURL=ProductOverview.d.ts.map
|
|
@@ -16,6 +16,12 @@ export type ProgressBadgeProps = {
|
|
|
16
16
|
textStyle?: StyleProp<TextStyle>;
|
|
17
17
|
/** Accessibility label for screen readers */
|
|
18
18
|
accessibilityLabel?: string;
|
|
19
|
+
/**
|
|
20
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
21
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
22
|
+
* lines as it needs even when horizontal space is tight.
|
|
23
|
+
*/
|
|
24
|
+
disableTruncation?: boolean;
|
|
19
25
|
} & React.ComponentProps<typeof View>;
|
|
20
26
|
/**
|
|
21
27
|
* ProgressBadge component that displays an icon, text, and an internal progress bar.
|
|
@@ -32,6 +38,6 @@ export type ProgressBadgeProps = {
|
|
|
32
38
|
* @param {Object} [props.textStyle] - Optional text style overrides.
|
|
33
39
|
* @param {string} [props.accessibilityLabel] - Accessibility label.
|
|
34
40
|
*/
|
|
35
|
-
declare function ProgressBadge({ taskName, iconName, value, modes, style, textStyle: textStyleOverride, accessibilityLabel, ...rest }: ProgressBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
declare function ProgressBadge({ taskName, iconName, value, modes, style, textStyle: textStyleOverride, accessibilityLabel, disableTruncation, ...rest }: ProgressBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
36
42
|
export default ProgressBadge;
|
|
37
43
|
//# sourceMappingURL=ProgressBadge.d.ts.map
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A value rendered at either end of the marker. A `string`/`number` is rendered
|
|
6
|
+
* with the built-in title typography; any other `ReactNode` (e.g. a
|
|
7
|
+
* `MoneyValue`) is rendered as-is so consumers can fully control presentation.
|
|
8
|
+
*/
|
|
9
|
+
type ProjectionMarkerEndValue = React.ReactNode;
|
|
10
|
+
export type ProjectionMarkerProps = {
|
|
11
|
+
/**
|
|
12
|
+
* Value shown on the leading (left) end of the marker — typically the
|
|
13
|
+
* invested/starting amount. Accepts a string for the default styling or any
|
|
14
|
+
* `ReactNode` (e.g. `MoneyValue`) for custom rendering.
|
|
15
|
+
*/
|
|
16
|
+
startValue?: ProjectionMarkerEndValue;
|
|
17
|
+
/**
|
|
18
|
+
* Value shown on the trailing (right) end of the marker — typically the
|
|
19
|
+
* projected/ending amount.
|
|
20
|
+
*/
|
|
21
|
+
endValue?: ProjectionMarkerEndValue;
|
|
22
|
+
/**
|
|
23
|
+
* Primary line inside the center badge — typically the duration
|
|
24
|
+
* (e.g. `"1Y 10M"`).
|
|
25
|
+
*/
|
|
26
|
+
duration?: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Secondary line inside the center badge — typically the rate
|
|
29
|
+
* (e.g. `"@ 8.25 %"`).
|
|
30
|
+
*/
|
|
31
|
+
rate?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to render the connector lines between the end values and the
|
|
34
|
+
* center badge. Defaults to `true`.
|
|
35
|
+
*/
|
|
36
|
+
showConnectors?: boolean;
|
|
37
|
+
/** Design token modes for theming. */
|
|
38
|
+
modes?: Modes;
|
|
39
|
+
/** Override the root container styles. */
|
|
40
|
+
style?: StyleProp<ViewStyle>;
|
|
41
|
+
/** Override the leading value text styles (only applies to string values). */
|
|
42
|
+
startValueStyle?: StyleProp<TextStyle>;
|
|
43
|
+
/** Override the trailing value text styles (only applies to string values). */
|
|
44
|
+
endValueStyle?: StyleProp<TextStyle>;
|
|
45
|
+
/** Override the center badge container styles. */
|
|
46
|
+
badgeStyle?: StyleProp<ViewStyle>;
|
|
47
|
+
/** Override the duration text styles. */
|
|
48
|
+
durationStyle?: StyleProp<TextStyle>;
|
|
49
|
+
/** Override the rate text styles. */
|
|
50
|
+
rateStyle?: StyleProp<TextStyle>;
|
|
51
|
+
/** Accessibility label for the whole marker. */
|
|
52
|
+
accessibilityLabel?: string;
|
|
53
|
+
/**
|
|
54
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
55
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
56
|
+
* lines as it needs even when horizontal space is tight.
|
|
57
|
+
*/
|
|
58
|
+
disableTruncation?: boolean;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* ProjectionMarker renders a start value and an end value connected to a
|
|
62
|
+
* centered badge that summarizes the projection (e.g. a tenure and interest
|
|
63
|
+
* rate). It mirrors the Figma `projectionMarker` component and is commonly used
|
|
64
|
+
* inside "Potential returns" style cards.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* <ProjectionMarker
|
|
69
|
+
* startValue="₹1,00,000"
|
|
70
|
+
* endValue="₹1,25,101"
|
|
71
|
+
* duration="1Y 10M"
|
|
72
|
+
* rate="@ 8.25 %"
|
|
73
|
+
* />
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @example Custom end values via MoneyValue
|
|
77
|
+
* ```tsx
|
|
78
|
+
* <ProjectionMarker
|
|
79
|
+
* startValue={<MoneyValue value="1,00,000" />}
|
|
80
|
+
* endValue={<MoneyValue value="1,25,101" />}
|
|
81
|
+
* duration="1Y 10M"
|
|
82
|
+
* rate="@ 8.25 %"
|
|
83
|
+
* />
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
declare function ProjectionMarker({ startValue, endValue, duration, rate, showConnectors, modes, style, startValueStyle, endValueStyle, badgeStyle, durationStyle, rateStyle, accessibilityLabel, disableTruncation, }: ProjectionMarkerProps): import("react/jsx-runtime").JSX.Element;
|
|
87
|
+
export default ProjectionMarker;
|
|
88
|
+
//# sourceMappingURL=ProjectionMarker.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, ViewStyle, StyleProp } from 'react-native';
|
|
2
3
|
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export interface RadioProps {
|
|
4
5
|
/**
|
|
@@ -26,6 +27,6 @@ export interface RadioProps {
|
|
|
26
27
|
*/
|
|
27
28
|
testID?: string;
|
|
28
29
|
}
|
|
29
|
-
export declare
|
|
30
|
+
export declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<View>>;
|
|
30
31
|
export default Radio;
|
|
31
32
|
//# sourceMappingURL=Radio.d.ts.map
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* the new `Radio` component under the old `RadioButton` names; please migrate
|
|
16
16
|
* existing usages to `Radio` at your earliest convenience.
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { type RadioProps } from '../Radio/Radio';
|
|
19
19
|
export type RadioButtonProps = RadioProps;
|
|
20
|
-
export declare const RadioButton:
|
|
20
|
+
export declare const RadioButton: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<import("react-native").View>>;
|
|
21
21
|
export default RadioButton;
|
|
22
22
|
//# sourceMappingURL=RadioButton.d.ts.map
|
|
@@ -18,8 +18,14 @@ type SectionProps = {
|
|
|
18
18
|
* Web-specific accessibility props (only used on web platform)
|
|
19
19
|
*/
|
|
20
20
|
webAccessibilityProps?: WebAccessibilityProps;
|
|
21
|
+
/**
|
|
22
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
23
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
24
|
+
* lines as it needs even when horizontal space is tight.
|
|
25
|
+
*/
|
|
26
|
+
disableTruncation?: boolean;
|
|
21
27
|
} & React.ComponentProps<typeof View>;
|
|
22
|
-
declare function Section({ title, supportText, showSupportText, slot, slotDirection, modes, onPress, style, accessibilityLabel: _accessibilityLabel, accessibilityHint, webAccessibilityProps, ...rest }: SectionProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function Section({ title, supportText, showSupportText, slot, slotDirection, modes, onPress, style, accessibilityLabel: _accessibilityLabel, accessibilityHint, webAccessibilityProps, disableTruncation, ...rest }: SectionProps): import("react/jsx-runtime").JSX.Element;
|
|
23
29
|
declare namespace Section {
|
|
24
30
|
var Bento: typeof SectionBento;
|
|
25
31
|
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* Imperative handle exposed via `ref`. The primary way to read a slider's value
|
|
6
|
+
* is still the controlled `value` + `onChange` pair (each `<Slider />` reports
|
|
7
|
+
* its own value, so multiple sliders are disambiguated by their own handlers).
|
|
8
|
+
* The ref is a convenience for reading the latest value on demand (e.g. on a
|
|
9
|
+
* button press) or imperatively nudging an uncontrolled slider.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const slider = useRef<SliderHandle>(null)
|
|
13
|
+
* slider.current?.setValue(50)
|
|
14
|
+
* const v = slider.current?.getValue()
|
|
15
|
+
*/
|
|
16
|
+
export interface SliderHandle {
|
|
17
|
+
/** Returns the slider's current (clamped, step-snapped) value. */
|
|
18
|
+
getValue: () => number;
|
|
19
|
+
/** Sets the value. Fires `onChange` + `onChangeEnd`. */
|
|
20
|
+
setValue: (value: number) => void;
|
|
21
|
+
/** Steps the value up by one `step` (or `by`, snapped to `step`). */
|
|
22
|
+
increment: (by?: number) => void;
|
|
23
|
+
/** Steps the value down by one `step` (or `by`, snapped to `step`). */
|
|
24
|
+
decrement: (by?: number) => void;
|
|
25
|
+
}
|
|
26
|
+
export interface SliderProps {
|
|
27
|
+
/** Current value (controlled). Pair with `onChange`. */
|
|
28
|
+
value?: number;
|
|
29
|
+
/** Initial value (uncontrolled). Defaults to `minValue`. */
|
|
30
|
+
defaultValue?: number;
|
|
31
|
+
/** Called continuously while the value changes (drag / keypress / track press). */
|
|
32
|
+
onChange?: (value: number) => void;
|
|
33
|
+
/** Called once when the interaction ends (drag release / keypress). */
|
|
34
|
+
onChangeEnd?: (value: number) => void;
|
|
35
|
+
/** Minimum selectable value. Defaults to `0`. */
|
|
36
|
+
minValue?: number;
|
|
37
|
+
/** Maximum selectable value. Defaults to `100`. */
|
|
38
|
+
maxValue?: number;
|
|
39
|
+
/** Snap increment. Defaults to `1`. Use a smaller value for finer control. */
|
|
40
|
+
step?: number;
|
|
41
|
+
/** Disables interaction and dims the control. */
|
|
42
|
+
isDisabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* `Intl.NumberFormat` options used to format the value bubble and the
|
|
45
|
+
* min/max labels (e.g. `{ style: 'currency', currency: 'USD' }`).
|
|
46
|
+
*/
|
|
47
|
+
formatOptions?: Intl.NumberFormatOptions;
|
|
48
|
+
/** BCP-47 locale used with `formatOptions`. Defaults to the runtime locale. */
|
|
49
|
+
locale?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Full override for value formatting. Takes precedence over `formatOptions`.
|
|
52
|
+
* Receives the raw numeric value, returns the string to display.
|
|
53
|
+
*/
|
|
54
|
+
formatValue?: (value: number) => string;
|
|
55
|
+
/** Renders fully custom value-bubble content. Takes precedence over `formatValue`. */
|
|
56
|
+
renderTooltip?: (value: number) => React.ReactNode;
|
|
57
|
+
/**
|
|
58
|
+
* When `true` (default, matches the Figma design) the value bubble is
|
|
59
|
+
* always visible. When `false` it behaves like a normal tooltip — hidden at
|
|
60
|
+
* rest and revealed only while the user interacts (dragging on touch, or
|
|
61
|
+
* hovering/dragging on web), then dismissed as soon as the finger lifts.
|
|
62
|
+
*
|
|
63
|
+
* Either way the bubble floats above the track and never occupies layout
|
|
64
|
+
* space, so it will overlap content above the slider — leave room for it.
|
|
65
|
+
*/
|
|
66
|
+
alwaysShowTooltip?: boolean;
|
|
67
|
+
/** Toggles the min/max labels below the track. Defaults to `true`. */
|
|
68
|
+
showLabels?: boolean;
|
|
69
|
+
/** Override for the left (min) label. Defaults to the formatted `minValue`. */
|
|
70
|
+
minLabel?: React.ReactNode;
|
|
71
|
+
/** Override for the right (max) label. Defaults to the formatted `maxValue`. */
|
|
72
|
+
maxLabel?: React.ReactNode;
|
|
73
|
+
/** Slider width. Defaults to `'100%'` so it fills its parent. */
|
|
74
|
+
width?: number | `${number}%`;
|
|
75
|
+
/** Design-token modes for theming. */
|
|
76
|
+
modes?: Modes;
|
|
77
|
+
/** Style override for the outer container. */
|
|
78
|
+
style?: StyleProp<ViewStyle>;
|
|
79
|
+
/** Accessibility label for screen readers. */
|
|
80
|
+
accessibilityLabel?: string;
|
|
81
|
+
/**
|
|
82
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
83
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
84
|
+
* lines as it needs even when horizontal space is tight.
|
|
85
|
+
*/
|
|
86
|
+
disableTruncation?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Slider — Figma node 5373:446 ("Slider").
|
|
90
|
+
*
|
|
91
|
+
* A horizontal, single-thumb slider driven entirely by design tokens. It maps a
|
|
92
|
+
* numeric range (`minValue`–`maxValue`) onto a track with a filled indicator, a
|
|
93
|
+
* draggable handle, a value bubble pinned above the handle, and optional min/max
|
|
94
|
+
* labels beneath the track. Built on `PanResponder` so the one code path works
|
|
95
|
+
* on iOS, Android and the web.
|
|
96
|
+
*
|
|
97
|
+
* The design only labels the range bounds, but a slider's purpose is to bind a
|
|
98
|
+
* value — so the live value is surfaced through the bubble (formatted via
|
|
99
|
+
* `formatOptions` / `formatValue`) and reported through `onChange` /
|
|
100
|
+
* `onChangeEnd`. Supports controlled and uncontrolled usage, web keyboard
|
|
101
|
+
* control, and an imperative {@link SliderHandle} `ref` for on-demand reads.
|
|
102
|
+
*/
|
|
103
|
+
declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<SliderHandle>>;
|
|
104
|
+
export default Slider;
|
|
105
|
+
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewProps, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
export type StackLayoutDirection = 'vertical' | 'horizontal';
|
|
5
|
+
export type StackProps = ViewProps & {
|
|
6
|
+
/**
|
|
7
|
+
* Content laid out inside the stack. `modes` are cascaded to every child via
|
|
8
|
+
* {@link cloneChildrenWithModes}.
|
|
9
|
+
*/
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Main-axis direction for stack children. Matches the Figma Slot variant:
|
|
13
|
+
* - `vertical` (default): stacks children in a column
|
|
14
|
+
* - `horizontal`: arranges children in a row
|
|
15
|
+
*/
|
|
16
|
+
layoutDirection?: StackLayoutDirection;
|
|
17
|
+
/**
|
|
18
|
+
* Alignment along the cross axis.
|
|
19
|
+
* Defaults to `stretch` for vertical and `flex-start` for horizontal.
|
|
20
|
+
*/
|
|
21
|
+
alignCrossAxis?: ViewStyle['alignItems'];
|
|
22
|
+
/**
|
|
23
|
+
* Distribution along the main axis (maps to `justifyContent`).
|
|
24
|
+
*/
|
|
25
|
+
justifyMainAxis?: ViewStyle['justifyContent'];
|
|
26
|
+
/**
|
|
27
|
+
* Only meaningful when `layoutDirection` is `horizontal`.
|
|
28
|
+
*
|
|
29
|
+
* When true, forces every child to share the height of the tallest child. The
|
|
30
|
+
* height is enforced by the stack itself (`alignItems: 'stretch'` plus an
|
|
31
|
+
* injected `alignSelf: 'stretch'` on each child), so children can no longer
|
|
32
|
+
* opt out via their own `alignSelf`. Children with an explicit `height` keep
|
|
33
|
+
* that height, since a fixed cross-axis dimension defeats stretch in Yoga.
|
|
34
|
+
*
|
|
35
|
+
* Overrides `alignCrossAxis` when it applies.
|
|
36
|
+
*/
|
|
37
|
+
equalHeight?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Only meaningful when `layoutDirection` is `vertical`.
|
|
40
|
+
*
|
|
41
|
+
* When true, forces every child to fill the full width of the stack. The width
|
|
42
|
+
* is enforced by the stack itself (`alignItems: 'stretch'` plus an injected
|
|
43
|
+
* `alignSelf: 'stretch'` on each child), so children can no longer opt out via
|
|
44
|
+
* their own `alignSelf`. Children with an explicit `width` keep that width,
|
|
45
|
+
* since a fixed cross-axis dimension defeats stretch in Yoga.
|
|
46
|
+
*
|
|
47
|
+
* Overrides `alignCrossAxis` when it applies.
|
|
48
|
+
*/
|
|
49
|
+
fillWidth?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Mode configuration passed to the token resolver and cascaded to children.
|
|
52
|
+
*/
|
|
53
|
+
modes?: Modes;
|
|
54
|
+
style?: StyleProp<ViewStyle>;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Stack — a token-driven layout container for grouped content.
|
|
58
|
+
*
|
|
59
|
+
* Use `Stack` instead of a raw `View` when you need a vertical or horizontal
|
|
60
|
+
* stack with design-token gap spacing and automatic `modes` propagation to
|
|
61
|
+
* children. Typical usage is nesting a column of actions inside a
|
|
62
|
+
* direction-locked parent such as `ActionFooter`:
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* <ActionFooter modes={modes}>
|
|
67
|
+
* <Stack layoutDirection="vertical" modes={modes}>
|
|
68
|
+
* <Button label="Continue" modes={primaryModes} />
|
|
69
|
+
* <Disclaimer disclaimer="Terms apply." modes={modes} />
|
|
70
|
+
* </Stack>
|
|
71
|
+
* </ActionFooter>
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* Previously named `Slot`. The `Slot` export is preserved as a deprecated alias
|
|
76
|
+
* for backward compatibility.
|
|
77
|
+
*/
|
|
78
|
+
declare function Stack({ children, layoutDirection, alignCrossAxis, justifyMainAxis, equalHeight, fillWidth, modes: propModes, style, ...rest }: StackProps): import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
declare const _default: React.MemoExoticComponent<typeof Stack>;
|
|
80
|
+
export default _default;
|
|
81
|
+
//# sourceMappingURL=Stack.d.ts.map
|
|
@@ -45,6 +45,12 @@ export type SummaryTileProps = {
|
|
|
45
45
|
descriptionStyle?: StyleProp<TextStyle>;
|
|
46
46
|
/** Accessibility label override (defaults to `title`). */
|
|
47
47
|
accessibilityLabel?: string;
|
|
48
|
+
/**
|
|
49
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
50
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
51
|
+
* lines as it needs even when horizontal space is tight.
|
|
52
|
+
*/
|
|
53
|
+
disableTruncation?: boolean;
|
|
48
54
|
};
|
|
49
55
|
/**
|
|
50
56
|
* SummaryTile composes a title (with an inline `StrengthIndicator`), a
|
|
@@ -56,6 +62,6 @@ export type SummaryTileProps = {
|
|
|
56
62
|
* @component
|
|
57
63
|
* @param {SummaryTileProps} props
|
|
58
64
|
*/
|
|
59
|
-
declare function SummaryTile({ title, description, confidence, chevron, children, onPress, modes, style, titleStyle, descriptionStyle, accessibilityLabel, }: SummaryTileProps): import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
declare function SummaryTile({ title, description, confidence, chevron, children, onPress, modes, style, titleStyle, descriptionStyle, accessibilityLabel, disableTruncation, }: SummaryTileProps): import("react/jsx-runtime").JSX.Element;
|
|
60
66
|
export default SummaryTile;
|
|
61
67
|
//# sourceMappingURL=SummaryTile.d.ts.map
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
export type TableCellAlign = 'left' | 'center' | 'right';
|
|
5
|
+
export type TableCellProps = {
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
/** Horizontal alignment of the cell content. @default 'left' */
|
|
8
|
+
align?: TableCellAlign;
|
|
9
|
+
/** Fixed cell width. Omit to let the cell flex. */
|
|
10
|
+
width?: number;
|
|
11
|
+
/** Flex-grow weight when `width` is not set. @default 1 */
|
|
12
|
+
flex?: number;
|
|
13
|
+
/** Drop the right divider (used for the last column). @default false */
|
|
14
|
+
isLastColumn?: boolean;
|
|
15
|
+
/** Drop the bottom divider (used for the last row). @default false */
|
|
16
|
+
isLastRow?: boolean;
|
|
17
|
+
modes?: Modes;
|
|
18
|
+
style?: StyleProp<ViewStyle>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A single body cell. White background with a bottom + right divider, matching
|
|
22
|
+
* the Figma `table-cell` sub-component. String/number children are rendered
|
|
23
|
+
* with the token label style; any element is rendered as-is.
|
|
24
|
+
*/
|
|
25
|
+
declare function TableCell({ children, align, width, flex, isLastColumn, isLastRow, modes, style, }: TableCellProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export type TableHeaderCellProps = {
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/** Horizontal alignment of the header content. @default 'left' */
|
|
29
|
+
align?: TableCellAlign;
|
|
30
|
+
/** Fixed cell width. Omit to let the cell flex. */
|
|
31
|
+
width?: number;
|
|
32
|
+
/** Flex-grow weight when `width` is not set. @default 1 */
|
|
33
|
+
flex?: number;
|
|
34
|
+
modes?: Modes;
|
|
35
|
+
style?: StyleProp<ViewStyle>;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* A single header cell. Muted background with the bold token label style,
|
|
39
|
+
* matching the Figma `table header wrap` sub-component. Header cells carry no
|
|
40
|
+
* dividers; the header row draws a single bottom divider beneath them.
|
|
41
|
+
*/
|
|
42
|
+
declare function TableHeaderCell({ children, align, width, flex, modes, style, }: TableHeaderCellProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export type TableHeaderProps = {
|
|
44
|
+
children?: React.ReactNode;
|
|
45
|
+
modes?: Modes;
|
|
46
|
+
style?: StyleProp<ViewStyle>;
|
|
47
|
+
};
|
|
48
|
+
declare function TableHeader({ children, modes, style }: TableHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
export type TableRowProps = {
|
|
50
|
+
children?: React.ReactNode;
|
|
51
|
+
/** When provided, the whole row becomes pressable. */
|
|
52
|
+
onPress?: () => void;
|
|
53
|
+
modes?: Modes;
|
|
54
|
+
style?: StyleProp<ViewStyle>;
|
|
55
|
+
};
|
|
56
|
+
declare function TableRow({ children, onPress, modes, style }: TableRowProps): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
export type TableBodyProps = {
|
|
58
|
+
children?: React.ReactNode;
|
|
59
|
+
modes?: Modes;
|
|
60
|
+
style?: StyleProp<ViewStyle>;
|
|
61
|
+
};
|
|
62
|
+
declare function TableBody({ children, modes, style }: TableBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
/**
|
|
64
|
+
* Column definition for the data-driven `Table` API. `T` is the shape of one
|
|
65
|
+
* row record.
|
|
66
|
+
*/
|
|
67
|
+
export type TableColumn<T> = {
|
|
68
|
+
/** Stable key; also used to read `row[key]` when no `render` is provided. */
|
|
69
|
+
key: string;
|
|
70
|
+
/** Header label. Defaults to `key`. */
|
|
71
|
+
header?: React.ReactNode;
|
|
72
|
+
/** Cell + header horizontal alignment. @default 'left' */
|
|
73
|
+
align?: TableCellAlign;
|
|
74
|
+
/** Header-only alignment override. Defaults to `align`. */
|
|
75
|
+
headerAlign?: TableCellAlign;
|
|
76
|
+
/** Fixed column width. Omit to let the column flex. */
|
|
77
|
+
width?: number;
|
|
78
|
+
/** Flex-grow weight when `width` is not set. @default 1 */
|
|
79
|
+
flex?: number;
|
|
80
|
+
/** Custom cell renderer. Falls back to `row[key]` as text. */
|
|
81
|
+
render?: (row: T, rowIndex: number) => React.ReactNode;
|
|
82
|
+
};
|
|
83
|
+
export type TableProps<T = Record<string, unknown>> = {
|
|
84
|
+
/** Column definitions for the data-driven API. */
|
|
85
|
+
columns?: TableColumn<T>[];
|
|
86
|
+
/** Row records, one per table row. */
|
|
87
|
+
data?: T[];
|
|
88
|
+
/**
|
|
89
|
+
* Composition children (`Table.Header`, `Table.Body`, `Table.Row`,
|
|
90
|
+
* `Table.Cell`, `Table.HeaderCell`). When provided, `columns`/`data` are
|
|
91
|
+
* ignored and the children are rendered as-is.
|
|
92
|
+
*/
|
|
93
|
+
children?: React.ReactNode;
|
|
94
|
+
/** Show the header row in the data-driven API. @default true */
|
|
95
|
+
showHeader?: boolean;
|
|
96
|
+
/** Resolve a stable key per row. Defaults to the row index. */
|
|
97
|
+
getRowKey?: (row: T, index: number) => React.Key;
|
|
98
|
+
/** Called when a row is pressed (data-driven API). Makes rows pressable. */
|
|
99
|
+
onRowPress?: (row: T, index: number) => void;
|
|
100
|
+
/**
|
|
101
|
+
* Wrap the table in a horizontal `ScrollView`. Use with fixed-width columns
|
|
102
|
+
* for wide tables that exceed the viewport on mobile. @default false
|
|
103
|
+
*/
|
|
104
|
+
scrollable?: boolean;
|
|
105
|
+
/** Accessibility label for the table container. */
|
|
106
|
+
accessibilityLabel?: string;
|
|
107
|
+
/** Design token modes for theming (e.g. `{ "Color Mode": "Light" }`). */
|
|
108
|
+
modes?: Modes;
|
|
109
|
+
/** Override the outer container style. */
|
|
110
|
+
style?: StyleProp<ViewStyle>;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Table renders structured rows and columns. It supports two complementary
|
|
114
|
+
* usage styles that share the same token-driven styling:
|
|
115
|
+
*
|
|
116
|
+
* 1. **Data-driven** (recommended): pass `columns` + `data`. The header and body
|
|
117
|
+
* are built for you, columns stay aligned, and per-column `align`/`width`/
|
|
118
|
+
* `flex`/`render` give full control.
|
|
119
|
+
*
|
|
120
|
+
* 2. **Composition**: pass `Table.Header` / `Table.Body` / `Table.Row` /
|
|
121
|
+
* `Table.Cell` / `Table.HeaderCell` as children for bespoke layouts. These
|
|
122
|
+
* sub-components are also exported standalone.
|
|
123
|
+
*
|
|
124
|
+
* Implementation of Figma node `5732:3710` (`Table`) with sub-components
|
|
125
|
+
* `603:23` (`table-cell`) and `603:21` (`table header wrap`).
|
|
126
|
+
*
|
|
127
|
+
* @component
|
|
128
|
+
*/
|
|
129
|
+
declare function Table<T = Record<string, unknown>>({ columns, data, children, showHeader, getRowKey, onRowPress, scrollable, accessibilityLabel, modes, style, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
130
|
+
declare namespace Table {
|
|
131
|
+
var Header: typeof TableHeader;
|
|
132
|
+
var HeaderCell: typeof TableHeaderCell;
|
|
133
|
+
var Body: typeof TableBody;
|
|
134
|
+
var Row: typeof TableRow;
|
|
135
|
+
var Cell: typeof TableCell;
|
|
136
|
+
}
|
|
137
|
+
export { TableHeader, TableHeaderCell, TableBody, TableRow, TableCell };
|
|
138
|
+
export default Table;
|
|
139
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -21,6 +21,12 @@ export type TextProps = {
|
|
|
21
21
|
style?: StyleProp<TextStyle>;
|
|
22
22
|
/** Number of lines to limit the text to. */
|
|
23
23
|
numberOfLines?: number;
|
|
24
|
+
/**
|
|
25
|
+
* When `true`, disables text truncation entirely: the trailing ellipsis (`…`)
|
|
26
|
+
* is never shown and any `numberOfLines` clamp is ignored, so the text wraps
|
|
27
|
+
* to as many lines as it needs even when horizontal space is tight.
|
|
28
|
+
*/
|
|
29
|
+
disableTruncation?: boolean;
|
|
24
30
|
/**
|
|
25
31
|
* Explicit per-instance loading override. When `true`, this `Text` renders
|
|
26
32
|
* a skeleton placeholder regardless of any surrounding `<SkeletonGroup>`.
|
|
@@ -41,6 +47,6 @@ export type TextProps = {
|
|
|
41
47
|
*/
|
|
42
48
|
skeletonLines?: number;
|
|
43
49
|
};
|
|
44
|
-
declare function Text({ text, children, textAlign, modes, style, numberOfLines, loading, skeletonWidth, skeletonLines, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
declare function Text({ text, children, textAlign, modes, style, numberOfLines, disableTruncation, loading, skeletonWidth, skeletonLines, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
45
51
|
export default Text;
|
|
46
52
|
//# sourceMappingURL=Text.d.ts.map
|