jfs-components 0.0.62 → 0.0.64
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 +59 -0
- package/lib/commonjs/components/Accordion/Accordion.js +1 -1
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +1 -1
- package/lib/commonjs/components/ActionTile/ActionTile.js +2 -1
- package/lib/commonjs/components/AmountInput/AmountInput.js +2 -1
- package/lib/commonjs/components/AppBar/AppBar.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +184 -162
- package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +1 -1
- package/lib/commonjs/components/Badge/Badge.js +2 -1
- package/lib/commonjs/components/Balance/Balance.js +2 -1
- package/lib/commonjs/components/BottomNav/BottomNav.js +2 -1
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +106 -86
- package/lib/commonjs/components/Button/Button.js +190 -93
- package/lib/commonjs/components/ButtonGroup/ButtonGroup.js +1 -1
- package/lib/commonjs/components/Card/Card.js +2 -1
- package/lib/commonjs/components/CardCTA/CardCTA.js +1 -1
- package/lib/commonjs/components/CardProviderInfo/CardProviderInfo.js +1 -1
- package/lib/commonjs/components/Carousel/Carousel.js +3 -2
- package/lib/commonjs/components/Checkbox/Checkbox.js +2 -1
- package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/commonjs/components/ChipSelect/ChipSelect.js +2 -1
- package/lib/commonjs/components/DebitCard/DebitCard.js +1 -1
- package/lib/commonjs/components/Disclaimer/Disclaimer.js +2 -1
- package/lib/commonjs/components/Divider/Divider.js +2 -1
- package/lib/commonjs/components/Drawer/Drawer.js +109 -48
- package/lib/commonjs/components/EmptyState/EmptyState.js +2 -1
- package/lib/commonjs/components/FilterBar/FilterBar.js +1 -1
- package/lib/commonjs/components/Form/Form.js +2 -1
- package/lib/commonjs/components/FormField/FormField.js +3 -2
- package/lib/commonjs/components/HStack/HStack.js +1 -1
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +2 -1
- package/lib/commonjs/components/IconButton/IconButton.js +118 -128
- package/lib/commonjs/components/IconCapsule/IconCapsule.js +61 -57
- package/lib/commonjs/components/InputSearch/InputSearch.js +7 -3
- package/lib/commonjs/components/LazyList/LazyList.js +1 -1
- package/lib/commonjs/components/LinearMeter/LinearMeter.js +3 -2
- package/lib/commonjs/components/ListGroup/ListGroup.js +1 -1
- package/lib/commonjs/components/ListItem/ListItem.js +190 -142
- package/lib/commonjs/components/MediaCard/MediaCard.js +3 -3
- package/lib/commonjs/components/MerchantProfile/MerchantProfile.js +2 -1
- package/lib/commonjs/components/MoneyValue/MoneyValue.js +2 -1
- package/lib/commonjs/components/NavArrow/NavArrow.js +82 -59
- package/lib/commonjs/components/NoteInput/NoteInput.js +2 -1
- package/lib/commonjs/components/Nudge/Nudge.js +1 -1
- package/lib/commonjs/components/Numpad/Numpad.js +2 -1
- package/lib/commonjs/components/OTP/OTP.js +1 -1
- package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +2 -1
- package/lib/commonjs/components/Popup/Popup.js +2 -1
- package/lib/commonjs/components/ProductLabel/ProductLabel.js +2 -1
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +2 -1
- package/lib/commonjs/components/RadioButton/RadioButton.js +2 -1
- package/lib/commonjs/components/RechargeCard/RechargeCard.js +2 -1
- package/lib/commonjs/components/Screen/Screen.js +1 -1
- package/lib/commonjs/components/Section/Section.js +500 -166
- package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +3 -2
- package/lib/commonjs/components/StatItem/StatItem.js +2 -1
- package/lib/commonjs/components/StatusHero/StatusHero.js +2 -1
- package/lib/commonjs/components/Stepper/Step.js +2 -1
- package/lib/commonjs/components/Stepper/StepLabel.js +2 -1
- package/lib/commonjs/components/Stepper/Stepper.js +2 -1
- package/lib/commonjs/components/SupportText/SupportText.js +2 -1
- package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -1
- package/lib/commonjs/components/SwappableAmount/SwappableAmount.js +2 -1
- package/lib/commonjs/components/Tabs/TabItem.js +2 -1
- package/lib/commonjs/components/Tabs/Tabs.js +2 -1
- package/lib/commonjs/components/Text/Text.js +2 -1
- package/lib/commonjs/components/TextInput/TextInput.js +2 -2
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +2 -1
- package/lib/commonjs/components/Title/Title.js +2 -1
- package/lib/commonjs/components/Toast/Toast.js +2 -1
- package/lib/commonjs/components/Toggle/Toggle.js +2 -1
- package/lib/commonjs/components/Tooltip/Tooltip.js +2 -1
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +1 -1
- package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +2 -2
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +3 -2
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +144 -110
- package/lib/commonjs/components/VStack/VStack.js +1 -1
- package/lib/commonjs/design-tokens/figma-variables-resolver.js +21 -3
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/utils/react-utils.js +17 -0
- package/lib/module/components/Accordion/Accordion.js +2 -2
- package/lib/module/components/ActionFooter/ActionFooter.js +2 -2
- package/lib/module/components/ActionTile/ActionTile.js +2 -1
- package/lib/module/components/AmountInput/AmountInput.js +2 -1
- package/lib/module/components/AppBar/AppBar.js +2 -2
- package/lib/module/components/Avatar/Avatar.js +184 -162
- package/lib/module/components/AvatarGroup/AvatarGroup.js +2 -2
- package/lib/module/components/Badge/Badge.js +2 -1
- package/lib/module/components/Balance/Balance.js +2 -1
- package/lib/module/components/BottomNav/BottomNav.js +2 -1
- package/lib/module/components/BottomNavItem/BottomNavItem.js +108 -88
- package/lib/module/components/Button/Button.js +192 -95
- package/lib/module/components/ButtonGroup/ButtonGroup.js +2 -2
- package/lib/module/components/Card/Card.js +2 -1
- package/lib/module/components/CardCTA/CardCTA.js +2 -2
- package/lib/module/components/CardProviderInfo/CardProviderInfo.js +2 -2
- package/lib/module/components/Carousel/Carousel.js +3 -2
- package/lib/module/components/Checkbox/Checkbox.js +2 -1
- package/lib/module/components/ChipGroup/ChipGroup.js +2 -2
- package/lib/module/components/ChipSelect/ChipSelect.js +2 -1
- package/lib/module/components/DebitCard/DebitCard.js +2 -2
- package/lib/module/components/Disclaimer/Disclaimer.js +2 -1
- package/lib/module/components/Divider/Divider.js +2 -1
- package/lib/module/components/Drawer/Drawer.js +109 -48
- package/lib/module/components/EmptyState/EmptyState.js +2 -1
- package/lib/module/components/FilterBar/FilterBar.js +2 -2
- package/lib/module/components/Form/Form.js +2 -1
- package/lib/module/components/FormField/FormField.js +3 -2
- package/lib/module/components/HStack/HStack.js +2 -2
- package/lib/module/components/HoldingsCard/HoldingsCard.js +2 -1
- package/lib/module/components/IconButton/IconButton.js +120 -130
- package/lib/module/components/IconCapsule/IconCapsule.js +60 -57
- package/lib/module/components/InputSearch/InputSearch.js +7 -3
- package/lib/module/components/LazyList/LazyList.js +2 -2
- package/lib/module/components/LinearMeter/LinearMeter.js +3 -2
- package/lib/module/components/ListGroup/ListGroup.js +2 -2
- package/lib/module/components/ListItem/ListItem.js +194 -146
- package/lib/module/components/MediaCard/MediaCard.js +4 -2
- package/lib/module/components/MerchantProfile/MerchantProfile.js +2 -1
- package/lib/module/components/MoneyValue/MoneyValue.js +2 -1
- package/lib/module/components/NavArrow/NavArrow.js +82 -58
- package/lib/module/components/NoteInput/NoteInput.js +2 -1
- package/lib/module/components/Nudge/Nudge.js +2 -2
- package/lib/module/components/Numpad/Numpad.js +2 -1
- package/lib/module/components/OTP/OTP.js +2 -2
- package/lib/module/components/PaymentFeedback/PaymentFeedback.js +2 -1
- package/lib/module/components/Popup/Popup.js +2 -1
- package/lib/module/components/ProductLabel/ProductLabel.js +2 -1
- package/lib/module/components/ProgressBadge/ProgressBadge.js +2 -1
- package/lib/module/components/RadioButton/RadioButton.js +2 -1
- package/lib/module/components/RechargeCard/RechargeCard.js +2 -1
- package/lib/module/components/Screen/Screen.js +2 -2
- package/lib/module/components/Section/Section.js +503 -169
- package/lib/module/components/SegmentedControl/SegmentedControl.js +3 -2
- package/lib/module/components/StatItem/StatItem.js +2 -1
- package/lib/module/components/StatusHero/StatusHero.js +2 -1
- package/lib/module/components/Stepper/Step.js +2 -1
- package/lib/module/components/Stepper/StepLabel.js +2 -1
- package/lib/module/components/Stepper/Stepper.js +2 -1
- package/lib/module/components/SupportText/SupportText.js +2 -1
- package/lib/module/components/SupportText/SupportTextIcon.js +2 -1
- package/lib/module/components/SwappableAmount/SwappableAmount.js +2 -1
- package/lib/module/components/Tabs/TabItem.js +2 -1
- package/lib/module/components/Tabs/Tabs.js +2 -1
- package/lib/module/components/Text/Text.js +2 -1
- package/lib/module/components/TextInput/TextInput.js +3 -3
- package/lib/module/components/ThreadHero/ThreadHero.js +2 -1
- package/lib/module/components/Title/Title.js +2 -1
- package/lib/module/components/Toast/Toast.js +2 -1
- package/lib/module/components/Toggle/Toggle.js +2 -1
- package/lib/module/components/Tooltip/Tooltip.js +2 -1
- package/lib/module/components/TransactionBubble/TransactionBubble.js +2 -2
- package/lib/module/components/TransactionDetails/TransactionDetails.js +3 -3
- package/lib/module/components/TransactionStatus/TransactionStatus.js +3 -2
- package/lib/module/components/UpiHandle/UpiHandle.js +147 -113
- package/lib/module/components/VStack/VStack.js +2 -2
- package/lib/module/design-tokens/figma-variables-resolver.js +21 -3
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/utils/react-utils.js +16 -0
- package/lib/typescript/src/components/Avatar/Avatar.d.ts +11 -17
- package/lib/typescript/src/components/BottomNavItem/BottomNavItem.d.ts +12 -8
- package/lib/typescript/src/components/Button/Button.d.ts +18 -1
- package/lib/typescript/src/components/IconButton/IconButton.d.ts +12 -29
- package/lib/typescript/src/components/IconCapsule/IconCapsule.d.ts +10 -18
- package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +8 -3
- package/lib/typescript/src/components/ListItem/ListItem.d.ts +14 -1
- package/lib/typescript/src/components/NavArrow/NavArrow.d.ts +12 -11
- package/lib/typescript/src/components/Section/Section.d.ts +43 -48
- package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +13 -12
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/react-utils.d.ts +15 -0
- package/package.json +4 -6
- package/src/components/Accordion/Accordion.tsx +2 -2
- package/src/components/ActionFooter/ActionFooter.tsx +2 -2
- package/src/components/ActionTile/ActionTile.tsx +2 -1
- package/src/components/AmountInput/AmountInput.tsx +2 -1
- package/src/components/AppBar/AppBar.tsx +2 -2
- package/src/components/Avatar/Avatar.tsx +229 -158
- package/src/components/AvatarGroup/AvatarGroup.tsx +2 -2
- package/src/components/Badge/Badge.tsx +2 -1
- package/src/components/Balance/Balance.tsx +2 -1
- package/src/components/BottomNav/BottomNav.tsx +2 -1
- package/src/components/BottomNavItem/BottomNavItem.tsx +159 -88
- package/src/components/Button/Button.tsx +228 -101
- package/src/components/ButtonGroup/ButtonGroup.tsx +2 -2
- package/src/components/Card/Card.tsx +2 -1
- package/src/components/CardCTA/CardCTA.tsx +2 -2
- package/src/components/CardProviderInfo/CardProviderInfo.tsx +2 -2
- package/src/components/Carousel/Carousel.tsx +3 -2
- package/src/components/Checkbox/Checkbox.tsx +2 -1
- package/src/components/ChipGroup/ChipGroup.tsx +2 -2
- package/src/components/ChipSelect/ChipSelect.tsx +2 -1
- package/src/components/DebitCard/DebitCard.tsx +2 -2
- package/src/components/Disclaimer/Disclaimer.tsx +2 -1
- package/src/components/Divider/Divider.tsx +2 -1
- package/src/components/Drawer/Drawer.tsx +124 -58
- package/src/components/EmptyState/EmptyState.tsx +2 -1
- package/src/components/FilterBar/FilterBar.tsx +2 -2
- package/src/components/Form/Form.tsx +2 -1
- package/src/components/FormField/FormField.tsx +3 -2
- package/src/components/HStack/HStack.tsx +2 -2
- package/src/components/HoldingsCard/HoldingsCard.tsx +2 -1
- package/src/components/IconButton/IconButton.tsx +154 -126
- package/src/components/IconCapsule/IconCapsule.tsx +73 -54
- package/src/components/InputSearch/InputSearch.tsx +19 -5
- package/src/components/LazyList/LazyList.tsx +2 -2
- package/src/components/LinearMeter/LinearMeter.tsx +3 -2
- package/src/components/ListGroup/ListGroup.tsx +2 -2
- package/src/components/ListItem/ListItem.tsx +257 -187
- package/src/components/MediaCard/MediaCard.tsx +2 -1
- package/src/components/MerchantProfile/MerchantProfile.tsx +2 -1
- package/src/components/MoneyValue/MoneyValue.tsx +2 -1
- package/src/components/NavArrow/NavArrow.tsx +91 -58
- package/src/components/NoteInput/NoteInput.tsx +2 -1
- package/src/components/Nudge/Nudge.tsx +2 -2
- package/src/components/Numpad/Numpad.tsx +2 -1
- package/src/components/OTP/OTP.tsx +2 -2
- package/src/components/PaymentFeedback/PaymentFeedback.tsx +2 -1
- package/src/components/Popup/Popup.tsx +2 -1
- package/src/components/ProductLabel/ProductLabel.tsx +2 -1
- package/src/components/ProgressBadge/ProgressBadge.tsx +2 -2
- package/src/components/RadioButton/RadioButton.tsx +2 -1
- package/src/components/RechargeCard/RechargeCard.tsx +2 -1
- package/src/components/Screen/Screen.tsx +2 -2
- package/src/components/Section/Section.tsx +672 -176
- package/src/components/SegmentedControl/SegmentedControl.tsx +3 -2
- package/src/components/StatItem/StatItem.tsx +2 -1
- package/src/components/StatusHero/StatusHero.tsx +2 -1
- package/src/components/Stepper/Step.tsx +2 -1
- package/src/components/Stepper/StepLabel.tsx +2 -1
- package/src/components/Stepper/Stepper.tsx +2 -1
- package/src/components/SupportText/SupportText.tsx +2 -1
- package/src/components/SupportText/SupportTextIcon.tsx +2 -1
- package/src/components/SwappableAmount/SwappableAmount.tsx +2 -1
- package/src/components/Tabs/TabItem.tsx +2 -1
- package/src/components/Tabs/Tabs.tsx +2 -1
- package/src/components/Text/Text.tsx +2 -1
- package/src/components/TextInput/TextInput.tsx +3 -3
- package/src/components/ThreadHero/ThreadHero.tsx +2 -1
- package/src/components/Title/Title.tsx +2 -1
- package/src/components/Toast/Toast.tsx +2 -1
- package/src/components/Toggle/Toggle.tsx +2 -1
- package/src/components/Tooltip/Tooltip.tsx +2 -1
- package/src/components/TransactionBubble/TransactionBubble.tsx +2 -2
- package/src/components/TransactionDetails/TransactionDetails.tsx +3 -3
- package/src/components/TransactionStatus/TransactionStatus.tsx +3 -2
- package/src/components/UpiHandle/UpiHandle.tsx +193 -125
- package/src/components/VStack/VStack.tsx +2 -2
- package/src/design-tokens/figma-variables-resolver.ts +21 -3
- package/src/icons/registry.ts +1 -1
- package/src/utils/react-utils.ts +16 -0
- package/lib/typescript/App.d.ts +0 -2
- package/lib/typescript/index.d.ts +0 -2
- package/lib/typescript/metro.config.d.ts +0 -78
- package/lib/typescript/react-native.config.d.ts +0 -4
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
import React, { useState, useCallback } from 'react';
|
|
4
4
|
import { View, Pressable, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
function SegmentedControlSegment({
|
|
8
9
|
label,
|
|
9
10
|
active,
|
|
10
11
|
onPress,
|
|
11
|
-
modes =
|
|
12
|
+
modes = EMPTY_MODES
|
|
12
13
|
}) {
|
|
13
14
|
const resolvedModes = {
|
|
14
15
|
...modes,
|
|
@@ -89,7 +90,7 @@ function SegmentedControl({
|
|
|
89
90
|
selectedKey: controlledSelectedKey,
|
|
90
91
|
defaultSelectedKey,
|
|
91
92
|
onSelectionChange,
|
|
92
|
-
modes =
|
|
93
|
+
modes = EMPTY_MODES,
|
|
93
94
|
style
|
|
94
95
|
}) {
|
|
95
96
|
const isControlled = controlledSelectedKey !== undefined;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* StatItem displays a label/value pair with the value in a large, bold style.
|
|
@@ -14,7 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
15
|
function StatItem({
|
|
15
16
|
label = 'Purity verified by NABL',
|
|
16
17
|
value = '99.99%',
|
|
17
|
-
modes =
|
|
18
|
+
modes = EMPTY_MODES,
|
|
18
19
|
style
|
|
19
20
|
}) {
|
|
20
21
|
const gap = getVariableByName('statItem/gap', modes) ?? 2;
|
|
@@ -6,6 +6,7 @@ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
|
6
6
|
import { useTokens } from '../../design-tokens/JFSThemeProvider';
|
|
7
7
|
import IconCapsule from '../IconCapsule/IconCapsule';
|
|
8
8
|
import MoneyValue from '../MoneyValue/MoneyValue';
|
|
9
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
/**
|
|
11
12
|
* StatusHero component that displays a hero section for payment/transaction status screens.
|
|
@@ -35,7 +36,7 @@ export default function StatusHero({
|
|
|
35
36
|
iconName = 'ic_confirm',
|
|
36
37
|
value = '50',
|
|
37
38
|
currency = 'INR',
|
|
38
|
-
modes: propModes =
|
|
39
|
+
modes: propModes = EMPTY_MODES,
|
|
39
40
|
style
|
|
40
41
|
}) {
|
|
41
42
|
const {
|
|
@@ -5,10 +5,11 @@ import { View, Text } from 'react-native';
|
|
|
5
5
|
import Svg, { Path } from 'react-native-svg';
|
|
6
6
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
7
7
|
import { StepLabel } from './StepLabel';
|
|
8
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export function Step({
|
|
10
11
|
children,
|
|
11
|
-
modes =
|
|
12
|
+
modes = EMPTY_MODES,
|
|
12
13
|
style,
|
|
13
14
|
index = 0,
|
|
14
15
|
connectorStyle,
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
export function StepLabel({
|
|
8
9
|
title = 'Stepper Item',
|
|
9
10
|
supportingText,
|
|
10
|
-
modes =
|
|
11
|
+
modes = EMPTY_MODES,
|
|
11
12
|
style
|
|
12
13
|
}) {
|
|
13
14
|
// Title styles
|
|
@@ -5,11 +5,12 @@ import { View } from 'react-native';
|
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import { Step } from './Step';
|
|
7
7
|
import { StepLabel } from './StepLabel';
|
|
8
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
export { Step, StepLabel };
|
|
10
11
|
export default function Stepper({
|
|
11
12
|
children,
|
|
12
|
-
modes =
|
|
13
|
+
modes = EMPTY_MODES,
|
|
13
14
|
style
|
|
14
15
|
}) {
|
|
15
16
|
// Stepper container styles
|
|
@@ -5,6 +5,7 @@ import { View, Text } from 'react-native';
|
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import { useTokens } from '../../design-tokens/JFSThemeProvider';
|
|
7
7
|
import SupportTextIcon from './SupportTextIcon';
|
|
8
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
/**
|
|
10
11
|
* SupportText component displaying a status icon and label.
|
|
@@ -14,7 +15,7 @@ function SupportText({
|
|
|
14
15
|
status = 'Neutral',
|
|
15
16
|
iconSlot,
|
|
16
17
|
textSlot,
|
|
17
|
-
modes: propModes =
|
|
18
|
+
modes: propModes = EMPTY_MODES,
|
|
18
19
|
style
|
|
19
20
|
}) {
|
|
20
21
|
const {
|
|
@@ -4,6 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { View } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import Icon from '../../icons/Icon';
|
|
7
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
const STATUS_ICON_MAP = {
|
|
9
10
|
Neutral: 'ic_info',
|
|
@@ -14,7 +15,7 @@ const STATUS_ICON_MAP = {
|
|
|
14
15
|
};
|
|
15
16
|
function SupportTextIcon({
|
|
16
17
|
status = 'Neutral',
|
|
17
|
-
modes =
|
|
18
|
+
modes = EMPTY_MODES,
|
|
18
19
|
style
|
|
19
20
|
}) {
|
|
20
21
|
const iconName = STATUS_ICON_MAP[status] || 'ic_info';
|
|
@@ -4,6 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import Button from '../Button/Button';
|
|
7
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
function SwappableAmount({
|
|
9
10
|
value = '49g',
|
|
@@ -12,7 +13,7 @@ function SwappableAmount({
|
|
|
12
13
|
amountLabel = '₹5100',
|
|
13
14
|
onSchedulePress,
|
|
14
15
|
onAmountPress,
|
|
15
|
-
modes =
|
|
16
|
+
modes = EMPTY_MODES,
|
|
16
17
|
style
|
|
17
18
|
}) {
|
|
18
19
|
const gap = getVariableByName('swappableAmount/gap', modes) ?? 24;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Individual tab item used inside the Tabs container.
|
|
@@ -17,7 +18,7 @@ function TabItem({
|
|
|
17
18
|
label = 'Tab item',
|
|
18
19
|
active = false,
|
|
19
20
|
onPress,
|
|
20
|
-
modes =
|
|
21
|
+
modes = EMPTY_MODES,
|
|
21
22
|
style,
|
|
22
23
|
labelStyle,
|
|
23
24
|
accessibilityLabel
|
|
@@ -4,6 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { ScrollView, View } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import TabItem from './TabItem';
|
|
7
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
/**
|
|
9
10
|
* Tabs container component that lays out TabItem children horizontally.
|
|
@@ -28,7 +29,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
28
29
|
*/
|
|
29
30
|
function Tabs({
|
|
30
31
|
children,
|
|
31
|
-
modes =
|
|
32
|
+
modes = EMPTY_MODES,
|
|
32
33
|
scrollable = false,
|
|
33
34
|
style
|
|
34
35
|
}) {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Text as RNText } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
const TEXT_ALIGN_MAP = {
|
|
8
9
|
Left: 'left',
|
|
@@ -11,7 +12,7 @@ const TEXT_ALIGN_MAP = {
|
|
|
11
12
|
function Text({
|
|
12
13
|
text = 'Korem ipsum ',
|
|
13
14
|
textAlign = 'Left',
|
|
14
|
-
modes =
|
|
15
|
+
modes = EMPTY_MODES,
|
|
15
16
|
style,
|
|
16
17
|
numberOfLines
|
|
17
18
|
}) {
|
|
@@ -4,7 +4,7 @@ import React, { useState } from 'react';
|
|
|
4
4
|
import { Pressable, View, TextInput as RNTextInput } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import Icon from '../../icons/Icon';
|
|
7
|
-
import { cloneChildrenWithModes } from '../../utils/react-utils';
|
|
7
|
+
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* TextInput component that mirrors the Figma "textInput" component.
|
|
@@ -102,7 +102,7 @@ function TextInput({
|
|
|
102
102
|
leadingIconName = 'ic_search',
|
|
103
103
|
leading,
|
|
104
104
|
trailing,
|
|
105
|
-
modes =
|
|
105
|
+
modes = EMPTY_MODES,
|
|
106
106
|
style,
|
|
107
107
|
inputStyle,
|
|
108
108
|
onFocus,
|
|
@@ -256,7 +256,7 @@ function TextInputSearch({
|
|
|
256
256
|
value = '',
|
|
257
257
|
onChangeText,
|
|
258
258
|
leading,
|
|
259
|
-
modes =
|
|
259
|
+
modes = EMPTY_MODES,
|
|
260
260
|
style,
|
|
261
261
|
inputStyle,
|
|
262
262
|
accessibilityLabel,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { isValidElement, cloneElement } from 'react';
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* ThreadHero component displaying a central identity with avatar, title, subtitle, and caption.
|
|
@@ -12,7 +13,7 @@ export default function ThreadHero({
|
|
|
12
13
|
subtitle = 'Banking name: SHIVASHANKAR RAJAN',
|
|
13
14
|
caption,
|
|
14
15
|
renderAvatar,
|
|
15
|
-
modes =
|
|
16
|
+
modes = EMPTY_MODES,
|
|
16
17
|
style
|
|
17
18
|
}) {
|
|
18
19
|
// Container Gaps
|
|
@@ -4,6 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import { useTokens } from '../../design-tokens/JFSThemeProvider';
|
|
7
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
const TEXT_ALIGN_MAP = {
|
|
9
10
|
Left: 'left',
|
|
@@ -13,7 +14,7 @@ function Title({
|
|
|
13
14
|
title = 'Title',
|
|
14
15
|
subtitle,
|
|
15
16
|
textAlign = 'Left',
|
|
16
|
-
modes: propModes =
|
|
17
|
+
modes: propModes = EMPTY_MODES,
|
|
17
18
|
style,
|
|
18
19
|
textStyle,
|
|
19
20
|
subtitleStyle,
|
|
@@ -5,6 +5,7 @@ import { StyleSheet, Text } from 'react-native';
|
|
|
5
5
|
import Animated, { FadeOut, SlideInDown, SlideInUp } from 'react-native-reanimated';
|
|
6
6
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
7
7
|
import { closeToast } from './useToast';
|
|
8
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
const ANIMATION_DURATION = 250;
|
|
10
11
|
function Toast({
|
|
@@ -12,7 +13,7 @@ function Toast({
|
|
|
12
13
|
title,
|
|
13
14
|
timeout = 4000,
|
|
14
15
|
onClose,
|
|
15
|
-
modes =
|
|
16
|
+
modes = EMPTY_MODES,
|
|
16
17
|
placement = 'bottom',
|
|
17
18
|
style
|
|
18
19
|
}) {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { useCallback, useState } from 'react';
|
|
4
4
|
import { Pressable, View, Platform } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Toggle (switch) component that maps directly to the Figma design using design tokens.
|
|
@@ -18,7 +19,7 @@ function Toggle({
|
|
|
18
19
|
defaultValue = false,
|
|
19
20
|
onValueChange,
|
|
20
21
|
disabled = false,
|
|
21
|
-
modes =
|
|
22
|
+
modes = EMPTY_MODES,
|
|
22
23
|
style,
|
|
23
24
|
accessibilityLabel
|
|
24
25
|
}) {
|
|
@@ -5,6 +5,7 @@ import { View, Text, Modal, Pressable, Platform, StyleSheet, Dimensions } from '
|
|
|
5
5
|
import Svg, { Path } from 'react-native-svg';
|
|
6
6
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
7
7
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
8
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
8
9
|
|
|
9
10
|
// --- Types ---
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -23,7 +24,7 @@ function useTooltipContext() {
|
|
|
23
24
|
|
|
24
25
|
export function Tooltip({
|
|
25
26
|
children,
|
|
26
|
-
modes =
|
|
27
|
+
modes = EMPTY_MODES,
|
|
27
28
|
open,
|
|
28
29
|
onOpenChange,
|
|
29
30
|
defaultOpen = false,
|
|
@@ -6,7 +6,7 @@ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
|
6
6
|
import MoneyValue from '../MoneyValue/MoneyValue';
|
|
7
7
|
import TransactionStatus from '../TransactionStatus/TransactionStatus';
|
|
8
8
|
import NavArrow from '../NavArrow/NavArrow';
|
|
9
|
-
import { cloneChildrenWithModes } from '../../utils/react-utils';
|
|
9
|
+
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
|
|
10
10
|
import { usePressableWebSupport } from '../../utils/web-platform-utils';
|
|
11
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
/**
|
|
@@ -34,7 +34,7 @@ function TransactionBubble({
|
|
|
34
34
|
date = '20 Mar 2025',
|
|
35
35
|
statusSlot,
|
|
36
36
|
children,
|
|
37
|
-
modes =
|
|
37
|
+
modes = EMPTY_MODES,
|
|
38
38
|
onPress,
|
|
39
39
|
style,
|
|
40
40
|
accessibilityLabel,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
|
-
import { cloneChildrenWithModes } from '../../utils/react-utils';
|
|
6
|
+
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
|
|
7
7
|
|
|
8
8
|
// ===== Item Subcomponent =====
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -24,7 +24,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
24
24
|
function Item({
|
|
25
25
|
label = 'Label',
|
|
26
26
|
value = 'Value',
|
|
27
|
-
modes =
|
|
27
|
+
modes = EMPTY_MODES,
|
|
28
28
|
style,
|
|
29
29
|
labelStyle,
|
|
30
30
|
valueStyle,
|
|
@@ -116,7 +116,7 @@ function Item({
|
|
|
116
116
|
*/
|
|
117
117
|
function TransactionDetails({
|
|
118
118
|
children,
|
|
119
|
-
modes =
|
|
119
|
+
modes = EMPTY_MODES,
|
|
120
120
|
style,
|
|
121
121
|
accessibilityLabel,
|
|
122
122
|
...rest
|
|
@@ -4,11 +4,12 @@ import React from 'react';
|
|
|
4
4
|
import { View, Text } from 'react-native';
|
|
5
5
|
import { Svg, Path } from 'react-native-svg';
|
|
6
6
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
7
|
+
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
7
8
|
|
|
8
9
|
// --- Internal Icon Component ---
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const StatusIcon = ({
|
|
11
|
-
modes =
|
|
12
|
+
modes = EMPTY_MODES,
|
|
12
13
|
width = 15,
|
|
13
14
|
height = 15,
|
|
14
15
|
color
|
|
@@ -35,7 +36,7 @@ const StatusIcon = ({
|
|
|
35
36
|
export default function TransactionStatus({
|
|
36
37
|
status = 'Expired',
|
|
37
38
|
date = '20 Mar 2025',
|
|
38
|
-
modes =
|
|
39
|
+
modes = EMPTY_MODES,
|
|
39
40
|
style
|
|
40
41
|
}) {
|
|
41
42
|
const gap = Number(getVariableByName('transactionBubble/statusWrap/gap', modes)) || 4;
|