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.
Files changed (140) hide show
  1. package/lib/commonjs/Containers.js.map +1 -1
  2. package/lib/commonjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  3. package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
  4. package/lib/commonjs/components/BottomNav/BottomNav.js.map +1 -1
  5. package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +9 -7
  6. package/lib/commonjs/components/BottomNavItem/BottomNavItem.js.map +1 -1
  7. package/lib/commonjs/components/Card/Card.js.map +1 -1
  8. package/lib/commonjs/components/CardFeedback/CardFeedback.js +14 -4
  9. package/lib/commonjs/components/CardFeedback/CardFeedback.js.map +1 -1
  10. package/lib/commonjs/components/ChipGroup/ChipGroup.js.map +1 -1
  11. package/lib/commonjs/components/ChipSelect/ChipSelect.js +16 -11
  12. package/lib/commonjs/components/ChipSelect/ChipSelect.js.map +1 -1
  13. package/lib/commonjs/components/CtaCard/CtaCard.js +9 -4
  14. package/lib/commonjs/components/CtaCard/CtaCard.js.map +1 -1
  15. package/lib/commonjs/components/CtaCard/index.js.map +1 -1
  16. package/lib/commonjs/components/EmptyState/EmptyState.js +4 -0
  17. package/lib/commonjs/components/EmptyState/EmptyState.js.map +1 -1
  18. package/lib/commonjs/components/IconButton/IconButton.js +16 -13
  19. package/lib/commonjs/components/IconButton/IconButton.js.map +1 -1
  20. package/lib/commonjs/components/IconCapsule/IconCapsule.js +21 -22
  21. package/lib/commonjs/components/IconCapsule/IconCapsule.js.map +1 -1
  22. package/lib/commonjs/components/MediaCard/MediaCard.js.map +1 -1
  23. package/lib/commonjs/components/NavArrow/NavArrow.js +9 -18
  24. package/lib/commonjs/components/NavArrow/NavArrow.js.map +1 -1
  25. package/lib/commonjs/components/RechargeCard/RechargeCard.js.map +1 -1
  26. package/lib/commonjs/components/SupportText/SupportText.js.map +1 -1
  27. package/lib/commonjs/components/SupportText/SupportTextIcon.js.map +1 -1
  28. package/lib/commonjs/components/SupportText/index.js.map +1 -1
  29. package/lib/commonjs/components/UpiHandle/UpiHandle.js +10 -8
  30. package/lib/commonjs/components/UpiHandle/UpiHandle.js.map +1 -1
  31. package/lib/commonjs/components/index.js.map +1 -1
  32. package/lib/commonjs/design-tokens/JFSThemeProvider.js.map +1 -1
  33. package/lib/commonjs/design-tokens/figma-variables-resolver.js +9 -3
  34. package/lib/commonjs/design-tokens/figma-variables-resolver.js.map +1 -1
  35. package/lib/commonjs/icons/Icon.js.map +1 -1
  36. package/lib/commonjs/icons/index.js.map +1 -1
  37. package/lib/commonjs/icons/registry.js +1 -1
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/utils/react-utils.js.map +1 -1
  40. package/lib/module/Containers.js.map +1 -1
  41. package/lib/module/components/AvatarGroup/AvatarGroup.js.map +1 -1
  42. package/lib/module/components/BottomNav/BottomNav.js +2 -2
  43. package/lib/module/components/BottomNavItem/BottomNavItem.js +10 -7
  44. package/lib/module/components/BottomNavItem/BottomNavItem.js.map +1 -1
  45. package/lib/module/components/Card/Card.js.map +1 -1
  46. package/lib/module/components/CardFeedback/CardFeedback.js +13 -4
  47. package/lib/module/components/CardFeedback/CardFeedback.js.map +1 -1
  48. package/lib/module/components/ChipGroup/ChipGroup.js.map +1 -1
  49. package/lib/module/components/ChipSelect/ChipSelect.js +15 -10
  50. package/lib/module/components/ChipSelect/ChipSelect.js.map +1 -1
  51. package/lib/module/components/CtaCard/CtaCard.js +8 -4
  52. package/lib/module/components/CtaCard/CtaCard.js.map +1 -1
  53. package/lib/module/components/EmptyState/EmptyState.js +4 -0
  54. package/lib/module/components/EmptyState/EmptyState.js.map +1 -1
  55. package/lib/module/components/IconButton/IconButton.js +16 -12
  56. package/lib/module/components/IconButton/IconButton.js.map +1 -1
  57. package/lib/module/components/IconCapsule/IconCapsule.js +20 -21
  58. package/lib/module/components/IconCapsule/IconCapsule.js.map +1 -1
  59. package/lib/module/components/MediaCard/MediaCard.js.map +1 -1
  60. package/lib/module/components/NavArrow/NavArrow.js +8 -17
  61. package/lib/module/components/NavArrow/NavArrow.js.map +1 -1
  62. package/lib/module/components/RechargeCard/RechargeCard.js.map +1 -1
  63. package/lib/module/components/SupportText/SupportText.js.map +1 -1
  64. package/lib/module/components/SupportText/SupportTextIcon.js.map +1 -1
  65. package/lib/module/components/UpiHandle/UpiHandle.js +10 -7
  66. package/lib/module/components/UpiHandle/UpiHandle.js.map +1 -1
  67. package/lib/module/design-tokens/figma-variables-resolver.js.map +1 -1
  68. package/lib/module/icons/Icon.js.map +1 -1
  69. package/lib/module/icons/registry.js +1 -1
  70. package/lib/typescript/Containers.d.ts.map +1 -1
  71. package/lib/typescript/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  72. package/lib/typescript/components/BottomNav/BottomNav.d.ts +2 -2
  73. package/lib/typescript/components/BottomNav/BottomNav.d.ts.map +1 -1
  74. package/lib/typescript/components/BottomNavItem/BottomNavItem.d.ts +8 -2
  75. package/lib/typescript/components/BottomNavItem/BottomNavItem.d.ts.map +1 -1
  76. package/lib/typescript/components/Card/Card.d.ts.map +1 -1
  77. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts +3 -2
  78. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts.map +1 -1
  79. package/lib/typescript/components/ChipGroup/ChipGroup.d.ts.map +1 -1
  80. package/lib/typescript/components/ChipSelect/ChipSelect.d.ts +12 -5
  81. package/lib/typescript/components/ChipSelect/ChipSelect.d.ts.map +1 -1
  82. package/lib/typescript/components/CtaCard/CtaCard.d.ts +6 -1
  83. package/lib/typescript/components/CtaCard/CtaCard.d.ts.map +1 -1
  84. package/lib/typescript/components/CtaCard/index.d.ts.map +1 -1
  85. package/lib/typescript/components/EmptyState/EmptyState.d.ts.map +1 -1
  86. package/lib/typescript/components/IconButton/IconButton.d.ts +12 -6
  87. package/lib/typescript/components/IconButton/IconButton.d.ts.map +1 -1
  88. package/lib/typescript/components/IconCapsule/IconCapsule.d.ts +10 -11
  89. package/lib/typescript/components/IconCapsule/IconCapsule.d.ts.map +1 -1
  90. package/lib/typescript/components/MediaCard/MediaCard.d.ts.map +1 -1
  91. package/lib/typescript/components/NavArrow/NavArrow.d.ts +6 -1
  92. package/lib/typescript/components/NavArrow/NavArrow.d.ts.map +1 -1
  93. package/lib/typescript/components/RechargeCard/RechargeCard.d.ts.map +1 -1
  94. package/lib/typescript/components/SupportText/SupportText.d.ts.map +1 -1
  95. package/lib/typescript/components/SupportText/SupportTextIcon.d.ts.map +1 -1
  96. package/lib/typescript/components/SupportText/index.d.ts.map +1 -1
  97. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts +11 -3
  98. package/lib/typescript/components/UpiHandle/UpiHandle.d.ts.map +1 -1
  99. package/lib/typescript/components/index.d.ts.map +1 -1
  100. package/lib/typescript/design-tokens/JFSThemeProvider.d.ts.map +1 -1
  101. package/lib/typescript/design-tokens/figma-variables-resolver.d.ts.map +1 -1
  102. package/lib/typescript/design-tokens/index.d.ts.map +1 -1
  103. package/lib/typescript/icons/Icon.d.ts.map +1 -1
  104. package/lib/typescript/icons/index.d.ts.map +1 -1
  105. package/lib/typescript/icons/registry.d.ts +1 -1
  106. package/lib/typescript/index.d.ts.map +1 -1
  107. package/lib/typescript/utils/react-utils.d.ts.map +1 -1
  108. package/package.json +1 -1
  109. package/src/Containers.tsx +4 -4
  110. package/src/components/AvatarGroup/AvatarGroup.tsx +41 -41
  111. package/src/components/BottomNav/BottomNav.tsx +14 -14
  112. package/src/components/BottomNavItem/BottomNavItem.tsx +20 -11
  113. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  114. package/src/components/Card/Card.tsx +42 -42
  115. package/src/components/CardFeedback/CardFeedback.tsx +71 -64
  116. package/src/components/ChipGroup/ChipGroup.tsx +15 -15
  117. package/src/components/ChipSelect/ChipSelect.tsx +51 -31
  118. package/src/components/CtaCard/CtaCard.tsx +33 -24
  119. package/src/components/CtaCard/index.ts +1 -1
  120. package/src/components/EmptyState/EmptyState.tsx +2 -1
  121. package/src/components/IconButton/IconButton.tsx +30 -21
  122. package/src/components/IconCapsule/IconCapsule.tsx +22 -24
  123. package/src/components/InputSearch/InputSearch.tsx +1 -1
  124. package/src/components/MediaCard/MediaCard.tsx +52 -52
  125. package/src/components/NavArrow/NavArrow.tsx +15 -17
  126. package/src/components/RechargeCard/RechargeCard.tsx +39 -39
  127. package/src/components/SupportText/SupportText.tsx +20 -20
  128. package/src/components/SupportText/SupportTextIcon.tsx +10 -10
  129. package/src/components/SupportText/index.ts +2 -2
  130. package/src/components/UpiHandle/UpiHandle.tsx +23 -13
  131. package/src/components/index.ts +49 -49
  132. package/src/design-tokens/JFSThemeProvider.tsx +12 -12
  133. package/src/design-tokens/figma-variables-resolver.js +117 -117
  134. package/src/design-tokens/figma-variables-resolver.ts +117 -117
  135. package/src/design-tokens/index.ts +2 -2
  136. package/src/icons/Icon.tsx +22 -22
  137. package/src/icons/index.ts +3 -3
  138. package/src/icons/registry.ts +1 -1
  139. package/src/index.ts +4 -4
  140. 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 {string} [props.iconName='ic_scan_qr_code'] - Icon name from the actions set (e.g. 'ic_qr_code', 'ic_scan_qr_code').
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
- iconName = 'ic_scan_qr_code',
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
- <Icon
183
- name={iconName}
184
- size={iconSize}
185
- color={iconColor}
186
- style={iconPlaceholderStyle}
187
- accessibilityElementsHidden={true}
188
- importantForAccessibility="no"
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
  )
@@ -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
+ }