@retray-dev/ui-kit 10.2.0 → 12.1.0
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/COMPONENTS.md +287 -37
- package/README.md +11 -2
- package/dist/Accordion.mjs +2 -2
- package/dist/AlertBanner.mjs +2 -2
- package/dist/AppHeader.mjs +3 -3
- package/dist/Avatar.mjs +2 -2
- package/dist/Badge.mjs +2 -2
- package/dist/Button.mjs +2 -2
- package/dist/Card.mjs +2 -2
- package/dist/CategoryStrip.mjs +2 -2
- package/dist/Checkbox.mjs +2 -2
- package/dist/Chip.mjs +2 -2
- package/dist/ConfirmDialog.d.mts +1 -6
- package/dist/ConfirmDialog.d.ts +1 -6
- package/dist/ConfirmDialog.js +29 -23
- package/dist/ConfirmDialog.mjs +3 -3
- package/dist/CurrencyDisplay.mjs +2 -2
- package/dist/CurrencyInput.d.mts +3 -8
- package/dist/CurrencyInput.d.ts +3 -8
- package/dist/CurrencyInput.js +3 -1
- package/dist/CurrencyInput.mjs +3 -3
- package/dist/DetailRow.mjs +2 -2
- package/dist/EmptyState.mjs +3 -3
- package/dist/ErrorBoundary.mjs +2 -2
- package/dist/Form.mjs +2 -2
- package/dist/IconButton.mjs +2 -2
- package/dist/IconPicker.js +675 -248
- package/dist/IconPicker.mjs +3 -2
- package/dist/ImageUpload.mjs +3 -3
- package/dist/ImageViewer.mjs +4 -4
- package/dist/Input.mjs +2 -2
- package/dist/LabelValue.mjs +2 -2
- package/dist/ListGroup.mjs +2 -2
- package/dist/ListItem.d.mts +7 -7
- package/dist/ListItem.d.ts +7 -7
- package/dist/ListItem.js +12 -7
- package/dist/ListItem.mjs +2 -2
- package/dist/MediaCard.mjs +2 -2
- package/dist/MenuGroup.mjs +2 -2
- package/dist/MenuItem.mjs +2 -2
- package/dist/MonthPicker.mjs +2 -2
- package/dist/NumberStepper.mjs +2 -2
- package/dist/PagerDots.mjs +2 -2
- package/dist/Pressable.d.mts +15 -7
- package/dist/Pressable.d.ts +15 -7
- package/dist/Pressable.js +7 -3
- package/dist/Pressable.mjs +1 -1
- package/dist/PricingCard.mjs +4 -4
- package/dist/Progress.mjs +2 -2
- package/dist/RadioGroup.mjs +2 -2
- package/dist/RetrayProvider.mjs +3 -3
- package/dist/Select.mjs +2 -2
- package/dist/SelectableGrid.mjs +2 -2
- package/dist/Separator.mjs +2 -2
- package/dist/Sheet.d.mts +4 -46
- package/dist/Sheet.d.ts +4 -46
- package/dist/Sheet.js +46 -114
- package/dist/Sheet.mjs +2 -3
- package/dist/SheetSelect.mjs +2 -2
- package/dist/Skeleton.mjs +2 -2
- package/dist/Slider.mjs +2 -2
- package/dist/Spinner.mjs +2 -2
- package/dist/Stats.d.mts +30 -0
- package/dist/Stats.d.ts +30 -0
- package/dist/Stats.js +429 -0
- package/dist/Stats.mjs +9 -0
- package/dist/Switch.mjs +2 -2
- package/dist/TabBar.mjs +2 -2
- package/dist/Tabs.mjs +2 -2
- package/dist/Text.d.mts +3 -1
- package/dist/Text.d.ts +3 -1
- package/dist/Text.js +3 -3
- package/dist/Text.mjs +2 -2
- package/dist/Textarea.mjs +2 -2
- package/dist/Toast.mjs +2 -2
- package/dist/Toggle.mjs +2 -2
- package/dist/{chunk-YJ7I257J.mjs → chunk-265G6A46.mjs} +1 -1
- package/dist/{chunk-ELXBDILQ.mjs → chunk-2A2LEFZG.mjs} +2 -2
- package/dist/{chunk-ID72TK46.mjs → chunk-2CBQKU7H.mjs} +1 -1
- package/dist/{chunk-OB4JUQ3O.mjs → chunk-2I2AYECM.mjs} +1 -1
- package/dist/{chunk-WJLKJMKR.mjs → chunk-357YO24D.mjs} +4 -4
- package/dist/{chunk-GQYFLP3D.mjs → chunk-3GEYJ7I5.mjs} +1 -1
- package/dist/{chunk-AV4EMIRH.mjs → chunk-3N2M3WZL.mjs} +1 -1
- package/dist/{chunk-VF2ATYN3.mjs → chunk-3UYAZ7I4.mjs} +1 -1
- package/dist/{chunk-JMOZEC77.mjs → chunk-4WFMPFZB.mjs} +1 -1
- package/dist/chunk-5OLNXP3S.mjs +144 -0
- package/dist/{chunk-6SECQ2ZF.mjs → chunk-7HSILTC4.mjs} +2 -2
- package/dist/{chunk-IRRY3CRZ.mjs → chunk-AKM4EPOT.mjs} +1 -1
- package/dist/{chunk-IX3NYLYQ.mjs → chunk-AQEVCEXV.mjs} +1 -1
- package/dist/{chunk-WBOOUHSS.mjs → chunk-BCWEHE34.mjs} +1 -1
- package/dist/{chunk-AJ7ZDNBT.mjs → chunk-BOVUP27T.mjs} +1 -1
- package/dist/{chunk-BRKYVJVV.mjs → chunk-BQZE3HAW.mjs} +1 -1
- package/dist/{chunk-Z6SFHN6T.mjs → chunk-D3Y2T42P.mjs} +1 -1
- package/dist/{chunk-T2KCAHOS.mjs → chunk-DF6DU42P.mjs} +1 -1
- package/dist/{chunk-TB6SD2FT.mjs → chunk-DI7CBDL6.mjs} +1 -1
- package/dist/{chunk-HTHGSXFG.mjs → chunk-DOGIPOF5.mjs} +1 -1
- package/dist/{chunk-MBMXYJJV.mjs → chunk-E7NEHHXV.mjs} +7 -3
- package/dist/{chunk-MX6HRKMI.mjs → chunk-EFLFRAHD.mjs} +1 -1
- package/dist/{chunk-SOYNZDVY.mjs → chunk-EMUWGDWC.mjs} +6 -1
- package/dist/{chunk-AJRVDP2H.mjs → chunk-F4V6XLP4.mjs} +3 -3
- package/dist/{chunk-DYT7BG5I.mjs → chunk-FA2KMTH5.mjs} +1 -1
- package/dist/{chunk-Y2NS74WS.mjs → chunk-FFTYLPSB.mjs} +46 -98
- package/dist/{chunk-VKID2D2I.mjs → chunk-FUVYSVGR.mjs} +13 -8
- package/dist/{chunk-7LWRKMF5.mjs → chunk-FVTVCJAH.mjs} +1 -1
- package/dist/{chunk-TZDGAP5N.mjs → chunk-GK4VRMNE.mjs} +2 -2
- package/dist/{chunk-6Q64UFIA.mjs → chunk-HJ46DTJE.mjs} +1 -1
- package/dist/{chunk-WF2XDFRK.mjs → chunk-HLMPMUK2.mjs} +1 -1
- package/dist/{chunk-GD6KXMG5.mjs → chunk-I4V5XZPS.mjs} +1 -1
- package/dist/{chunk-TBNZHU6C.mjs → chunk-ISY26JQJ.mjs} +2 -2
- package/dist/{chunk-X4G6APW6.mjs → chunk-J6Q2YJEV.mjs} +1 -1
- package/dist/{chunk-WYEUNUTP.mjs → chunk-JCZQOY4O.mjs} +31 -24
- package/dist/{chunk-U2XJFYED.mjs → chunk-JNVAIDLK.mjs} +1 -1
- package/dist/{chunk-SOA2Z4RB.mjs → chunk-JULSIZDM.mjs} +1 -1
- package/dist/chunk-KHYX4IOM.mjs +1114 -0
- package/dist/{chunk-RYZC432S.mjs → chunk-LRM4AVYY.mjs} +1 -1
- package/dist/{chunk-6L4G6PBT.mjs → chunk-MYZ2EDYU.mjs} +1 -1
- package/dist/{chunk-BUMAMSTZ.mjs → chunk-N4ZPVCJH.mjs} +1 -1
- package/dist/{chunk-Z4VHZ7B5.mjs → chunk-NXI4YDZ2.mjs} +1 -1
- package/dist/{chunk-ZZ2R6KZ3.mjs → chunk-OULVKTWL.mjs} +1 -1
- package/dist/{chunk-FCSSQK3L.mjs → chunk-P64WHW4A.mjs} +1 -1
- package/dist/{chunk-KOO4WITD.mjs → chunk-P73V2EKS.mjs} +1 -1
- package/dist/{chunk-SXLKNTA4.mjs → chunk-PGERH3P7.mjs} +1 -1
- package/dist/{chunk-2UYENBLV.mjs → chunk-QSFV2P7O.mjs} +1 -1
- package/dist/{chunk-JT7HKXRB.mjs → chunk-S3KJCPEJ.mjs} +1 -1
- package/dist/{chunk-BEMIQXXU.mjs → chunk-V6NFJXKO.mjs} +1 -1
- package/dist/{chunk-A3A6KNQN.mjs → chunk-WOEWGSTU.mjs} +1 -1
- package/dist/{chunk-NMU5FMQJ.mjs → chunk-X26S5EVZ.mjs} +4 -2
- package/dist/{chunk-YFZ3ELX5.mjs → chunk-XBAGGKLW.mjs} +2 -2
- package/dist/{chunk-S2R7UVOE.mjs → chunk-ZHMSAYLT.mjs} +1 -1
- package/dist/fonts.d.mts +1 -7
- package/dist/fonts.d.ts +1 -7
- package/dist/fonts.js +0 -2
- package/dist/fonts.mjs +1 -2
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1184 -708
- package/dist/index.mjs +53 -52
- package/package.json +3 -3
- package/src/components/ConfirmDialog/ConfirmDialog.tsx +39 -30
- package/src/components/CurrencyInput/CurrencyInput.tsx +4 -7
- package/src/components/IconPicker/IconPicker.tsx +124 -112
- package/src/components/ListItem/ListItem.tsx +43 -28
- package/src/components/Pressable/Pressable.tsx +20 -8
- package/src/components/Sheet/Sheet.tsx +64 -172
- package/src/components/Stats/Stats.tsx +226 -0
- package/src/components/Stats/index.ts +2 -0
- package/src/components/Text/Text.tsx +4 -2
- package/src/fonts.ts +0 -7
- package/src/index.ts +4 -0
- package/src/theme/colorUtils.ts +9 -0
- package/src/utils/curatedIcons.ts +698 -135
- package/src/utils/fontGuard.ts +2 -1
- package/dist/chunk-53Z3NYGE.mjs +0 -742
package/dist/IconPicker.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { IconPicker } from './chunk-
|
|
1
|
+
export { IconPicker } from './chunk-KHYX4IOM.mjs';
|
|
2
|
+
import './chunk-BCWEHE34.mjs';
|
|
2
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
3
4
|
import './chunk-QY3X2UYR.mjs';
|
|
4
5
|
import './chunk-KA7LTET3.mjs';
|
|
5
|
-
import './chunk-
|
|
6
|
+
import './chunk-EMUWGDWC.mjs';
|
|
6
7
|
import './chunk-2CE3TQVY.mjs';
|
|
7
8
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/ImageUpload.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ImageUpload } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { ImageUpload } from './chunk-GK4VRMNE.mjs';
|
|
2
|
+
import './chunk-BCWEHE34.mjs';
|
|
3
3
|
import './chunk-3DKJ2GIC.mjs';
|
|
4
4
|
import './chunk-EJ7ZPXOH.mjs';
|
|
5
5
|
import './chunk-DVK4G2GT.mjs';
|
|
6
6
|
import './chunk-QY3X2UYR.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/ImageViewer.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { ImageViewer } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { ImageViewer } from './chunk-2A2LEFZG.mjs';
|
|
2
|
+
import './chunk-OULVKTWL.mjs';
|
|
3
|
+
import './chunk-DF6DU42P.mjs';
|
|
4
4
|
import './chunk-3DKJ2GIC.mjs';
|
|
5
5
|
import './chunk-EJ7ZPXOH.mjs';
|
|
6
6
|
import './chunk-DVK4G2GT.mjs';
|
|
7
7
|
import './chunk-KA7LTET3.mjs';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-EMUWGDWC.mjs';
|
|
9
9
|
import './chunk-2CE3TQVY.mjs';
|
|
10
10
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Input.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Input } from './chunk-
|
|
1
|
+
export { Input } from './chunk-PGERH3P7.mjs';
|
|
2
2
|
import './chunk-DVK4G2GT.mjs';
|
|
3
3
|
import './chunk-KA7LTET3.mjs';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-EMUWGDWC.mjs';
|
|
5
5
|
import './chunk-2CE3TQVY.mjs';
|
|
6
6
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/LabelValue.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { LabelValue } from './chunk-
|
|
1
|
+
export { LabelValue } from './chunk-P64WHW4A.mjs';
|
|
2
2
|
import './chunk-KA7LTET3.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-EMUWGDWC.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/ListGroup.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ListGroup, ListGroupFooter, ListGroupHeader } from './chunk-
|
|
1
|
+
export { ListGroup, ListGroupFooter, ListGroupHeader } from './chunk-JULSIZDM.mjs';
|
|
2
2
|
import './chunk-QY3X2UYR.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-EMUWGDWC.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/ListItem.d.mts
CHANGED
|
@@ -15,13 +15,13 @@ interface ListItemProps {
|
|
|
15
15
|
leftRender?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Arbitrary content rendered on the right (badge, price, chevron, switch, etc.).
|
|
18
|
-
* Replaces the old `trailing` prop (still accepted as an alias).
|
|
19
18
|
*/
|
|
20
19
|
rightRender?: React.ReactNode | string;
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Multiple action buttons rendered on the right with automatic gap.
|
|
22
|
+
* Takes precedence over `rightRender` and `showChevron`.
|
|
23
|
+
*/
|
|
24
|
+
rightActions?: React.ReactNode[];
|
|
25
25
|
/**
|
|
26
26
|
* Icon name from `@expo/vector-icons` rendered in the left slot.
|
|
27
27
|
* See https://icons.expo.fyi. Takes precedence over `leftRender`.
|
|
@@ -46,7 +46,7 @@ interface ListItemProps {
|
|
|
46
46
|
* - `card`: standalone surface with background, border and shadow.
|
|
47
47
|
*/
|
|
48
48
|
variant?: ListItemVariant;
|
|
49
|
-
/** Show a right-pointing chevron on the far right. Ignored when `rightRender` / `
|
|
49
|
+
/** Show a right-pointing chevron on the far right. Ignored when `rightRender` / `rightActions` / `rightIcon` is set. */
|
|
50
50
|
showChevron?: boolean;
|
|
51
51
|
/** Visual separator line at the bottom of the item. Useful when rendering multiple plain items in a list. */
|
|
52
52
|
showSeparator?: boolean;
|
|
@@ -65,7 +65,7 @@ interface ListItemProps {
|
|
|
65
65
|
/** Accessibility label override. Defaults to the title. */
|
|
66
66
|
accessibilityLabel?: string;
|
|
67
67
|
}
|
|
68
|
-
declare function ListItemBase({ imageSource, leftRender, rightRender,
|
|
68
|
+
declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, }: ListItemProps): React.JSX.Element;
|
|
69
69
|
declare const ListItem: React.MemoExoticComponent<typeof ListItemBase>;
|
|
70
70
|
|
|
71
71
|
export { ListItem, type ListItemProps };
|
package/dist/ListItem.d.ts
CHANGED
|
@@ -15,13 +15,13 @@ interface ListItemProps {
|
|
|
15
15
|
leftRender?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Arbitrary content rendered on the right (badge, price, chevron, switch, etc.).
|
|
18
|
-
* Replaces the old `trailing` prop (still accepted as an alias).
|
|
19
18
|
*/
|
|
20
19
|
rightRender?: React.ReactNode | string;
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Multiple action buttons rendered on the right with automatic gap.
|
|
22
|
+
* Takes precedence over `rightRender` and `showChevron`.
|
|
23
|
+
*/
|
|
24
|
+
rightActions?: React.ReactNode[];
|
|
25
25
|
/**
|
|
26
26
|
* Icon name from `@expo/vector-icons` rendered in the left slot.
|
|
27
27
|
* See https://icons.expo.fyi. Takes precedence over `leftRender`.
|
|
@@ -46,7 +46,7 @@ interface ListItemProps {
|
|
|
46
46
|
* - `card`: standalone surface with background, border and shadow.
|
|
47
47
|
*/
|
|
48
48
|
variant?: ListItemVariant;
|
|
49
|
-
/** Show a right-pointing chevron on the far right. Ignored when `rightRender` / `
|
|
49
|
+
/** Show a right-pointing chevron on the far right. Ignored when `rightRender` / `rightActions` / `rightIcon` is set. */
|
|
50
50
|
showChevron?: boolean;
|
|
51
51
|
/** Visual separator line at the bottom of the item. Useful when rendering multiple plain items in a list. */
|
|
52
52
|
showSeparator?: boolean;
|
|
@@ -65,7 +65,7 @@ interface ListItemProps {
|
|
|
65
65
|
/** Accessibility label override. Defaults to the title. */
|
|
66
66
|
accessibilityLabel?: string;
|
|
67
67
|
}
|
|
68
|
-
declare function ListItemBase({ imageSource, leftRender, rightRender,
|
|
68
|
+
declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, }: ListItemProps): React.JSX.Element;
|
|
69
69
|
declare const ListItem: React.MemoExoticComponent<typeof ListItemBase>;
|
|
70
70
|
|
|
71
71
|
export { ListItem, type ListItemProps };
|
package/dist/ListItem.js
CHANGED
|
@@ -297,8 +297,7 @@ function ListItemBase({
|
|
|
297
297
|
imageSource,
|
|
298
298
|
leftRender,
|
|
299
299
|
rightRender,
|
|
300
|
-
|
|
301
|
-
icon,
|
|
300
|
+
rightActions,
|
|
302
301
|
leftIcon,
|
|
303
302
|
rightIcon,
|
|
304
303
|
leftIconColor,
|
|
@@ -323,8 +322,8 @@ function ListItemBase({
|
|
|
323
322
|
selectionAsync();
|
|
324
323
|
onPress?.();
|
|
325
324
|
};
|
|
326
|
-
const effectiveLeft = imageSource ? /* @__PURE__ */ React3__default.default.createElement(reactNative.Image, { source: imageSource, style: styles.image }) : leftIcon ? renderIcon(leftIcon, 24, leftIconColor ?? colors.foreground) : leftRender
|
|
327
|
-
const
|
|
325
|
+
const effectiveLeft = imageSource ? /* @__PURE__ */ React3__default.default.createElement(reactNative.Image, { source: imageSource, style: styles.image }) : leftIcon ? renderIcon(leftIcon, 24, leftIconColor ?? colors.foreground) : leftRender;
|
|
326
|
+
const hasRightContent = !!(rightIcon || rightActions && rightActions.length > 0 || rightRender !== void 0 || showChevron);
|
|
328
327
|
const cardStyle = variant === "card" ? {
|
|
329
328
|
backgroundColor: colors.card,
|
|
330
329
|
borderRadius: RADIUS.md,
|
|
@@ -361,14 +360,14 @@ function ListItemBase({
|
|
|
361
360
|
allowFontScaling: true
|
|
362
361
|
},
|
|
363
362
|
caption
|
|
364
|
-
) : null),
|
|
363
|
+
) : null), hasRightContent ? rightIcon ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles.rightContainer }, renderIcon(rightIcon, 24, rightIconColor ?? colors.foregroundMuted)) : rightActions && rightActions.length > 0 ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles.rightActionsContainer }, rightActions.map((action, i) => /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, { key: i }, action))) : rightRender !== void 0 ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles.rightContainer }, typeof rightRender === "string" ? /* @__PURE__ */ React3__default.default.createElement(
|
|
365
364
|
reactNative.Text,
|
|
366
365
|
{
|
|
367
366
|
style: [styles.rightText, { color: colors.foregroundMuted }],
|
|
368
367
|
allowFontScaling: true
|
|
369
368
|
},
|
|
370
|
-
|
|
371
|
-
) :
|
|
369
|
+
rightRender
|
|
370
|
+
) : rightRender) : showChevron ? /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Entypo, { name: "chevron-with-circle-right", size: 20, color: colors.foregroundMuted }) : null : null);
|
|
372
371
|
if (onPress) {
|
|
373
372
|
return /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: disabled && styles.disabled }, /* @__PURE__ */ React3__default.default.createElement(
|
|
374
373
|
PressableRow,
|
|
@@ -435,6 +434,12 @@ var styles = reactNative.StyleSheet.create({
|
|
|
435
434
|
flexShrink: 0,
|
|
436
435
|
maxWidth: s(160)
|
|
437
436
|
},
|
|
437
|
+
rightActionsContainer: {
|
|
438
|
+
flexDirection: "row",
|
|
439
|
+
alignItems: "center",
|
|
440
|
+
gap: s(8),
|
|
441
|
+
flexShrink: 0
|
|
442
|
+
},
|
|
438
443
|
rightText: {
|
|
439
444
|
fontFamily: "Sohne-Regular",
|
|
440
445
|
fontSize: ms(14)
|
package/dist/ListItem.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ListItem } from './chunk-
|
|
1
|
+
export { ListItem } from './chunk-FUVYSVGR.mjs';
|
|
2
2
|
import './chunk-3DKJ2GIC.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
5
|
import './chunk-QY3X2UYR.mjs';
|
|
6
6
|
import './chunk-KA7LTET3.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MediaCard.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { MediaCard } from './chunk-
|
|
1
|
+
export { MediaCard } from './chunk-AQEVCEXV.mjs';
|
|
2
2
|
import './chunk-YNROWHQJ.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
5
|
import './chunk-QY3X2UYR.mjs';
|
|
6
6
|
import './chunk-KA7LTET3.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MenuGroup.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MenuGroup, MenuGroupFooter, MenuGroupHeader } from './chunk-
|
|
1
|
+
export { MenuGroup, MenuGroupFooter, MenuGroupHeader } from './chunk-AKM4EPOT.mjs';
|
|
2
2
|
import './chunk-QY3X2UYR.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-EMUWGDWC.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MenuItem.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { MenuItem } from './chunk-
|
|
1
|
+
export { MenuItem } from './chunk-DI7CBDL6.mjs';
|
|
2
2
|
import './chunk-3DKJ2GIC.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
5
|
import './chunk-QY3X2UYR.mjs';
|
|
6
6
|
import './chunk-KA7LTET3.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MonthPicker.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MonthPicker, dateToMonthPickerValue, monthPickerValueToDate } from './chunk-
|
|
1
|
+
export { MonthPicker, dateToMonthPickerValue, monthPickerValueToDate } from './chunk-I4V5XZPS.mjs';
|
|
2
2
|
import './chunk-EJ7ZPXOH.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-EMUWGDWC.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/NumberStepper.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { NumberStepper } from './chunk-
|
|
1
|
+
export { NumberStepper } from './chunk-N4ZPVCJH.mjs';
|
|
2
2
|
import './chunk-3DKJ2GIC.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
5
|
import './chunk-QY3X2UYR.mjs';
|
|
6
6
|
import './chunk-KA7LTET3.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/PagerDots.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { PagerDots } from './chunk-
|
|
1
|
+
export { PagerDots } from './chunk-OULVKTWL.mjs';
|
|
2
2
|
import './chunk-EJ7ZPXOH.mjs';
|
|
3
3
|
import './chunk-DVK4G2GT.mjs';
|
|
4
4
|
import './chunk-KA7LTET3.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-EMUWGDWC.mjs';
|
|
6
6
|
import './chunk-2CE3TQVY.mjs';
|
|
7
7
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Pressable.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ViewStyle } from 'react-native';
|
|
2
|
+
import { ViewStyle, AccessibilityRole } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface PressableProps {
|
|
5
5
|
/** Children content to render inside the pressable. */
|
|
@@ -8,11 +8,6 @@ interface PressableProps {
|
|
|
8
8
|
onPress?: () => void;
|
|
9
9
|
/** Scale value on press. Defaults to `0.98` (MediaCard-style). */
|
|
10
10
|
pressScale?: number;
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Use Reanimated spring config via `pressOutSpring` instead. Ignored.
|
|
13
|
-
* Kept for backwards compatibility with v6.x consumers.
|
|
14
|
-
*/
|
|
15
|
-
bounciness?: number;
|
|
16
11
|
/** Enable haptic feedback on press. Defaults to `true`. */
|
|
17
12
|
haptics?: boolean;
|
|
18
13
|
/** Additional style for the wrapper. */
|
|
@@ -21,6 +16,19 @@ interface PressableProps {
|
|
|
21
16
|
disabled?: boolean;
|
|
22
17
|
/** Hover scale (web only). Defaults to `1.02`. Set to `1` to disable. */
|
|
23
18
|
hoverScale?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Accessibility role for the pressable element.
|
|
21
|
+
* Defaults to `"button"`.
|
|
22
|
+
*/
|
|
23
|
+
accessibilityRole?: AccessibilityRole;
|
|
24
|
+
/**
|
|
25
|
+
* Accessibility state for screen readers.
|
|
26
|
+
* Used to communicate states like `selected`, `expanded`, `checked`, etc.
|
|
27
|
+
* Defaults to `{ disabled: !!disabled }`.
|
|
28
|
+
*/
|
|
29
|
+
accessibilityState?: Record<string, unknown>;
|
|
30
|
+
/** Accessibility label for screen readers. */
|
|
31
|
+
accessibilityLabel?: string;
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
26
34
|
* Generic pressable with a calibrated spring bounce — Apple HIG / Airbnb feel.
|
|
@@ -29,6 +37,6 @@ interface PressableProps {
|
|
|
29
37
|
* Use this for any custom pressable surface that needs consistent press feel
|
|
30
38
|
* (cards, list rows, image tiles, etc).
|
|
31
39
|
*/
|
|
32
|
-
declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, }: PressableProps): React.JSX.Element;
|
|
40
|
+
declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, accessibilityRole, accessibilityState, accessibilityLabel, }: PressableProps): React.JSX.Element;
|
|
33
41
|
|
|
34
42
|
export { Pressable, type PressableProps };
|
package/dist/Pressable.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ViewStyle } from 'react-native';
|
|
2
|
+
import { ViewStyle, AccessibilityRole } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface PressableProps {
|
|
5
5
|
/** Children content to render inside the pressable. */
|
|
@@ -8,11 +8,6 @@ interface PressableProps {
|
|
|
8
8
|
onPress?: () => void;
|
|
9
9
|
/** Scale value on press. Defaults to `0.98` (MediaCard-style). */
|
|
10
10
|
pressScale?: number;
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Use Reanimated spring config via `pressOutSpring` instead. Ignored.
|
|
13
|
-
* Kept for backwards compatibility with v6.x consumers.
|
|
14
|
-
*/
|
|
15
|
-
bounciness?: number;
|
|
16
11
|
/** Enable haptic feedback on press. Defaults to `true`. */
|
|
17
12
|
haptics?: boolean;
|
|
18
13
|
/** Additional style for the wrapper. */
|
|
@@ -21,6 +16,19 @@ interface PressableProps {
|
|
|
21
16
|
disabled?: boolean;
|
|
22
17
|
/** Hover scale (web only). Defaults to `1.02`. Set to `1` to disable. */
|
|
23
18
|
hoverScale?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Accessibility role for the pressable element.
|
|
21
|
+
* Defaults to `"button"`.
|
|
22
|
+
*/
|
|
23
|
+
accessibilityRole?: AccessibilityRole;
|
|
24
|
+
/**
|
|
25
|
+
* Accessibility state for screen readers.
|
|
26
|
+
* Used to communicate states like `selected`, `expanded`, `checked`, etc.
|
|
27
|
+
* Defaults to `{ disabled: !!disabled }`.
|
|
28
|
+
*/
|
|
29
|
+
accessibilityState?: Record<string, unknown>;
|
|
30
|
+
/** Accessibility label for screen readers. */
|
|
31
|
+
accessibilityLabel?: string;
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
26
34
|
* Generic pressable with a calibrated spring bounce — Apple HIG / Airbnb feel.
|
|
@@ -29,6 +37,6 @@ interface PressableProps {
|
|
|
29
37
|
* Use this for any custom pressable surface that needs consistent press feel
|
|
30
38
|
* (cards, list rows, image tiles, etc).
|
|
31
39
|
*/
|
|
32
|
-
declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, }: PressableProps): React.JSX.Element;
|
|
40
|
+
declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, accessibilityRole, accessibilityState, accessibilityLabel, }: PressableProps): React.JSX.Element;
|
|
33
41
|
|
|
34
42
|
export { Pressable, type PressableProps };
|
package/dist/Pressable.js
CHANGED
|
@@ -117,7 +117,10 @@ function Pressable({
|
|
|
117
117
|
haptics = true,
|
|
118
118
|
style,
|
|
119
119
|
disabled,
|
|
120
|
-
hoverScale: _hoverScale = 1.02
|
|
120
|
+
hoverScale: _hoverScale = 1.02,
|
|
121
|
+
accessibilityRole,
|
|
122
|
+
accessibilityState,
|
|
123
|
+
accessibilityLabel
|
|
121
124
|
}) {
|
|
122
125
|
const handlePress = () => {
|
|
123
126
|
if (disabled || !onPress) return;
|
|
@@ -133,8 +136,9 @@ function Pressable({
|
|
|
133
136
|
rippleColor: "transparent",
|
|
134
137
|
touchSoundDisabled: true,
|
|
135
138
|
activateOnHover: true,
|
|
136
|
-
accessibilityRole: "button",
|
|
137
|
-
accessibilityState: { disabled: !!disabled }
|
|
139
|
+
accessibilityRole: accessibilityRole ?? "button",
|
|
140
|
+
accessibilityState: accessibilityState ?? { disabled: !!disabled },
|
|
141
|
+
accessibilityLabel
|
|
138
142
|
},
|
|
139
143
|
children
|
|
140
144
|
);
|
package/dist/Pressable.mjs
CHANGED
package/dist/PricingCard.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { PricingCard } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { PricingCard } from './chunk-F4V6XLP4.mjs';
|
|
2
|
+
import './chunk-3UYAZ7I4.mjs';
|
|
3
|
+
import './chunk-DOGIPOF5.mjs';
|
|
4
4
|
import './chunk-3DKJ2GIC.mjs';
|
|
5
5
|
import './chunk-EJ7ZPXOH.mjs';
|
|
6
6
|
import './chunk-DVK4G2GT.mjs';
|
|
7
7
|
import './chunk-QY3X2UYR.mjs';
|
|
8
8
|
import './chunk-KA7LTET3.mjs';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-EMUWGDWC.mjs';
|
|
10
10
|
import './chunk-2CE3TQVY.mjs';
|
|
11
11
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Progress.mjs
CHANGED
package/dist/RadioGroup.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { RadioGroup } from './chunk-
|
|
1
|
+
export { RadioGroup } from './chunk-J6Q2YJEV.mjs';
|
|
2
2
|
import './chunk-YNROWHQJ.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-EMUWGDWC.mjs';
|
|
6
6
|
import './chunk-2CE3TQVY.mjs';
|
|
7
7
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/RetrayProvider.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { RetrayProvider } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { RetrayProvider } from './chunk-XBAGGKLW.mjs';
|
|
2
|
+
import './chunk-QSFV2P7O.mjs';
|
|
3
|
+
import './chunk-EMUWGDWC.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Select.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { Select } from './chunk-
|
|
1
|
+
export { Select } from './chunk-WOEWGSTU.mjs';
|
|
2
2
|
import './chunk-YNROWHQJ.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-EMUWGDWC.mjs';
|
|
6
6
|
import './chunk-2CE3TQVY.mjs';
|
|
7
7
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/SelectableGrid.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { SelectableGrid } from './chunk-
|
|
1
|
+
export { SelectableGrid } from './chunk-NXI4YDZ2.mjs';
|
|
2
2
|
import './chunk-YNROWHQJ.mjs';
|
|
3
3
|
import './chunk-EJ7ZPXOH.mjs';
|
|
4
4
|
import './chunk-DVK4G2GT.mjs';
|
|
5
5
|
import './chunk-QY3X2UYR.mjs';
|
|
6
6
|
import './chunk-KA7LTET3.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-EMUWGDWC.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Separator.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Separator } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { Separator } from './chunk-EFLFRAHD.mjs';
|
|
2
|
+
import './chunk-EMUWGDWC.mjs';
|
|
3
3
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Sheet.d.mts
CHANGED
|
@@ -18,72 +18,30 @@ interface SheetProps {
|
|
|
18
18
|
open: boolean;
|
|
19
19
|
onClose: () => void;
|
|
20
20
|
title?: string;
|
|
21
|
-
/** Secondary text below title. */
|
|
22
21
|
subtitle?: string;
|
|
23
|
-
/** @deprecated Use `subtitle` instead. */
|
|
24
|
-
description?: string;
|
|
25
|
-
/** Show an X close button in the header. */
|
|
26
22
|
showCloseButton?: boolean;
|
|
27
23
|
children?: React.ReactNode;
|
|
28
|
-
/** Style for the inner content container. */
|
|
29
24
|
style?: ViewStyle;
|
|
30
|
-
/** Style for the content wrapper (outside the scroll container). */
|
|
31
25
|
contentStyle?: ViewStyle;
|
|
32
|
-
/** Render children inside BottomSheetScrollView. */
|
|
26
|
+
/** Render children inside BottomSheetScrollView instead of BottomSheetView. */
|
|
33
27
|
scrollable?: boolean;
|
|
34
|
-
/** Cap sheet height (dp).
|
|
28
|
+
/** Cap sheet height (dp). Content scrolls when exceeding this value. Requires `scrollable`. */
|
|
35
29
|
maxHeight?: number;
|
|
36
|
-
/**
|
|
37
|
-
* Keyboard behavior — how the sheet responds to keyboard appearance.
|
|
38
|
-
* - 'interactive': offset sheet by keyboard size (default, works on both platforms)
|
|
39
|
-
* - 'fillParent': extend sheet to fill parent view (can cause restore issues with dynamic sizing)
|
|
40
|
-
* - 'extend': extend sheet to maximum snap point
|
|
41
|
-
*
|
|
42
|
-
* Default: 'interactive' on both platforms.
|
|
43
|
-
*/
|
|
44
30
|
keyboardBehavior?: 'extend' | 'fillParent' | 'interactive';
|
|
45
|
-
/**
|
|
46
|
-
* Keyboard blur behavior — what happens when keyboard dismisses.
|
|
47
|
-
* - 'none': do nothing
|
|
48
|
-
* - 'restore': restore sheet to previous position (default)
|
|
49
|
-
*/
|
|
50
31
|
keyboardBlurBehavior?: 'none' | 'restore';
|
|
51
|
-
/**
|
|
52
|
-
* Blur keyboard when user starts dragging the sheet down.
|
|
53
|
-
* Default: true (recommended for better UX)
|
|
54
|
-
*/
|
|
55
32
|
enableBlurKeyboardOnGesture?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Android-only: defines keyboard input mode.
|
|
58
|
-
* - 'adjustPan': pan the sheet content (default, fixes restore issues with dynamic sizing)
|
|
59
|
-
* - 'adjustResize': resize the sheet container (can cause transparent gap on dismiss)
|
|
60
|
-
*/
|
|
61
33
|
android_keyboardInputMode?: 'adjustPan' | 'adjustResize';
|
|
62
|
-
/** Sticky footer rendered below the scroll area. */
|
|
63
34
|
footer?: React.ReactNode;
|
|
64
35
|
/**
|
|
65
|
-
* Array of snap points
|
|
36
|
+
* Array of snap points (e.g., ['50%', '85%'] or [200, 500]).
|
|
66
37
|
* When provided, disables enableDynamicSizing.
|
|
67
|
-
* When omitted, sheet uses dynamic sizing (auto-fits content).
|
|
68
38
|
*/
|
|
69
39
|
snapPoints?: (string | number)[];
|
|
70
|
-
/**
|
|
71
|
-
* When true, render as a centered modal dialog on wide screens (width ≥
|
|
72
|
-
* `BREAKPOINTS.wide`) instead of a bottom sheet. On narrow screens it stays a
|
|
73
|
-
* bottom sheet. Use for store/category/picker dialogs that should feel native
|
|
74
|
-
* on tablets and web.
|
|
75
|
-
*
|
|
76
|
-
* Note: the centered-dialog path uses a plain RN `Modal`, so `SheetTextInput`
|
|
77
|
-
* is not required there — use a regular `TextInput`.
|
|
78
|
-
*/
|
|
79
|
-
responsive?: boolean;
|
|
80
|
-
/** Max width of the centered dialog (dp). Only applies when `responsive`. Defaults to 480. */
|
|
81
|
-
dialogMaxWidth?: number;
|
|
82
40
|
}
|
|
83
41
|
declare function SheetHeader({ children, style }: SheetHeaderProps): React.JSX.Element;
|
|
84
42
|
declare function SheetContent({ children, style }: SheetContentProps): React.JSX.Element;
|
|
85
43
|
declare function SheetFooter({ children, style }: SheetFooterProps): React.JSX.Element;
|
|
86
|
-
declare function Sheet({ open, onClose, title, subtitle,
|
|
44
|
+
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps): React.JSX.Element;
|
|
87
45
|
declare namespace Sheet {
|
|
88
46
|
var Header: typeof SheetHeader;
|
|
89
47
|
var Content: typeof SheetContent;
|
package/dist/Sheet.d.ts
CHANGED
|
@@ -18,72 +18,30 @@ interface SheetProps {
|
|
|
18
18
|
open: boolean;
|
|
19
19
|
onClose: () => void;
|
|
20
20
|
title?: string;
|
|
21
|
-
/** Secondary text below title. */
|
|
22
21
|
subtitle?: string;
|
|
23
|
-
/** @deprecated Use `subtitle` instead. */
|
|
24
|
-
description?: string;
|
|
25
|
-
/** Show an X close button in the header. */
|
|
26
22
|
showCloseButton?: boolean;
|
|
27
23
|
children?: React.ReactNode;
|
|
28
|
-
/** Style for the inner content container. */
|
|
29
24
|
style?: ViewStyle;
|
|
30
|
-
/** Style for the content wrapper (outside the scroll container). */
|
|
31
25
|
contentStyle?: ViewStyle;
|
|
32
|
-
/** Render children inside BottomSheetScrollView. */
|
|
26
|
+
/** Render children inside BottomSheetScrollView instead of BottomSheetView. */
|
|
33
27
|
scrollable?: boolean;
|
|
34
|
-
/** Cap sheet height (dp).
|
|
28
|
+
/** Cap sheet height (dp). Content scrolls when exceeding this value. Requires `scrollable`. */
|
|
35
29
|
maxHeight?: number;
|
|
36
|
-
/**
|
|
37
|
-
* Keyboard behavior — how the sheet responds to keyboard appearance.
|
|
38
|
-
* - 'interactive': offset sheet by keyboard size (default, works on both platforms)
|
|
39
|
-
* - 'fillParent': extend sheet to fill parent view (can cause restore issues with dynamic sizing)
|
|
40
|
-
* - 'extend': extend sheet to maximum snap point
|
|
41
|
-
*
|
|
42
|
-
* Default: 'interactive' on both platforms.
|
|
43
|
-
*/
|
|
44
30
|
keyboardBehavior?: 'extend' | 'fillParent' | 'interactive';
|
|
45
|
-
/**
|
|
46
|
-
* Keyboard blur behavior — what happens when keyboard dismisses.
|
|
47
|
-
* - 'none': do nothing
|
|
48
|
-
* - 'restore': restore sheet to previous position (default)
|
|
49
|
-
*/
|
|
50
31
|
keyboardBlurBehavior?: 'none' | 'restore';
|
|
51
|
-
/**
|
|
52
|
-
* Blur keyboard when user starts dragging the sheet down.
|
|
53
|
-
* Default: true (recommended for better UX)
|
|
54
|
-
*/
|
|
55
32
|
enableBlurKeyboardOnGesture?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Android-only: defines keyboard input mode.
|
|
58
|
-
* - 'adjustPan': pan the sheet content (default, fixes restore issues with dynamic sizing)
|
|
59
|
-
* - 'adjustResize': resize the sheet container (can cause transparent gap on dismiss)
|
|
60
|
-
*/
|
|
61
33
|
android_keyboardInputMode?: 'adjustPan' | 'adjustResize';
|
|
62
|
-
/** Sticky footer rendered below the scroll area. */
|
|
63
34
|
footer?: React.ReactNode;
|
|
64
35
|
/**
|
|
65
|
-
* Array of snap points
|
|
36
|
+
* Array of snap points (e.g., ['50%', '85%'] or [200, 500]).
|
|
66
37
|
* When provided, disables enableDynamicSizing.
|
|
67
|
-
* When omitted, sheet uses dynamic sizing (auto-fits content).
|
|
68
38
|
*/
|
|
69
39
|
snapPoints?: (string | number)[];
|
|
70
|
-
/**
|
|
71
|
-
* When true, render as a centered modal dialog on wide screens (width ≥
|
|
72
|
-
* `BREAKPOINTS.wide`) instead of a bottom sheet. On narrow screens it stays a
|
|
73
|
-
* bottom sheet. Use for store/category/picker dialogs that should feel native
|
|
74
|
-
* on tablets and web.
|
|
75
|
-
*
|
|
76
|
-
* Note: the centered-dialog path uses a plain RN `Modal`, so `SheetTextInput`
|
|
77
|
-
* is not required there — use a regular `TextInput`.
|
|
78
|
-
*/
|
|
79
|
-
responsive?: boolean;
|
|
80
|
-
/** Max width of the centered dialog (dp). Only applies when `responsive`. Defaults to 480. */
|
|
81
|
-
dialogMaxWidth?: number;
|
|
82
40
|
}
|
|
83
41
|
declare function SheetHeader({ children, style }: SheetHeaderProps): React.JSX.Element;
|
|
84
42
|
declare function SheetContent({ children, style }: SheetContentProps): React.JSX.Element;
|
|
85
43
|
declare function SheetFooter({ children, style }: SheetFooterProps): React.JSX.Element;
|
|
86
|
-
declare function Sheet({ open, onClose, title, subtitle,
|
|
44
|
+
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps): React.JSX.Element;
|
|
87
45
|
declare namespace Sheet {
|
|
88
46
|
var Header: typeof SheetHeader;
|
|
89
47
|
var Content: typeof SheetContent;
|