jfs-components 0.0.1 → 0.0.3

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 (101) hide show
  1. package/lib/commonjs/components/ActionFooter/ActionFooter.js +124 -0
  2. package/lib/commonjs/components/ActionFooter/ActionFooter.js.map +1 -0
  3. package/lib/commonjs/components/ActionFooter/ActionFooter.mdx +101 -0
  4. package/lib/commonjs/components/Button/Button.js +1 -1
  5. package/lib/commonjs/components/Button/Button.js.map +1 -1
  6. package/lib/commonjs/components/Button/Button.mdx +2 -2
  7. package/lib/commonjs/components/CardFeedback/CardFeedback.js +47 -11
  8. package/lib/commonjs/components/CardFeedback/CardFeedback.js.map +1 -1
  9. package/lib/commonjs/components/CardFeedback/CardFeedback.mdx +1 -0
  10. package/lib/commonjs/components/Divider/Divider.js +63 -0
  11. package/lib/commonjs/components/Divider/Divider.js.map +1 -0
  12. package/lib/commonjs/components/Divider/Divider.mdx +91 -0
  13. package/lib/commonjs/components/ListItem/ListItem.js +24 -13
  14. package/lib/commonjs/components/ListItem/ListItem.js.map +1 -1
  15. package/lib/commonjs/components/ListItem/ListItem.mdx +46 -5
  16. package/lib/commonjs/components/MerchantProfile/MerchantProfile.js +133 -0
  17. package/lib/commonjs/components/MerchantProfile/MerchantProfile.js.map +1 -0
  18. package/lib/commonjs/components/MerchantProfile/MerchantProfile.mdx +139 -0
  19. package/lib/commonjs/components/MoneyValue/MoneyValue.js +36 -4
  20. package/lib/commonjs/components/MoneyValue/MoneyValue.js.map +1 -1
  21. package/lib/commonjs/components/MoneyValue/MoneyValue.mdx +4 -0
  22. package/lib/commonjs/components/NavArrow/NavArrow.js +90 -0
  23. package/lib/commonjs/components/NavArrow/NavArrow.js.map +1 -0
  24. package/lib/commonjs/components/NavArrow/NavArrow.mdx +123 -0
  25. package/lib/commonjs/components/Section/Section.mdx +4 -4
  26. package/lib/commonjs/components/Stepper/Step.mdx +1 -1
  27. package/lib/commonjs/components/index.js +28 -0
  28. package/lib/commonjs/components/index.js.map +1 -1
  29. package/lib/commonjs/design-tokens/JFS Variables-variables-full.json +18633 -1
  30. package/lib/commonjs/design-tokens/figma-variables-resolver.js.map +1 -2
  31. package/lib/commonjs/icons/registry.js +1 -1
  32. package/lib/module/components/ActionFooter/ActionFooter.js +119 -0
  33. package/lib/module/components/ActionFooter/ActionFooter.js.map +1 -0
  34. package/lib/module/components/ActionFooter/ActionFooter.mdx +101 -0
  35. package/lib/module/components/Button/Button.js +1 -1
  36. package/lib/module/components/Button/Button.js.map +1 -1
  37. package/lib/module/components/Button/Button.mdx +2 -2
  38. package/lib/module/components/CardFeedback/CardFeedback.js +46 -11
  39. package/lib/module/components/CardFeedback/CardFeedback.js.map +1 -1
  40. package/lib/module/components/CardFeedback/CardFeedback.mdx +1 -0
  41. package/lib/module/components/Divider/Divider.js +58 -0
  42. package/lib/module/components/Divider/Divider.js.map +1 -0
  43. package/lib/module/components/Divider/Divider.mdx +91 -0
  44. package/lib/module/components/ListItem/ListItem.js +24 -13
  45. package/lib/module/components/ListItem/ListItem.js.map +1 -1
  46. package/lib/module/components/ListItem/ListItem.mdx +46 -5
  47. package/lib/module/components/MerchantProfile/MerchantProfile.js +128 -0
  48. package/lib/module/components/MerchantProfile/MerchantProfile.js.map +1 -0
  49. package/lib/module/components/MerchantProfile/MerchantProfile.mdx +139 -0
  50. package/lib/module/components/MoneyValue/MoneyValue.js +36 -4
  51. package/lib/module/components/MoneyValue/MoneyValue.js.map +1 -1
  52. package/lib/module/components/MoneyValue/MoneyValue.mdx +4 -0
  53. package/lib/module/components/NavArrow/NavArrow.js +84 -0
  54. package/lib/module/components/NavArrow/NavArrow.js.map +1 -0
  55. package/lib/module/components/NavArrow/NavArrow.mdx +123 -0
  56. package/lib/module/components/Section/Section.mdx +4 -4
  57. package/lib/module/components/Stepper/Step.mdx +1 -1
  58. package/lib/module/components/index.js +4 -0
  59. package/lib/module/components/index.js.map +1 -1
  60. package/lib/module/design-tokens/JFS Variables-variables-full.json +18633 -1
  61. package/lib/module/icons/registry.js +1 -1
  62. package/lib/typescript/components/ActionFooter/ActionFooter.d.ts +58 -0
  63. package/lib/typescript/components/ActionFooter/ActionFooter.d.ts.map +1 -0
  64. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts +4 -3
  65. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts.map +1 -1
  66. package/lib/typescript/components/Divider/Divider.d.ts +50 -0
  67. package/lib/typescript/components/Divider/Divider.d.ts.map +1 -0
  68. package/lib/typescript/components/ListItem/ListItem.d.ts +4 -3
  69. package/lib/typescript/components/ListItem/ListItem.d.ts.map +1 -1
  70. package/lib/typescript/components/MerchantProfile/MerchantProfile.d.ts +68 -0
  71. package/lib/typescript/components/MerchantProfile/MerchantProfile.d.ts.map +1 -0
  72. package/lib/typescript/components/MoneyValue/MoneyValue.d.ts +9 -2
  73. package/lib/typescript/components/MoneyValue/MoneyValue.d.ts.map +1 -1
  74. package/lib/typescript/components/NavArrow/NavArrow.d.ts +35 -0
  75. package/lib/typescript/components/NavArrow/NavArrow.d.ts.map +1 -0
  76. package/lib/typescript/components/index.d.ts +4 -0
  77. package/lib/typescript/components/index.d.ts.map +1 -1
  78. package/lib/typescript/icons/registry.d.ts +1 -1
  79. package/package.json +2 -2
  80. package/src/components/.token-metadata.json +99 -11
  81. package/src/components/ActionFooter/ActionFooter.mdx +101 -0
  82. package/src/components/ActionFooter/ActionFooter.tsx +142 -0
  83. package/src/components/Button/Button.mdx +2 -2
  84. package/src/components/Button/Button.tsx +1 -1
  85. package/src/components/CardFeedback/CardFeedback.mdx +1 -0
  86. package/src/components/CardFeedback/CardFeedback.tsx +37 -12
  87. package/src/components/Divider/Divider.mdx +91 -0
  88. package/src/components/Divider/Divider.tsx +91 -0
  89. package/src/components/ListItem/ListItem.mdx +46 -5
  90. package/src/components/ListItem/ListItem.tsx +22 -11
  91. package/src/components/MerchantProfile/MerchantProfile.mdx +139 -0
  92. package/src/components/MerchantProfile/MerchantProfile.tsx +174 -0
  93. package/src/components/MoneyValue/MoneyValue.mdx +4 -0
  94. package/src/components/MoneyValue/MoneyValue.tsx +39 -3
  95. package/src/components/NavArrow/NavArrow.mdx +123 -0
  96. package/src/components/NavArrow/NavArrow.tsx +108 -0
  97. package/src/components/Section/Section.mdx +4 -4
  98. package/src/components/Stepper/Step.mdx +1 -1
  99. package/src/components/index.ts +4 -0
  100. package/src/design-tokens/JFS Variables-variables-full.json +18633 -1
  101. package/src/icons/registry.ts +1 -1
@@ -4,15 +4,18 @@ import React, { useMemo } from 'react';
4
4
  import { View, Text, Pressable } from 'react-native';
5
5
  import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
6
  import IconCapsule from '../IconCapsule/IconCapsule';
7
- import Button from '../Button/Button';
7
+ import NavArrow from '../NavArrow/NavArrow';
8
8
  import { usePressableWebSupport } from '../../utils/web-platform-utils';
9
9
 
10
10
  /**
11
11
  * Helper function to recursively clone children and pass modes prop to components that accept it.
12
12
  * This ensures that all child components in slots receive the modes prop from the parent.
13
+ *
14
+ * @param forcedModes - Optional modes that will ALWAYS be applied last, overriding any other modes.
15
+ * Useful for slots that need to enforce specific context values.
13
16
  */
14
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
- function cloneChildrenWithModes(children, modes) {
18
+ function cloneChildrenWithModes(children, modes, forcedModes) {
16
19
  const result = React.Children.map(children, child => {
17
20
  if (! /*#__PURE__*/React.isValidElement(child)) {
18
21
  return child;
@@ -24,15 +27,20 @@ function cloneChildrenWithModes(children, modes) {
24
27
 
25
28
  // Clone the child with modes prop if it doesn't already have one
26
29
  // or merge with existing modes if it does
27
- // Merge order: parent modes first, then child's explicit modes override them
30
+ // Merge order: parent modes first, then child's explicit modes override them,
31
+ // then forcedModes (if provided) are applied last and can never be overridden
28
32
  const existingModes = child.props?.modes;
29
- const mergedModes = existingModes ? {
33
+ const mergedModes = forcedModes ? {
34
+ ...modes,
35
+ ...(existingModes || {}),
36
+ ...forcedModes
37
+ } : existingModes ? {
30
38
  ...modes,
31
39
  ...existingModes
32
40
  } : modes;
33
41
 
34
42
  // Recursively process children if they exist
35
- const processedChildren = hasChildren ? cloneChildrenWithModes(React.Children.toArray(childChildren), modes) : undefined;
43
+ const processedChildren = hasChildren ? cloneChildrenWithModes(React.Children.toArray(childChildren), modes, forcedModes) : undefined;
36
44
 
37
45
  // Clone element with modes and processed children
38
46
  return /*#__PURE__*/React.cloneElement(child, {
@@ -65,7 +73,7 @@ function cloneChildrenWithModes(children, modes) {
65
73
  * @param {React.ReactNode} [props.leading] - Optional leading element. Defaults to `IconCapsule`.
66
74
  * @param {React.ReactNode} [props.supportSlot] - Optional custom slot used instead of the default support text block.
67
75
  * @param {React.ReactNode} [props.endSlot] - Optional custom trailing slot (Figma Slot "end").
68
- * @param {boolean} [props.showTrailing=true] - When `true`, renders the default trailing Button in Horizontal layout if `endSlot` is not provided.
76
+ * @param {boolean} [props.navArrow=true] - Whether to show NavArrow on the far right (Horizontal layout only).
69
77
  * @param {Object} [props.modes={}] - Modes object passed to `getVariableByName` for all design tokens.
70
78
  * @param {Function} [props.onPress] - When provided, the entire item becomes pressable (navigation variant).
71
79
  * @param {Object} [props.style] - Optional container style overrides.
@@ -82,7 +90,7 @@ function ListItem({
82
90
  leading,
83
91
  supportSlot,
84
92
  endSlot,
85
- showTrailing = true,
93
+ navArrow = true,
86
94
  modes = {},
87
95
  onPress,
88
96
  style,
@@ -203,12 +211,12 @@ function ListItem({
203
211
  };
204
212
  if (layout === 'Horizontal') {
205
213
  // Process endSlot to pass modes to children
206
- const processedEndSlot = endSlot ? cloneChildrenWithModes(React.Children.toArray(endSlot), modes) : [];
214
+ // Force Context: 'ListItem' - this value can never be overridden by external modes
215
+ const processedEndSlot = endSlot ? cloneChildrenWithModes(React.Children.toArray(endSlot), modes, {
216
+ "Context": 'ListItem'
217
+ }) : [];
207
218
  // Extract single element if array has one element, otherwise use array
208
- const trailingContent = processedEndSlot.length > 0 ? processedEndSlot.length === 1 ? processedEndSlot[0] : processedEndSlot : showTrailing ? /*#__PURE__*/_jsx(Button, {
209
- label: "Button",
210
- modes: modes
211
- }) : null;
219
+ const trailingContent = processedEndSlot.length > 0 ? processedEndSlot.length === 1 ? processedEndSlot[0] : processedEndSlot : null;
212
220
  const innerContent = /*#__PURE__*/_jsxs(View, {
213
221
  style: [innerContentBaseStyle, contentStyle],
214
222
  children: [leadingElement, /*#__PURE__*/_jsxs(View, {
@@ -224,7 +232,10 @@ function ListItem({
224
232
  }), trailingContent ? /*#__PURE__*/_jsx(View, {
225
233
  style: trailingWrapperStyle,
226
234
  children: trailingContent
227
- }) : null]
235
+ }) : null, navArrow && /*#__PURE__*/_jsx(NavArrow, {
236
+ direction: "Forward",
237
+ modes: modes
238
+ })]
228
239
  });
229
240
  if (onPress) {
230
241
  return /*#__PURE__*/_jsx(Pressable, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","View","Text","Pressable","getVariableByName","IconCapsule","Button","usePressableWebSupport","jsx","_jsx","jsxs","_jsxs","cloneChildrenWithModes","children","modes","result","Children","map","child","isValidElement","childChildren","props","hasChildren","undefined","existingModes","mergedModes","processedChildren","toArray","cloneElement","ListItem","layout","title","supportText","showSupportText","leading","supportSlot","endSlot","showTrailing","onPress","style","contentStyle","accessibilityLabel","accessibilityHint","accessibilityState","webAccessibilityProps","rest","gap","paddingTop","paddingBottom","paddingLeft","paddingRight","titleColor","titleFontSize","titleLineHeight","titleFontFamily","titleFontWeightRaw","titleFontWeight","toString","supportColor","supportFontSize","supportLineHeight","supportFontFamily","supportFontWeightRaw","supportFontWeight","baseContainerStyle","sharedLayoutStyle","flexDirection","alignItems","innerContentBaseStyle","flex","verticalContentBaseStyle","titleTextStyle","color","fontSize","lineHeight","fontFamily","fontWeight","supportTextStyle","trailingWrapperStyle","marginLeft","defaultAccessibilityLabel","webPropsHorizontal","restProps","disabled","webPropsVertical","processedLeading","leadingElement","length","renderSupportContent","processedSupportSlot","numberOfLines","processedEndSlot","trailingContent","label","innerContent","minWidth","accessibilityRole","pressed","opacity","verticalContent"],"sourceRoot":"../../../../src","sources":["components/ListItem/ListItem.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","Text","Pressable","getVariableByName","IconCapsule","NavArrow","usePressableWebSupport","jsx","_jsx","jsxs","_jsxs","cloneChildrenWithModes","children","modes","forcedModes","result","Children","map","child","isValidElement","childChildren","props","hasChildren","undefined","existingModes","mergedModes","processedChildren","toArray","cloneElement","ListItem","layout","title","supportText","showSupportText","leading","supportSlot","endSlot","navArrow","onPress","style","contentStyle","accessibilityLabel","accessibilityHint","accessibilityState","webAccessibilityProps","rest","gap","paddingTop","paddingBottom","paddingLeft","paddingRight","titleColor","titleFontSize","titleLineHeight","titleFontFamily","titleFontWeightRaw","titleFontWeight","toString","supportColor","supportFontSize","supportLineHeight","supportFontFamily","supportFontWeightRaw","supportFontWeight","baseContainerStyle","sharedLayoutStyle","flexDirection","alignItems","innerContentBaseStyle","flex","verticalContentBaseStyle","titleTextStyle","color","fontSize","lineHeight","fontFamily","fontWeight","supportTextStyle","trailingWrapperStyle","marginLeft","defaultAccessibilityLabel","webPropsHorizontal","restProps","disabled","webPropsVertical","processedLeading","leadingElement","length","renderSupportContent","processedSupportSlot","numberOfLines","processedEndSlot","trailingContent","innerContent","minWidth","direction","accessibilityRole","pressed","opacity","verticalContent"],"sourceRoot":"../../../../src","sources":["components/ListItem/ListItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,9 @@ import { AccessibilitySection, AnatomySection, UsageConstraintsSection } from '.
7
7
 
8
8
  # ListItem
9
9
 
10
- Helper function to recursively clone children and pass modes prop to components that accept it.
10
+ A token-driven list item component supporting vertical and horizontal layouts, with optional navigation behaviour and slots for leading, support text and trailing content.
11
+
12
+ The horizontal layout includes a **NavArrow** on the far right by default, which can be hidden via the `navArrow` prop.
11
13
 
12
14
  ## Available Collections and Modes
13
15
 
@@ -26,9 +28,47 @@ This component uses the following design token collections. Each collection supp
26
28
  - **Default:** Light
27
29
  ## Usage
28
30
 
29
- <Canvas>
30
- <Story of={ListItemStories.Default} />
31
- </Canvas>
31
+ ### Horizontal Layout with NavArrow
32
+
33
+ <Canvas of={ListItemStories.HorizontalNavigation} />
34
+
35
+ ### Horizontal Layout (NavArrow only, no endSlot)
36
+
37
+ <Canvas of={ListItemStories.HorizontalWithNavArrowOnly} />
38
+
39
+ ### Vertical Layout
40
+
41
+ <Canvas of={ListItemStories.VerticalStatic} />
42
+
43
+ ### Usage Example
44
+
45
+ ```tsx
46
+ import ListItem from './ListItem';
47
+ import Button from '../Button/Button';
48
+
49
+ // Horizontal with NavArrow (default)
50
+ <ListItem
51
+ layout="Horizontal"
52
+ title="Navigate to Details"
53
+ supportText="Tap to view more"
54
+ navArrow={true}
55
+ />
56
+
57
+ // Horizontal without NavArrow
58
+ <ListItem
59
+ layout="Horizontal"
60
+ title="Balance"
61
+ supportText="₹500"
62
+ navArrow={false}
63
+ endSlot={<Button label="Add Money" />}
64
+ />
65
+
66
+ // Vertical layout (NavArrow not applicable)
67
+ <ListItem
68
+ layout="Vertical"
69
+ supportText="Payments"
70
+ />
71
+ ```
32
72
 
33
73
 
34
74
  <AccessibilitySection
@@ -43,7 +83,8 @@ This component uses the following design token collections. Each collection supp
43
83
  <ul>
44
84
  <li><strong>Leading slot</strong> — optional icon/avatar.</li>
45
85
  <li><strong>Title & support</strong> — primary and secondary text.</li>
46
- <li><strong>Trailing slot</strong> — optional meta info or action affordance.</li>
86
+ <li><strong>Trailing slot (endSlot)</strong> — optional meta info or action affordance. <strong>Note:</strong> This slot strictly enforces <code>Context: 'ListItem'</code> for its children, overriding any conflicting context passed via the <code>modes</code> prop.</li>
87
+ <li><strong>NavArrow</strong> — navigation chevron on the far right (Horizontal layout only). Shown by default, can be hidden via <code>navArrow=&#123;false&#125;</code>.</li>
47
88
  </ul>
48
89
  </AnatomySection>
49
90
 
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, Text } from 'react-native';
5
+ import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
6
+ import Avatar from '../Avatar/Avatar';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ /**
9
+ * MerchantProfile component that displays a merchant's identity.
10
+ *
11
+ * This component shows a centered profile layout with:
12
+ * - A circular avatar image
13
+ * - A title (merchant name)
14
+ * - A subtitle (typically UPI ID)
15
+ *
16
+ * All styling values are resolved from Figma design tokens using the provided modes.
17
+ *
18
+ * @component
19
+ * @param {Object} props - Component props
20
+ * @param {string} [props.title="Uber India Systems Private Limited"] - The merchant's display name
21
+ * @param {string} [props.subtitle="UPI ID: uberindia@ybl"] - Subtitle text, typically the UPI ID
22
+ * @param {Object} [props.modes={}] - Mode configuration for design tokens
23
+ * @param {Object} [props.style] - Optional style overrides for the container
24
+ * @param {Object} [props.avatarProps] - Props to pass to the Avatar component
25
+ * @param {string} [props.accessibilityLabel] - Accessibility label for the region
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * // Basic usage
30
+ * <MerchantProfile
31
+ * title="Uber India Systems Private Limited"
32
+ * subtitle="UPI ID: uberindia@ybl"
33
+ * modes={{}}
34
+ * />
35
+ *
36
+ * // With custom avatar
37
+ * <MerchantProfile
38
+ * title="Amazon Pay"
39
+ * subtitle="UPI ID: amazonpay@apl"
40
+ * avatarProps={{ imageSource: 'https://example.com/logo.png' }}
41
+ * />
42
+ * ```
43
+ */
44
+ function MerchantProfile({
45
+ title = 'Uber India Systems Private Limited',
46
+ subtitle = 'UPI ID: uberindia@ybl',
47
+ modes = {},
48
+ style,
49
+ avatarProps,
50
+ accessibilityLabel
51
+ }) {
52
+ // Resolve design tokens with fallback values matching Figma design
53
+ const gap = getVariableByName('merchantProfile/gap', modes) ?? 12;
54
+ const paddingHorizontal = getVariableByName('merchantProfile/padding/horizontal', modes) ?? 16;
55
+
56
+ // Title typography tokens
57
+ const titleColor = getVariableByName('merchantProfile/title/color', modes) ?? '#0c0d10';
58
+ const titleFontSize = getVariableByName('merchantProfile/title/fontSize', modes) ?? 16;
59
+ const titleLineHeight = getVariableByName('merchantProfile/title/lineHeight', modes) ?? 18;
60
+ const titleFontFamily = getVariableByName('merchantProfile/title/fontFamily', modes) ?? 'System';
61
+ const titleFontWeightRaw = getVariableByName('merchantProfile/title/fontWeight', modes) ?? 700;
62
+ const titleFontWeight = typeof titleFontWeightRaw === 'number' ? titleFontWeightRaw.toString() : titleFontWeightRaw;
63
+
64
+ // Subtitle typography tokens
65
+ const subtitleColor = getVariableByName('merchantProfile/subtitle/color', modes) ?? '#191b1e';
66
+ const subtitleFontSize = getVariableByName('merchantProfile/subtitle/fontSize', modes) ?? 12;
67
+ const subtitleLineHeight = getVariableByName('merchantProfile/subtitle/lineHeight', modes) ?? 16;
68
+ const subtitleFontFamily = getVariableByName('merchantProfile/subtitle/fontFamily', modes) ?? 'System';
69
+ const subtitleFontWeightRaw = getVariableByName('merchantProfile/subtitle/fontWeight', modes) ?? 500;
70
+ const subtitleFontWeight = typeof subtitleFontWeightRaw === 'number' ? subtitleFontWeightRaw.toString() : subtitleFontWeightRaw;
71
+
72
+ // Container style
73
+ const containerStyle = {
74
+ alignItems: 'center',
75
+ paddingHorizontal,
76
+ gap
77
+ };
78
+
79
+ // Title text style
80
+ const titleTextStyle = {
81
+ color: titleColor,
82
+ fontSize: titleFontSize,
83
+ lineHeight: titleLineHeight,
84
+ fontFamily: titleFontFamily,
85
+ fontWeight: titleFontWeight,
86
+ textAlign: 'center'
87
+ };
88
+
89
+ // Subtitle text style
90
+ const subtitleTextStyle = {
91
+ color: subtitleColor,
92
+ fontSize: subtitleFontSize,
93
+ lineHeight: subtitleLineHeight,
94
+ fontFamily: subtitleFontFamily,
95
+ fontWeight: subtitleFontWeight,
96
+ textAlign: 'center'
97
+ };
98
+
99
+ // Default accessibility label
100
+ const defaultAccessibilityLabel = accessibilityLabel || `Merchant profile for ${title}${subtitle ? `, ${subtitle}` : ''}`;
101
+
102
+ // Avatar modes - use provided modes to ensure consistent theming
103
+ // Override to use a larger avatar size for the merchant profile
104
+ const avatarModes = {
105
+ ...modes,
106
+ ...(avatarProps?.modes || {})
107
+ };
108
+ return /*#__PURE__*/_jsxs(View, {
109
+ style: [containerStyle, style],
110
+ accessibilityRole: "header",
111
+ accessibilityLabel: defaultAccessibilityLabel,
112
+ children: [/*#__PURE__*/_jsx(Avatar, {
113
+ style: "Image",
114
+ modes: avatarModes,
115
+ ...avatarProps
116
+ }), /*#__PURE__*/_jsx(Text, {
117
+ style: titleTextStyle,
118
+ accessibilityRole: "text",
119
+ children: title
120
+ }), /*#__PURE__*/_jsx(Text, {
121
+ style: subtitleTextStyle,
122
+ accessibilityRole: "text",
123
+ children: subtitle
124
+ })]
125
+ });
126
+ }
127
+ export default MerchantProfile;
128
+ //# sourceMappingURL=MerchantProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","getVariableByName","Avatar","jsx","_jsx","jsxs","_jsxs","MerchantProfile","title","subtitle","modes","style","avatarProps","accessibilityLabel","gap","paddingHorizontal","titleColor","titleFontSize","titleLineHeight","titleFontFamily","titleFontWeightRaw","titleFontWeight","toString","subtitleColor","subtitleFontSize","subtitleLineHeight","subtitleFontFamily","subtitleFontWeightRaw","subtitleFontWeight","containerStyle","alignItems","titleTextStyle","color","fontSize","lineHeight","fontFamily","fontWeight","textAlign","subtitleTextStyle","defaultAccessibilityLabel","avatarModes","accessibilityRole","children"],"sourceRoot":"../../../../src","sources":["components/MerchantProfile/MerchantProfile.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ import { Meta, Story, Canvas, PureArgsTable as ArgsTable } from '@storybook/addon-docs/blocks';
2
+ import * as MerchantProfileStories from './MerchantProfile.stories';
3
+ import MerchantProfile from './MerchantProfile';
4
+ import { AccessibilitySection, AnatomySection, UsageConstraintsSection } from '../docs/DocSections';
5
+
6
+ <Meta of={MerchantProfileStories} />
7
+
8
+ # MerchantProfile
9
+
10
+ Displays a merchant's identity in a centered vertical layout with an avatar, title, and subtitle. Commonly used on payment confirmation screens, transaction receipts, and merchant identification flows.
11
+
12
+ ## Props
13
+
14
+ <ArgsTable of={MerchantProfile} />
15
+
16
+ ## Available Collections and Modes
17
+
18
+ This component does not use any design token collections with multiple modes.
19
+ ## Usage
20
+
21
+ The default configuration shows the typical merchant profile layout:
22
+
23
+ <Canvas>
24
+ <Story of={MerchantProfileStories.Default} />
25
+ </Canvas>
26
+
27
+ ## Examples
28
+
29
+ ### Short Name
30
+
31
+ For merchants with shorter names:
32
+
33
+ <Canvas>
34
+ <Story of={MerchantProfileStories.ShortName} />
35
+ </Canvas>
36
+
37
+ ### Long Name
38
+
39
+ Handles longer merchant names gracefully with text wrapping:
40
+
41
+ <Canvas>
42
+ <Story of={MerchantProfileStories.LongName} />
43
+ </Canvas>
44
+
45
+ ### Without Subtitle
46
+
47
+ When only the merchant name is needed:
48
+
49
+ <Canvas>
50
+ <Story of={MerchantProfileStories.WithoutSubtitle} />
51
+ </Canvas>
52
+
53
+ ### Multiple Profiles
54
+
55
+ Multiple profiles displayed in a list:
56
+
57
+ <Canvas>
58
+ <Story of={MerchantProfileStories.MultipleProfiles} />
59
+ </Canvas>
60
+
61
+ ## Component Usage
62
+
63
+ ```tsx
64
+ import { MerchantProfile } from 'jsf-components';
65
+
66
+ function PaymentConfirmation() {
67
+ return (
68
+ <View style={{ flex: 1 }}>
69
+ <MerchantProfile
70
+ title="Uber India Systems Private Limited"
71
+ subtitle="UPI ID: uberindia@ybl"
72
+ modes={{}}
73
+ />
74
+
75
+ {/* Payment amount and other details */}
76
+ </View>
77
+ );
78
+ }
79
+ ```
80
+
81
+ ### Custom Avatar
82
+
83
+ You can customize the avatar using the `avatarProps` prop:
84
+
85
+ ```tsx
86
+ <MerchantProfile
87
+ title="Amazon Pay"
88
+ subtitle="UPI ID: amazonpay@apl"
89
+ avatarProps={{
90
+ imageSource: 'https://example.com/merchant-logo.png',
91
+ modes: { 'Avatar Size': 'XL' },
92
+ }}
93
+ />
94
+ ```
95
+
96
+ <AccessibilitySection
97
+ items={[
98
+ 'The component uses `accessibilityRole="header"` to identify it as a header region.',
99
+ 'A default accessibility label is generated from the title and subtitle.',
100
+ 'Provide a custom `accessibilityLabel` for more context if needed.',
101
+ 'The Avatar child component handles its own accessibility attributes.',
102
+ ]}
103
+ />
104
+
105
+ <AnatomySection>
106
+ <ul>
107
+ <li><strong>Avatar</strong> — circular merchant logo/image at the top.</li>
108
+ <li><strong>Title</strong> — bold merchant name centered below the avatar.</li>
109
+ <li><strong>Subtitle</strong> — lighter text, typically the UPI ID or additional info.</li>
110
+ </ul>
111
+ </AnatomySection>
112
+
113
+ <UsageConstraintsSection
114
+ items={[
115
+ 'Keep titles concise; very long names will wrap but may affect layout balance.',
116
+ 'Use consistent modes across the MerchantProfile and its siblings for visual harmony.',
117
+ 'The component is designed for centered layouts; avoid placing in left-aligned contexts.',
118
+ 'For interactive merchant profiles (e.g., tappable), wrap in a Pressable component.',
119
+ ]}
120
+ />
121
+
122
+ ## Design Tokens
123
+
124
+ This component uses the following design tokens, resolved through `getVariableByName`:
125
+
126
+ - **`merchantProfile/gap`**
127
+ - **`merchantProfile/padding/horizontal`**
128
+ - **`merchantProfile/subtitle/color`**
129
+ - **`merchantProfile/subtitle/fontFamily`**
130
+ - **`merchantProfile/subtitle/fontSize`**
131
+ - **`merchantProfile/subtitle/fontWeight`**
132
+ - **`merchantProfile/subtitle/lineHeight`**
133
+ - **`merchantProfile/title/color`**
134
+ - **`merchantProfile/title/fontFamily`**
135
+ - **`merchantProfile/title/fontSize`**
136
+ - **`merchantProfile/title/fontWeight`**
137
+ - **`merchantProfile/title/lineHeight`**
138
+
139
+ All tokens support mode-based theming through the `modes` prop.
@@ -49,29 +49,56 @@ const CURRENCY_SYMBOLS = {
49
49
  * (e.g. "INR", "USD"). When an ISO code is provided, it will be mapped to the
50
50
  * appropriate symbol, with special care to support INR and other major currencies.
51
51
  *
52
+ * Negative values are auto-detected from the value prop (e.g., -500 or "-500").
53
+ * The `negative` prop can be used to explicitly override this behavior.
54
+ *
52
55
  * @component
53
56
  * @param {Object} props
54
- * @param {string|number} [props.value="500"] - Monetary value to display.
57
+ * @param {string|number} [props.value="500"] - Monetary value to display. Negative values are auto-detected.
55
58
  * @param {string} [props.currency="₹"] - Currency symbol or ISO code (e.g. "INR").
59
+ * @param {boolean} [props.negative] - Explicitly override negative display. If undefined, auto-detects from value.
56
60
  * @param {Object} [props.modes={}] - Modes object passed directly to `getVariableByName`.
57
61
  * Example: {"MoneyValue / Theme": "Default"}
58
62
  * @param {Object} [props.style] - Optional container style overrides.
59
63
  * @param {Object} [props.valueStyle] - Optional value text style overrides.
60
64
  * @param {Object} [props.currencyStyle] - Optional currency text style overrides.
65
+ * @param {Object} [props.negativeSignStyle] - Optional negative sign text style overrides.
61
66
  * @param {string} [props.accessibilityLabel] - Accessibility label for screen readers. If not provided, generates from value and currency
62
67
  * @param {string} [props.accessibilityHint] - Additional accessibility hint for screen readers
63
68
  */
64
69
  function MoneyValue({
65
70
  value = '500',
66
71
  currency = '₹',
72
+ negative,
67
73
  modes = {},
68
74
  style,
69
75
  valueStyle,
70
76
  currencyStyle,
77
+ negativeSignStyle,
71
78
  accessibilityLabel,
72
79
  accessibilityHint,
73
80
  ...rest
74
81
  }) {
82
+ // Auto-detect negative from value and compute display value
83
+ const {
84
+ isNegative,
85
+ displayValue
86
+ } = React.useMemo(() => {
87
+ const stringValue = String(value);
88
+ const trimmed = stringValue.trim();
89
+ const valueIsNegative = trimmed.startsWith('-') || typeof value === 'number' && value < 0;
90
+
91
+ // Strip leading minus sign for display (we show it separately)
92
+ const absoluteValue = trimmed.startsWith('-') ? trimmed.slice(1) : trimmed;
93
+
94
+ // Use explicit negative prop if provided, otherwise use auto-detected
95
+ const showNegative = negative !== undefined ? negative : valueIsNegative;
96
+ return {
97
+ isNegative: showNegative,
98
+ displayValue: absoluteValue
99
+ };
100
+ }, [value, negative]);
101
+
75
102
  // Resolve typography and layout tokens from Figma
76
103
  const textColor = getVariableByName('moneyValue/text/color', modes) || '#0f0d0a';
77
104
  const fontSize = getVariableByName('moneyValue/supportText/fontSize', modes) || 14;
@@ -101,14 +128,19 @@ function MoneyValue({
101
128
  };
102
129
 
103
130
  // Generate default accessibility label from value and currency
104
- const defaultAccessibilityLabel = accessibilityLabel || `${resolvedCurrency} ${value}`;
131
+ const defaultAccessibilityLabel = accessibilityLabel || `${isNegative ? 'negative ' : ''}${resolvedCurrency} ${displayValue}`;
105
132
  return /*#__PURE__*/_jsxs(View, {
106
133
  style: [containerStyle, style],
107
134
  accessibilityRole: "text",
108
135
  accessibilityLabel: defaultAccessibilityLabel,
109
136
  accessibilityHint: accessibilityHint,
110
137
  ...rest,
111
- children: [/*#__PURE__*/_jsx(Text, {
138
+ children: [isNegative && /*#__PURE__*/_jsx(Text, {
139
+ style: [baseTextStyle, negativeSignStyle],
140
+ accessibilityElementsHidden: true,
141
+ importantForAccessibility: "no",
142
+ children: "-"
143
+ }), /*#__PURE__*/_jsx(Text, {
112
144
  style: [baseTextStyle, currencyStyle],
113
145
  accessibilityElementsHidden: true,
114
146
  importantForAccessibility: "no",
@@ -117,7 +149,7 @@ function MoneyValue({
117
149
  style: [baseTextStyle, valueStyle],
118
150
  accessibilityElementsHidden: true,
119
151
  importantForAccessibility: "no",
120
- children: value
152
+ children: displayValue
121
153
  })]
122
154
  });
123
155
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","getVariableByName","jsx","_jsx","jsxs","_jsxs","CURRENCY_SYMBOLS","INR","USD","EUR","GBP","JPY","CNY","AUD","CAD","CHF","HKD","SGD","NZD","SEK","NOK","DKK","RUB","BRL","ZAR","AED","SAR","TRY","KRW","IDR","THB","MYR","PHP","VND","PKR","BDT","LKR","NPR","MoneyValue","value","currency","modes","style","valueStyle","currencyStyle","accessibilityLabel","accessibilityHint","rest","textColor","fontSize","lineHeight","fontWeightValue","fontWeight","toString","fontFamily","gap","resolvedCurrency","useMemo","upper","toUpperCase","baseTextStyle","color","containerStyle","flexDirection","alignItems","defaultAccessibilityLabel","accessibilityRole","children","accessibilityElementsHidden","importantForAccessibility"],"sourceRoot":"../../../../src","sources":["components/MoneyValue/MoneyValue.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","getVariableByName","jsx","_jsx","jsxs","_jsxs","CURRENCY_SYMBOLS","INR","USD","EUR","GBP","JPY","CNY","AUD","CAD","CHF","HKD","SGD","NZD","SEK","NOK","DKK","RUB","BRL","ZAR","AED","SAR","TRY","KRW","IDR","THB","MYR","PHP","VND","PKR","BDT","LKR","NPR","MoneyValue","value","currency","negative","modes","style","valueStyle","currencyStyle","negativeSignStyle","accessibilityLabel","accessibilityHint","rest","isNegative","displayValue","useMemo","stringValue","String","trimmed","trim","valueIsNegative","startsWith","absoluteValue","slice","showNegative","undefined","textColor","fontSize","lineHeight","fontWeightValue","fontWeight","toString","fontFamily","gap","resolvedCurrency","upper","toUpperCase","baseTextStyle","color","containerStyle","flexDirection","alignItems","defaultAccessibilityLabel","accessibilityRole","children","accessibilityElementsHidden","importantForAccessibility"],"sourceRoot":"../../../../src","sources":["components/MoneyValue/MoneyValue.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,10 @@ This component uses the following design token collections. Each collection supp
16
16
  ### Color Mode
17
17
  - **Modes:** Light | Dark
18
18
  - **Default:** Light
19
+
20
+ ### Context3
21
+ - **Modes:** Default | Transaction Bubble
22
+ - **Default:** Default
19
23
  ## Usage
20
24
 
21
25
  <Canvas>