jfs-components 0.0.37 → 0.0.38
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/lib/commonjs/Containers.js.map +1 -1
- package/lib/commonjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
- package/lib/commonjs/components/BottomNav/BottomNav.js.map +1 -1
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +9 -7
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js.map +1 -1
- package/lib/commonjs/components/Card/Card.js.map +1 -1
- package/lib/commonjs/components/CardFeedback/CardFeedback.js +14 -4
- package/lib/commonjs/components/CardFeedback/CardFeedback.js.map +1 -1
- package/lib/commonjs/components/ChipGroup/ChipGroup.js.map +1 -1
- package/lib/commonjs/components/ChipSelect/ChipSelect.js +16 -11
- package/lib/commonjs/components/ChipSelect/ChipSelect.js.map +1 -1
- package/lib/commonjs/components/CtaCard/CtaCard.js +9 -4
- package/lib/commonjs/components/CtaCard/CtaCard.js.map +1 -1
- package/lib/commonjs/components/CtaCard/index.js.map +1 -1
- package/lib/commonjs/components/EmptyState/EmptyState.js +4 -0
- package/lib/commonjs/components/EmptyState/EmptyState.js.map +1 -1
- package/lib/commonjs/components/IconButton/IconButton.js +16 -13
- package/lib/commonjs/components/IconButton/IconButton.js.map +1 -1
- package/lib/commonjs/components/IconCapsule/IconCapsule.js +21 -22
- package/lib/commonjs/components/IconCapsule/IconCapsule.js.map +1 -1
- package/lib/commonjs/components/MediaCard/MediaCard.js.map +1 -1
- package/lib/commonjs/components/NavArrow/NavArrow.js +9 -18
- package/lib/commonjs/components/NavArrow/NavArrow.js.map +1 -1
- package/lib/commonjs/components/RechargeCard/RechargeCard.js.map +1 -1
- package/lib/commonjs/components/SupportText/SupportText.js.map +1 -1
- package/lib/commonjs/components/SupportText/SupportTextIcon.js.map +1 -1
- package/lib/commonjs/components/SupportText/index.js.map +1 -1
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +10 -8
- package/lib/commonjs/components/UpiHandle/UpiHandle.js.map +1 -1
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/design-tokens/JFSThemeProvider.js.map +1 -1
- package/lib/commonjs/design-tokens/figma-variables-resolver.js +9 -3
- package/lib/commonjs/design-tokens/figma-variables-resolver.js.map +1 -1
- package/lib/commonjs/icons/Icon.js.map +1 -1
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/react-utils.js.map +1 -1
- package/lib/module/Containers.js.map +1 -1
- package/lib/module/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/lib/module/components/BottomNav/BottomNav.js +2 -2
- package/lib/module/components/BottomNavItem/BottomNavItem.js +10 -7
- package/lib/module/components/BottomNavItem/BottomNavItem.js.map +1 -1
- package/lib/module/components/Card/Card.js.map +1 -1
- package/lib/module/components/CardFeedback/CardFeedback.js +13 -4
- package/lib/module/components/CardFeedback/CardFeedback.js.map +1 -1
- package/lib/module/components/ChipGroup/ChipGroup.js.map +1 -1
- package/lib/module/components/ChipSelect/ChipSelect.js +15 -10
- package/lib/module/components/ChipSelect/ChipSelect.js.map +1 -1
- package/lib/module/components/CtaCard/CtaCard.js +8 -4
- package/lib/module/components/CtaCard/CtaCard.js.map +1 -1
- package/lib/module/components/EmptyState/EmptyState.js +4 -0
- package/lib/module/components/EmptyState/EmptyState.js.map +1 -1
- package/lib/module/components/IconButton/IconButton.js +16 -12
- package/lib/module/components/IconButton/IconButton.js.map +1 -1
- package/lib/module/components/IconCapsule/IconCapsule.js +20 -21
- package/lib/module/components/IconCapsule/IconCapsule.js.map +1 -1
- package/lib/module/components/MediaCard/MediaCard.js.map +1 -1
- package/lib/module/components/NavArrow/NavArrow.js +8 -17
- package/lib/module/components/NavArrow/NavArrow.js.map +1 -1
- package/lib/module/components/RechargeCard/RechargeCard.js.map +1 -1
- package/lib/module/components/SupportText/SupportText.js.map +1 -1
- package/lib/module/components/SupportText/SupportTextIcon.js.map +1 -1
- package/lib/module/components/UpiHandle/UpiHandle.js +10 -7
- package/lib/module/components/UpiHandle/UpiHandle.js.map +1 -1
- package/lib/module/design-tokens/figma-variables-resolver.js.map +1 -1
- package/lib/module/icons/Icon.js.map +1 -1
- package/lib/module/icons/registry.js +1 -1
- package/lib/typescript/Containers.d.ts.map +1 -1
- package/lib/typescript/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/lib/typescript/components/BottomNav/BottomNav.d.ts +2 -2
- package/lib/typescript/components/BottomNav/BottomNav.d.ts.map +1 -1
- package/lib/typescript/components/BottomNavItem/BottomNavItem.d.ts +8 -2
- package/lib/typescript/components/BottomNavItem/BottomNavItem.d.ts.map +1 -1
- package/lib/typescript/components/Card/Card.d.ts.map +1 -1
- package/lib/typescript/components/CardFeedback/CardFeedback.d.ts +3 -2
- package/lib/typescript/components/CardFeedback/CardFeedback.d.ts.map +1 -1
- package/lib/typescript/components/ChipGroup/ChipGroup.d.ts.map +1 -1
- package/lib/typescript/components/ChipSelect/ChipSelect.d.ts +12 -5
- package/lib/typescript/components/ChipSelect/ChipSelect.d.ts.map +1 -1
- package/lib/typescript/components/CtaCard/CtaCard.d.ts +6 -1
- package/lib/typescript/components/CtaCard/CtaCard.d.ts.map +1 -1
- package/lib/typescript/components/CtaCard/index.d.ts.map +1 -1
- package/lib/typescript/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/lib/typescript/components/IconButton/IconButton.d.ts +12 -6
- package/lib/typescript/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/components/IconCapsule/IconCapsule.d.ts +10 -11
- package/lib/typescript/components/IconCapsule/IconCapsule.d.ts.map +1 -1
- package/lib/typescript/components/MediaCard/MediaCard.d.ts.map +1 -1
- package/lib/typescript/components/NavArrow/NavArrow.d.ts +6 -1
- package/lib/typescript/components/NavArrow/NavArrow.d.ts.map +1 -1
- package/lib/typescript/components/RechargeCard/RechargeCard.d.ts.map +1 -1
- package/lib/typescript/components/SupportText/SupportText.d.ts.map +1 -1
- package/lib/typescript/components/SupportText/SupportTextIcon.d.ts.map +1 -1
- package/lib/typescript/components/SupportText/index.d.ts.map +1 -1
- package/lib/typescript/components/UpiHandle/UpiHandle.d.ts +11 -3
- package/lib/typescript/components/UpiHandle/UpiHandle.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/design-tokens/JFSThemeProvider.d.ts.map +1 -1
- package/lib/typescript/design-tokens/figma-variables-resolver.d.ts.map +1 -1
- package/lib/typescript/design-tokens/index.d.ts.map +1 -1
- package/lib/typescript/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/icons/index.d.ts.map +1 -1
- package/lib/typescript/icons/registry.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/react-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Containers.tsx +4 -4
- package/src/components/AvatarGroup/AvatarGroup.tsx +41 -41
- package/src/components/BottomNav/BottomNav.tsx +14 -14
- package/src/components/BottomNavItem/BottomNavItem.tsx +20 -11
- package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
- package/src/components/Card/Card.tsx +42 -42
- package/src/components/CardFeedback/CardFeedback.tsx +71 -64
- package/src/components/ChipGroup/ChipGroup.tsx +15 -15
- package/src/components/ChipSelect/ChipSelect.tsx +51 -31
- package/src/components/CtaCard/CtaCard.tsx +33 -24
- package/src/components/CtaCard/index.ts +1 -1
- package/src/components/EmptyState/EmptyState.tsx +2 -1
- package/src/components/IconButton/IconButton.tsx +30 -21
- package/src/components/IconCapsule/IconCapsule.tsx +22 -24
- package/src/components/InputSearch/InputSearch.tsx +1 -1
- package/src/components/MediaCard/MediaCard.tsx +52 -52
- package/src/components/NavArrow/NavArrow.tsx +15 -17
- package/src/components/RechargeCard/RechargeCard.tsx +39 -39
- package/src/components/SupportText/SupportText.tsx +20 -20
- package/src/components/SupportText/SupportTextIcon.tsx +10 -10
- package/src/components/SupportText/index.ts +2 -2
- package/src/components/UpiHandle/UpiHandle.tsx +23 -13
- package/src/components/index.ts +49 -49
- package/src/design-tokens/JFSThemeProvider.tsx +12 -12
- package/src/design-tokens/figma-variables-resolver.js +117 -117
- package/src/design-tokens/figma-variables-resolver.ts +117 -117
- package/src/design-tokens/index.ts +2 -2
- package/src/icons/Icon.tsx +22 -22
- package/src/icons/index.ts +3 -3
- package/src/icons/registry.ts +1 -1
- package/src/index.ts +4 -4
- package/src/utils/react-utils.ts +8 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { View, Text, type StyleProp, type ViewStyle, type TextStyle } from 'react-native'
|
|
3
|
-
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
-
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
5
|
-
import SupportTextIcon, { type SupportTextStatus } from './SupportTextIcon'
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { View, Text, type StyleProp, type ViewStyle, type TextStyle } from 'react-native'
|
|
3
|
+
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
+
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
5
|
+
import SupportTextIcon, { type SupportTextStatus } from './SupportTextIcon'
|
|
6
6
|
|
|
7
7
|
export type SupportTextProps = {
|
|
8
8
|
/**
|
|
@@ -42,29 +42,29 @@ function SupportText({
|
|
|
42
42
|
modes: propModes = {},
|
|
43
43
|
style,
|
|
44
44
|
}: SupportTextProps) {
|
|
45
|
-
const { modes: globalModes } = useTokens()
|
|
45
|
+
const { modes: globalModes } = useTokens()
|
|
46
46
|
|
|
47
47
|
// Merge modes. We might want to inject the status mode here if we knew the collection name.
|
|
48
48
|
// For now, we rely on the parent passing the correct mode or the status prop driving logic outside tokens if needed (but tokens are preferred).
|
|
49
49
|
// Strategy: We pass 'modes' as is. If the user wants "Success" styling (green), they should likely pass modes={{ 'SupportText': 'Success' }} AND status="Success".
|
|
50
50
|
// However, for convenience, we could eventually map status to modes if we determine the key.
|
|
51
|
-
const modes = { ...globalModes, ...propModes }
|
|
51
|
+
const modes = { ...globalModes, ...propModes }
|
|
52
52
|
|
|
53
53
|
// --- Token Resolution ---
|
|
54
|
-
const gap = parseInt(getVariableByName('supportText/gap', modes), 10) || 4
|
|
54
|
+
const gap = parseInt(getVariableByName('supportText/gap', modes), 10) || 4
|
|
55
55
|
|
|
56
|
-
const textColor = getVariableByName('supportText/foreground', modes) || '#0c0d10'
|
|
57
|
-
const fontFamily = getVariableByName('supportText/fontFamily', modes) || 'JioType Var'
|
|
58
|
-
const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10) || 12
|
|
59
|
-
const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10) || 16
|
|
60
|
-
const fontWeight = getVariableByName('supportText/fontWeight', modes) || '500'
|
|
56
|
+
const textColor = getVariableByName('supportText/foreground', modes) || '#0c0d10'
|
|
57
|
+
const fontFamily = getVariableByName('supportText/fontFamily', modes) || 'JioType Var'
|
|
58
|
+
const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10) || 12
|
|
59
|
+
const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10) || 16
|
|
60
|
+
const fontWeight = getVariableByName('supportText/fontWeight', modes) || '500'
|
|
61
61
|
|
|
62
62
|
// --- Styles ---
|
|
63
63
|
const containerStyle: ViewStyle = {
|
|
64
64
|
flexDirection: 'row',
|
|
65
65
|
alignItems: 'center',
|
|
66
66
|
gap: gap,
|
|
67
|
-
}
|
|
67
|
+
}
|
|
68
68
|
|
|
69
69
|
const textStyle: TextStyle = {
|
|
70
70
|
color: textColor,
|
|
@@ -73,16 +73,16 @@ function SupportText({
|
|
|
73
73
|
lineHeight,
|
|
74
74
|
fontWeight: fontWeight as any,
|
|
75
75
|
flexShrink: 1, // Ensure text wraps if needed
|
|
76
|
-
}
|
|
76
|
+
}
|
|
77
77
|
|
|
78
78
|
const renderSlot = (slot: React.ReactNode) => {
|
|
79
79
|
if (React.isValidElement(slot)) {
|
|
80
80
|
return React.cloneElement(slot as React.ReactElement<any>, {
|
|
81
81
|
modes: { ...modes, ...(slot as any).props.modes },
|
|
82
|
-
})
|
|
82
|
+
})
|
|
83
83
|
}
|
|
84
|
-
return slot
|
|
85
|
-
}
|
|
84
|
+
return slot
|
|
85
|
+
}
|
|
86
86
|
|
|
87
87
|
return (
|
|
88
88
|
<View style={[containerStyle, style]}>
|
|
@@ -98,7 +98,7 @@ function SupportText({
|
|
|
98
98
|
<Text style={textStyle}>{label}</Text>
|
|
99
99
|
)}
|
|
100
100
|
</View>
|
|
101
|
-
)
|
|
101
|
+
)
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
export default SupportText
|
|
104
|
+
export default SupportText
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { View, type ViewStyle } from 'react-native'
|
|
3
|
-
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
-
import Icon from '../../icons/Icon'
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { View, type ViewStyle } from 'react-native'
|
|
3
|
+
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
+
import Icon from '../../icons/Icon'
|
|
5
5
|
|
|
6
6
|
export type SupportTextStatus = 'Neutral' | 'Warning' | 'Error' | 'Success';
|
|
7
7
|
|
|
@@ -16,30 +16,30 @@ const STATUS_ICON_MAP: Record<SupportTextStatus, string> = {
|
|
|
16
16
|
Warning: 'ic_warning', // Using ic_warning for Warning
|
|
17
17
|
Error: 'ic_warning', // Using ic_warning for Error
|
|
18
18
|
Success: 'ic_status_successful',
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
|
|
21
21
|
function SupportTextIcon({
|
|
22
22
|
status = 'Neutral',
|
|
23
23
|
modes = {},
|
|
24
24
|
style,
|
|
25
25
|
}: SupportTextIconProps) {
|
|
26
|
-
const iconName = STATUS_ICON_MAP[status] || 'ic_info'
|
|
26
|
+
const iconName = STATUS_ICON_MAP[status] || 'ic_info'
|
|
27
27
|
|
|
28
28
|
// Resolve icon size
|
|
29
|
-
const size = parseInt(getVariableByName('supportText/icon/size', modes), 10) || 16
|
|
29
|
+
const size = parseInt(getVariableByName('supportText/icon/size', modes), 10) || 16
|
|
30
30
|
|
|
31
31
|
// Resolve icon color
|
|
32
32
|
// Assuming supportText/foreground applies to icon as well, or there might be specific icon color tokens.
|
|
33
33
|
// Using supportText/foreground as default based on common patterns if no specific icon token.
|
|
34
34
|
// If specific tokens exist like 'supportText/icon/color', they should be used.
|
|
35
35
|
// Detailed variables only showed supportText/foreground.
|
|
36
|
-
const color = getVariableByName('supportText/foreground', modes) || '#0c0d10'
|
|
36
|
+
const color = getVariableByName('supportText/foreground', modes) || '#0c0d10'
|
|
37
37
|
|
|
38
38
|
return (
|
|
39
39
|
<View style={style}>
|
|
40
40
|
<Icon name={iconName} size={size} color={color} />
|
|
41
41
|
</View>
|
|
42
|
-
)
|
|
42
|
+
)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export default SupportTextIcon
|
|
45
|
+
export default SupportTextIcon
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as SupportText } from './SupportText'
|
|
2
|
-
export { default as SupportTextIcon } from './SupportTextIcon'
|
|
1
|
+
export { default as SupportText } from './SupportText'
|
|
2
|
+
export { default as SupportTextIcon } from './SupportTextIcon'
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React, { useState } from 'react'
|
|
2
1
|
import { Pressable, View, Text, Image, type ViewStyle, type TextStyle, type ImageStyle, type ImageSourcePropType } from 'react-native'
|
|
2
|
+
import React, { useState, isValidElement, cloneElement } from 'react'
|
|
3
3
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
4
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
5
|
-
import Icon from '../../icons/Icon'
|
|
6
5
|
|
|
7
6
|
// Default static asset from the component folder.
|
|
8
7
|
// Consumers can override the image via the `avatarSource` prop if needed.
|
|
@@ -12,6 +11,13 @@ type UpiHandleProps = {
|
|
|
12
11
|
label?: string;
|
|
13
12
|
modes?: Record<string, any>;
|
|
14
13
|
showIcon?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Icon element to display.
|
|
16
|
+
*/
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Deprecated: Use icon prop instead
|
|
20
|
+
*/
|
|
15
21
|
iconName?: string;
|
|
16
22
|
avatarSource?: ImageSourcePropType;
|
|
17
23
|
accessibilityLabel?: string;
|
|
@@ -36,7 +42,8 @@ type UpiHandleProps = {
|
|
|
36
42
|
* @param {string} [props.label="Label"] - UPI handle text to display.
|
|
37
43
|
* @param {Object} [props.modes={}] - Modes object passed directly to `getVariableByName`.
|
|
38
44
|
* @param {boolean} [props.showIcon=true] - Toggles the trailing icon visibility.
|
|
39
|
-
* @param {
|
|
45
|
+
* @param {React.ReactNode} [props.icon] - Icon element to display.
|
|
46
|
+
* @param {string} [props.iconName] - DEPRECATED: Icon name from the actions set.
|
|
40
47
|
* @param {ImageSourcePropType} [props.avatarSource] - Optional custom image source for the avatar.
|
|
41
48
|
* @param {string} [props.accessibilityLabel] - Accessibility label for screen readers. If not provided, uses label
|
|
42
49
|
* @param {string} [props.accessibilityHint] - Additional accessibility hint for screen readers
|
|
@@ -45,7 +52,8 @@ function UpiHandle({
|
|
|
45
52
|
label = 'Label',
|
|
46
53
|
modes: propModes = {},
|
|
47
54
|
showIcon = true,
|
|
48
|
-
|
|
55
|
+
icon,
|
|
56
|
+
iconName,
|
|
49
57
|
avatarSource,
|
|
50
58
|
onPress,
|
|
51
59
|
disabled,
|
|
@@ -178,15 +186,17 @@ function UpiHandle({
|
|
|
178
186
|
>
|
|
179
187
|
{label}
|
|
180
188
|
</Text>
|
|
181
|
-
{showIcon && (
|
|
182
|
-
<
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
{showIcon && (icon || iconName) && (
|
|
190
|
+
isValidElement(icon) ? cloneElement(icon as React.ReactElement<any>, {
|
|
191
|
+
size: iconSize,
|
|
192
|
+
width: iconSize,
|
|
193
|
+
height: iconSize,
|
|
194
|
+
color: iconColor,
|
|
195
|
+
fill: iconColor,
|
|
196
|
+
style: iconPlaceholderStyle,
|
|
197
|
+
accessibilityElementsHidden: true,
|
|
198
|
+
importantForAccessibility: "no"
|
|
199
|
+
}) : null
|
|
190
200
|
)}
|
|
191
201
|
</Wrapper>
|
|
192
202
|
)
|
package/src/components/index.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
export { default as ActionFooter, type ActionFooterProps } from './ActionFooter/ActionFooter'
|
|
2
|
-
export { default as AppBar } from './AppBar/AppBar'
|
|
3
|
-
export { default as Avatar, type AvatarProps } from './Avatar/Avatar'
|
|
4
|
-
export { default as AvatarGroup } from './AvatarGroup/AvatarGroup'
|
|
5
|
-
export { default as Badge } from './Badge/Badge'
|
|
6
|
-
export { default as BottomNav } from './BottomNav/BottomNav'
|
|
7
|
-
export { default as BottomNavItem } from './BottomNavItem/BottomNavItem'
|
|
8
|
-
export { default as Button, type ButtonProps } from './Button/Button'
|
|
9
|
-
export { default as Card } from './Card/Card'
|
|
10
|
-
export { default as CardFeedback } from './CardFeedback/CardFeedback'
|
|
11
|
-
export { default as Disclaimer } from './Disclaimer/Disclaimer'
|
|
12
|
-
export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider'
|
|
13
|
-
export { default as Drawer } from './Drawer/Drawer'
|
|
14
|
-
export { default as CtaCard } from './CtaCard/CtaCard'
|
|
15
|
-
export { default as FilterBar } from './FilterBar/FilterBar'
|
|
16
|
-
export { default as HStack, type HStackProps } from './HStack/HStack'
|
|
17
|
-
export { default as IconButton } from './IconButton/IconButton'
|
|
18
|
-
export { default as IconCapsule } from './IconCapsule/IconCapsule'
|
|
19
|
-
export { default as LazyList } from './LazyList/LazyList'
|
|
20
|
-
export { default as ListGroup } from './ListGroup/ListGroup'
|
|
21
|
-
export { default as ListItem } from './ListItem/ListItem'
|
|
22
|
-
export { default as MediaCard } from './MediaCard/MediaCard'
|
|
23
|
-
export { default as MerchantProfile, type MerchantProfileProps } from './MerchantProfile/MerchantProfile'
|
|
24
|
-
export { default as MoneyValue } from './MoneyValue/MoneyValue'
|
|
25
|
-
export { default as NavArrow } from './NavArrow/NavArrow'
|
|
26
|
-
export { default as PageTitle } from './PageTitle/PageTitle'
|
|
27
|
-
export { default as Screen, type ScreenProps } from './Screen/Screen'
|
|
28
|
-
export { default as Section } from './Section/Section'
|
|
29
|
-
export { default as Stepper } from './Stepper/Stepper'
|
|
30
|
-
export { Step } from './Stepper/Step'
|
|
31
|
-
export { StepLabel } from './Stepper/StepLabel'
|
|
32
|
-
export { default as TextInput } from './TextInput/TextInput'
|
|
33
|
-
export { default as ThreadHero, type ThreadHeroProps } from './ThreadHero/ThreadHero'
|
|
34
|
-
export { Tooltip } from './Tooltip/Tooltip'
|
|
1
|
+
export { default as ActionFooter, type ActionFooterProps } from './ActionFooter/ActionFooter'
|
|
2
|
+
export { default as AppBar } from './AppBar/AppBar'
|
|
3
|
+
export { default as Avatar, type AvatarProps } from './Avatar/Avatar'
|
|
4
|
+
export { default as AvatarGroup } from './AvatarGroup/AvatarGroup'
|
|
5
|
+
export { default as Badge } from './Badge/Badge'
|
|
6
|
+
export { default as BottomNav } from './BottomNav/BottomNav'
|
|
7
|
+
export { default as BottomNavItem } from './BottomNavItem/BottomNavItem'
|
|
8
|
+
export { default as Button, type ButtonProps } from './Button/Button'
|
|
9
|
+
export { default as Card } from './Card/Card'
|
|
10
|
+
export { default as CardFeedback } from './CardFeedback/CardFeedback'
|
|
11
|
+
export { default as Disclaimer } from './Disclaimer/Disclaimer'
|
|
12
|
+
export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider'
|
|
13
|
+
export { default as Drawer } from './Drawer/Drawer'
|
|
14
|
+
export { default as CtaCard } from './CtaCard/CtaCard'
|
|
15
|
+
export { default as FilterBar } from './FilterBar/FilterBar'
|
|
16
|
+
export { default as HStack, type HStackProps } from './HStack/HStack'
|
|
17
|
+
export { default as IconButton } from './IconButton/IconButton'
|
|
18
|
+
export { default as IconCapsule } from './IconCapsule/IconCapsule'
|
|
19
|
+
export { default as LazyList } from './LazyList/LazyList'
|
|
20
|
+
export { default as ListGroup } from './ListGroup/ListGroup'
|
|
21
|
+
export { default as ListItem } from './ListItem/ListItem'
|
|
22
|
+
export { default as MediaCard } from './MediaCard/MediaCard'
|
|
23
|
+
export { default as MerchantProfile, type MerchantProfileProps } from './MerchantProfile/MerchantProfile'
|
|
24
|
+
export { default as MoneyValue } from './MoneyValue/MoneyValue'
|
|
25
|
+
export { default as NavArrow } from './NavArrow/NavArrow'
|
|
26
|
+
export { default as PageTitle } from './PageTitle/PageTitle'
|
|
27
|
+
export { default as Screen, type ScreenProps } from './Screen/Screen'
|
|
28
|
+
export { default as Section } from './Section/Section'
|
|
29
|
+
export { default as Stepper } from './Stepper/Stepper'
|
|
30
|
+
export { Step } from './Stepper/Step'
|
|
31
|
+
export { StepLabel } from './Stepper/StepLabel'
|
|
32
|
+
export { default as TextInput } from './TextInput/TextInput'
|
|
33
|
+
export { default as ThreadHero, type ThreadHeroProps } from './ThreadHero/ThreadHero'
|
|
34
|
+
export { Tooltip } from './Tooltip/Tooltip'
|
|
35
35
|
|
|
36
|
-
export { default as TransactionDetails } from './TransactionDetails/TransactionDetails'
|
|
37
|
-
export { default as TransactionStatus } from './TransactionStatus/TransactionStatus'
|
|
38
|
-
export { default as UpiHandle } from './UpiHandle/UpiHandle'
|
|
39
|
-
export { default as VStack, type VStackProps } from './VStack/VStack'
|
|
40
|
-
export { default as ChipGroup, type ChipGroupProps } from './ChipGroup/ChipGroup'
|
|
41
|
-
export { default as EmptyState, type EmptyStateProps } from './EmptyState/EmptyState'
|
|
42
|
-
export { default as Accordion, type AccordionProps } from './Accordion/Accordion'
|
|
43
|
-
export { default as ActionTile, type ActionTileProps } from './ActionTile/ActionTile'
|
|
44
|
-
export { default as Balance, type BalanceProps } from './Balance/Balance'
|
|
45
|
-
export { default as ButtonGroup, type ButtonGroupProps } from './ButtonGroup/ButtonGroup'
|
|
46
|
-
export { default as ChipSelect, type ChipSelectProps } from './ChipSelect/ChipSelect'
|
|
47
|
-
export { default as InputSearch, type InputSearchProps } from './InputSearch/InputSearch'
|
|
48
|
-
export { default as SupportText, type SupportTextProps } from './SupportText/SupportText'
|
|
49
|
-
export { default as SupportTextIcon, type SupportTextIconProps } from './SupportText/SupportTextIcon'
|
|
50
|
-
export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton'
|
|
36
|
+
export { default as TransactionDetails } from './TransactionDetails/TransactionDetails'
|
|
37
|
+
export { default as TransactionStatus } from './TransactionStatus/TransactionStatus'
|
|
38
|
+
export { default as UpiHandle } from './UpiHandle/UpiHandle'
|
|
39
|
+
export { default as VStack, type VStackProps } from './VStack/VStack'
|
|
40
|
+
export { default as ChipGroup, type ChipGroupProps } from './ChipGroup/ChipGroup'
|
|
41
|
+
export { default as EmptyState, type EmptyStateProps } from './EmptyState/EmptyState'
|
|
42
|
+
export { default as Accordion, type AccordionProps } from './Accordion/Accordion'
|
|
43
|
+
export { default as ActionTile, type ActionTileProps } from './ActionTile/ActionTile'
|
|
44
|
+
export { default as Balance, type BalanceProps } from './Balance/Balance'
|
|
45
|
+
export { default as ButtonGroup, type ButtonGroupProps } from './ButtonGroup/ButtonGroup'
|
|
46
|
+
export { default as ChipSelect, type ChipSelectProps } from './ChipSelect/ChipSelect'
|
|
47
|
+
export { default as InputSearch, type InputSearchProps } from './InputSearch/InputSearch'
|
|
48
|
+
export { default as SupportText, type SupportTextProps } from './SupportText/SupportText'
|
|
49
|
+
export { default as SupportTextIcon, type SupportTextIconProps } from './SupportText/SupportTextIcon'
|
|
50
|
+
export { default as RadioButton, type RadioButtonProps } from './RadioButton/RadioButton'
|
|
51
51
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
import React, { createContext, useContext, ReactNode, useMemo } from 'react'
|
|
3
|
-
import { getVariableByName } from './figma-variables-resolver'
|
|
2
|
+
import React, { createContext, useContext, ReactNode, useMemo } from 'react'
|
|
3
|
+
import { getVariableByName } from './figma-variables-resolver'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Shape of the TokenContext
|
|
@@ -17,7 +17,7 @@ interface TokenContextType {
|
|
|
17
17
|
getVariable: (name: string) => any;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
const TokenContext = createContext<TokenContextType | undefined>(undefined)
|
|
20
|
+
const TokenContext = createContext<TokenContextType | undefined>(undefined)
|
|
21
21
|
|
|
22
22
|
interface JFSThemeProviderProps {
|
|
23
23
|
/**
|
|
@@ -43,20 +43,20 @@ export const JFSThemeProvider: React.FC<JFSThemeProviderProps> = ({
|
|
|
43
43
|
}) => {
|
|
44
44
|
const value = useMemo(() => {
|
|
45
45
|
// We bind the current modes to getVariableByName so consumers don't have to pass it
|
|
46
|
-
const getVariable = (name: string) => getVariableByName(name, modes)
|
|
46
|
+
const getVariable = (name: string) => getVariableByName(name, modes)
|
|
47
47
|
|
|
48
48
|
return {
|
|
49
49
|
modes,
|
|
50
50
|
getVariable,
|
|
51
|
-
}
|
|
52
|
-
}, [modes])
|
|
51
|
+
}
|
|
52
|
+
}, [modes])
|
|
53
53
|
|
|
54
54
|
return (
|
|
55
55
|
<TokenContext.Provider value={value}>
|
|
56
56
|
{children}
|
|
57
57
|
</TokenContext.Provider>
|
|
58
|
-
)
|
|
59
|
-
}
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Hook to access the current design token context.
|
|
@@ -67,13 +67,13 @@ export const JFSThemeProvider: React.FC<JFSThemeProviderProps> = ({
|
|
|
67
67
|
* }
|
|
68
68
|
*/
|
|
69
69
|
export const useTokens = (): TokenContextType => {
|
|
70
|
-
const context = useContext(TokenContext)
|
|
70
|
+
const context = useContext(TokenContext)
|
|
71
71
|
if (!context) {
|
|
72
72
|
// If used outside provider, fall back to default behavior (empty modes)
|
|
73
73
|
return {
|
|
74
74
|
modes: {},
|
|
75
75
|
getVariable: (name: string) => getVariableByName(name, {}),
|
|
76
|
-
}
|
|
76
|
+
}
|
|
77
77
|
}
|
|
78
|
-
return context
|
|
79
|
-
}
|
|
78
|
+
return context
|
|
79
|
+
}
|