jfs-components 0.0.1 → 0.0.2

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 (96) 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.mdx +4 -0
  20. package/lib/commonjs/components/NavArrow/NavArrow.js +90 -0
  21. package/lib/commonjs/components/NavArrow/NavArrow.js.map +1 -0
  22. package/lib/commonjs/components/NavArrow/NavArrow.mdx +123 -0
  23. package/lib/commonjs/components/Section/Section.mdx +4 -4
  24. package/lib/commonjs/components/Stepper/Step.mdx +1 -1
  25. package/lib/commonjs/components/index.js +28 -0
  26. package/lib/commonjs/components/index.js.map +1 -1
  27. package/lib/commonjs/design-tokens/JFS Variables-variables-full.json +18633 -1
  28. package/lib/commonjs/design-tokens/figma-variables-resolver.js.map +1 -2
  29. package/lib/commonjs/icons/registry.js +1 -1
  30. package/lib/module/components/ActionFooter/ActionFooter.js +119 -0
  31. package/lib/module/components/ActionFooter/ActionFooter.js.map +1 -0
  32. package/lib/module/components/ActionFooter/ActionFooter.mdx +101 -0
  33. package/lib/module/components/Button/Button.js +1 -1
  34. package/lib/module/components/Button/Button.js.map +1 -1
  35. package/lib/module/components/Button/Button.mdx +2 -2
  36. package/lib/module/components/CardFeedback/CardFeedback.js +46 -11
  37. package/lib/module/components/CardFeedback/CardFeedback.js.map +1 -1
  38. package/lib/module/components/CardFeedback/CardFeedback.mdx +1 -0
  39. package/lib/module/components/Divider/Divider.js +58 -0
  40. package/lib/module/components/Divider/Divider.js.map +1 -0
  41. package/lib/module/components/Divider/Divider.mdx +91 -0
  42. package/lib/module/components/ListItem/ListItem.js +24 -13
  43. package/lib/module/components/ListItem/ListItem.js.map +1 -1
  44. package/lib/module/components/ListItem/ListItem.mdx +46 -5
  45. package/lib/module/components/MerchantProfile/MerchantProfile.js +128 -0
  46. package/lib/module/components/MerchantProfile/MerchantProfile.js.map +1 -0
  47. package/lib/module/components/MerchantProfile/MerchantProfile.mdx +139 -0
  48. package/lib/module/components/MoneyValue/MoneyValue.mdx +4 -0
  49. package/lib/module/components/NavArrow/NavArrow.js +84 -0
  50. package/lib/module/components/NavArrow/NavArrow.js.map +1 -0
  51. package/lib/module/components/NavArrow/NavArrow.mdx +123 -0
  52. package/lib/module/components/Section/Section.mdx +4 -4
  53. package/lib/module/components/Stepper/Step.mdx +1 -1
  54. package/lib/module/components/index.js +4 -0
  55. package/lib/module/components/index.js.map +1 -1
  56. package/lib/module/design-tokens/JFS Variables-variables-full.json +18633 -1
  57. package/lib/module/design-tokens/figma-variables-resolver.js +2 -2
  58. package/lib/module/design-tokens/figma-variables-resolver.js.map +2 -1
  59. package/lib/module/icons/registry.js +1 -1
  60. package/lib/typescript/components/ActionFooter/ActionFooter.d.ts +58 -0
  61. package/lib/typescript/components/ActionFooter/ActionFooter.d.ts.map +1 -0
  62. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts +4 -3
  63. package/lib/typescript/components/CardFeedback/CardFeedback.d.ts.map +1 -1
  64. package/lib/typescript/components/Divider/Divider.d.ts +50 -0
  65. package/lib/typescript/components/Divider/Divider.d.ts.map +1 -0
  66. package/lib/typescript/components/ListItem/ListItem.d.ts +4 -3
  67. package/lib/typescript/components/ListItem/ListItem.d.ts.map +1 -1
  68. package/lib/typescript/components/MerchantProfile/MerchantProfile.d.ts +68 -0
  69. package/lib/typescript/components/MerchantProfile/MerchantProfile.d.ts.map +1 -0
  70. package/lib/typescript/components/NavArrow/NavArrow.d.ts +35 -0
  71. package/lib/typescript/components/NavArrow/NavArrow.d.ts.map +1 -0
  72. package/lib/typescript/components/index.d.ts +4 -0
  73. package/lib/typescript/components/index.d.ts.map +1 -1
  74. package/lib/typescript/icons/registry.d.ts +1 -1
  75. package/package.json +2 -2
  76. package/src/components/.token-metadata.json +99 -11
  77. package/src/components/ActionFooter/ActionFooter.mdx +101 -0
  78. package/src/components/ActionFooter/ActionFooter.tsx +142 -0
  79. package/src/components/Button/Button.mdx +2 -2
  80. package/src/components/Button/Button.tsx +1 -1
  81. package/src/components/CardFeedback/CardFeedback.mdx +1 -0
  82. package/src/components/CardFeedback/CardFeedback.tsx +37 -12
  83. package/src/components/Divider/Divider.mdx +91 -0
  84. package/src/components/Divider/Divider.tsx +91 -0
  85. package/src/components/ListItem/ListItem.mdx +46 -5
  86. package/src/components/ListItem/ListItem.tsx +22 -11
  87. package/src/components/MerchantProfile/MerchantProfile.mdx +139 -0
  88. package/src/components/MerchantProfile/MerchantProfile.tsx +174 -0
  89. package/src/components/MoneyValue/MoneyValue.mdx +4 -0
  90. package/src/components/NavArrow/NavArrow.mdx +123 -0
  91. package/src/components/NavArrow/NavArrow.tsx +108 -0
  92. package/src/components/Section/Section.mdx +4 -4
  93. package/src/components/Stepper/Step.mdx +1 -1
  94. package/src/components/index.ts +4 -0
  95. package/src/design-tokens/JFS Variables-variables-full.json +18633 -1
  96. package/src/icons/registry.ts +1 -1
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { type ViewStyle, type StyleProp } from 'react-native';
3
+ export type ActionFooterProps = {
4
+ /**
5
+ * Content to render inside the action footer slot.
6
+ * Typically includes IconButton and Button components.
7
+ */
8
+ children?: React.ReactNode;
9
+ /**
10
+ * Mode configuration passed to the token resolver.
11
+ * Pass the same modes to children components for consistent theming.
12
+ */
13
+ modes?: Record<string, any>;
14
+ /**
15
+ * Optional style overrides for the container
16
+ */
17
+ style?: StyleProp<ViewStyle>;
18
+ /**
19
+ * Accessibility label for the footer region
20
+ */
21
+ accessibilityLabel?: string;
22
+ };
23
+ /**
24
+ * ActionFooter component that provides a fixed footer container for action buttons.
25
+ *
26
+ * This component is designed to hold action items like IconButton and Button components
27
+ * at the bottom of a screen. It includes a shadow for visual separation from content above.
28
+ *
29
+ * The `modes` prop is automatically passed to all slot children. If a child has its own
30
+ * `modes` prop, it will be merged with the parent's modes (child modes take precedence).
31
+ *
32
+ * @component
33
+ * @param {Object} props - Component props
34
+ * @param {React.ReactNode} [props.children] - Action elements to display (e.g., IconButton, Button)
35
+ * @param {Object} [props.modes={}] - Mode configuration for design tokens (automatically passed to children)
36
+ * @param {Object} [props.style] - Optional style overrides
37
+ * @param {string} [props.accessibilityLabel] - Accessibility label for the footer region
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * // Basic usage - modes are automatically passed to all children
42
+ * <ActionFooter modes={modes}>
43
+ * <IconButton iconName="ic_split" />
44
+ * <Button label="Request" style={{ flex: 1 }} />
45
+ * <Button label="Pay" style={{ flex: 1 }} />
46
+ * </ActionFooter>
47
+ *
48
+ * // Children can override with their own modes (merged with parent)
49
+ * <ActionFooter modes={modes}>
50
+ * <IconButton iconName="ic_split" />
51
+ * <Button label="Request" modes={{ Appearance: 'secondary' }} style={{ flex: 1 }} />
52
+ * <Button label="Pay" modes={{ Appearance: 'primary' }} style={{ flex: 1 }} />
53
+ * </ActionFooter>
54
+ * ```
55
+ */
56
+ declare function ActionFooter({ children, modes, style, accessibilityLabel, }: ActionFooterProps): import("react/jsx-runtime").JSX.Element;
57
+ export default ActionFooter;
58
+ //# sourceMappingURL=ActionFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/ActionFooter/ActionFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAA;AAGrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,KAAU,EACV,KAAK,EACL,kBAAoC,GACrC,EAAE,iBAAiB,2CAsEnB;AAED,eAAe,YAAY,CAAA"}
@@ -19,7 +19,7 @@ export interface CardFeedbackProps {
19
19
  *
20
20
  * Used for status updates, warnings, or feedback.
21
21
  */
22
- export declare function CardFeedback({ children, modes, style, }: CardFeedbackProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function CardFeedback({ children, modes: propModes, style, }: CardFeedbackProps): import("react/jsx-runtime").JSX.Element;
23
23
  export declare namespace CardFeedback {
24
24
  var Icon: typeof import("./CardFeedback").Icon;
25
25
  var Content: typeof import("./CardFeedback").Content;
@@ -29,12 +29,13 @@ export declare namespace CardFeedback {
29
29
  }
30
30
  /**
31
31
  * Icon Wrapper
32
- * Tokens: cardFeedback/icon/size, cardFeedback/icon/color
32
+ * Tokens: cardFeedback/icon/size, appearanceFeedback/cardFeedback/icon/color
33
33
  */
34
- export declare function Icon({ children, style, modes: propModes }: {
34
+ export declare function Icon({ children, style, modes: propModes, icon }: {
35
35
  children?: React.ReactNode;
36
36
  style?: StyleProp<ViewStyle>;
37
37
  modes?: Record<string, any>;
38
+ icon?: string;
38
39
  }): import("react/jsx-runtime").JSX.Element;
39
40
  /**
40
41
  * Content Wrapper (Text Wrap)
@@ -1 +1 @@
1
- {"version":3,"file":"CardFeedback.d.ts","sourceRoot":"","sources":["../../../../src/components/CardFeedback/CardFeedback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAS,MAAM,cAAc,CAAC;AAQ7G,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EACzB,QAAQ,EACR,KAAU,EACV,KAAK,GACR,EAAE,iBAAiB,2CA2BnB;yBA/Be,YAAY;;;;;;;AAqC5B;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAuBpJ;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAWvJ;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBrJ;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBpJ;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBtJ;AASD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"CardFeedback.d.ts","sourceRoot":"","sources":["../../../../src/components/CardFeedback/CardFeedback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAS,MAAM,cAAc,CAAC;AAS7G,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EACzB,QAAQ,EACR,KAAK,EAAE,SAAS,EAChB,KAAK,GACR,EAAE,iBAAiB,2CAiCnB;yBArCe,YAAY;;;;;;;AA2C5B;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,2CAiCzK;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBvJ;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBrJ;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBpJ;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,2CAmBtJ;AASD,eAAe,YAAY,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { type ViewStyle, type StyleProp } from 'react-native';
2
+ export type DividerDirection = 'horizontal' | 'vertical';
3
+ export type DividerProps = {
4
+ /**
5
+ * Direction of the divider line.
6
+ * - 'horizontal': renders a horizontal line (default)
7
+ * - 'vertical': renders a vertical line
8
+ */
9
+ direction?: DividerDirection;
10
+ /**
11
+ * Mode configuration passed to the token resolver.
12
+ */
13
+ modes?: Record<string, any>;
14
+ /**
15
+ * Optional style overrides for the divider
16
+ */
17
+ style?: StyleProp<ViewStyle>;
18
+ /**
19
+ * Accessibility label for the divider
20
+ */
21
+ accessibilityLabel?: string;
22
+ };
23
+ /**
24
+ * Divider component that renders a horizontal or vertical separator line.
25
+ *
26
+ * This component is used to visually separate content sections. It supports
27
+ * both horizontal and vertical orientations based on the `direction` prop.
28
+ *
29
+ * @component
30
+ * @param {Object} props - Component props
31
+ * @param {'horizontal' | 'vertical'} [props.direction='horizontal'] - Direction of the divider
32
+ * @param {Object} [props.modes={}] - Mode configuration for design tokens
33
+ * @param {Object} [props.style] - Optional style overrides
34
+ * @param {string} [props.accessibilityLabel] - Accessibility label for the divider
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * // Horizontal divider (default)
39
+ * <Divider />
40
+ *
41
+ * // Vertical divider
42
+ * <Divider direction="vertical" />
43
+ *
44
+ * // With custom modes
45
+ * <Divider modes={{ Appearance: 'dark' }} />
46
+ * ```
47
+ */
48
+ declare function Divider({ direction, modes, style, accessibilityLabel, }: DividerProps): import("react/jsx-runtime").JSX.Element;
49
+ export default Divider;
50
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/components/Divider/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAA;AAGrB,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,CAAA;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAS,OAAO,CAAC,EACf,SAAwB,EACxB,KAAU,EACV,KAAK,EACL,kBAA8B,GAC/B,EAAE,YAAY,2CA0Bd;AAED,eAAe,OAAO,CAAA"}
@@ -9,7 +9,8 @@ type ListItemProps = {
9
9
  leading?: React.ReactNode;
10
10
  supportSlot?: React.ReactNode;
11
11
  endSlot?: React.ReactNode;
12
- showTrailing?: boolean;
12
+ /** Whether to show the NavArrow on the far right (Horizontal layout only). Defaults to true. */
13
+ navArrow?: boolean;
13
14
  modes?: Record<string, any>;
14
15
  onPress?: () => void;
15
16
  style?: StyleProp<ViewStyle>;
@@ -45,7 +46,7 @@ type ListItemProps = {
45
46
  * @param {React.ReactNode} [props.leading] - Optional leading element. Defaults to `IconCapsule`.
46
47
  * @param {React.ReactNode} [props.supportSlot] - Optional custom slot used instead of the default support text block.
47
48
  * @param {React.ReactNode} [props.endSlot] - Optional custom trailing slot (Figma Slot "end").
48
- * @param {boolean} [props.showTrailing=true] - When `true`, renders the default trailing Button in Horizontal layout if `endSlot` is not provided.
49
+ * @param {boolean} [props.navArrow=true] - Whether to show NavArrow on the far right (Horizontal layout only).
49
50
  * @param {Object} [props.modes={}] - Modes object passed to `getVariableByName` for all design tokens.
50
51
  * @param {Function} [props.onPress] - When provided, the entire item becomes pressable (navigation variant).
51
52
  * @param {Object} [props.style] - Optional container style overrides.
@@ -54,6 +55,6 @@ type ListItemProps = {
54
55
  * @param {string} [props.accessibilityHint] - Additional accessibility hint for screen readers
55
56
  * @param {Object} [props.accessibilityState] - Additional accessibility state information
56
57
  */
57
- declare function ListItem({ layout, title, supportText, showSupportText, leading, supportSlot, endSlot, showTrailing, modes, onPress, style, contentStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, ...rest }: ListItemProps): import("react/jsx-runtime").JSX.Element;
58
+ declare function ListItem({ layout, title, supportText, showSupportText, leading, supportSlot, endSlot, navArrow, modes, onPress, style, contentStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, ...rest }: ListItemProps): import("react/jsx-runtime").JSX.Element;
58
59
  export default ListItem;
59
60
  //# sourceMappingURL=ListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAkB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAI7H,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AA8CnG,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iBAAS,QAAQ,CAAC,EAChB,MAAmB,EACnB,KAAe,EACf,WAA4B,EAC5B,eAAsB,EACtB,OAAO,EACP,WAAW,EACX,OAAO,EACP,YAAmB,EACnB,KAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,GAAG,IAAI,EACR,EAAE,aAAa,2CA8Qf;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAkB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAI7H,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAwDnG,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iBAAS,QAAQ,CAAC,EAChB,MAAmB,EACnB,KAAe,EACf,WAA4B,EAC5B,eAAsB,EACtB,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAe,EACf,KAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,GAAG,IAAI,EACR,EAAE,aAAa,2CA8Qf;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { type ViewStyle, type StyleProp } from 'react-native';
2
+ import { type AvatarProps } from '../Avatar/Avatar';
3
+ export type MerchantProfileProps = {
4
+ /**
5
+ * The merchant's display name or title
6
+ */
7
+ title?: string;
8
+ /**
9
+ * Subtitle text, typically the UPI ID or additional merchant info
10
+ */
11
+ subtitle?: string;
12
+ /**
13
+ * Mode configuration passed to the token resolver.
14
+ * Also passed to the Avatar child component for consistent theming.
15
+ */
16
+ modes?: Record<string, any>;
17
+ /**
18
+ * Optional style overrides for the container
19
+ */
20
+ style?: StyleProp<ViewStyle>;
21
+ /**
22
+ * Props to pass to the Avatar component
23
+ */
24
+ avatarProps?: Partial<AvatarProps>;
25
+ /**
26
+ * Accessibility label for the merchant profile region
27
+ */
28
+ accessibilityLabel?: string;
29
+ };
30
+ /**
31
+ * MerchantProfile component that displays a merchant's identity.
32
+ *
33
+ * This component shows a centered profile layout with:
34
+ * - A circular avatar image
35
+ * - A title (merchant name)
36
+ * - A subtitle (typically UPI ID)
37
+ *
38
+ * All styling values are resolved from Figma design tokens using the provided modes.
39
+ *
40
+ * @component
41
+ * @param {Object} props - Component props
42
+ * @param {string} [props.title="Uber India Systems Private Limited"] - The merchant's display name
43
+ * @param {string} [props.subtitle="UPI ID: uberindia@ybl"] - Subtitle text, typically the UPI ID
44
+ * @param {Object} [props.modes={}] - Mode configuration for design tokens
45
+ * @param {Object} [props.style] - Optional style overrides for the container
46
+ * @param {Object} [props.avatarProps] - Props to pass to the Avatar component
47
+ * @param {string} [props.accessibilityLabel] - Accessibility label for the region
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * // Basic usage
52
+ * <MerchantProfile
53
+ * title="Uber India Systems Private Limited"
54
+ * subtitle="UPI ID: uberindia@ybl"
55
+ * modes={{}}
56
+ * />
57
+ *
58
+ * // With custom avatar
59
+ * <MerchantProfile
60
+ * title="Amazon Pay"
61
+ * subtitle="UPI ID: amazonpay@apl"
62
+ * avatarProps={{ imageSource: 'https://example.com/logo.png' }}
63
+ * />
64
+ * ```
65
+ */
66
+ declare function MerchantProfile({ title, subtitle, modes, style, avatarProps, accessibilityLabel, }: MerchantProfileProps): import("react/jsx-runtime").JSX.Element;
67
+ export default MerchantProfile;
68
+ //# sourceMappingURL=MerchantProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MerchantProfile.d.ts","sourceRoot":"","sources":["../../../../src/components/MerchantProfile/MerchantProfile.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAA;AAErB,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,iBAAS,eAAe,CAAC,EACvB,KAA4C,EAC5C,QAAkC,EAClC,KAAU,EACV,KAAK,EACL,WAAW,EACX,kBAAkB,GACnB,EAAE,oBAAoB,2CAwFtB;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { View, type ViewStyle } from 'react-native';
3
+ type NavArrowDirection = 'Back' | 'Forward';
4
+ type NavArrowProps = {
5
+ /** Direction of the arrow: 'Back' (left chevron) or 'Forward' (right chevron) */
6
+ direction?: NavArrowDirection;
7
+ /** Modes used to resolve design tokens */
8
+ modes?: Record<string, any>;
9
+ /** Optional additional container style */
10
+ style?: ViewStyle;
11
+ /** Accessibility label for the arrow */
12
+ accessibilityLabel?: string;
13
+ } & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel'>;
14
+ /**
15
+ * NavArrow component that displays a small chevron arrow for navigation.
16
+ *
17
+ * This component uses design tokens for all visual properties:
18
+ * - navArrow/icon/color - chevron stroke color
19
+ * - navArrow/icon/width - icon width
20
+ * - navArrow/icon/height - icon height
21
+ * - navArrow/icon/strokeWeight - stroke width
22
+ * - navArrow/width - container width
23
+ * - navArrow/height - container height
24
+ * - navArrow/radius - border radius
25
+ * - navArrow/background - background color
26
+ *
27
+ * @component
28
+ * @param {Object} props
29
+ * @param {'Back'|'Forward'} [props.direction='Back'] - Arrow direction
30
+ * @param {Object} [props.modes={}] - Modes for design token resolution
31
+ * @param {Object} [props.style] - Additional container styles
32
+ */
33
+ declare function NavArrow({ direction, modes, style, accessibilityLabel, ...rest }: NavArrowProps): import("react/jsx-runtime").JSX.Element;
34
+ export default NavArrow;
35
+ //# sourceMappingURL=NavArrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavArrow.d.ts","sourceRoot":"","sources":["../../../../src/components/NavArrow/NavArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAInD,KAAK,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3C,KAAK,aAAa,GAAG;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAkB,EAClB,KAAU,EACV,KAAK,EACL,kBAAkB,EAClB,GAAG,IAAI,EACR,EAAE,aAAa,2CA6Df;AAED,eAAe,QAAQ,CAAA"}
@@ -1,3 +1,4 @@
1
+ export { default as ActionFooter, type ActionFooterProps } from './ActionFooter/ActionFooter';
1
2
  export { default as AppBar } from './AppBar/AppBar';
2
3
  export { default as Avatar, type AvatarProps } from './Avatar/Avatar';
3
4
  export { default as AvatarGroup } from './AvatarGroup/AvatarGroup';
@@ -8,6 +9,7 @@ export { default as Button, type ButtonProps } from './Button/Button';
8
9
  export { default as Card } from './Card/Card';
9
10
  export { default as CardFeedback } from './CardFeedback/CardFeedback';
10
11
  export { default as Disclaimer } from './Disclaimer/Disclaimer';
12
+ export { default as Divider, type DividerProps, type DividerDirection } from './Divider/Divider';
11
13
  export { default as Drawer } from './Drawer/Drawer';
12
14
  export { default as FilterBar } from './FilterBar/FilterBar';
13
15
  export { default as IconButton } from './IconButton/IconButton';
@@ -16,7 +18,9 @@ export { default as LazyList } from './LazyList/LazyList';
16
18
  export { default as ListGroup } from './ListGroup/ListGroup';
17
19
  export { default as ListItem } from './ListItem/ListItem';
18
20
  export { default as MediaCard } from './MediaCard/MediaCard';
21
+ export { default as MerchantProfile, type MerchantProfileProps } from './MerchantProfile/MerchantProfile';
19
22
  export { default as MoneyValue } from './MoneyValue/MoneyValue';
23
+ export { default as NavArrow } from './NavArrow/NavArrow';
20
24
  export { default as PageTitle } from './PageTitle/PageTitle';
21
25
  export { default as Section } from './Section/Section';
22
26
  export { default as Stepper } from './Stepper/Stepper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC1G,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Auto-generated from SVG files in src/icons/
5
5
  * DO NOT EDIT MANUALLY - Run "npm run icons:generate" to regenerate
6
6
  *
7
- * Generated: 2026-01-13T18:37:08.057Z
7
+ * Generated: 2026-01-17T17:17:24.583Z
8
8
  */
9
9
  export declare const iconRegistry: Record<string, {
10
10
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jfs-components",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "React Native Jio Finance Components Library",
5
5
  "author": "sunshuaiqi@gmail.com",
6
6
  "license": "MIT",
@@ -133,4 +133,4 @@
133
133
  "jest": {
134
134
  "preset": "react-native"
135
135
  }
136
- }
136
+ }
@@ -1,4 +1,15 @@
1
1
  {
2
+ "ActionFooter": {
3
+ "tokens": [
4
+ "actionFooter/background",
5
+ "actionFooter/gap",
6
+ "actionFooter/padding/bottom",
7
+ "actionFooter/padding/horizontal",
8
+ "actionFooter/padding/top"
9
+ ],
10
+ "collections": {},
11
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/ActionFooter/ActionFooter.tsx"
12
+ },
2
13
  "AppBar": {
3
14
  "tokens": [
4
15
  "appBarActions/actions/gap",
@@ -145,7 +156,7 @@
145
156
  "button/fontFamily",
146
157
  "button/fontSize",
147
158
  "button/fontWeight",
148
- "button/forground",
159
+ "button/foreground",
149
160
  "button/gap",
150
161
  "button/lineHeight",
151
162
  "button/padding/horizontal",
@@ -199,7 +210,9 @@
199
210
  "Context": {
200
211
  "modes": [
201
212
  "Default",
202
- "Nudge&Alert"
213
+ "Nudge&Alert",
214
+ "CTACard",
215
+ "ListItem"
203
216
  ],
204
217
  "defaultMode": "Default",
205
218
  "hasMultipleModes": true
@@ -254,6 +267,7 @@
254
267
  },
255
268
  "CardFeedback": {
256
269
  "tokens": [
270
+ "appearanceFeedback/cardFeedback/icon/color",
257
271
  "cardFeedback/actionSlot/gap",
258
272
  "cardFeedback/background",
259
273
  "cardFeedback/body/color",
@@ -323,6 +337,23 @@
323
337
  },
324
338
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/Disclaimer/Disclaimer.tsx"
325
339
  },
340
+ "Divider": {
341
+ "tokens": [
342
+ "divider/color",
343
+ "divider/size"
344
+ ],
345
+ "collections": {
346
+ "Color Mode": {
347
+ "modes": [
348
+ "Light",
349
+ "Dark"
350
+ ],
351
+ "defaultMode": "Light",
352
+ "hasMultipleModes": true
353
+ }
354
+ },
355
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/Divider/Divider.tsx"
356
+ },
326
357
  "Drawer": {
327
358
  "tokens": [
328
359
  "drawer/background",
@@ -568,6 +599,24 @@
568
599
  },
569
600
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/MediaCard/MediaCard.tsx"
570
601
  },
602
+ "MerchantProfile": {
603
+ "tokens": [
604
+ "merchantProfile/gap",
605
+ "merchantProfile/padding/horizontal",
606
+ "merchantProfile/subtitle/color",
607
+ "merchantProfile/subtitle/fontFamily",
608
+ "merchantProfile/subtitle/fontSize",
609
+ "merchantProfile/subtitle/fontWeight",
610
+ "merchantProfile/subtitle/lineHeight",
611
+ "merchantProfile/title/color",
612
+ "merchantProfile/title/fontFamily",
613
+ "merchantProfile/title/fontSize",
614
+ "merchantProfile/title/fontWeight",
615
+ "merchantProfile/title/lineHeight"
616
+ ],
617
+ "collections": {},
618
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/MerchantProfile/MerchantProfile.tsx"
619
+ },
571
620
  "MoneyValue": {
572
621
  "tokens": [
573
622
  "moneyValue/gap",
@@ -585,10 +634,49 @@
585
634
  ],
586
635
  "defaultMode": "Light",
587
636
  "hasMultipleModes": true
637
+ },
638
+ "Context3": {
639
+ "modes": [
640
+ "Default",
641
+ "Transaction Bubble"
642
+ ],
643
+ "defaultMode": "Default",
644
+ "hasMultipleModes": true
588
645
  }
589
646
  },
590
647
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/MoneyValue/MoneyValue.tsx"
591
648
  },
649
+ "NavArrow": {
650
+ "tokens": [
651
+ "navArrow/background",
652
+ "navArrow/height",
653
+ "navArrow/icon/color",
654
+ "navArrow/icon/height",
655
+ "navArrow/icon/strokeWeight",
656
+ "navArrow/icon/width",
657
+ "navArrow/radius",
658
+ "navArrow/width"
659
+ ],
660
+ "collections": {
661
+ "Color Mode": {
662
+ "modes": [
663
+ "Light",
664
+ "Dark"
665
+ ],
666
+ "defaultMode": "Light",
667
+ "hasMultipleModes": true
668
+ },
669
+ "Context2": {
670
+ "modes": [
671
+ "Default",
672
+ "AppBar"
673
+ ],
674
+ "defaultMode": "Default",
675
+ "hasMultipleModes": true
676
+ }
677
+ },
678
+ "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/NavArrow/NavArrow.tsx"
679
+ },
592
680
  "PageTitle": {
593
681
  "tokens": [
594
682
  "pageTitle/fontFamily",
@@ -633,6 +721,14 @@
633
721
  "section/title/lineHeight"
634
722
  ],
635
723
  "collections": {
724
+ "Color Mode": {
725
+ "modes": [
726
+ "Light",
727
+ "Dark"
728
+ ],
729
+ "defaultMode": "Light",
730
+ "hasMultipleModes": true
731
+ },
636
732
  "Padding": {
637
733
  "modes": [
638
734
  "Default",
@@ -649,14 +745,6 @@
649
745
  ],
650
746
  "defaultMode": "Primary",
651
747
  "hasMultipleModes": true
652
- },
653
- "Color Mode": {
654
- "modes": [
655
- "Light",
656
- "Dark"
657
- ],
658
- "defaultMode": "Light",
659
- "hasMultipleModes": true
660
748
  }
661
749
  },
662
750
  "filePath": "/Users/sunshuaiqi/jfs/react-native-storybook-boilerplate-master/src/components/Section/Section.tsx"
@@ -680,7 +768,7 @@
680
768
  "steperItem/minHeight"
681
769
  ],
682
770
  "collections": {
683
- "Status": {
771
+ "Step Status": {
684
772
  "modes": [
685
773
  "active",
686
774
  "inactive",
@@ -0,0 +1,101 @@
1
+ import { Meta, Story, Canvas, PureArgsTable as ArgsTable } from '@storybook/addon-docs/blocks';
2
+ import * as ActionFooterStories from './ActionFooter.stories';
3
+ import ActionFooter from './ActionFooter';
4
+
5
+ <Meta of={ActionFooterStories} />
6
+
7
+ # ActionFooter
8
+
9
+ A fixed footer container for action buttons. Typically used at the bottom of screens to hold primary actions like `IconButton` and `Button` components.
10
+
11
+ The ActionFooter provides consistent spacing, padding, and shadow styling for action areas at the bottom of your UI.
12
+
13
+ ## Props
14
+
15
+ <ArgsTable of={ActionFooter} />
16
+
17
+
18
+ ## Available Collections and Modes
19
+
20
+ This component does not use any design token collections with multiple modes.
21
+ ## Usage
22
+
23
+ The default configuration shows the typical use case with an IconButton and two Button components:
24
+
25
+ <Canvas>
26
+ <Story of={ActionFooterStories.Default} />
27
+ </Canvas>
28
+
29
+ ## Examples
30
+
31
+ ### Single Button
32
+
33
+ For simple confirmation flows, use a single full-width button:
34
+
35
+ <Canvas>
36
+ <Story of={ActionFooterStories.SingleButton} />
37
+ </Canvas>
38
+
39
+ ### Two Buttons
40
+
41
+ Common pattern for cancel/confirm actions:
42
+
43
+ <Canvas>
44
+ <Story of={ActionFooterStories.TwoButtons} />
45
+ </Canvas>
46
+
47
+ ### With Multiple Icon Buttons
48
+
49
+ For screens requiring multiple secondary actions alongside a primary button:
50
+
51
+ <Canvas>
52
+ <Story of={ActionFooterStories.WithMultipleIconButtons} />
53
+ </Canvas>
54
+
55
+ ## Component Usage
56
+
57
+ ```tsx
58
+ import { ActionFooter, IconButton, Button } from 'jsf-components';
59
+
60
+ function PaymentScreen() {
61
+ const modes = {};
62
+ const secondaryModes = { Appearance: 'secondary' };
63
+ const primaryModes = { Appearance: 'primary' };
64
+
65
+ return (
66
+ <View style={{ flex: 1 }}>
67
+ {/* Screen content */}
68
+
69
+ <ActionFooter modes={modes}>
70
+ <IconButton iconName="ic_split" modes={modes} />
71
+ <Button
72
+ label="Request"
73
+ modes={secondaryModes}
74
+ style={{ flex: 1 }}
75
+ />
76
+ <Button
77
+ label="Pay"
78
+ modes={primaryModes}
79
+ style={{ flex: 1 }}
80
+ />
81
+ </ActionFooter>
82
+ </View>
83
+ );
84
+ }
85
+ ```
86
+
87
+ ## Design Tokens
88
+
89
+ This component uses the following design tokens, resolved through `getVariableByName`:
90
+
91
+ - **`actionFooter/background`**
92
+ - **`actionFooter/gap`**
93
+ - **`actionFooter/padding/bottom`**
94
+ - **`actionFooter/padding/horizontal`**
95
+ - **`actionFooter/padding/top`**
96
+
97
+ All tokens support mode-based theming through the `modes` prop.
98
+ ## Accessibility
99
+
100
+ The ActionFooter uses `accessibilityRole="toolbar"` to indicate it contains a group of action controls. Provide a meaningful `accessibilityLabel` to describe the footer's purpose to screen reader users.
101
+