jfs-components 0.0.72 → 0.0.74
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 +28 -0
- package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +239 -0
- package/lib/commonjs/components/AccountCard/AccountCard.js +247 -0
- package/lib/commonjs/components/AppBar/AppBar.js +17 -11
- package/lib/commonjs/components/BrandChip/BrandChip.js +149 -0
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +229 -0
- package/lib/commonjs/components/CardInsight/CardInsight.js +166 -0
- package/lib/commonjs/components/CheckboxGroup/CheckboxGroup.js +67 -0
- package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +140 -0
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +56 -9
- package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +272 -0
- package/lib/commonjs/components/CoverageRing/CoverageRing.js +141 -0
- package/lib/commonjs/components/DonutChart/DonutChart.js +309 -0
- package/lib/commonjs/components/DonutChartSummary/DonutChartSummary.js +155 -0
- package/lib/commonjs/components/Dropdown/Dropdown.js +214 -0
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +542 -0
- package/lib/commonjs/components/FormField/FormField.js +328 -178
- package/lib/commonjs/components/LinearMeter/LinearMeter.js +9 -28
- package/lib/commonjs/components/LinearProgress/LinearProgress.js +68 -0
- package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +150 -0
- package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +95 -0
- package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +286 -0
- package/lib/commonjs/components/OTP/OTP.js +381 -37
- package/lib/commonjs/components/PageHero/PageHero.js +153 -0
- package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +135 -0
- package/lib/commonjs/components/PoweredByLabel/finvu.png +0 -0
- package/lib/commonjs/components/ProductOverview/ProductOverview.js +147 -0
- package/lib/commonjs/components/RangeTrack/RangeTrack.js +269 -0
- package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +181 -0
- package/lib/commonjs/components/SegmentedTrack/SegmentedTrack.js +171 -0
- package/lib/commonjs/components/StatGroup/StatGroup.js +128 -0
- package/lib/commonjs/components/StatItem/StatItem.js +65 -35
- package/lib/commonjs/components/StrengthIndicator/StrengthIndicator.js +157 -0
- package/lib/commonjs/components/SummaryTile/SummaryTile.js +150 -0
- package/lib/commonjs/components/Text/Text.js +9 -2
- package/lib/commonjs/components/Tooltip/Tooltip.js +34 -27
- package/lib/commonjs/components/index.js +231 -1
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/utils/index.js +7 -0
- package/lib/commonjs/utils/number-utils.js +57 -0
- package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +233 -0
- package/lib/module/components/AccountCard/AccountCard.js +241 -0
- package/lib/module/components/AppBar/AppBar.js +17 -11
- package/lib/module/components/BrandChip/BrandChip.js +143 -0
- package/lib/module/components/CardBankAccount/CardBankAccount.js +223 -0
- package/lib/module/components/CardInsight/CardInsight.js +161 -0
- package/lib/module/components/CheckboxGroup/CheckboxGroup.js +62 -0
- package/lib/module/components/CheckboxItem/CheckboxItem.js +134 -0
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +56 -9
- package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +266 -0
- package/lib/module/components/CoverageRing/CoverageRing.js +136 -0
- package/lib/module/components/DonutChart/DonutChart.js +303 -0
- package/lib/module/components/DonutChartSummary/DonutChartSummary.js +150 -0
- package/lib/module/components/Dropdown/Dropdown.js +206 -0
- package/lib/module/components/DropdownInput/DropdownInput.js +536 -0
- package/lib/module/components/FormField/FormField.js +330 -180
- package/lib/module/components/LinearMeter/LinearMeter.js +9 -28
- package/lib/module/components/LinearProgress/LinearProgress.js +63 -0
- package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +144 -0
- package/lib/module/components/MetricLegendItem/MetricLegendItem.js +90 -0
- package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +281 -0
- package/lib/module/components/OTP/OTP.js +381 -38
- package/lib/module/components/PageHero/PageHero.js +147 -0
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +130 -0
- package/lib/module/components/PoweredByLabel/finvu.png +0 -0
- package/lib/module/components/ProductOverview/ProductOverview.js +142 -0
- package/lib/module/components/RangeTrack/RangeTrack.js +263 -0
- package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +175 -0
- package/lib/module/components/SegmentedTrack/SegmentedTrack.js +166 -0
- package/lib/module/components/StatGroup/StatGroup.js +123 -0
- package/lib/module/components/StatItem/StatItem.js +66 -36
- package/lib/module/components/StrengthIndicator/StrengthIndicator.js +152 -0
- package/lib/module/components/SummaryTile/SummaryTile.js +145 -0
- package/lib/module/components/Text/Text.js +9 -2
- package/lib/module/components/Tooltip/Tooltip.js +34 -27
- package/lib/module/components/index.js +28 -2
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/number-utils.js +53 -0
- package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +71 -0
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +81 -0
- package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +43 -0
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +86 -0
- package/lib/typescript/src/components/CardInsight/CardInsight.d.ts +48 -0
- package/lib/typescript/src/components/CheckboxGroup/CheckboxGroup.d.ts +41 -0
- package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +72 -0
- package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +11 -1
- package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +105 -0
- package/lib/typescript/src/components/CoverageRing/CoverageRing.d.ts +90 -0
- package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +117 -0
- package/lib/typescript/src/components/DonutChartSummary/DonutChartSummary.d.ts +103 -0
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +62 -0
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +107 -0
- package/lib/typescript/src/components/FormField/FormField.d.ts +76 -19
- package/lib/typescript/src/components/LinearProgress/LinearProgress.d.ts +17 -0
- package/lib/typescript/src/components/LottieIntroBlock/LottieIntroBlock.d.ts +58 -0
- package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +37 -0
- package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +119 -0
- package/lib/typescript/src/components/OTP/OTP.d.ts +88 -2
- package/lib/typescript/src/components/PageHero/PageHero.d.ts +53 -0
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +70 -0
- package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +39 -0
- package/lib/typescript/src/components/RangeTrack/RangeTrack.d.ts +173 -0
- package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +95 -0
- package/lib/typescript/src/components/SegmentedTrack/SegmentedTrack.d.ts +108 -0
- package/lib/typescript/src/components/StatGroup/StatGroup.d.ts +45 -0
- package/lib/typescript/src/components/StatItem/StatItem.d.ts +24 -7
- package/lib/typescript/src/components/StrengthIndicator/StrengthIndicator.d.ts +58 -0
- package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +60 -0
- package/lib/typescript/src/components/Text/Text.d.ts +12 -2
- package/lib/typescript/src/components/Tooltip/Tooltip.d.ts +13 -2
- package/lib/typescript/src/components/index.d.ts +29 -3
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/index.d.ts +1 -0
- package/lib/typescript/src/utils/number-utils.d.ts +29 -0
- package/package.json +1 -3
- package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +323 -0
- package/src/components/AccountCard/AccountCard.tsx +376 -0
- package/src/components/AppBar/AppBar.tsx +25 -14
- package/src/components/BrandChip/BrandChip.tsx +235 -0
- package/src/components/CardBankAccount/CardBankAccount.tsx +321 -0
- package/src/components/CardInsight/CardInsight.tsx +239 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +86 -0
- package/src/components/CheckboxItem/CheckboxItem.tsx +209 -0
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +74 -9
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +378 -0
- package/src/components/CoverageRing/CoverageRing.tsx +225 -0
- package/src/components/DonutChart/DonutChart.tsx +503 -0
- package/src/components/DonutChartSummary/DonutChartSummary.tsx +256 -0
- package/src/components/Dropdown/Dropdown.tsx +331 -0
- package/src/components/DropdownInput/DropdownInput.tsx +819 -0
- package/src/components/FormField/FormField.tsx +542 -215
- package/src/components/LinearMeter/LinearMeter.tsx +9 -39
- package/src/components/LinearProgress/LinearProgress.tsx +92 -0
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +202 -0
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +167 -0
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +438 -0
- package/src/components/OTP/OTP.tsx +476 -29
- package/src/components/PageHero/PageHero.tsx +200 -0
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +221 -0
- package/src/components/PoweredByLabel/finvu.png +0 -0
- package/src/components/ProductOverview/ProductOverview.tsx +236 -0
- package/src/components/RangeTrack/RangeTrack.tsx +394 -0
- package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +269 -0
- package/src/components/SegmentedTrack/SegmentedTrack.tsx +268 -0
- package/src/components/StatGroup/StatGroup.tsx +169 -0
- package/src/components/StatItem/StatItem.tsx +117 -40
- package/src/components/StrengthIndicator/StrengthIndicator.tsx +205 -0
- package/src/components/SummaryTile/SummaryTile.tsx +251 -0
- package/src/components/Text/Text.tsx +24 -3
- package/src/components/Tooltip/Tooltip.tsx +50 -25
- package/src/components/index.ts +47 -3
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/icons/registry.ts +1 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/number-utils.ts +60 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* A single row in the savings-goal legend (current vs. target).
|
|
5
|
+
*
|
|
6
|
+
* `value` is a **numeric amount** (e.g. `240000`). It serves two purposes:
|
|
7
|
+
*
|
|
8
|
+
* 1. Display: rendered on the right side of the row using Indian numeric
|
|
9
|
+
* notation via {@link formatIndianNumber} and prefixed with `currency`
|
|
10
|
+
* (e.g. `240000` → `"₹2.4L"`).
|
|
11
|
+
* 2. Progress derivation: the bar fills to `current.value / target.value`
|
|
12
|
+
* automatically. There is no separate `progress` prop.
|
|
13
|
+
*
|
|
14
|
+
* Pass `value: undefined` to render a label-only row (the underlying
|
|
15
|
+
* {@link MetricLegendItem} hides the right slot in that case).
|
|
16
|
+
*/
|
|
17
|
+
export type SavingsGoalSummaryItem = {
|
|
18
|
+
/** Label shown next to the indicator dot (e.g. "Current (4 months)"). */
|
|
19
|
+
label?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Numeric amount used for both display formatting and progress derivation.
|
|
22
|
+
* Use `undefined` to render a label-only row.
|
|
23
|
+
*/
|
|
24
|
+
value?: number;
|
|
25
|
+
/** Override the indicator dot colour. */
|
|
26
|
+
indicatorColor?: string;
|
|
27
|
+
};
|
|
28
|
+
export type SavingsGoalSummaryProps = {
|
|
29
|
+
/**
|
|
30
|
+
* Currency symbol (e.g. `'₹'`, `'$'`) prefixed to every legend value.
|
|
31
|
+
* Defaults to `'₹'`. The symbol is rendered as part of the formatted
|
|
32
|
+
* string — this component does not use `MoneyValue`.
|
|
33
|
+
*/
|
|
34
|
+
currency?: string;
|
|
35
|
+
/**
|
|
36
|
+
* "Current" row in the legend. The indicator dot defaults to the
|
|
37
|
+
* `LinearProgress` indicator colour. Pass `null` to hide the row.
|
|
38
|
+
*
|
|
39
|
+
* `current.value` (numeric) drives both the displayed amount and — together
|
|
40
|
+
* with `target.value` — the progress bar fill.
|
|
41
|
+
*/
|
|
42
|
+
current?: SavingsGoalSummaryItem | null;
|
|
43
|
+
/**
|
|
44
|
+
* "Target" / recommended row in the legend. The indicator dot defaults to
|
|
45
|
+
* the `LinearProgress` track colour. Pass `null` to hide the row.
|
|
46
|
+
*/
|
|
47
|
+
target?: SavingsGoalSummaryItem | null;
|
|
48
|
+
/**
|
|
49
|
+
* Custom legend slot. When provided, replaces the default `current`/`target`
|
|
50
|
+
* rows entirely — pass any number of `MetricLegendItem`s (or any other
|
|
51
|
+
* nodes) to fully control the legend.
|
|
52
|
+
*
|
|
53
|
+
* Note: the progress bar is still derived from `current.value` / `target.value`,
|
|
54
|
+
* so pass them even when overriding the legend if you want a non-zero bar.
|
|
55
|
+
*/
|
|
56
|
+
children?: React.ReactNode;
|
|
57
|
+
/**
|
|
58
|
+
* Design token modes for theming. Defaults to `{ 'LinearProgress Size': 'L' }`
|
|
59
|
+
* which renders the thicker progress bar from the Figma reference. Caller
|
|
60
|
+
* modes are merged on top and can override every default key.
|
|
61
|
+
*/
|
|
62
|
+
modes?: Record<string, any>;
|
|
63
|
+
/** Override container styles. */
|
|
64
|
+
style?: StyleProp<ViewStyle>;
|
|
65
|
+
/**
|
|
66
|
+
* Override styles for the auto-generated percentage text. Useful for
|
|
67
|
+
* tweaking colour or alignment; the value (e.g. `"50%"`) is always
|
|
68
|
+
* computed from `current` / `target` and cannot be replaced.
|
|
69
|
+
*/
|
|
70
|
+
titleStyle?: StyleProp<TextStyle>;
|
|
71
|
+
/** Override the inner legend container styles. */
|
|
72
|
+
legendStyle?: StyleProp<ViewStyle>;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* `SavingsGoalSummary` visualises progress toward a savings goal as:
|
|
76
|
+
*
|
|
77
|
+
* 1. A `Title` showing the percentage — **computed automatically** from
|
|
78
|
+
* `current.value / target.value`. There is no `progress` prop; the
|
|
79
|
+
* component owns the calculation so the title, bar and legend are always
|
|
80
|
+
* in sync.
|
|
81
|
+
* 2. A `LinearProgress` bar driven by the same derived ratio.
|
|
82
|
+
* 3. A two-row legend comparing **current** vs. **target**, where each numeric
|
|
83
|
+
* `value` is auto-formatted with Indian notation
|
|
84
|
+
* ({@link formatIndianNumber}) and prefixed with the `currency` symbol.
|
|
85
|
+
*
|
|
86
|
+
* The component is intentionally narrow in scope — it is the body of a savings
|
|
87
|
+
* insight card. Wrap it in `CardInsight` (or any container of your choice) to
|
|
88
|
+
* add a heading, badge or footer.
|
|
89
|
+
*
|
|
90
|
+
* @component
|
|
91
|
+
* @param {SavingsGoalSummaryProps} props
|
|
92
|
+
*/
|
|
93
|
+
declare function SavingsGoalSummary({ currency, current, target, children, modes, style, titleStyle, legendStyle, }: SavingsGoalSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export default SavingsGoalSummary;
|
|
95
|
+
//# sourceMappingURL=SavingsGoalSummary.d.ts.map
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Per-segment data definition for the data-driven `segments` prop.
|
|
5
|
+
*
|
|
6
|
+
* Use `value` for proportional widths (segments share width by their value
|
|
7
|
+
* relative to the sum). When `value` is omitted, segments share the row
|
|
8
|
+
* equally (`flex: 1`).
|
|
9
|
+
*
|
|
10
|
+
* Use `modes` to override the per-segment design-token mode — typically the
|
|
11
|
+
* `Appearance / DataViz` mode for color theming, or `Emphasis / DataViz` to
|
|
12
|
+
* change the emphasis level. The parent already injects per-index defaults
|
|
13
|
+
* (segment 0 = High, 1 = Medium, 2 = Low, then cycling) so callers only need
|
|
14
|
+
* to pass `modes` when they want a different result.
|
|
15
|
+
*/
|
|
16
|
+
export type SegmentedTrackSegmentData = {
|
|
17
|
+
/** Stable React key. */
|
|
18
|
+
key?: React.Key;
|
|
19
|
+
/**
|
|
20
|
+
* Optional explicit weight used for proportional width (`flex: value`).
|
|
21
|
+
* When omitted, the segment uses an equal share of the available row.
|
|
22
|
+
* Mixing values and undefined is supported — undefined falls back to 1.
|
|
23
|
+
*/
|
|
24
|
+
value?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Hard-override the segment color. Bypasses `dataViz/bg` token resolution
|
|
27
|
+
* entirely.
|
|
28
|
+
*/
|
|
29
|
+
color?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Per-segment design token mode overrides. Merged on top of the parent
|
|
32
|
+
* `modes` and the per-index Emphasis defaults.
|
|
33
|
+
*/
|
|
34
|
+
modes?: Record<string, any>;
|
|
35
|
+
/** Override individual segment styles. */
|
|
36
|
+
style?: StyleProp<ViewStyle>;
|
|
37
|
+
/** Per-segment accessibility label. */
|
|
38
|
+
accessibilityLabel?: string;
|
|
39
|
+
};
|
|
40
|
+
export type SegmentedTrackProps = {
|
|
41
|
+
/**
|
|
42
|
+
* Data-driven segment list. Used when no `children` slot is provided.
|
|
43
|
+
* Defaults to three equal segments which receive per-index Emphasis
|
|
44
|
+
* defaults (`High`, `Medium`, `Low`).
|
|
45
|
+
*/
|
|
46
|
+
segments?: SegmentedTrackSegmentData[];
|
|
47
|
+
/**
|
|
48
|
+
* Slot for fully custom segment children. Each top-level child is treated
|
|
49
|
+
* as one segment. The parent injects per-index Emphasis defaults and the
|
|
50
|
+
* shared `modes`, while child-level `modes` overrides win.
|
|
51
|
+
*/
|
|
52
|
+
children?: React.ReactNode;
|
|
53
|
+
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
54
|
+
modes?: Record<string, any>;
|
|
55
|
+
/** Override the container styles. */
|
|
56
|
+
style?: StyleProp<ViewStyle>;
|
|
57
|
+
/** Style applied to every segment (data-driven mode only). */
|
|
58
|
+
segmentStyle?: StyleProp<ViewStyle>;
|
|
59
|
+
/** Accessibility label announced for the whole distribution row. */
|
|
60
|
+
accessibilityLabel?: string;
|
|
61
|
+
};
|
|
62
|
+
type SegmentedTrackSegmentProps = {
|
|
63
|
+
/**
|
|
64
|
+
* Optional explicit weight used for proportional width (`flex: value`).
|
|
65
|
+
* Defaults to 1 (equal share within the parent row).
|
|
66
|
+
*/
|
|
67
|
+
value?: number | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Hard-override the segment color. Bypasses `dataViz/bg` token resolution.
|
|
70
|
+
*/
|
|
71
|
+
color?: string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Design token modes for the segment. Merged with parent `modes` and the
|
|
74
|
+
* per-index Emphasis defaults injected by the parent `SegmentedTrack`.
|
|
75
|
+
*/
|
|
76
|
+
modes?: Record<string, any> | undefined;
|
|
77
|
+
/** Override the segment styles. */
|
|
78
|
+
style?: StyleProp<ViewStyle> | undefined;
|
|
79
|
+
/** Per-segment accessibility label. */
|
|
80
|
+
accessibilityLabel?: string | undefined;
|
|
81
|
+
};
|
|
82
|
+
declare function SegmentedTrackSegment({ value, color, modes, style, accessibilityLabel, }: SegmentedTrackSegmentProps): import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
/**
|
|
84
|
+
* `SegmentedTrack` renders a horizontal pill-shaped row of categorical
|
|
85
|
+
* segments. Use it for distribution / share-of breakdowns where each
|
|
86
|
+
* segment is a sibling category (not a directional or temporal progress).
|
|
87
|
+
*
|
|
88
|
+
* Defaults to three equal segments tinted at descending Emphasis levels
|
|
89
|
+
* (`High`, `Medium`, `Low`) so the shape reads as a single concept split
|
|
90
|
+
* three ways. Consumers can either pass the data-driven `segments` prop or
|
|
91
|
+
* a fully custom `children` slot of `SegmentedTrack.Segment`s.
|
|
92
|
+
*
|
|
93
|
+
* Each segment resolves its color through the `dataViz/bg` token, which
|
|
94
|
+
* cascades through `Emphasis / DataViz` and `Appearance / DataViz`. Pass
|
|
95
|
+
* `modes` per segment (or override `Appearance / DataViz` at the parent
|
|
96
|
+
* level via `modes`) to retheme the row without touching colors directly.
|
|
97
|
+
*
|
|
98
|
+
* @component
|
|
99
|
+
* @param {SegmentedTrackProps} props
|
|
100
|
+
*/
|
|
101
|
+
declare function SegmentedTrack({ segments, children, modes: propModes, style, segmentStyle, accessibilityLabel, }: SegmentedTrackProps): import("react/jsx-runtime").JSX.Element;
|
|
102
|
+
declare namespace SegmentedTrack {
|
|
103
|
+
var Segment: typeof SegmentedTrackSegment;
|
|
104
|
+
}
|
|
105
|
+
export { SegmentedTrackSegment };
|
|
106
|
+
export type { SegmentedTrackSegmentProps };
|
|
107
|
+
export default SegmentedTrack;
|
|
108
|
+
//# sourceMappingURL=SegmentedTrack.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type StatGroupItem = {
|
|
4
|
+
/** Stable key for the item. Falls back to the label / index. */
|
|
5
|
+
key?: React.Key;
|
|
6
|
+
/** The descriptive label shown beneath the value. */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** The prominent value shown above the label. */
|
|
9
|
+
value?: string;
|
|
10
|
+
};
|
|
11
|
+
export type StatGroupProps = {
|
|
12
|
+
/**
|
|
13
|
+
* Array of stat items. Each item is rendered as a centered `StatItem`
|
|
14
|
+
* (`labelPosition="Bottom"`) with vertical dividers between them.
|
|
15
|
+
*
|
|
16
|
+
* Ignored when a `children` slot is provided.
|
|
17
|
+
*/
|
|
18
|
+
items?: StatGroupItem[];
|
|
19
|
+
/**
|
|
20
|
+
* Custom slot content. When provided, the `items` prop is ignored. Each
|
|
21
|
+
* top-level child is wrapped to take an equal share of the available width
|
|
22
|
+
* and a vertical `Divider` is auto-inserted between siblings — matching the
|
|
23
|
+
* Figma `slot` behaviour. `modes` are propagated to all children.
|
|
24
|
+
*/
|
|
25
|
+
children?: React.ReactNode;
|
|
26
|
+
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
27
|
+
modes?: Record<string, any>;
|
|
28
|
+
/** Override container styles. */
|
|
29
|
+
style?: StyleProp<ViewStyle>;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* StatGroup renders a card-style container holding a horizontal row of
|
|
33
|
+
* `StatItem`s separated by vertical dividers. It is typically used to surface
|
|
34
|
+
* 3–5 short metrics (e.g. validity, data range, storage) at a glance.
|
|
35
|
+
*
|
|
36
|
+
* Pass `items` for the simple data-driven case, or use the `children` slot
|
|
37
|
+
* for full control over the row contents (the component still auto-inserts
|
|
38
|
+
* vertical dividers between top-level children).
|
|
39
|
+
*
|
|
40
|
+
* @component
|
|
41
|
+
* @param {StatGroupProps} props
|
|
42
|
+
*/
|
|
43
|
+
declare function StatGroup({ items, children, modes, style, }: StatGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export default StatGroup;
|
|
45
|
+
//# sourceMappingURL=StatGroup.d.ts.map
|
|
@@ -1,21 +1,38 @@
|
|
|
1
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
1
|
+
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
2
|
+
export type StatItemLabelPosition = 'Top' | 'Bottom';
|
|
2
3
|
export type StatItemProps = {
|
|
3
|
-
/** The small descriptive label
|
|
4
|
+
/** The small descriptive label. */
|
|
4
5
|
label?: string;
|
|
5
|
-
/** The
|
|
6
|
+
/** The prominent value to display. */
|
|
6
7
|
value?: string;
|
|
7
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Whether the label is rendered above or below the value. Matches the
|
|
10
|
+
* Figma `labelPosition` variant. Defaults to `'Top'`.
|
|
11
|
+
*
|
|
12
|
+
* - `'Top'` — Label (12px medium) above large value (26px black). Left-aligned.
|
|
13
|
+
* - `'Bottom'` — Value (12px medium) above smaller label (10px regular). Center-aligned.
|
|
14
|
+
*/
|
|
15
|
+
labelPosition?: StatItemLabelPosition;
|
|
16
|
+
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
8
17
|
modes?: Record<string, any>;
|
|
9
18
|
/** Override container styles. */
|
|
10
19
|
style?: StyleProp<ViewStyle>;
|
|
20
|
+
/** Override the label text styles. */
|
|
21
|
+
labelStyle?: StyleProp<TextStyle>;
|
|
22
|
+
/** Override the value text styles. */
|
|
23
|
+
valueStyle?: StyleProp<TextStyle>;
|
|
11
24
|
};
|
|
12
25
|
/**
|
|
13
|
-
* StatItem displays a label/value pair
|
|
14
|
-
*
|
|
26
|
+
* StatItem displays a label/value pair, useful for product stats, metrics
|
|
27
|
+
* or KPI callouts.
|
|
28
|
+
*
|
|
29
|
+
* Supports two layouts via the `labelPosition` variant:
|
|
30
|
+
* - `'Top'` — Small label above a large prominent value (default).
|
|
31
|
+
* - `'Bottom'` — Value above a smaller label, content centered.
|
|
15
32
|
*
|
|
16
33
|
* @component
|
|
17
34
|
* @param {StatItemProps} props
|
|
18
35
|
*/
|
|
19
|
-
declare function StatItem({ label, value, modes, style, }: StatItemProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
declare function StatItem({ label, value, labelPosition, modes, style, labelStyle, valueStyle, }: StatItemProps): import("react/jsx-runtime").JSX.Element;
|
|
20
37
|
export default StatItem;
|
|
21
38
|
//# sourceMappingURL=StatItem.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Confidence levels supported by the indicator. Mirrors the Figma `Confidence`
|
|
5
|
+
* mode collection exactly (`High` | `Medium` | `Low` | `None`).
|
|
6
|
+
*/
|
|
7
|
+
export type StrengthIndicatorConfidence = 'High' | 'Medium' | 'Low' | 'None';
|
|
8
|
+
/**
|
|
9
|
+
* Accepted shape for the `confidence` prop. Either:
|
|
10
|
+
* - one of the named levels (`'High' | 'Medium' | 'Low' | 'None'`), or
|
|
11
|
+
* - a float in `[0, 1]`. Floats are bucketed to the nearest level using
|
|
12
|
+
* midpoint thresholds (1/6, 1/2, 5/6) so anchor values land squarely:
|
|
13
|
+
* `0` → `None`, `~0.33` → `Low`, `~0.66` → `Medium`, `1` → `High`.
|
|
14
|
+
* Values outside `[0, 1]` are clamped.
|
|
15
|
+
*/
|
|
16
|
+
export type StrengthIndicatorConfidenceValue = StrengthIndicatorConfidence | number;
|
|
17
|
+
export type StrengthIndicatorProps = {
|
|
18
|
+
/**
|
|
19
|
+
* Overall confidence level. Accepts either the named enum value
|
|
20
|
+
* (`'High' | 'Medium' | 'Low' | 'None'`) or a float in `[0, 1]`:
|
|
21
|
+
*
|
|
22
|
+
* `1.0` (or `'High'`) → bars `[High, High, High]` (3/3 lit)
|
|
23
|
+
* `0.66` (or `'Medium'`) → bars `[Medium, Medium, None]` (2/3 lit)
|
|
24
|
+
* `0.33` (or `'Low'`) → bars `[Low, None, None]` (1/3 lit)
|
|
25
|
+
* `0.0` (or `'None'`) → bars `[None, None, None]` (0/3 lit)
|
|
26
|
+
*
|
|
27
|
+
* The component maps the resolved level to a per-bar confidence mode
|
|
28
|
+
* internally, so each bar's color resolves through the
|
|
29
|
+
* `strengthIndicator/bar/<size>/background` token using its own
|
|
30
|
+
* `Confidence` mode.
|
|
31
|
+
*
|
|
32
|
+
* Default: `'High'`.
|
|
33
|
+
*/
|
|
34
|
+
confidence?: StrengthIndicatorConfidenceValue;
|
|
35
|
+
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
36
|
+
modes?: Record<string, any>;
|
|
37
|
+
/** Override container styles. */
|
|
38
|
+
style?: StyleProp<ViewStyle>;
|
|
39
|
+
} & Omit<React.ComponentProps<typeof View>, 'style'>;
|
|
40
|
+
/**
|
|
41
|
+
* StrengthIndicator renders three fixed-size, ascending bars that
|
|
42
|
+
* communicate a discrete confidence/strength level — typically used to
|
|
43
|
+
* signal model confidence, signal quality, or password strength.
|
|
44
|
+
*
|
|
45
|
+
* Sizes are intentionally fixed (matching the Figma spec): 3px-wide bars
|
|
46
|
+
* 6/9/12px tall with a 2px gap and 2px container padding.
|
|
47
|
+
*
|
|
48
|
+
* Pass a single `confidence` value (named enum *or* float `[0, 1]`); the
|
|
49
|
+
* component normalizes it to a level, maps that level to a per-bar
|
|
50
|
+
* confidence mode, and resolves each bar's color through design tokens
|
|
51
|
+
* (`strengthIndicator/bar/<size>/background`).
|
|
52
|
+
*
|
|
53
|
+
* @component
|
|
54
|
+
* @param {StrengthIndicatorProps} props
|
|
55
|
+
*/
|
|
56
|
+
declare function StrengthIndicator({ confidence, modes, style, ...rest }: StrengthIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
export default StrengthIndicator;
|
|
58
|
+
//# sourceMappingURL=StrengthIndicator.d.ts.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
|
+
import { type StrengthIndicatorConfidenceValue } from '../StrengthIndicator/StrengthIndicator';
|
|
4
|
+
export type SummaryTileProps = {
|
|
5
|
+
/** Bold heading shown at the top-left of the tile. */
|
|
6
|
+
title?: string;
|
|
7
|
+
/** Smaller supporting copy rendered beneath the title. */
|
|
8
|
+
description?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Confidence level for the inline `StrengthIndicator` next to the title.
|
|
11
|
+
* Defaults to `'None'` to match the Figma reference (all bars unlit).
|
|
12
|
+
* Pass `null` to hide the indicator entirely.
|
|
13
|
+
*/
|
|
14
|
+
confidence?: StrengthIndicatorConfidenceValue | null;
|
|
15
|
+
/**
|
|
16
|
+
* When `true`, render a trailing forward chevron (`NavArrow`) — the
|
|
17
|
+
* convention for "tap the tile to drill in" affordance. Defaults to
|
|
18
|
+
* `false`.
|
|
19
|
+
*/
|
|
20
|
+
chevron?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Action slot rendered to the right of the text content. Defaults to a
|
|
23
|
+
* small `Button` (`Button / Size: 'S'`) labelled "Button" to match the
|
|
24
|
+
* Figma default. Pass `null` to render no action slot (typical for
|
|
25
|
+
* static tiles that want only a chevron).
|
|
26
|
+
*/
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Optional press handler for the entire tile. When provided, the tile
|
|
30
|
+
* is wrapped in a `Pressable`, gets `accessibilityRole="button"` and
|
|
31
|
+
* the default `Button` action slot is automatically suppressed so the
|
|
32
|
+
* rendered HTML doesn't contain a `<button>` inside another `<button>`
|
|
33
|
+
* (which would trigger a hydration warning on web). Pair this with
|
|
34
|
+
* `chevron` for the navigational tile pattern.
|
|
35
|
+
*/
|
|
36
|
+
onPress?: () => void;
|
|
37
|
+
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
38
|
+
modes?: Record<string, any>;
|
|
39
|
+
/** Override container styles. */
|
|
40
|
+
style?: StyleProp<ViewStyle>;
|
|
41
|
+
/** Override the title text styles. */
|
|
42
|
+
titleStyle?: StyleProp<TextStyle>;
|
|
43
|
+
/** Override the description text styles. */
|
|
44
|
+
descriptionStyle?: StyleProp<TextStyle>;
|
|
45
|
+
/** Accessibility label override (defaults to `title`). */
|
|
46
|
+
accessibilityLabel?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* SummaryTile composes a title (with an inline `StrengthIndicator`), a
|
|
50
|
+
* supporting description and an action slot into a compact horizontal row,
|
|
51
|
+
* commonly used at the top of dashboard cards (e.g. "Spending — know your
|
|
52
|
+
* spending and savings"). An optional trailing chevron and tile-level
|
|
53
|
+
* `onPress` handler turn the whole row into a navigational entry point.
|
|
54
|
+
*
|
|
55
|
+
* @component
|
|
56
|
+
* @param {SummaryTileProps} props
|
|
57
|
+
*/
|
|
58
|
+
declare function SummaryTile({ title, description, confidence, chevron, children, onPress, modes, style, titleStyle, descriptionStyle, accessibilityLabel, }: SummaryTileProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export default SummaryTile;
|
|
60
|
+
//# sourceMappingURL=SummaryTile.d.ts.map
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { type TextStyle, type StyleProp } from 'react-native';
|
|
2
3
|
export type TextProps = {
|
|
3
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* The text content to display. You may also pass content as JSX children
|
|
6
|
+
* (e.g. `<Text>Hello</Text>`) — when both are provided, `children` wins.
|
|
7
|
+
*/
|
|
4
8
|
text?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Child nodes (string, number, or nested <Text>/<RNText> elements). This
|
|
11
|
+
* mirrors the standard React Native `<Text>` API so the component is a
|
|
12
|
+
* near-drop-in replacement.
|
|
13
|
+
*/
|
|
14
|
+
children?: React.ReactNode;
|
|
5
15
|
/** Horizontal alignment of the text. */
|
|
6
16
|
textAlign?: 'Left' | 'Center';
|
|
7
17
|
/** Modes configuration for design token resolution. */
|
|
@@ -11,6 +21,6 @@ export type TextProps = {
|
|
|
11
21
|
/** Number of lines to limit the text to. */
|
|
12
22
|
numberOfLines?: number;
|
|
13
23
|
};
|
|
14
|
-
declare function Text({ text, textAlign, modes, style, numberOfLines, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function Text({ text, children, textAlign, modes, style, numberOfLines, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
15
25
|
export default Text;
|
|
16
26
|
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
-
import { Pressable } from 'react-native';
|
|
2
|
+
import { Pressable, ViewStyle } from 'react-native';
|
|
3
3
|
export type Placement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
4
4
|
export type TooltipProps = {
|
|
5
5
|
children: ReactNode;
|
|
@@ -21,6 +21,17 @@ export declare function TooltipTrigger({ children, asChild, ...props }: TooltipT
|
|
|
21
21
|
export type TooltipContentProps = {
|
|
22
22
|
children: ReactNode;
|
|
23
23
|
sideOffset?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Vertical spacing between slot children, in pixels.
|
|
26
|
+
* The content area acts as a vertical slot: any children passed in
|
|
27
|
+
* (text, icons, custom views, etc.) are stacked top-to-bottom with this gap.
|
|
28
|
+
*/
|
|
29
|
+
gap?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Cross-axis alignment of slot children.
|
|
32
|
+
* Defaults to `flex-start` so multi-line/multi-element content lines up on the left.
|
|
33
|
+
*/
|
|
34
|
+
alignItems?: ViewStyle['alignItems'];
|
|
24
35
|
};
|
|
25
|
-
export declare function TooltipContent({ children, sideOffset }: TooltipContentProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function TooltipContent({ children, sideOffset, gap, alignItems, }: TooltipContentProps): import("react/jsx-runtime").JSX.Element;
|
|
26
37
|
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { default as AccountCard, type AccountCardProps, type AccountCardState } from './AccountCard/AccountCard';
|
|
1
2
|
export { default as ActionFooter, type ActionFooterProps } from './ActionFooter/ActionFooter';
|
|
2
3
|
export { default as AppBar } from './AppBar/AppBar';
|
|
3
4
|
export { default as Avatar, type AvatarProps } from './Avatar/Avatar';
|
|
@@ -5,17 +6,24 @@ export { default as AvatarGroup } from './AvatarGroup/AvatarGroup';
|
|
|
5
6
|
export { default as Badge } from './Badge/Badge';
|
|
6
7
|
export { default as BottomNav } from './BottomNav/BottomNav';
|
|
7
8
|
export { default as BottomNavItem } from './BottomNavItem/BottomNavItem';
|
|
9
|
+
export { default as BrandChip, type BrandChipProps } from './BrandChip/BrandChip';
|
|
8
10
|
export { default as Button, type ButtonProps } from './Button/Button';
|
|
9
11
|
export { default as Card } from './Card/Card';
|
|
10
12
|
export { default as CardAdvisory, type CardAdvisoryProps } from './CardAdvisory/CardAdvisory';
|
|
13
|
+
export { default as CardBankAccount, type CardBankAccountProps, type CardBankAccountItem } from './CardBankAccount/CardBankAccount';
|
|
11
14
|
export { default as Carousel } from './Carousel/Carousel';
|
|
12
15
|
export type { CarouselProps, CarouselItemProps, PaginationProps } from './Carousel/Carousel';
|
|
13
16
|
export { default as Checkbox, type CheckboxProps } from './Checkbox/Checkbox';
|
|
17
|
+
export { default as CheckboxItem, type CheckboxItemProps } from './CheckboxItem/CheckboxItem';
|
|
18
|
+
export { default as CheckboxGroup, type CheckboxGroupProps } from './CheckboxGroup/CheckboxGroup';
|
|
14
19
|
export { default as CardFeedback, type CardFeedbackProps } from './CardFeedback/CardFeedback';
|
|
15
20
|
export { default as CardFinancialCondition, type CardFinancialConditionProps } from './CardFinancialCondition/CardFinancialCondition';
|
|
21
|
+
export { default as CardInsight, type CardInsightProps } from './CardInsight/CardInsight';
|
|
16
22
|
export { default as Disclaimer } from './Disclaimer/Disclaimer';
|
|
17
23
|
export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider';
|
|
18
24
|
export { default as Drawer } from './Drawer/Drawer';
|
|
25
|
+
export { default as Dropdown, DropdownItem, type DropdownProps, type DropdownItemProps } from './Dropdown/Dropdown';
|
|
26
|
+
export { default as DropdownInput, type DropdownInputProps, type DropdownInputOption, type DropdownInputOptionValue } from './DropdownInput/DropdownInput';
|
|
19
27
|
export { default as CardCTA, type CardCTAProps, type CardCTAType } from './CardCTA/CardCTA';
|
|
20
28
|
export { default as DebitCard, type DebitCardProps } from './DebitCard/DebitCard';
|
|
21
29
|
export { default as FilterBar } from './FilterBar/FilterBar';
|
|
@@ -25,6 +33,9 @@ export { default as FormField, type FormFieldProps, type FormFieldType } from '.
|
|
|
25
33
|
export { default as CircularProgressBar, type CircularProgressBarProps } from './CircularProgressBar/CircularProgressBar';
|
|
26
34
|
export { default as CircularProgressBarDoted, type CircularProgressBarDotedProps } from './CircularProgressBarDoted/CircularProgressBarDoted';
|
|
27
35
|
export { default as CircularRating, type CircularRatingProps } from './CircularRating/CircularRating';
|
|
36
|
+
export { default as CoverageRing, type CoverageRingProps } from './CoverageRing/CoverageRing';
|
|
37
|
+
export { default as CoverageBarComparison, type CoverageBarComparisonProps, type CoverageBarComparisonItem } from './CoverageBarComparison/CoverageBarComparison';
|
|
38
|
+
export { default as MonthlyStatusGrid, CalendarGlyph, type MonthlyStatusGridProps, type MonthlyStatusGridMonth, type MonthlyStatus, type CalendarGlyphProps } from './MonthlyStatusGrid/MonthlyStatusGrid';
|
|
28
39
|
export { default as Gauge, type GaugeProps } from './Gauge/Gauge';
|
|
29
40
|
export { default as HoldingsCard, type HoldingsCardProps } from './HoldingsCard/HoldingsCard';
|
|
30
41
|
export { default as HStack, type HStackProps } from './HStack/HStack';
|
|
@@ -33,10 +44,13 @@ export { default as IconCapsule } from './IconCapsule/IconCapsule';
|
|
|
33
44
|
export { default as Image, type ImageProps } from './Image/Image';
|
|
34
45
|
export { default as LazyList } from './LazyList/LazyList';
|
|
35
46
|
export { default as LinearMeter, type LinearMeterProps } from './LinearMeter/LinearMeter';
|
|
47
|
+
export { default as LinearProgress, type LinearProgressProps } from './LinearProgress/LinearProgress';
|
|
36
48
|
export { default as ListGroup } from './ListGroup/ListGroup';
|
|
49
|
+
export { default as LottieIntroBlock, type LottieIntroBlockProps } from './LottieIntroBlock/LottieIntroBlock';
|
|
37
50
|
export { default as ListItem } from './ListItem/ListItem';
|
|
38
51
|
export { default as MediaCard, type MediaCardProps } from './MediaCard/MediaCard';
|
|
39
52
|
export { default as MerchantProfile, type MerchantProfileProps } from './MerchantProfile/MerchantProfile';
|
|
53
|
+
export { default as MetricLegendItem, type MetricLegendItemProps } from './MetricLegendItem/MetricLegendItem';
|
|
40
54
|
export { default as MoneyValue } from './MoneyValue/MoneyValue';
|
|
41
55
|
export { default as NoteInput, type NoteInputProps } from './NoteInput/NoteInput';
|
|
42
56
|
export { default as Nudge, type NudgeProps } from './Nudge/Nudge';
|
|
@@ -51,7 +65,7 @@ export { StepLabel } from './Stepper/StepLabel';
|
|
|
51
65
|
export { default as TextInput } from './TextInput/TextInput';
|
|
52
66
|
export { default as StatusHero, type StatusHeroProps } from './StatusHero/StatusHero';
|
|
53
67
|
export { default as ThreadHero, type ThreadHeroProps } from './ThreadHero/ThreadHero';
|
|
54
|
-
export { Tooltip } from './Tooltip/Tooltip';
|
|
68
|
+
export { Tooltip, TooltipTrigger, TooltipContent, type TooltipProps, type TooltipTriggerProps, type TooltipContentProps, type Placement as TooltipPlacement, } from './Tooltip/Tooltip';
|
|
55
69
|
export { default as TransactionDetails } from './TransactionDetails/TransactionDetails';
|
|
56
70
|
export { default as TransactionStatus } from './TransactionStatus/TransactionStatus';
|
|
57
71
|
export { default as TransactionBubble, type TransactionBubbleProps } from './TransactionBubble/TransactionBubble';
|
|
@@ -60,6 +74,7 @@ export { default as VStack, type VStackProps } from './VStack/VStack';
|
|
|
60
74
|
export { default as ChipGroup, type ChipGroupProps } from './ChipGroup/ChipGroup';
|
|
61
75
|
export { default as EmptyState, type EmptyStateProps } from './EmptyState/EmptyState';
|
|
62
76
|
export { default as Accordion, type AccordionProps } from './Accordion/Accordion';
|
|
77
|
+
export { default as AccordionCheckbox, type AccordionCheckboxProps } from './AccordionCheckbox/AccordionCheckbox';
|
|
63
78
|
export { default as ActionTile, type ActionTileProps } from './ActionTile/ActionTile';
|
|
64
79
|
export { default as Balance, type BalanceProps } from './Balance/Balance';
|
|
65
80
|
export { default as ButtonGroup, type ButtonGroupProps } from './ButtonGroup/ButtonGroup';
|
|
@@ -76,20 +91,31 @@ export { default as Radio, type RadioProps } from './Radio/Radio';
|
|
|
76
91
|
*/
|
|
77
92
|
export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton';
|
|
78
93
|
export { default as RechargeCard, type RechargeCardProps } from './RechargeCard/RechargeCard';
|
|
94
|
+
export { default as SavingsGoalSummary, type SavingsGoalSummaryProps, type SavingsGoalSummaryItem } from './SavingsGoalSummary/SavingsGoalSummary';
|
|
95
|
+
export { default as DonutChart, type DonutChartProps, type DonutChartSegmentData, type DonutChartSegmentProps, DonutChartSegment } from './DonutChart/DonutChart';
|
|
96
|
+
export { default as DonutChartSummary, type DonutChartSummaryProps, type DonutChartSummaryItem } from './DonutChartSummary/DonutChartSummary';
|
|
97
|
+
export { default as RangeTrack, type RangeTrackProps, type RangeTrackTab, type RangeTrackItem } from './RangeTrack/RangeTrack';
|
|
98
|
+
export { default as SegmentedTrack, type SegmentedTrackProps, type SegmentedTrackSegmentData, type SegmentedTrackSegmentProps, SegmentedTrackSegment } from './SegmentedTrack/SegmentedTrack';
|
|
79
99
|
export { default as Tabs, type TabsProps } from './Tabs/Tabs';
|
|
80
100
|
export { default as TabItem, type TabItemProps } from './Tabs/TabItem';
|
|
81
101
|
export { default as Toast, type ToastProps } from './Toast/Toast';
|
|
82
102
|
export { default as ToastProvider, type ToastProviderProps } from './Toast/ToastProvider';
|
|
83
103
|
export { useToast, addToast, closeToast, closeAll, type ToastOptions, type ToastEntry, type ToastPlacement } from './Toast/useToast';
|
|
84
104
|
export { default as AmountInput, type AmountInputProps } from './AmountInput/AmountInput';
|
|
105
|
+
export { default as PageHero, type PageHeroProps } from './PageHero/PageHero';
|
|
85
106
|
export { default as Popup, type PopupProps, type PopupRef } from './Popup/Popup';
|
|
86
107
|
export { default as PortfolioHero, type PortfolioHeroProps } from './PortfolioHero/PortfolioHero';
|
|
108
|
+
export { default as PoweredByLabel, type PoweredByLabelProps } from './PoweredByLabel/PoweredByLabel';
|
|
87
109
|
export { default as ProductLabel, type ProductLabelProps } from './ProductLabel/ProductLabel';
|
|
110
|
+
export { default as ProductOverview, type ProductOverviewProps, type ProductOverviewStat } from './ProductOverview/ProductOverview';
|
|
88
111
|
export { default as ProgressBadge, type ProgressBadgeProps } from './ProgressBadge/ProgressBadge';
|
|
89
112
|
export { default as SwappableAmount, type SwappableAmountProps } from './SwappableAmount/SwappableAmount';
|
|
90
|
-
export { default as OTP, type OTPProps } from './OTP/OTP';
|
|
113
|
+
export { default as OTP, OTPResend, useOtpResend, type OTPProps, type OTPResendProps, type OTPResendConfig, type UseOtpResendOptions, type UseOtpResendReturn, type OtpResendState, } from './OTP/OTP';
|
|
91
114
|
export { default as PaymentFeedback, type PaymentFeedbackProps } from './PaymentFeedback/PaymentFeedback';
|
|
92
|
-
export { default as StatItem, type StatItemProps } from './StatItem/StatItem';
|
|
115
|
+
export { default as StatItem, type StatItemProps, type StatItemLabelPosition } from './StatItem/StatItem';
|
|
116
|
+
export { default as StatGroup, type StatGroupProps, type StatGroupItem } from './StatGroup/StatGroup';
|
|
117
|
+
export { default as StrengthIndicator, type StrengthIndicatorProps, type StrengthIndicatorConfidence, type StrengthIndicatorConfidenceValue } from './StrengthIndicator/StrengthIndicator';
|
|
118
|
+
export { default as SummaryTile, type SummaryTileProps } from './SummaryTile/SummaryTile';
|
|
93
119
|
export { default as Text, type TextProps } from './Text/Text';
|
|
94
120
|
export { default as SegmentedControl, type SegmentedControlProps, type SegmentedControlItem } from './SegmentedControl/SegmentedControl';
|
|
95
121
|
export { default as Toggle, type ToggleProps } from './Toggle/Toggle';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Auto-generated from SVG files in src/icons/
|
|
5
5
|
* DO NOT EDIT MANUALLY - Run "npm run icons:generate" to regenerate
|
|
6
6
|
*
|
|
7
|
-
* Generated: 2026-05-
|
|
7
|
+
* Generated: 2026-05-19T16:28:08.570Z
|
|
8
8
|
*/
|
|
9
9
|
export declare const iconRegistry: Record<string, {
|
|
10
10
|
path: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { cloneChildrenWithModes, flattenChildren } from './react-utils';
|
|
2
2
|
export { default as MediaSource } from './MediaSource';
|
|
3
3
|
export type { UnifiedSource, MediaSourceProps } from './MediaSource';
|
|
4
|
+
export { formatIndianNumber } from './number-utils';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a number using the Indian numeric system.
|
|
3
|
+
*
|
|
4
|
+
* - Below 1 lakh (100,000): standard Indian-locale comma grouping (e.g. `12,400`).
|
|
5
|
+
* - 1 lakh up to (but excluding) 1 crore: shorthand `L` (e.g. `2.4L`).
|
|
6
|
+
* - 1 crore and above: shorthand `Cr` (e.g. `1.2Cr`).
|
|
7
|
+
*
|
|
8
|
+
* Trailing zero decimals are trimmed, so `100000` becomes `1L` rather than `1.0L`.
|
|
9
|
+
* Negative values keep the sign (`-2.4L`). Non-finite inputs (`NaN`, `Infinity`)
|
|
10
|
+
* are returned via `String(value)` so callers can decide how to handle them.
|
|
11
|
+
*
|
|
12
|
+
* @example formatIndianNumber(240000) // "2.4L"
|
|
13
|
+
* @example formatIndianNumber(12400) // "12,400"
|
|
14
|
+
* @example formatIndianNumber(15000000) // "1.5Cr"
|
|
15
|
+
* @example formatIndianNumber(-100000) // "-1L"
|
|
16
|
+
* @example formatIndianNumber(99999) // "99,999"
|
|
17
|
+
*
|
|
18
|
+
* @param value The number to format.
|
|
19
|
+
* @param options Optional formatting overrides.
|
|
20
|
+
* @param options.decimals Maximum number of decimal places used in the
|
|
21
|
+
* shorthand `L` / `Cr` form. Defaults to `1`.
|
|
22
|
+
* @param options.prefix String to prefix the output with — useful for a
|
|
23
|
+
* currency symbol, e.g. `'₹'`. Defaults to `''`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatIndianNumber(value: number, options?: {
|
|
26
|
+
decimals?: number;
|
|
27
|
+
prefix?: string;
|
|
28
|
+
}): string;
|
|
29
|
+
//# sourceMappingURL=number-utils.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jfs-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.74",
|
|
4
4
|
"description": "React Native Jio Finance Components Library",
|
|
5
5
|
"author": "sunshuaiqi@gmail.com",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,8 +36,6 @@
|
|
|
36
36
|
"storybook-web": "storybook dev -p 6006",
|
|
37
37
|
"build:storybook-web": "storybook build",
|
|
38
38
|
"deploy:storybook": "vercel --prod",
|
|
39
|
-
"example": "yarn --cwd example start",
|
|
40
|
-
"example:install": "yarn --cwd example install",
|
|
41
39
|
"postinstall": "patch-package",
|
|
42
40
|
"icons:generate": "node scripts/generate-icon-registry.js",
|
|
43
41
|
"prepare": "bob build",
|