jfs-components 0.0.73 → 0.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +115 -6
- package/lib/commonjs/components/AccountCard/AccountCard.js +247 -0
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +147 -82
- package/lib/commonjs/components/AppBar/AppBar.js +17 -11
- package/lib/commonjs/components/Avatar/Avatar.js +20 -0
- package/lib/commonjs/components/Badge/Badge.js +23 -0
- package/lib/commonjs/components/Button/Button.js +37 -0
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +18 -2
- package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +40 -25
- package/lib/commonjs/components/Dropdown/Dropdown.js +214 -0
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +542 -0
- package/lib/commonjs/components/FormField/FormField.js +328 -178
- package/lib/commonjs/components/IconButton/IconButton.js +20 -0
- package/lib/commonjs/components/Image/Image.js +26 -1
- package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +150 -0
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +116 -0
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +82 -0
- package/lib/commonjs/components/LottiePlayer/loadNativeLottieView.js +74 -0
- package/lib/commonjs/components/LottiePlayer/loadWebLottieView.js +50 -0
- package/lib/commonjs/components/PageHero/PageHero.js +189 -0
- package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +135 -0
- package/lib/commonjs/components/PoweredByLabel/finvu.png +0 -0
- package/lib/commonjs/components/RechargeCard/RechargeCard.js +32 -17
- package/lib/commonjs/components/Text/Text.js +40 -3
- package/lib/commonjs/components/Tooltip/Tooltip.js +34 -27
- package/lib/commonjs/components/index.js +67 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/icons/Icon.js +16 -0
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/skeleton/Skeleton.js +234 -0
- package/lib/commonjs/skeleton/SkeletonGroup.js +140 -0
- package/lib/commonjs/skeleton/index.js +58 -0
- package/lib/commonjs/skeleton/shimmer-tokens.js +189 -0
- package/lib/commonjs/skeleton/useReducedMotion.js +64 -0
- package/lib/module/components/AccountCard/AccountCard.js +241 -0
- package/lib/module/components/ActionFooter/ActionFooter.js +146 -82
- package/lib/module/components/AppBar/AppBar.js +17 -11
- package/lib/module/components/Avatar/Avatar.js +19 -0
- package/lib/module/components/Badge/Badge.js +23 -0
- package/lib/module/components/Button/Button.js +37 -0
- package/lib/module/components/CardBankAccount/CardBankAccount.js +17 -2
- package/lib/module/components/CheckboxItem/CheckboxItem.js +41 -26
- package/lib/module/components/Dropdown/Dropdown.js +206 -0
- package/lib/module/components/DropdownInput/DropdownInput.js +536 -0
- package/lib/module/components/FormField/FormField.js +330 -180
- package/lib/module/components/IconButton/IconButton.js +20 -0
- package/lib/module/components/Image/Image.js +25 -1
- package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +144 -0
- package/lib/module/components/LottiePlayer/LottiePlayer.js +111 -0
- package/lib/module/components/LottiePlayer/LottiePlayer.web.js +77 -0
- package/lib/module/components/LottiePlayer/loadNativeLottieView.js +69 -0
- package/lib/module/components/LottiePlayer/loadWebLottieView.js +45 -0
- package/lib/module/components/PageHero/PageHero.js +183 -0
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +130 -0
- package/lib/module/components/PoweredByLabel/finvu.png +0 -0
- package/lib/module/components/RechargeCard/RechargeCard.js +33 -17
- package/lib/module/components/Text/Text.js +40 -3
- package/lib/module/components/Tooltip/Tooltip.js +34 -27
- package/lib/module/components/index.js +8 -1
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/icons/Icon.js +16 -0
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/skeleton/Skeleton.js +229 -0
- package/lib/module/skeleton/SkeletonGroup.js +133 -0
- package/lib/module/skeleton/index.js +6 -0
- package/lib/module/skeleton/shimmer-tokens.js +181 -0
- package/lib/module/skeleton/useReducedMotion.js +61 -0
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +81 -0
- package/lib/typescript/src/components/ActionFooter/ActionFooter.d.ts +26 -21
- package/lib/typescript/src/components/Avatar/Avatar.d.ts +7 -1
- package/lib/typescript/src/components/Badge/Badge.d.ts +7 -1
- package/lib/typescript/src/components/Button/Button.d.ts +8 -1
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +9 -2
- package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +18 -2
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +62 -0
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +107 -0
- package/lib/typescript/src/components/FormField/FormField.d.ts +76 -19
- package/lib/typescript/src/components/IconButton/IconButton.d.ts +7 -1
- package/lib/typescript/src/components/Image/Image.d.ts +8 -1
- package/lib/typescript/src/components/LottieIntroBlock/LottieIntroBlock.d.ts +58 -0
- package/lib/typescript/src/components/LottiePlayer/LottiePlayer.d.ts +85 -0
- package/lib/typescript/src/components/LottiePlayer/LottiePlayer.web.d.ts +28 -0
- package/lib/typescript/src/components/LottiePlayer/loadNativeLottieView.d.ts +11 -0
- package/lib/typescript/src/components/LottiePlayer/loadWebLottieView.d.ts +11 -0
- package/lib/typescript/src/components/PageHero/PageHero.d.ts +79 -0
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +70 -0
- package/lib/typescript/src/components/Text/Text.d.ts +31 -2
- package/lib/typescript/src/components/Tooltip/Tooltip.d.ts +13 -2
- package/lib/typescript/src/components/index.d.ts +8 -1
- package/lib/typescript/src/icons/Icon.d.ts +7 -1
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/skeleton/Skeleton.d.ts +60 -0
- package/lib/typescript/src/skeleton/SkeletonGroup.d.ts +78 -0
- package/lib/typescript/src/skeleton/index.d.ts +5 -0
- package/lib/typescript/src/skeleton/shimmer-tokens.d.ts +160 -0
- package/lib/typescript/src/skeleton/useReducedMotion.d.ts +15 -0
- package/package.json +11 -3
- package/src/components/AccountCard/AccountCard.tsx +376 -0
- package/src/components/ActionFooter/ActionFooter.tsx +152 -86
- package/src/components/AppBar/AppBar.tsx +25 -14
- package/src/components/Avatar/Avatar.tsx +26 -0
- package/src/components/Badge/Badge.tsx +27 -0
- package/src/components/Button/Button.tsx +40 -0
- package/src/components/CardBankAccount/CardBankAccount.tsx +29 -3
- package/src/components/CheckboxItem/CheckboxItem.tsx +65 -30
- package/src/components/Dropdown/Dropdown.tsx +331 -0
- package/src/components/DropdownInput/DropdownInput.tsx +819 -0
- package/src/components/FormField/FormField.tsx +542 -215
- package/src/components/IconButton/IconButton.tsx +27 -0
- package/src/components/Image/Image.tsx +25 -0
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +202 -0
- package/src/components/LottiePlayer/LottiePlayer.tsx +145 -0
- package/src/components/LottiePlayer/LottiePlayer.web.tsx +94 -0
- package/src/components/LottiePlayer/loadNativeLottieView.tsx +87 -0
- package/src/components/LottiePlayer/loadWebLottieView.tsx +64 -0
- package/src/components/PageHero/PageHero.tsx +257 -0
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +221 -0
- package/src/components/PoweredByLabel/finvu.png +0 -0
- package/src/components/RechargeCard/RechargeCard.tsx +32 -24
- package/src/components/Text/Text.tsx +78 -3
- package/src/components/Tooltip/Tooltip.tsx +50 -25
- package/src/components/index.ts +16 -1
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/icons/Icon.tsx +17 -0
- package/src/icons/registry.ts +1 -1
- package/src/index.ts +1 -0
- package/src/skeleton/Skeleton.tsx +298 -0
- package/src/skeleton/SkeletonGroup.tsx +193 -0
- package/src/skeleton/index.ts +10 -0
- package/src/skeleton/shimmer-tokens.ts +221 -0
- package/src/skeleton/useReducedMotion.ts +72 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ImageSourcePropType, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type AccountCardState = 'connected' | 'add';
|
|
4
|
+
export type AccountCardProps = {
|
|
5
|
+
/**
|
|
6
|
+
* Visual variant of the card.
|
|
7
|
+
* - `'connected'` (default): renders a card preview image, a `title` and a
|
|
8
|
+
* `subtitle` below it (e.g. account name + masked number).
|
|
9
|
+
* - `'add'`: renders an empty placeholder field with a centred `+` icon
|
|
10
|
+
* and only the `title`. Use this for the "Add new account" affordance
|
|
11
|
+
* that pairs with a list of connected `AccountCard`s.
|
|
12
|
+
*/
|
|
13
|
+
state?: AccountCardState;
|
|
14
|
+
/** Title rendered below the image / placeholder. */
|
|
15
|
+
title?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Subtitle rendered below the title (e.g. masked account number).
|
|
18
|
+
* Only displayed when `state === 'connected'`.
|
|
19
|
+
*/
|
|
20
|
+
subtitle?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Card preview image. Only used when `state === 'connected'` and
|
|
23
|
+
* `cardSlot` is not provided. Accepts a URL string or any
|
|
24
|
+
* `ImageSourcePropType` (e.g. `require('./card.png')`).
|
|
25
|
+
*/
|
|
26
|
+
imageSource?: ImageSourcePropType | string;
|
|
27
|
+
/**
|
|
28
|
+
* Aspect ratio (width / height) of the image / placeholder area.
|
|
29
|
+
* Defaults to the Figma reference ratio (`125 / 82` ≈ `1.524`).
|
|
30
|
+
*/
|
|
31
|
+
imageRatio?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Override the entire image / placeholder area with a custom node
|
|
34
|
+
* (e.g. a smaller `DebitCard`, a brand logo, a remote image).
|
|
35
|
+
* Receives `modes` automatically through `cloneChildrenWithModes`.
|
|
36
|
+
*/
|
|
37
|
+
cardSlot?: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Icon name shown inside the "Add" placeholder. Defaults to `'ic_add'`.
|
|
40
|
+
* Only used when `state === 'add'`.
|
|
41
|
+
*/
|
|
42
|
+
addIcon?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Press handler. Applied to the whole card so the entire surface is a
|
|
45
|
+
* single touch target — particularly important for the `'add'` state,
|
|
46
|
+
* which behaves like a button.
|
|
47
|
+
*/
|
|
48
|
+
onPress?: () => void;
|
|
49
|
+
/** Disable interaction (also dims the card). */
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/** Design token modes (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
52
|
+
modes?: Record<string, any>;
|
|
53
|
+
/** Container style override. */
|
|
54
|
+
style?: StyleProp<ViewStyle>;
|
|
55
|
+
/** Accessibility label (defaults to `title`). */
|
|
56
|
+
accessibilityLabel?: string;
|
|
57
|
+
/** Accessibility hint forwarded to the underlying `Pressable`. */
|
|
58
|
+
accessibilityHint?: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* `AccountCard` — a compact card preview used to represent a linked
|
|
62
|
+
* financial account in lists / grids.
|
|
63
|
+
*
|
|
64
|
+
* Two visual states are supported via the `state` prop:
|
|
65
|
+
*
|
|
66
|
+
* 1. `'connected'` (default): renders a small card-art preview, a bold
|
|
67
|
+
* `title` and a regular-weight `subtitle` (e.g. masked account number).
|
|
68
|
+
* 2. `'add'`: renders a soft-tinted placeholder field with a centred `+`
|
|
69
|
+
* icon and the `title` underneath, intended as the "add new account"
|
|
70
|
+
* entry-point at the end of a list of connected accounts.
|
|
71
|
+
*
|
|
72
|
+
* All values resolve through the `accountCard/*` design tokens with
|
|
73
|
+
* sensible Figma defaults so the card renders correctly out of the box.
|
|
74
|
+
*
|
|
75
|
+
* @component
|
|
76
|
+
* @param {AccountCardProps} props
|
|
77
|
+
*/
|
|
78
|
+
declare function AccountCard({ state, title, subtitle, imageSource, imageRatio, cardSlot, addIcon, onPress, disabled, modes, style, accessibilityLabel, accessibilityHint, }: AccountCardProps): import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
declare const _default: React.MemoExoticComponent<typeof AccountCard>;
|
|
80
|
+
export default _default;
|
|
81
|
+
//# sourceMappingURL=AccountCard.d.ts.map
|
|
@@ -3,50 +3,55 @@ import { type ViewStyle, type StyleProp } from 'react-native';
|
|
|
3
3
|
export type ActionFooterProps = {
|
|
4
4
|
/**
|
|
5
5
|
* Content to render inside the action footer slot.
|
|
6
|
-
* Typically includes IconButton and Button components.
|
|
6
|
+
* Typically includes `IconButton` and `Button` components.
|
|
7
|
+
* `IconButton` children keep their intrinsic square size; everything else
|
|
8
|
+
* is auto-stretched to share the remaining horizontal space equally.
|
|
7
9
|
*/
|
|
8
10
|
children?: React.ReactNode;
|
|
9
11
|
/**
|
|
10
12
|
* Mode configuration passed to the token resolver.
|
|
11
|
-
*
|
|
13
|
+
* Automatically merged into every slot child via {@link cloneChildrenWithModes}
|
|
14
|
+
* so callers don't have to thread modes down by hand.
|
|
12
15
|
*/
|
|
13
16
|
modes?: Record<string, any>;
|
|
14
17
|
/**
|
|
15
|
-
* Optional style overrides for the container
|
|
18
|
+
* Optional style overrides for the outer container.
|
|
16
19
|
*/
|
|
17
20
|
style?: StyleProp<ViewStyle>;
|
|
18
21
|
/**
|
|
19
|
-
* Accessibility label for the footer region
|
|
22
|
+
* Accessibility label for the footer region (announced for the toolbar).
|
|
20
23
|
*/
|
|
21
24
|
accessibilityLabel?: string;
|
|
22
25
|
};
|
|
23
26
|
/**
|
|
24
|
-
* ActionFooter
|
|
27
|
+
* ActionFooter — a sticky bottom container for primary screen actions.
|
|
25
28
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
29
|
+
* Layout contract:
|
|
30
|
+
* - The outer container stretches horizontally (`alignSelf: 'stretch'`) so
|
|
31
|
+
* it fills the parent regardless of whether the parent is a flex column,
|
|
32
|
+
* a ScrollView contentContainer, or a plain View.
|
|
33
|
+
* - The inner slot is a single row sized by its tallest child. It does NOT
|
|
34
|
+
* use `flex: 1` — that previously caused the row to collapse to zero on
|
|
35
|
+
* the first Yoga pass on native, taking the button labels with it.
|
|
36
|
+
* - `IconButton` children keep their intrinsic square size.
|
|
37
|
+
* - Every other child is auto-stretched with the Yoga-safe stretch style
|
|
38
|
+
* above so two `<Button>` siblings render at equal width on iOS, Android,
|
|
39
|
+
* and Web.
|
|
28
40
|
*
|
|
29
|
-
* The `modes` prop is automatically
|
|
30
|
-
*
|
|
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
|
|
41
|
+
* The `modes` prop is automatically pushed down to every slot child via
|
|
42
|
+
* {@link cloneChildrenWithModes}; explicit child-level modes win over the
|
|
43
|
+
* parent's modes.
|
|
38
44
|
*
|
|
39
45
|
* @example
|
|
40
46
|
* ```tsx
|
|
41
|
-
* // Basic usage - modes are automatically passed to all children.
|
|
42
|
-
* // Non-IconButton children (e.g., Button) are auto-stretched to fill.
|
|
43
47
|
* <ActionFooter modes={modes}>
|
|
44
48
|
* <IconButton iconName="ic_split" />
|
|
45
|
-
* <Button label="Request" />
|
|
46
|
-
* <Button label="Pay" />
|
|
49
|
+
* <Button label="Request" modes={{ AppearanceBrand: 'Secondary' }} />
|
|
50
|
+
* <Button label="Pay" modes={{ AppearanceBrand: 'Primary' }} />
|
|
47
51
|
* </ActionFooter>
|
|
48
52
|
* ```
|
|
49
53
|
*/
|
|
50
54
|
declare function ActionFooter({ children, modes, style, accessibilityLabel, }: ActionFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
51
|
-
|
|
55
|
+
declare const _default: React.MemoExoticComponent<typeof ActionFooter>;
|
|
56
|
+
export default _default;
|
|
52
57
|
//# sourceMappingURL=ActionFooter.d.ts.map
|
|
@@ -27,8 +27,14 @@ export type AvatarProps = {
|
|
|
27
27
|
accessibilityLabel?: string;
|
|
28
28
|
onPress?: () => void;
|
|
29
29
|
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Explicit per-instance loading override. When `true`, renders a
|
|
32
|
+
* same-size circular skeleton instead of the avatar. Defaults to
|
|
33
|
+
* inheriting from the surrounding `<SkeletonGroup>`.
|
|
34
|
+
*/
|
|
35
|
+
loading?: boolean;
|
|
30
36
|
} & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityRole' | 'accessibilityLabel'>;
|
|
31
|
-
declare function Avatar({ monogram, style, modes, imageSource, accessibilityLabel: _accessibilityLabel, ...rest }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
declare function Avatar({ monogram, style, modes, imageSource, accessibilityLabel: _accessibilityLabel, loading, ...rest }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
32
38
|
declare const _default: React.MemoExoticComponent<typeof Avatar>;
|
|
33
39
|
export default _default;
|
|
34
40
|
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -10,7 +10,13 @@ type BadgeProps = {
|
|
|
10
10
|
accessibilityLabel?: string;
|
|
11
11
|
style?: ViewStyle;
|
|
12
12
|
labelStyle?: TextStyle;
|
|
13
|
+
/**
|
|
14
|
+
* Explicit per-instance loading override. When `true`, renders a
|
|
15
|
+
* badge-shaped skeleton placeholder instead of the badge. Defaults to
|
|
16
|
+
* inheriting from the surrounding `<SkeletonGroup>`.
|
|
17
|
+
*/
|
|
18
|
+
loading?: boolean;
|
|
13
19
|
} & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityLabel' | 'accessibilityRole'>;
|
|
14
|
-
declare function Badge({ label, modes, onPress, accessibilityLabel, style, labelStyle, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare function Badge({ label, modes, onPress, accessibilityLabel, style, labelStyle, loading, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
15
21
|
export default Badge;
|
|
16
22
|
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -40,6 +40,13 @@ export type ButtonProps = SafePressableProps & {
|
|
|
40
40
|
* Web-specific accessibility props (only used on web platform)
|
|
41
41
|
*/
|
|
42
42
|
webAccessibilityProps?: WebAccessibilityProps;
|
|
43
|
+
/**
|
|
44
|
+
* Explicit per-instance loading override. When `true`, the button renders
|
|
45
|
+
* as a pill-shaped skeleton of the same size; when `false`, the
|
|
46
|
+
* surrounding `<SkeletonGroup>` is ignored. Defaults to inheriting from
|
|
47
|
+
* the group.
|
|
48
|
+
*/
|
|
49
|
+
loading?: boolean;
|
|
43
50
|
};
|
|
44
51
|
/**
|
|
45
52
|
* Button component that maps directly to the Figma design using design tokens.
|
|
@@ -76,7 +83,7 @@ export type ButtonProps = SafePressableProps & {
|
|
|
76
83
|
* advantage of this should pass stable `modes` (the default `EMPTY_MODES`
|
|
77
84
|
* is already stable) and stable callback props.
|
|
78
85
|
*/
|
|
79
|
-
declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
declare function ButtonImpl({ label, children, renderContent, leading, trailing, icon, modes, onPress, disabled, style, labelStyle, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, loading, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
80
87
|
declare const Button: React.MemoExoticComponent<typeof ButtonImpl>;
|
|
81
88
|
export default Button;
|
|
82
89
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -53,7 +53,14 @@ export type CardBankAccountProps = {
|
|
|
53
53
|
* `false`/`null` to hide it entirely.
|
|
54
54
|
*/
|
|
55
55
|
footer?: React.ReactNode | false | null;
|
|
56
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`).
|
|
58
|
+
*
|
|
59
|
+
* Defaults to `{ 'Button / Size': 'S', AppearanceBrand: 'Secondary',
|
|
60
|
+
* Emphasis: 'Medium' }` so the footer button matches the Figma reference
|
|
61
|
+
* out of the box. Caller-supplied modes are merged on top and can
|
|
62
|
+
* override any of the default keys.
|
|
63
|
+
*/
|
|
57
64
|
modes?: Record<string, any>;
|
|
58
65
|
/** Container style override. */
|
|
59
66
|
style?: StyleProp<ViewStyle>;
|
|
@@ -74,6 +81,6 @@ export type CardBankAccountProps = {
|
|
|
74
81
|
* @component
|
|
75
82
|
* @param {CardBankAccountProps} props
|
|
76
83
|
*/
|
|
77
|
-
declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes, style, accessibilityLabel, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
declare function CardBankAccount({ institutionName, institutionAvatar, badge, headerSlot, items, children, buttonLabel, onButtonPress, footer, modes: propModes, style, accessibilityLabel, }: CardBankAccountProps): import("react/jsx-runtime").JSX.Element;
|
|
78
85
|
export default CardBankAccount;
|
|
79
86
|
//# sourceMappingURL=CardBankAccount.d.ts.map
|
|
@@ -12,9 +12,21 @@ export type CheckboxItemProps = {
|
|
|
12
12
|
/** The label text rendered next to the checkbox. */
|
|
13
13
|
label?: React.ReactNode;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Position of the checkbox control relative to the label.
|
|
16
|
+
* - `'leading'` (default): checkbox is rendered on the left, then label, then optional `endSlot` on the right.
|
|
17
|
+
* - `'trailing'`: optional `endSlot` is rendered on the left, then label, then checkbox on the right.
|
|
18
|
+
*
|
|
19
|
+
* Matches the Figma "Control" variant on the Checkbox Item component.
|
|
20
|
+
*/
|
|
21
|
+
control?: 'leading' | 'trailing';
|
|
22
|
+
/**
|
|
23
|
+
* Optional content rendered in the row's end slot (e.g. a `Button`). When provided,
|
|
16
24
|
* it receives the same `modes` as the parent. Wrapped in a fixed-width container
|
|
17
25
|
* matching the Figma `endSlot` design.
|
|
26
|
+
*
|
|
27
|
+
* Placement depends on `control`:
|
|
28
|
+
* - With `control="leading"` the slot appears on the right edge (after the label).
|
|
29
|
+
* - With `control="trailing"` the slot appears on the left edge (before the label).
|
|
18
30
|
*/
|
|
19
31
|
endSlot?: React.ReactNode;
|
|
20
32
|
/** Width of the end slot container in pixels. Defaults to 80 to match the Figma reference. */
|
|
@@ -33,6 +45,9 @@ export type CheckboxItemProps = {
|
|
|
33
45
|
* single horizontal pressable row. Pressing anywhere on the row (outside of the
|
|
34
46
|
* `endSlot`) toggles the checkbox, mirroring the typical native form pattern.
|
|
35
47
|
*
|
|
48
|
+
* Use the `control` prop to swap the checkbox between the leading (left, default)
|
|
49
|
+
* and trailing (right) edge of the row. The `endSlot` flips to the opposite edge.
|
|
50
|
+
*
|
|
36
51
|
* Mirrors the Figma "Checkbox Item" component and uses the `checkboxItem/*`
|
|
37
52
|
* design tokens for typography and spacing.
|
|
38
53
|
*
|
|
@@ -47,10 +62,11 @@ export type CheckboxItemProps = {
|
|
|
47
62
|
* label="Fixed deposit • 0245"
|
|
48
63
|
* checked={checked}
|
|
49
64
|
* onValueChange={setChecked}
|
|
65
|
+
* control="leading"
|
|
50
66
|
* modes={{ 'Color Mode': 'Light' }}
|
|
51
67
|
* />
|
|
52
68
|
* ```
|
|
53
69
|
*/
|
|
54
|
-
declare function CheckboxItem({ checked: controlledChecked, defaultChecked, onValueChange, disabled, label, endSlot, endSlotWidth, modes, style, labelStyle, accessibilityLabel, }: CheckboxItemProps): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
declare function CheckboxItem({ checked: controlledChecked, defaultChecked, onValueChange, disabled, label, control, endSlot, endSlotWidth, modes, style, labelStyle, accessibilityLabel, }: CheckboxItemProps): import("react/jsx-runtime").JSX.Element;
|
|
55
71
|
export default CheckboxItem;
|
|
56
72
|
//# sourceMappingURL=CheckboxItem.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
|
+
export type DropdownItemProps = {
|
|
4
|
+
/** Display text for the item. Ignored when `children` is provided. */
|
|
5
|
+
label?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Value associated with the item. Used by the parent `Dropdown` /
|
|
8
|
+
* `DropdownInput` to identify the selected item. Optional when the item
|
|
9
|
+
* is purely informational or used outside of a selection context.
|
|
10
|
+
*/
|
|
11
|
+
value?: string | number | null;
|
|
12
|
+
/** Whether the item is currently selected (renders the trailing check). */
|
|
13
|
+
selected?: boolean;
|
|
14
|
+
/** Whether the item is disabled and non-interactive. */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Optional element rendered before the label (icon, avatar, etc.). */
|
|
17
|
+
leading?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Optional element rendered after the label. When omitted and `selected`
|
|
20
|
+
* is true, a check icon is rendered automatically.
|
|
21
|
+
*/
|
|
22
|
+
trailing?: React.ReactNode;
|
|
23
|
+
/** Press handler. Receives the item's `value` if provided. */
|
|
24
|
+
onPress?: (value: DropdownItemProps['value']) => void;
|
|
25
|
+
/** Optional custom child content (overrides `label`). */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Modes for design token resolution. */
|
|
28
|
+
modes?: Record<string, any>;
|
|
29
|
+
/** Style overrides for the item container. */
|
|
30
|
+
style?: StyleProp<ViewStyle>;
|
|
31
|
+
/** Style overrides for the item label text. */
|
|
32
|
+
labelStyle?: StyleProp<TextStyle>;
|
|
33
|
+
/** Accessibility label (defaults to label / inferred from children). */
|
|
34
|
+
accessibilityLabel?: string;
|
|
35
|
+
/** Accessibility hint. */
|
|
36
|
+
accessibilityHint?: string;
|
|
37
|
+
};
|
|
38
|
+
export declare function DropdownItem({ label, value, selected, disabled, leading, trailing, onPress, children, modes: propModes, style, labelStyle, accessibilityLabel, accessibilityHint, }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export type DropdownProps = {
|
|
40
|
+
/** Dropdown items, typically `<DropdownItem />` children. */
|
|
41
|
+
children?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Maximum height of the popup before its content becomes scrollable.
|
|
44
|
+
* Defaults to no limit.
|
|
45
|
+
*/
|
|
46
|
+
maxHeight?: number;
|
|
47
|
+
/** Modes for design token resolution. */
|
|
48
|
+
modes?: Record<string, any>;
|
|
49
|
+
/** Style overrides for the popup container. */
|
|
50
|
+
style?: StyleProp<ViewStyle>;
|
|
51
|
+
/** Accessibility label for the menu surface. */
|
|
52
|
+
accessibilityLabel?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* `Dropdown` is the visual surface (popup) that contains a list of
|
|
56
|
+
* `DropdownItem`s. It is responsible for the background, rounded corners,
|
|
57
|
+
* elevation/shadow, and clipping. Use it standalone for menu UIs, or rely on
|
|
58
|
+
* `DropdownInput` which composes it into a form-field experience.
|
|
59
|
+
*/
|
|
60
|
+
export declare function Dropdown({ children, maxHeight, modes: propModes, style, accessibilityLabel, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export default Dropdown;
|
|
62
|
+
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type DropdownInputOptionValue = string | number;
|
|
4
|
+
export type DropdownInputOption = {
|
|
5
|
+
/** Stable, unique value used to identify the option. */
|
|
6
|
+
value: DropdownInputOptionValue;
|
|
7
|
+
/** Human-readable label rendered in the menu and selected display. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Optional element rendered before the label inside the item. */
|
|
10
|
+
leading?: React.ReactNode;
|
|
11
|
+
/** Optional element rendered after the label inside the item. */
|
|
12
|
+
trailing?: React.ReactNode;
|
|
13
|
+
/** Whether the option is non-selectable. */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type DropdownInputProps = {
|
|
17
|
+
/** Label rendered above the input. */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Placeholder text shown when no value is selected. */
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Data-driven list of options. Mutually compatible with `children`; if
|
|
23
|
+
* both are provided the `items` are rendered first.
|
|
24
|
+
*/
|
|
25
|
+
items?: DropdownInputOption[];
|
|
26
|
+
/**
|
|
27
|
+
* Currently selected value (controlled). When `value` is `undefined` the
|
|
28
|
+
* component operates in uncontrolled mode and keeps its own state.
|
|
29
|
+
*/
|
|
30
|
+
value?: DropdownInputOptionValue | null;
|
|
31
|
+
/** Initial selected value for uncontrolled mode. */
|
|
32
|
+
defaultValue?: DropdownInputOptionValue | null;
|
|
33
|
+
/** Called when the selected value changes. */
|
|
34
|
+
onValueChange?: (value: DropdownInputOptionValue | null, option?: DropdownInputOption) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Custom slot of `<DropdownItem />` children. Used when finer-grained
|
|
37
|
+
* control is needed (icons, custom layouts, etc.). When provided alongside
|
|
38
|
+
* `items`, both are rendered (items first).
|
|
39
|
+
*/
|
|
40
|
+
children?: React.ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Custom renderer for the trigger label. Receives the currently-selected
|
|
43
|
+
* option (if any) and a boolean indicating whether the field has a value.
|
|
44
|
+
*/
|
|
45
|
+
renderValue?: (option: DropdownInputOption | undefined, hasValue: boolean) => React.ReactNode;
|
|
46
|
+
/** Controlled open state. */
|
|
47
|
+
open?: boolean;
|
|
48
|
+
/** Initial open state for uncontrolled mode. */
|
|
49
|
+
defaultOpen?: boolean;
|
|
50
|
+
/** Called whenever the open state changes. */
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Preferred placement for the popup. The component falls back to the
|
|
54
|
+
* opposite side automatically when there isn't enough room.
|
|
55
|
+
* @default 'bottom'
|
|
56
|
+
*/
|
|
57
|
+
placement?: 'bottom' | 'top' | 'auto';
|
|
58
|
+
/** Renders a required asterisk next to the label. */
|
|
59
|
+
isRequired?: boolean;
|
|
60
|
+
/** Disables interaction and dims the field. */
|
|
61
|
+
isDisabled?: boolean;
|
|
62
|
+
/** Marks the field as invalid and shows `errorMessage`. */
|
|
63
|
+
isInvalid?: boolean;
|
|
64
|
+
/** Renders the field in read-only mode (non-interactive but not disabled). */
|
|
65
|
+
isReadOnly?: boolean;
|
|
66
|
+
/** Helper text displayed below the input. */
|
|
67
|
+
supportText?: string;
|
|
68
|
+
/** Replaces `supportText` when `isInvalid` is true. */
|
|
69
|
+
errorMessage?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Maximum height of the popup before it becomes scrollable. Helpful for
|
|
72
|
+
* long lists. Defaults to 240 (roughly 5 items).
|
|
73
|
+
*/
|
|
74
|
+
menuMaxHeight?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Pixel offset between the trigger and the popup. Defaults to 4 so the
|
|
77
|
+
* popup visually peeks below the input.
|
|
78
|
+
*/
|
|
79
|
+
menuOffset?: number;
|
|
80
|
+
/**
|
|
81
|
+
* When true, the popup width matches the trigger width. When false, the
|
|
82
|
+
* popup uses its intrinsic content width but never exceeds the trigger.
|
|
83
|
+
* @default true
|
|
84
|
+
*/
|
|
85
|
+
matchTriggerWidth?: boolean;
|
|
86
|
+
/** Whether tapping the backdrop closes the menu. */
|
|
87
|
+
closeOnBackdropPress?: boolean;
|
|
88
|
+
/** Modes for design token resolution. */
|
|
89
|
+
modes?: Record<string, any>;
|
|
90
|
+
/** Style overrides for the outermost wrapper. */
|
|
91
|
+
style?: StyleProp<ViewStyle>;
|
|
92
|
+
/** Style overrides for the input row. */
|
|
93
|
+
inputStyle?: StyleProp<ViewStyle>;
|
|
94
|
+
/** Style overrides for the popup container. */
|
|
95
|
+
menuStyle?: StyleProp<ViewStyle>;
|
|
96
|
+
/** Accessibility label. Defaults to the visible label / placeholder. */
|
|
97
|
+
accessibilityLabel?: string;
|
|
98
|
+
/** Accessibility hint. */
|
|
99
|
+
accessibilityHint?: string;
|
|
100
|
+
/** Called when the trigger receives focus (web only). */
|
|
101
|
+
onFocus?: (e: any) => void;
|
|
102
|
+
/** Called when the trigger loses focus (web only). */
|
|
103
|
+
onBlur?: (e: any) => void;
|
|
104
|
+
};
|
|
105
|
+
declare function DropdownInput({ label, placeholder, items, value, defaultValue, onValueChange, children, renderValue, open, defaultOpen, onOpenChange, placement, isRequired, isDisabled, isInvalid, isReadOnly, supportText, errorMessage, menuMaxHeight, menuOffset, matchTriggerWidth, closeOnBackdropPress, modes: propModes, style, inputStyle, menuStyle, accessibilityLabel, accessibilityHint, onFocus, onBlur, }: DropdownInputProps): import("react/jsx-runtime").JSX.Element;
|
|
106
|
+
export default DropdownInput;
|
|
107
|
+
//# sourceMappingURL=DropdownInput.d.ts.map
|
|
@@ -1,27 +1,84 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
export type FormFieldType = 'text' | 'password' | 'email' | 'search';
|
|
2
|
+
import { type StyleProp, type TextInputProps as RNTextInputProps, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
|
+
export type FormFieldType = 'text' | 'password' | 'email' | 'search' | 'number' | 'phone' | 'url';
|
|
4
4
|
export type FormFieldProps = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/** Label rendered above the input. */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Placeholder text shown when the input is empty. */
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
/** Current value of the input (controlled). */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** Called when the input text changes. */
|
|
12
|
+
onChangeText?: (text: string) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Logical input type. Mapped to keyboard, secure entry and capitalization.
|
|
15
|
+
* @default 'text'
|
|
16
|
+
*/
|
|
17
|
+
type?: FormFieldType;
|
|
18
|
+
/**
|
|
19
|
+
* Field name. When used inside `<Form>`, this is the key used to look up
|
|
20
|
+
* server-side `validationErrors` and to notify the form when the value
|
|
21
|
+
* changes so the error can clear.
|
|
22
|
+
*/
|
|
23
|
+
name?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Optional element rendered before the input text (Figma slot "start").
|
|
26
|
+
* No leading element is rendered by default — the Figma FormField design
|
|
27
|
+
* does not include one.
|
|
28
|
+
*/
|
|
10
29
|
leading?: React.ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Optional element rendered after the input text (Figma slot "end").
|
|
32
|
+
* Typically used for an inline button (e.g. "Apply", "Show") or a status
|
|
33
|
+
* icon.
|
|
34
|
+
*/
|
|
11
35
|
trailing?: React.ReactNode;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Convenience prop to render a built-in icon as the leading element.
|
|
38
|
+
* Ignored when `leading` is provided. Defaults to `undefined` — meaning
|
|
39
|
+
* no leading icon, matching the Figma design.
|
|
40
|
+
*/
|
|
41
|
+
leadingIconName?: string;
|
|
42
|
+
/** Shows a required asterisk next to the label. */
|
|
43
|
+
isRequired?: boolean;
|
|
44
|
+
/** Disables interaction and dims the field. Resolves to "Read Only" state. */
|
|
45
|
+
isDisabled?: boolean;
|
|
46
|
+
/** Marks the field as invalid and shows `errorMessage`. */
|
|
47
|
+
isInvalid?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Renders the field in read-only mode (non-interactive but not dimmed).
|
|
50
|
+
* Resolves to the "Read Only" state.
|
|
51
|
+
*/
|
|
52
|
+
isReadOnly?: boolean;
|
|
53
|
+
/** Helper text displayed below the input. */
|
|
54
|
+
supportText?: string;
|
|
55
|
+
/** Replaces `supportText` when `isInvalid` is true. */
|
|
56
|
+
errorMessage?: string;
|
|
57
|
+
/** Maximum number of characters accepted. */
|
|
58
|
+
maxLength?: number;
|
|
59
|
+
/** When true, focuses the input on mount. */
|
|
60
|
+
autoFocus?: boolean;
|
|
61
|
+
/** Modes for design token resolution. */
|
|
62
|
+
modes?: Record<string, any>;
|
|
63
|
+
/** Style overrides for the outermost wrapper. */
|
|
19
64
|
style?: StyleProp<ViewStyle>;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
65
|
+
/** Style overrides for the input row container. */
|
|
66
|
+
inputStyle?: StyleProp<ViewStyle>;
|
|
67
|
+
/** Style overrides for the input text. */
|
|
68
|
+
inputTextStyle?: StyleProp<TextStyle>;
|
|
69
|
+
/** Called when the input receives focus. */
|
|
70
|
+
onFocus?: RNTextInputProps['onFocus'];
|
|
71
|
+
/** Called when the input loses focus. */
|
|
72
|
+
onBlur?: RNTextInputProps['onBlur'];
|
|
73
|
+
/** Called when the user submits the input (e.g. presses return). */
|
|
74
|
+
onSubmitEditing?: RNTextInputProps['onSubmitEditing'];
|
|
75
|
+
/** Accessibility label. Defaults to `label` or `placeholder`. */
|
|
76
|
+
accessibilityLabel?: string;
|
|
77
|
+
/** Accessibility hint. */
|
|
78
|
+
accessibilityHint?: string;
|
|
79
|
+
/** Test identifier. */
|
|
80
|
+
testID?: string;
|
|
24
81
|
};
|
|
25
|
-
declare function FormField({ label, placeholder, value, onChangeText, type, leading, trailing, leadingIconName, isRequired, isDisabled, isInvalid, supportText, errorMessage, modes, style, onFocus, onBlur, accessibilityLabel, accessibilityHint, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
declare function FormField({ label, placeholder, value, onChangeText, type, name, leading, trailing, leadingIconName, isRequired, isDisabled, isInvalid, isReadOnly, supportText, errorMessage, maxLength, autoFocus, modes: propModes, style, inputStyle, inputTextStyle, onFocus, onBlur, onSubmitEditing, accessibilityLabel, accessibilityHint, testID, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
26
83
|
export default FormField;
|
|
27
84
|
//# sourceMappingURL=FormField.d.ts.map
|
|
@@ -54,8 +54,14 @@ type IconButtonProps = SafePressableProps & {
|
|
|
54
54
|
* Web-specific accessibility props (only used on web platform)
|
|
55
55
|
*/
|
|
56
56
|
webAccessibilityProps?: WebAccessibilityProps;
|
|
57
|
+
/**
|
|
58
|
+
* Explicit per-instance loading override. When `true`, renders a
|
|
59
|
+
* same-size pill-shaped skeleton instead of the button. Defaults to
|
|
60
|
+
* inheriting from the surrounding `<SkeletonGroup>`.
|
|
61
|
+
*/
|
|
62
|
+
loading?: boolean;
|
|
57
63
|
};
|
|
58
|
-
declare function IconButton({ iconName, source, modes, onPress, disabled, style, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, isToggle, activeIcon, activeSource, inactiveIcon, inactiveSource, isActive, ...rest }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
declare function IconButton({ iconName, source, modes, onPress, disabled, style, accessibilityLabel, accessibilityHint, accessibilityState, webAccessibilityProps, isToggle, activeIcon, activeSource, inactiveIcon, inactiveSource, isActive, loading, ...rest }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
59
65
|
declare const _default: React.MemoExoticComponent<typeof IconButton>;
|
|
60
66
|
export default _default;
|
|
61
67
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -38,8 +38,15 @@ export type ImageProps = {
|
|
|
38
38
|
/** Hide from the a11y tree (e.g. when image is purely decorative). */
|
|
39
39
|
accessibilityElementsHidden?: boolean | undefined;
|
|
40
40
|
importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants' | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Explicit per-instance loading override. When `true`, the image renders as
|
|
43
|
+
* a skeleton placeholder at the same box size; when `false`, the
|
|
44
|
+
* surrounding `<SkeletonGroup>` is ignored. Defaults to inheriting from
|
|
45
|
+
* the group.
|
|
46
|
+
*/
|
|
47
|
+
loading?: boolean | undefined;
|
|
41
48
|
};
|
|
42
|
-
declare function Image({ imageSource, ratio, resizeMode, width, height, borderRadius, style, accessibilityLabel, accessibilityElementsHidden, importantForAccessibility, }: ImageProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
declare function Image({ imageSource, ratio, resizeMode, width, height, borderRadius, style, accessibilityLabel, accessibilityElementsHidden, importantForAccessibility, loading, }: ImageProps): import("react/jsx-runtime").JSX.Element;
|
|
43
50
|
declare const _default: React.MemoExoticComponent<typeof Image>;
|
|
44
51
|
export default _default;
|
|
45
52
|
//# sourceMappingURL=Image.d.ts.map
|