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
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
3
|
import type { Modes } from '../../design-tokens';
|
|
4
|
-
type
|
|
4
|
+
export type BadgeType = 'default' | 'glass';
|
|
5
|
+
export type BadgeProps = {
|
|
5
6
|
/** Visible label text shown inside the badge */
|
|
6
7
|
label?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Visual style (matches the Figma `type` property). `'default'` is a solid
|
|
10
|
+
* token-colored pill; `'glass'` is a frosted, translucent pill backed by a
|
|
11
|
+
* real background blur (`GlassFill`) — the same glass surface used at the
|
|
12
|
+
* bottom of media/merchandising cards.
|
|
13
|
+
*/
|
|
14
|
+
type?: BadgeType;
|
|
7
15
|
/** Modes used to resolve design tokens (e.g. Appearance, Size) */
|
|
8
16
|
modes?: Modes;
|
|
9
17
|
/** Optional press handler to make the badge interactive */
|
|
@@ -11,13 +19,35 @@ type BadgeProps = {
|
|
|
11
19
|
accessibilityLabel?: string;
|
|
12
20
|
style?: ViewStyle;
|
|
13
21
|
labelStyle?: TextStyle;
|
|
22
|
+
/**
|
|
23
|
+
* Optional leading node (icon/image) rendered before the label, inside the
|
|
24
|
+
* badge surface. When present, the badge lays its contents out in a row.
|
|
25
|
+
*/
|
|
26
|
+
leading?: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Glass-only override for the translucent overlay color painted over the live
|
|
29
|
+
* blur. Defaults to the `badge/glass/color/background` token. Ignored for the
|
|
30
|
+
* `'default'` type.
|
|
31
|
+
*/
|
|
32
|
+
glassOverlayColor?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Glass-only override for the blur intensity on the 0–100 scale. Defaults to
|
|
35
|
+
* the `blur/minimal` token. Ignored for the `'default'` type.
|
|
36
|
+
*/
|
|
37
|
+
glassIntensity?: number;
|
|
14
38
|
/**
|
|
15
39
|
* Explicit per-instance loading override. When `true`, renders a
|
|
16
40
|
* badge-shaped skeleton placeholder instead of the badge. Defaults to
|
|
17
41
|
* inheriting from the surrounding `<SkeletonGroup>`.
|
|
18
42
|
*/
|
|
19
43
|
loading?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
46
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
47
|
+
* lines as it needs even when horizontal space is tight.
|
|
48
|
+
*/
|
|
49
|
+
disableTruncation?: boolean;
|
|
20
50
|
} & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel' | 'accessibilityRole'>;
|
|
21
|
-
declare function Badge({ label, modes, onPress, accessibilityLabel, style, labelStyle, loading, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
declare function Badge({ label, type, modes, onPress, accessibilityLabel, style, labelStyle, loading, disableTruncation, leading, glassOverlayColor, glassIntensity, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
22
52
|
export default Badge;
|
|
23
53
|
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A single benefit row rendered with the shared `ListItem` primitive: a
|
|
6
|
+
* leading icon, a title and an optional right-aligned trailing value.
|
|
7
|
+
*/
|
|
8
|
+
export interface BenefitCardItem {
|
|
9
|
+
/** Registry icon name for the leading glyph (e.g. `'ic_jewellery_diamond'`). */
|
|
10
|
+
icon?: string;
|
|
11
|
+
/** Per-item override for the leading icon color. Defaults to the brand token. */
|
|
12
|
+
iconColor?: string;
|
|
13
|
+
/** Full override for the leading node. Takes precedence over `icon`. */
|
|
14
|
+
leading?: React.ReactNode;
|
|
15
|
+
/** Row title (e.g. `"JioPoints"`). */
|
|
16
|
+
title: string;
|
|
17
|
+
/** Optional right-aligned trailing value (e.g. `"Up to 2000 pts"`). */
|
|
18
|
+
trailingText?: string;
|
|
19
|
+
/** Full override for the trailing node. Takes precedence over `trailingText`. */
|
|
20
|
+
trailing?: React.ReactNode;
|
|
21
|
+
/** Makes the row pressable. */
|
|
22
|
+
onPress?: () => void;
|
|
23
|
+
}
|
|
24
|
+
export interface BenefitCardProps {
|
|
25
|
+
/** Header section title (e.g. `"You will earn"`). */
|
|
26
|
+
headerTitle?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Highlighted item shown directly under the header title (icon + title +
|
|
29
|
+
* optional trailing value). Rendered above the divider.
|
|
30
|
+
*/
|
|
31
|
+
headerItem?: BenefitCardItem;
|
|
32
|
+
/**
|
|
33
|
+
* Toggles the whole header section (title + item + divider). Mirrors the
|
|
34
|
+
* Figma `showHeader` property. Defaults to `true`.
|
|
35
|
+
*/
|
|
36
|
+
showHeader?: boolean;
|
|
37
|
+
/** Body section title (e.g. `"Upgrade to JioFinance+ and earn more"`). */
|
|
38
|
+
bodyTitle?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Body benefit rows. Ignored when `children` is provided (the slot wins).
|
|
41
|
+
*/
|
|
42
|
+
items?: BenefitCardItem[];
|
|
43
|
+
/**
|
|
44
|
+
* Real slot for the body "list wrap". When provided, these children render
|
|
45
|
+
* instead of `items`; `modes` (plus the `List Item Style: Minimal` style)
|
|
46
|
+
* cascade into every child automatically.
|
|
47
|
+
*/
|
|
48
|
+
children?: React.ReactNode;
|
|
49
|
+
/** CTA button label. Defaults to `"Upgrade"`. */
|
|
50
|
+
buttonLabel?: string;
|
|
51
|
+
/** CTA press handler. */
|
|
52
|
+
onButtonPress?: () => void;
|
|
53
|
+
/** Full override for the CTA. Takes precedence over `buttonLabel`. */
|
|
54
|
+
button?: React.ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Toggles the CTA button. Mirrors the Figma `showButton` property.
|
|
57
|
+
* Defaults to `true`.
|
|
58
|
+
*/
|
|
59
|
+
showButton?: boolean;
|
|
60
|
+
/** Press handler for the whole card. When set, the card becomes pressable. */
|
|
61
|
+
onPress?: () => void;
|
|
62
|
+
/** Card width. Defaults to the Figma spec (`344`). Pass `'100%'` to fill the parent. */
|
|
63
|
+
width?: number | `${number}%`;
|
|
64
|
+
/** Modes object for design-token resolution. Cascaded to all children. */
|
|
65
|
+
modes?: Modes;
|
|
66
|
+
/** Style overrides for the card container. */
|
|
67
|
+
style?: StyleProp<ViewStyle>;
|
|
68
|
+
/** Accessibility label for the card. */
|
|
69
|
+
accessibilityLabel?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* BenefitCard — Figma node 5352:1077 ("Benefit Card").
|
|
73
|
+
*
|
|
74
|
+
* A white, rounded card that summarises the rewards a user will earn. It is
|
|
75
|
+
* composed entirely from the shared design-system primitives so it stays in
|
|
76
|
+
* sync with the rest of the library:
|
|
77
|
+
*
|
|
78
|
+
* - **Header** — a section title + a single highlighted {@link ListItem}
|
|
79
|
+
* (leading `Icon`, title, right-aligned trailing value) followed by a
|
|
80
|
+
* `Divider`.
|
|
81
|
+
* - **Body** — a section title + a column of benefit {@link ListItem}s. The
|
|
82
|
+
* list is a real slot: pass `children` to fully control it, or `items` for
|
|
83
|
+
* the declarative path.
|
|
84
|
+
* - **CTA** — a small {@link Button} (Figma `Button / Size = S`).
|
|
85
|
+
*
|
|
86
|
+
* The list rows resolve through the `List Item Style: Minimal` mode (12px /
|
|
87
|
+
* regular title, 4px gap, no padding) and the leading icons use the
|
|
88
|
+
* `AppearanceBrand: Secondary` brand color, exactly matching the design. All
|
|
89
|
+
* three defaults can be overridden via `modes`.
|
|
90
|
+
*/
|
|
91
|
+
declare function BenefitCard({ headerTitle, headerItem, showHeader, bodyTitle, items, children, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: BenefitCardProps): import("react/jsx-runtime").JSX.Element;
|
|
92
|
+
export default BenefitCard;
|
|
93
|
+
//# sourceMappingURL=BenefitCard.d.ts.map
|
|
@@ -25,6 +25,12 @@ export type BrandChipProps = {
|
|
|
25
25
|
labelStyle?: StyleProp<TextStyle>;
|
|
26
26
|
/** Accessibility label. Defaults to `label`. */
|
|
27
27
|
accessibilityLabel?: string;
|
|
28
|
+
/**
|
|
29
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
30
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
31
|
+
* lines as it needs even when horizontal space is tight.
|
|
32
|
+
*/
|
|
33
|
+
disableTruncation?: boolean;
|
|
28
34
|
};
|
|
29
35
|
/**
|
|
30
36
|
* `BrandChip` renders a compact pill that pairs a small institution avatar
|
|
@@ -38,7 +44,7 @@ export type BrandChipProps = {
|
|
|
38
44
|
* @component
|
|
39
45
|
* @param {BrandChipProps} props
|
|
40
46
|
*/
|
|
41
|
-
declare function BrandChip({ label, imageSource, avatarSlot, onPress, modes: propModes, style, labelStyle, accessibilityLabel, }: BrandChipProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
declare function BrandChip({ label, imageSource, avatarSlot, onPress, modes: propModes, style, labelStyle, accessibilityLabel, disableTruncation, }: BrandChipProps): import("react/jsx-runtime").JSX.Element;
|
|
42
48
|
declare const _default: React.MemoExoticComponent<typeof BrandChip>;
|
|
43
49
|
export default _default;
|
|
44
50
|
//# sourceMappingURL=BrandChip.d.ts.map
|
|
@@ -48,6 +48,12 @@ export type ButtonProps = SafePressableProps & {
|
|
|
48
48
|
* the group.
|
|
49
49
|
*/
|
|
50
50
|
loading?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
53
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
54
|
+
* lines as it needs even when horizontal space is tight.
|
|
55
|
+
*/
|
|
56
|
+
disableTruncation?: boolean;
|
|
51
57
|
};
|
|
52
58
|
/**
|
|
53
59
|
* Button component that maps directly to the Figma design using design tokens.
|
|
@@ -84,7 +90,7 @@ export type ButtonProps = SafePressableProps & {
|
|
|
84
90
|
* advantage of this should pass stable `modes` (the default `EMPTY_MODES`
|
|
85
91
|
* is already stable) and stable callback props.
|
|
86
92
|
*/
|
|
87
|
-
declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, loading, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
93
|
+
declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, loading, disableTruncation, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
88
94
|
declare const Button: React.MemoExoticComponent<typeof ButtonImpl>;
|
|
89
95
|
export default Button;
|
|
90
96
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -43,8 +43,14 @@ export type CardAdvisoryProps = CardAdvisoryBaseProps & {
|
|
|
43
43
|
nudgeStyle?: StyleProp<ViewStyle>;
|
|
44
44
|
/** Accessibility label for the full card. */
|
|
45
45
|
accessibilityLabel?: string;
|
|
46
|
+
/**
|
|
47
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
48
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
49
|
+
* lines as it needs even when horizontal space is tight.
|
|
50
|
+
*/
|
|
51
|
+
disableTruncation?: boolean;
|
|
46
52
|
};
|
|
47
|
-
declare function CardAdvisory({ title, description, value, valueLabel, showInfoIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, titleEndSlot, progressSlot, nudgeSlot, modes: propModes, style, mainContentStyle, titleStyle, descriptionStyle, progressStyle, nudgeStyle, accessibilityLabel, ...rest }: CardAdvisoryProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
declare function CardAdvisory({ title, description, value, valueLabel, showInfoIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, titleEndSlot, progressSlot, nudgeSlot, modes: propModes, style, mainContentStyle, titleStyle, descriptionStyle, progressStyle, nudgeStyle, accessibilityLabel, disableTruncation, ...rest }: CardAdvisoryProps): import("react/jsx-runtime").JSX.Element;
|
|
48
54
|
declare const _default: React.MemoExoticComponent<typeof CardAdvisory>;
|
|
49
55
|
export default _default;
|
|
50
56
|
//# sourceMappingURL=CardAdvisory.d.ts.map
|
|
@@ -67,6 +67,12 @@ export type CardBankAccountProps = {
|
|
|
67
67
|
style?: StyleProp<ViewStyle>;
|
|
68
68
|
/** Accessibility label for the card region. */
|
|
69
69
|
accessibilityLabel?: string;
|
|
70
|
+
/**
|
|
71
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
72
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
73
|
+
* lines as it needs even when horizontal space is tight.
|
|
74
|
+
*/
|
|
75
|
+
disableTruncation?: boolean;
|
|
70
76
|
};
|
|
71
77
|
/**
|
|
72
78
|
* `CardBankAccount` renders a bank account summary card composed of:
|
|
@@ -82,6 +88,6 @@ export type CardBankAccountProps = {
|
|
|
82
88
|
* @component
|
|
83
89
|
* @param {CardBankAccountProps} props
|
|
84
90
|
*/
|
|
85
|
-
declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes: propModes, style, accessibilityLabel, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
|
|
91
|
+
declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes: propModes, style, accessibilityLabel, disableTruncation, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
|
|
86
92
|
export default CardBankAccount;
|
|
87
93
|
//# sourceMappingURL=CardBankAccount.d.ts.map
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
2
|
+
import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
|
|
3
3
|
import type { Modes } from '../../design-tokens';
|
|
4
|
-
export type CardCTAType = 'cta' | 'rating';
|
|
4
|
+
export type CardCTAType = 'cta' | 'rating' | 'sip';
|
|
5
|
+
/**
|
|
6
|
+
* Accepted `type` values. The canonical (and historical) values are lowercase
|
|
7
|
+
* (`'cta' | 'rating' | 'sip'`). The Figma variant names are PascalCase
|
|
8
|
+
* (`'CTA' | 'Rating' | 'Sip'`) — we accept those too and normalize internally
|
|
9
|
+
* so callers can pass either casing without a breaking change.
|
|
10
|
+
*/
|
|
11
|
+
export type CardCTATypeInput = CardCTAType | 'CTA' | 'Rating' | 'Sip';
|
|
5
12
|
export type CardCTAProps = {
|
|
6
|
-
/**
|
|
7
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Visual layout variant. `'cta'` (default) is the horizontal CTA card,
|
|
15
|
+
* `'rating'` is the rating card, and `'sip'` is the avatar-led card with a
|
|
16
|
+
* headline/description/subtitle footer. PascalCase Figma names
|
|
17
|
+
* (`'CTA' | 'Rating' | 'Sip'`) are also accepted.
|
|
18
|
+
*/
|
|
19
|
+
type?: CardCTATypeInput;
|
|
8
20
|
/** Title text */
|
|
9
21
|
title?: string;
|
|
10
22
|
/** Body / subtitle text */
|
|
@@ -23,6 +35,14 @@ export type CardCTAProps = {
|
|
|
23
35
|
onPressLike?: () => void;
|
|
24
36
|
/** Callback for the default dislike action */
|
|
25
37
|
onPressDislike?: () => void;
|
|
38
|
+
/** [sip] Headline text shown above the description row */
|
|
39
|
+
headline?: string;
|
|
40
|
+
/** [sip] Description text (left of subtitle) */
|
|
41
|
+
description?: string;
|
|
42
|
+
/** [sip] Subtitle text (right of description) */
|
|
43
|
+
subtitle?: string;
|
|
44
|
+
/** [sip] Image source for the default Avatar */
|
|
45
|
+
avatarSource?: ImageSourcePropType | string;
|
|
26
46
|
/** Mode configuration for design token resolution */
|
|
27
47
|
modes?: Modes;
|
|
28
48
|
/** Slot: replaces the default icon area (right side) */
|
|
@@ -33,9 +53,11 @@ export type CardCTAProps = {
|
|
|
33
53
|
ratingBadgeSlot?: React.ReactNode;
|
|
34
54
|
/** Slot: replaces the default like/dislike action group */
|
|
35
55
|
ratingActionsSlot?: React.ReactNode;
|
|
56
|
+
/** [sip] Slot: replaces the default Avatar */
|
|
57
|
+
avatarSlot?: React.ReactNode;
|
|
36
58
|
/** Container style overrides */
|
|
37
59
|
style?: StyleProp<ViewStyle>;
|
|
38
60
|
};
|
|
39
|
-
declare function CardCTA({ type, title, body, iconName, buttonLabel, onPressButton, ratingLabel, showRatingActions, onPressLike, onPressDislike, modes: propModes, iconSlot, buttonSlot, ratingBadgeSlot, ratingActionsSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
declare function CardCTA({ type, title, body, iconName, buttonLabel, onPressButton, ratingLabel, showRatingActions, onPressLike, onPressDislike, headline, description, subtitle, avatarSource, modes: propModes, iconSlot, buttonSlot, ratingBadgeSlot, ratingActionsSlot, avatarSlot, style, }: CardCTAProps): import("react/jsx-runtime").JSX.Element;
|
|
40
62
|
export default CardCTA;
|
|
41
63
|
//# sourceMappingURL=CardCTA.d.ts.map
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
|
|
3
|
+
import { type TextSegmentRun } from '../TextSegment/TextSegment';
|
|
4
|
+
import type { Modes } from '../../design-tokens';
|
|
5
|
+
/**
|
|
6
|
+
* A single coloured chip rendered in the card header. Each badge resolves its
|
|
7
|
+
* own design tokens through `modes`, so different appearances (brand, tonal,
|
|
8
|
+
* etc.) can sit side-by-side in the same group.
|
|
9
|
+
*/
|
|
10
|
+
export interface CcCardBadge {
|
|
11
|
+
/** Visible label text. */
|
|
12
|
+
label: string;
|
|
13
|
+
/** Per-badge mode overrides (e.g. `{ AppearanceBrand: 'Tertiary' }`). */
|
|
14
|
+
modes?: Modes;
|
|
15
|
+
/** Background color override (wins over the token-resolved value). */
|
|
16
|
+
color?: string;
|
|
17
|
+
/** Label color override (wins over the token-resolved value). */
|
|
18
|
+
labelColor?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A single benefit row in the card's list, rendered through the shared
|
|
22
|
+
* {@link ListItem} primitive (leading icon + title).
|
|
23
|
+
*/
|
|
24
|
+
export interface CcCardListItem {
|
|
25
|
+
/**
|
|
26
|
+
* Registry icon name for the leading glyph. Defaults to `'ic_card'`. Pass
|
|
27
|
+
* `null` to omit the leading icon.
|
|
28
|
+
*/
|
|
29
|
+
icon?: string | null;
|
|
30
|
+
/** Per-row override for the leading icon color. */
|
|
31
|
+
iconColor?: string;
|
|
32
|
+
/** Full override for the leading node. Takes precedence over `icon`. */
|
|
33
|
+
leading?: React.ReactNode;
|
|
34
|
+
/** Row title (e.g. `"4 domestic + 2 intl. lounge access yearly"`). */
|
|
35
|
+
title: string;
|
|
36
|
+
/** Makes the row pressable. */
|
|
37
|
+
onPress?: () => void;
|
|
38
|
+
}
|
|
39
|
+
export interface CcCardProps {
|
|
40
|
+
/**
|
|
41
|
+
* Compact variant. Renders only the leading media slot (an `Avatar` by
|
|
42
|
+
* default) followed by the footer **without** its CTA button — a condensed
|
|
43
|
+
* representation of the card. Mirrors the Figma `compact` property.
|
|
44
|
+
*/
|
|
45
|
+
compact?: boolean;
|
|
46
|
+
/** Toggles the header badge row. Defaults to `true`. */
|
|
47
|
+
showHeader?: boolean;
|
|
48
|
+
/** Leading (left) badge group. */
|
|
49
|
+
badges?: CcCardBadge[];
|
|
50
|
+
/** Trailing (right-aligned) badge group. */
|
|
51
|
+
trailingBadges?: CcCardBadge[];
|
|
52
|
+
/** Full override for the header. Takes precedence over `badges`/`trailingBadges`. */
|
|
53
|
+
header?: React.ReactNode;
|
|
54
|
+
/**
|
|
55
|
+
* Image source for the default media slot. Accepts a URL string or any RN
|
|
56
|
+
* `ImageSourcePropType`. Ignored when `media` is provided.
|
|
57
|
+
*/
|
|
58
|
+
imageSource?: ImageSourcePropType | string;
|
|
59
|
+
/** Default media image width. Defaults to the Figma spec (`88`). */
|
|
60
|
+
imageWidth?: number;
|
|
61
|
+
/** Default media image height. Defaults to the Figma spec (`54`). */
|
|
62
|
+
imageHeight?: number;
|
|
63
|
+
/** Product title rendered next to the media slot (non-compact only). */
|
|
64
|
+
title?: string;
|
|
65
|
+
/** Product subtitle rendered below the title (non-compact only). */
|
|
66
|
+
subtitle?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Full override for the media slot's visual. Whatever you pass here is
|
|
69
|
+
* rendered **in both the compact and non-compact variants** — e.g. pass an
|
|
70
|
+
* `Avatar` and it stays an avatar in both, pass an `Image` and it stays an
|
|
71
|
+
* image in both. `modes` cascade into it automatically. Defaults to an
|
|
72
|
+
* `Image` driven by `imageSource`.
|
|
73
|
+
*/
|
|
74
|
+
media?: React.ReactNode;
|
|
75
|
+
/** Benefit rows rendered in the list. Defaults to three sample rows. */
|
|
76
|
+
items?: CcCardListItem[];
|
|
77
|
+
/** Toggles the upsell nudge row. Defaults to `true`. */
|
|
78
|
+
showNudge?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Declarative content for the nudge's inline text. Defaults to a sample
|
|
81
|
+
* "Upsell message JioFinance+" string with the last run brand-coloured.
|
|
82
|
+
*/
|
|
83
|
+
nudgeSegments?: TextSegmentRun[];
|
|
84
|
+
/** Avatar image source shown at the start of the nudge row. */
|
|
85
|
+
nudgeAvatarSource?: ImageSourcePropType | string;
|
|
86
|
+
/** Full override for the nudge row. Takes precedence over the declarative props. */
|
|
87
|
+
nudge?: React.ReactNode;
|
|
88
|
+
/** Small muted label above the footer title (`ccCard/headline/*`). */
|
|
89
|
+
headline?: string;
|
|
90
|
+
/** Bold footer value (`ccCard/title/*`). */
|
|
91
|
+
description?: string;
|
|
92
|
+
/** Muted caption rendered inline after the description (`ccCard/subtitle/*`). */
|
|
93
|
+
footerSubtitle?: string;
|
|
94
|
+
/** Full override for the footer text block. */
|
|
95
|
+
footer?: React.ReactNode;
|
|
96
|
+
/** CTA button label. Defaults to `"Button"`. */
|
|
97
|
+
buttonLabel?: string;
|
|
98
|
+
/** CTA press handler. */
|
|
99
|
+
onButtonPress?: () => void;
|
|
100
|
+
/** Full override for the CTA. Takes precedence over `buttonLabel`. */
|
|
101
|
+
button?: React.ReactNode;
|
|
102
|
+
/** Toggles the CTA button (non-compact). Defaults to `true`. */
|
|
103
|
+
showButton?: boolean;
|
|
104
|
+
/** Press handler for the whole card. When set, the card becomes pressable. */
|
|
105
|
+
onPress?: () => void;
|
|
106
|
+
/** Card width. Defaults to the Figma spec (`343`). Pass `'100%'` to fill the parent. */
|
|
107
|
+
width?: number | `${number}%`;
|
|
108
|
+
/** Modes object for design-token resolution. Cascaded to all children. */
|
|
109
|
+
modes?: Modes;
|
|
110
|
+
/** Style overrides for the card container. */
|
|
111
|
+
style?: StyleProp<ViewStyle>;
|
|
112
|
+
/** Accessibility label for the card. */
|
|
113
|
+
accessibilityLabel?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* CcCard — Figma node 5434:1992 ("Cc Card").
|
|
117
|
+
*
|
|
118
|
+
* A white, rounded credit-card product card composed entirely from the shared
|
|
119
|
+
* design-system primitives so it stays in sync with the rest of the library:
|
|
120
|
+
*
|
|
121
|
+
* - **Header** — two {@link Badge} groups (a leading group + a right-aligned
|
|
122
|
+
* trailing group), e.g. `Pre-qualified` / `Lifetime free`.
|
|
123
|
+
* - **Media** — a product `Image` + a {@link Title} (title + subtitle resolved
|
|
124
|
+
* through the `context7: Card` mode → 14px/12px).
|
|
125
|
+
* - **List** — a column of benefit {@link ListItem}s (`List Item Style:
|
|
126
|
+
* Minimal`) with leading icons.
|
|
127
|
+
* - **Nudge** — an inline upsell row: an {@link Avatar} + a {@link TextSegment}.
|
|
128
|
+
* - **Footer** — a headline + description + subtitle text block alongside a
|
|
129
|
+
* small {@link Button} (`Button / Size: S`, `AppearanceBrand: Secondary`).
|
|
130
|
+
*
|
|
131
|
+
* The {@link CcCardProps.compact} variant collapses the card to just the
|
|
132
|
+
* leading avatar slot + the footer text block (no CTA button). All defaults can
|
|
133
|
+
* be overridden via `modes`.
|
|
134
|
+
*/
|
|
135
|
+
declare function CcCard({ compact, showHeader, badges, trailingBadges, header, imageSource, imageWidth, imageHeight, title, subtitle, media, items, showNudge, nudgeSegments, nudgeAvatarSource, nudge, headline, description, footerSubtitle, footer, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: CcCardProps): import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
export default CcCard;
|
|
137
|
+
//# sourceMappingURL=CcCard.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, type StyleProp, type ViewStyle } from 'react-native';
|
|
2
3
|
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export interface CheckboxProps {
|
|
4
5
|
/** Whether the checkbox is checked (controlled) */
|
|
@@ -26,6 +27,6 @@ export interface CheckboxProps {
|
|
|
26
27
|
* @component
|
|
27
28
|
* @param {CheckboxProps} props
|
|
28
29
|
*/
|
|
29
|
-
declare
|
|
30
|
+
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<View>>;
|
|
30
31
|
export default Checkbox;
|
|
31
32
|
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
2
|
+
import { View, type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
3
|
import type { Modes } from '../../design-tokens';
|
|
4
4
|
export type CheckboxItemProps = {
|
|
5
5
|
/** Whether the checkbox is checked (controlled). */
|
|
@@ -68,6 +68,6 @@ export type CheckboxItemProps = {
|
|
|
68
68
|
* />
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
declare
|
|
71
|
+
declare const CheckboxItem: React.ForwardRefExoticComponent<CheckboxItemProps & React.RefAttributes<View>>;
|
|
72
72
|
export default CheckboxItem;
|
|
73
73
|
//# sourceMappingURL=CheckboxItem.d.ts.map
|
|
@@ -32,7 +32,13 @@ export type CircularProgressBarProps = CircularProgressBarBaseProps & {
|
|
|
32
32
|
supportTextStyle?: StyleProp<TextStyle>;
|
|
33
33
|
/** Accessibility label for the whole progress component. */
|
|
34
34
|
accessibilityLabel?: string;
|
|
35
|
+
/**
|
|
36
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
37
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
38
|
+
* lines as it needs even when horizontal space is tight.
|
|
39
|
+
*/
|
|
40
|
+
disableTruncation?: boolean;
|
|
35
41
|
};
|
|
36
|
-
declare function CircularProgressBar({ value, state, valueLabel, supportText, modes: propModes, style, trackStyle, progressStyle, valueStyle, supportTextStyle, accessibilityLabel, ...rest }: CircularProgressBarProps): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
declare function CircularProgressBar({ value, state, valueLabel, supportText, modes: propModes, style, trackStyle, progressStyle, valueStyle, supportTextStyle, accessibilityLabel, disableTruncation, ...rest }: CircularProgressBarProps): import("react/jsx-runtime").JSX.Element;
|
|
37
43
|
export default CircularProgressBar;
|
|
38
44
|
//# sourceMappingURL=CircularProgressBar.d.ts.map
|
package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts
CHANGED
|
@@ -43,7 +43,13 @@ export type CircularProgressBarDotedProps = CircularProgressBarDotedBaseProps &
|
|
|
43
43
|
tierLabelStyle?: StyleProp<TextStyle>;
|
|
44
44
|
/** Accessibility label for the whole progress component. */
|
|
45
45
|
accessibilityLabel?: string;
|
|
46
|
+
/**
|
|
47
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
48
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
49
|
+
* lines as it needs even when horizontal space is tight.
|
|
50
|
+
*/
|
|
51
|
+
disableTruncation?: boolean;
|
|
46
52
|
};
|
|
47
|
-
declare function CircularProgressBarDoted({ value, dotCount, label, tierLabel, showChevron, onPress, onTierPress, modes: propModes, children, style, ringStyle, trackDotStyle, progressDotStyle, contentStyle, scoreTierStyle, scoreTrendStyle, labelStyle, scoreLabelStyle, tierLabelStyle, accessibilityLabel, onLayout, ...rest }: CircularProgressBarDotedProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
declare function CircularProgressBarDoted({ value, dotCount, label, tierLabel, showChevron, onPress, onTierPress, modes: propModes, children, style, ringStyle, trackDotStyle, progressDotStyle, contentStyle, scoreTierStyle, scoreTrendStyle, labelStyle, scoreLabelStyle, tierLabelStyle, accessibilityLabel, disableTruncation, onLayout, ...rest }: CircularProgressBarDotedProps): import("react/jsx-runtime").JSX.Element;
|
|
48
54
|
export default CircularProgressBarDoted;
|
|
49
55
|
//# sourceMappingURL=CircularProgressBarDoted.d.ts.map
|
|
@@ -43,8 +43,14 @@ export type CircularRatingProps = CircularRatingBaseProps & {
|
|
|
43
43
|
nudgeStyle?: StyleProp<ViewStyle>;
|
|
44
44
|
/** Accessibility label for the whole component. */
|
|
45
45
|
accessibilityLabel?: string;
|
|
46
|
+
/**
|
|
47
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
48
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
49
|
+
* lines as it needs even when horizontal space is tight.
|
|
50
|
+
*/
|
|
51
|
+
disableTruncation?: boolean;
|
|
46
52
|
};
|
|
47
|
-
declare function CircularRating({ value, dotCount, label, tierLabel, footerText, showFooterIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, onTierPress, footerSlot, nudgeSlot, modes: propModes, style, ratingStyle, footerStyle, footerTextStyle, nudgeStyle, accessibilityLabel, ...rest }: CircularRatingProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
declare function CircularRating({ value, dotCount, label, tierLabel, footerText, showFooterIcon, showNudge, nudgeBody, nudgeButtonLabel, onPressNudgeButton, onTierPress, footerSlot, nudgeSlot, modes: propModes, style, ratingStyle, footerStyle, footerTextStyle, nudgeStyle, accessibilityLabel, disableTruncation, ...rest }: CircularRatingProps): import("react/jsx-runtime").JSX.Element;
|
|
48
54
|
declare const _default: React.MemoExoticComponent<typeof CircularRating>;
|
|
49
55
|
export default _default;
|
|
50
56
|
//# sourceMappingURL=CircularRating.d.ts.map
|
|
@@ -61,6 +61,12 @@ export type ClusterBubbleProps = {
|
|
|
61
61
|
modes?: Modes;
|
|
62
62
|
/** Accessibility label. Defaults to a `value + label` composite. */
|
|
63
63
|
accessibilityLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
66
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
67
|
+
* lines as it needs even when horizontal space is tight.
|
|
68
|
+
*/
|
|
69
|
+
disableTruncation?: boolean;
|
|
64
70
|
};
|
|
65
71
|
/**
|
|
66
72
|
* `ClusterBubble` is the atomic circle that composes a `BubbleChart`. It renders
|
|
@@ -72,6 +78,6 @@ export type ClusterBubbleProps = {
|
|
|
72
78
|
*
|
|
73
79
|
* @component
|
|
74
80
|
*/
|
|
75
|
-
declare function ClusterBubble({ value, label, size, appearance, color, labelPlacement, labelDirection, labelGap, autoInsideMinSize, insideTextColor, onPress, valueStyle, labelStyle, circleStyle, style, modes: propModes, accessibilityLabel, }: ClusterBubbleProps): import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
declare function ClusterBubble({ value, label, size, appearance, color, labelPlacement, labelDirection, labelGap, autoInsideMinSize, insideTextColor, onPress, valueStyle, labelStyle, circleStyle, style, modes: propModes, accessibilityLabel, disableTruncation, }: ClusterBubbleProps): import("react/jsx-runtime").JSX.Element;
|
|
76
82
|
export default ClusterBubble;
|
|
77
83
|
//# sourceMappingURL=ClusterBubble.d.ts.map
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ImageSourcePropType, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A single product/plan column rendered as a selection card at the top of the
|
|
6
|
+
* table. The card order maps 1:1 to each {@link CompareTableRow}'s `values`.
|
|
7
|
+
*/
|
|
8
|
+
export type CompareTableColumn = {
|
|
9
|
+
/** Product / plan name shown under the image. */
|
|
10
|
+
label?: string;
|
|
11
|
+
/** Thumbnail / logo image. Accepts a URL string or an RN image source. */
|
|
12
|
+
imageSource?: ImageSourcePropType | string;
|
|
13
|
+
/** CTA link text (e.g. "View details"). Omit to hide the link. */
|
|
14
|
+
actionLabel?: string;
|
|
15
|
+
/** Handler for the CTA link. Implies the link is shown. */
|
|
16
|
+
onActionPress?: () => void;
|
|
17
|
+
/** When provided, renders a tappable close icon to remove the column. */
|
|
18
|
+
onRemove?: () => void;
|
|
19
|
+
/** Stable key. Falls back to the label / index. */
|
|
20
|
+
key?: React.Key;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Value rendered inside a comparison cell.
|
|
24
|
+
* - `string` / `number` → rendered as value text.
|
|
25
|
+
* - `false` → renders the muted "not available" cross icon.
|
|
26
|
+
* - any React element → rendered as-is (e.g. a `Badge`, `MoneyValue`, icon…).
|
|
27
|
+
* - `null` / `undefined` / `true` → empty cell.
|
|
28
|
+
*/
|
|
29
|
+
export type CompareTableCellValue = string | number | boolean | null | undefined | React.ReactElement;
|
|
30
|
+
export type CompareTableRow = {
|
|
31
|
+
/** One value per column, in the same order as `columns`. */
|
|
32
|
+
values: CompareTableCellValue[];
|
|
33
|
+
/** Stable key. Falls back to the index. */
|
|
34
|
+
key?: React.Key;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* A collapsible section. Each section renders as an `Accordion` whose body is a
|
|
38
|
+
* comparison table that spans the same columns as the selection cards.
|
|
39
|
+
*/
|
|
40
|
+
export type CompareTableSection = {
|
|
41
|
+
/** Accordion header label, e.g. "Fees & charges". */
|
|
42
|
+
title: string;
|
|
43
|
+
/** Optional full-width header row shown at the top of the table body. */
|
|
44
|
+
header?: string;
|
|
45
|
+
/** Comparison rows; each row's `values` map 1:1 to `columns`. */
|
|
46
|
+
rows: CompareTableRow[];
|
|
47
|
+
/** Initial expanded state. Defaults to `true` for the first section. */
|
|
48
|
+
defaultExpanded?: boolean;
|
|
49
|
+
/** Stable key. Falls back to the title / index. */
|
|
50
|
+
key?: React.Key;
|
|
51
|
+
};
|
|
52
|
+
export type CompareTableProps = {
|
|
53
|
+
/**
|
|
54
|
+
* Product / plan columns rendered as selection cards. Their order maps 1:1
|
|
55
|
+
* to each row's `values` array. Supports any number of columns.
|
|
56
|
+
*/
|
|
57
|
+
columns?: CompareTableColumn[];
|
|
58
|
+
/** Collapsible comparison sections. */
|
|
59
|
+
sections?: CompareTableSection[];
|
|
60
|
+
/**
|
|
61
|
+
* When provided, renders an "Add a card" tile after the columns. Hidden once
|
|
62
|
+
* `columns.length` reaches `maxColumns`.
|
|
63
|
+
*/
|
|
64
|
+
onAddColumn?: () => void;
|
|
65
|
+
/** Label for the add-a-card tile. @default 'Add a card' */
|
|
66
|
+
addColumnLabel?: string;
|
|
67
|
+
/** Maximum number of columns before the add tile is hidden. @default 4 */
|
|
68
|
+
maxColumns?: number;
|
|
69
|
+
/** Design token modes for theming (e.g. `{ "Color Mode": "Light" }`). */
|
|
70
|
+
modes?: Modes;
|
|
71
|
+
/** Override the outer container style. */
|
|
72
|
+
style?: StyleProp<ViewStyle>;
|
|
73
|
+
/**
|
|
74
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
75
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
76
|
+
* lines as it needs even when horizontal space is tight.
|
|
77
|
+
*/
|
|
78
|
+
disableTruncation?: boolean;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* CompareTable renders a product comparison surface: a row of selection cards
|
|
82
|
+
* (one per column) followed by one or more collapsible sections, each holding a
|
|
83
|
+
* comparison table whose cells line up beneath their column.
|
|
84
|
+
*
|
|
85
|
+
* The selection card is an internal sub-component and is intentionally not
|
|
86
|
+
* exported — it should only be used through `CompareTable`. Implementation of
|
|
87
|
+
* Figma node `5568:3496` (`Compare table`) with sub-component `5568:3487`
|
|
88
|
+
* (`selectioncard`).
|
|
89
|
+
*
|
|
90
|
+
* @component
|
|
91
|
+
*/
|
|
92
|
+
declare function CompareTable({ columns, sections, onAddColumn, addColumnLabel, maxColumns, modes, style, disableTruncation, }: CompareTableProps): import("react/jsx-runtime").JSX.Element;
|
|
93
|
+
export default CompareTable;
|
|
94
|
+
//# sourceMappingURL=CompareTable.d.ts.map
|