@retray-dev/ui-kit 10.1.0 → 10.2.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 +136 -5
- package/README.md +4 -4
- package/dist/Accordion.js +1 -1
- package/dist/Accordion.mjs +2 -2
- package/dist/AlertBanner.js +1 -1
- package/dist/AlertBanner.mjs +2 -2
- package/dist/AppHeader.js +1 -1
- package/dist/AppHeader.mjs +3 -3
- package/dist/Badge.js +1 -1
- package/dist/Badge.mjs +2 -2
- package/dist/Button.js +1 -1
- package/dist/Button.mjs +2 -2
- package/dist/CategoryStrip.js +1 -1
- package/dist/CategoryStrip.mjs +2 -2
- package/dist/Chip.js +1 -1
- package/dist/Chip.mjs +2 -2
- package/dist/ConfirmDialog.js +1 -1
- package/dist/ConfirmDialog.mjs +3 -3
- package/dist/CurrencyInput.js +1 -1
- package/dist/CurrencyInput.mjs +3 -3
- package/dist/DetailRow.d.mts +1 -1
- package/dist/DetailRow.d.ts +1 -1
- package/dist/DetailRow.js +1 -1
- package/dist/DetailRow.mjs +2 -2
- package/dist/EmptyState.js +1 -1
- package/dist/EmptyState.mjs +3 -3
- package/dist/ErrorBoundary.js +1 -1
- package/dist/ErrorBoundary.mjs +2 -2
- package/dist/IconButton.js +1 -1
- package/dist/IconButton.mjs +2 -2
- package/dist/IconPicker.d.mts +17 -0
- package/dist/IconPicker.d.ts +17 -0
- package/dist/IconPicker.js +997 -0
- package/dist/IconPicker.mjs +7 -0
- package/dist/ImageUpload.d.mts +3 -1
- package/dist/ImageUpload.d.ts +3 -1
- package/dist/ImageUpload.js +28 -10
- package/dist/ImageUpload.mjs +1 -1
- package/dist/ImageViewer.js +1 -1
- package/dist/ImageViewer.mjs +4 -4
- package/dist/Input.js +1 -1
- package/dist/Input.mjs +2 -2
- package/dist/LabelValue.js +1 -1
- package/dist/LabelValue.mjs +2 -2
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.mjs +2 -2
- package/dist/MediaCard.js +1 -1
- package/dist/MediaCard.mjs +2 -2
- package/dist/MenuItem.js +1 -1
- package/dist/MenuItem.mjs +2 -2
- package/dist/NumberStepper.d.mts +19 -0
- package/dist/NumberStepper.d.ts +19 -0
- package/dist/NumberStepper.js +410 -0
- package/dist/NumberStepper.mjs +9 -0
- package/dist/PagerDots.js +1 -1
- package/dist/PagerDots.mjs +2 -2
- package/dist/PricingCard.js +1 -1
- package/dist/PricingCard.mjs +4 -4
- package/dist/SelectableGrid.js +1 -1
- package/dist/SelectableGrid.mjs +2 -2
- package/dist/SheetSelect.js +1 -1
- package/dist/SheetSelect.mjs +2 -2
- package/dist/TabBar.js +1 -1
- package/dist/TabBar.mjs +2 -2
- package/dist/Textarea.js +1 -1
- package/dist/Textarea.mjs +2 -2
- package/dist/Toggle.js +1 -1
- package/dist/Toggle.mjs +2 -2
- package/dist/chunk-53Z3NYGE.mjs +742 -0
- package/dist/{chunk-VQ57HWPL.mjs → chunk-6L4G6PBT.mjs} +1 -1
- package/dist/{chunk-6OAZJ577.mjs → chunk-6SECQ2ZF.mjs} +2 -2
- package/dist/{chunk-KIHCWCWL.mjs → chunk-7LWRKMF5.mjs} +1 -1
- package/dist/{chunk-4I7D47FH.mjs → chunk-AJRVDP2H.mjs} +3 -3
- package/dist/{chunk-6MKGPAR2.mjs → chunk-BEMIQXXU.mjs} +1 -1
- package/dist/chunk-BUMAMSTZ.mjs +126 -0
- package/dist/{chunk-UREA2GYY.mjs → chunk-DYT7BG5I.mjs} +1 -1
- package/dist/{chunk-WOEYDUJZ.mjs → chunk-ELXBDILQ.mjs} +2 -2
- package/dist/{chunk-A4MDAP7G.mjs → chunk-FCSSQK3L.mjs} +1 -1
- package/dist/{chunk-2TFTAWVJ.mjs → chunk-HTHGSXFG.mjs} +1 -1
- package/dist/{chunk-VGTDN7SW.mjs → chunk-IX3NYLYQ.mjs} +1 -1
- package/dist/{chunk-T7XZ7H7Y.mjs → chunk-KA7LTET3.mjs} +17 -3
- package/dist/{chunk-URI2WBIV.mjs → chunk-KOO4WITD.mjs} +1 -1
- package/dist/{chunk-JUXSWN54.mjs → chunk-NMU5FMQJ.mjs} +1 -1
- package/dist/{chunk-LXJIIOYQ.mjs → chunk-RYZC432S.mjs} +1 -1
- package/dist/{chunk-JB67UOB5.mjs → chunk-S2R7UVOE.mjs} +1 -1
- package/dist/{chunk-ZUR7AU5R.mjs → chunk-SXLKNTA4.mjs} +1 -1
- package/dist/{chunk-3U4SSNWP.mjs → chunk-T2KCAHOS.mjs} +1 -1
- package/dist/{chunk-ZJKGQMYH.mjs → chunk-TB6SD2FT.mjs} +1 -1
- package/dist/{chunk-AZJF2BLK.mjs → chunk-TBNZHU6C.mjs} +1 -1
- package/dist/{chunk-Y4GL2MHX.mjs → chunk-TZDGAP5N.mjs} +28 -10
- package/dist/{chunk-CZCQZHG6.mjs → chunk-U2XJFYED.mjs} +1 -1
- package/dist/{chunk-TERDKCLE.mjs → chunk-VF2ATYN3.mjs} +1 -1
- package/dist/{chunk-OHBNABL5.mjs → chunk-VKID2D2I.mjs} +1 -1
- package/dist/{chunk-KZL5VTYK.mjs → chunk-WYEUNUTP.mjs} +1 -1
- package/dist/{chunk-DJ7RN37L.mjs → chunk-YJ7I257J.mjs} +1 -1
- package/dist/{chunk-NA7PARID.mjs → chunk-Z4VHZ7B5.mjs} +1 -1
- package/dist/{chunk-MLF3EZFW.mjs → chunk-Z6SFHN6T.mjs} +1 -1
- package/dist/{chunk-4K625MVM.mjs → chunk-ZZ2R6KZ3.mjs} +1 -1
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +892 -12
- package/dist/index.mjs +33 -31
- package/package.json +1 -1
- package/src/components/DetailRow/DetailRow.tsx +1 -1
- package/src/components/IconPicker/IconPicker.tsx +383 -0
- package/src/components/IconPicker/index.ts +1 -0
- package/src/components/ImageUpload/ImageUpload.tsx +34 -12
- package/src/components/NumberStepper/NumberStepper.tsx +147 -0
- package/src/components/NumberStepper/index.ts +1 -0
- package/src/index.ts +3 -1
- package/src/utils/curatedIcons.ts +286 -0
- package/src/utils/icons.ts +20 -2
package/dist/ImageUpload.d.mts
CHANGED
|
@@ -10,6 +10,8 @@ interface ImageUploadProps {
|
|
|
10
10
|
loading?: boolean;
|
|
11
11
|
/** Text shown when no image is selected. */
|
|
12
12
|
placeholder?: string;
|
|
13
|
+
/** Whether to show the placeholder text. Use false for compact/avatar variants. */
|
|
14
|
+
showPlaceholderText?: boolean;
|
|
13
15
|
/** Width of the upload area. Defaults to full width (undefined). */
|
|
14
16
|
width?: number;
|
|
15
17
|
/** Height of the upload area. Defaults to 200. */
|
|
@@ -22,6 +24,6 @@ interface ImageUploadProps {
|
|
|
22
24
|
style?: ViewStyle;
|
|
23
25
|
accessibilityLabel?: string;
|
|
24
26
|
}
|
|
25
|
-
declare function ImageUpload({ value, onChange, loading, placeholder, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, }: ImageUploadProps): React.JSX.Element;
|
|
27
|
+
declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, }: ImageUploadProps): React.JSX.Element;
|
|
26
28
|
|
|
27
29
|
export { ImageUpload, type ImageUploadProps };
|
package/dist/ImageUpload.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ interface ImageUploadProps {
|
|
|
10
10
|
loading?: boolean;
|
|
11
11
|
/** Text shown when no image is selected. */
|
|
12
12
|
placeholder?: string;
|
|
13
|
+
/** Whether to show the placeholder text. Use false for compact/avatar variants. */
|
|
14
|
+
showPlaceholderText?: boolean;
|
|
13
15
|
/** Width of the upload area. Defaults to full width (undefined). */
|
|
14
16
|
width?: number;
|
|
15
17
|
/** Height of the upload area. Defaults to 200. */
|
|
@@ -22,6 +24,6 @@ interface ImageUploadProps {
|
|
|
22
24
|
style?: ViewStyle;
|
|
23
25
|
accessibilityLabel?: string;
|
|
24
26
|
}
|
|
25
|
-
declare function ImageUpload({ value, onChange, loading, placeholder, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, }: ImageUploadProps): React.JSX.Element;
|
|
27
|
+
declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, }: ImageUploadProps): React.JSX.Element;
|
|
26
28
|
|
|
27
29
|
export { ImageUpload, type ImageUploadProps };
|
package/dist/ImageUpload.js
CHANGED
|
@@ -300,6 +300,7 @@ function ImageUpload({
|
|
|
300
300
|
onChange,
|
|
301
301
|
loading = false,
|
|
302
302
|
placeholder = "Tap to add image",
|
|
303
|
+
showPlaceholderText = true,
|
|
303
304
|
width,
|
|
304
305
|
height = 200,
|
|
305
306
|
borderRadius = RADIUS.lg,
|
|
@@ -312,23 +313,31 @@ function ImageUpload({
|
|
|
312
313
|
const handlePress = async () => {
|
|
313
314
|
if (disabled || loading) return;
|
|
314
315
|
impactLight();
|
|
315
|
-
let
|
|
316
|
+
let picker;
|
|
316
317
|
try {
|
|
317
|
-
|
|
318
|
+
const mod = await import('expo-image-picker/build/ExponentImagePicker');
|
|
319
|
+
picker = mod.default;
|
|
318
320
|
} catch {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
+
try {
|
|
322
|
+
picker = await import('expo-image-picker');
|
|
323
|
+
} catch {
|
|
324
|
+
if (__DEV__) console.warn("[ImageUpload] expo-image-picker not installed.");
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
321
327
|
}
|
|
322
328
|
if (reactNative.Platform.OS !== "web") {
|
|
323
|
-
|
|
324
|
-
|
|
329
|
+
try {
|
|
330
|
+
const { status } = await picker.requestMediaLibraryPermissionsAsync();
|
|
331
|
+
if (status !== "granted") return;
|
|
332
|
+
} catch {
|
|
333
|
+
}
|
|
325
334
|
}
|
|
326
|
-
const result = await
|
|
335
|
+
const result = await picker.launchImageLibraryAsync({
|
|
327
336
|
mediaTypes: ["images"],
|
|
328
337
|
allowsEditing: true,
|
|
329
338
|
quality: 0.8
|
|
330
339
|
});
|
|
331
|
-
if (!result.canceled && result.assets[0]) {
|
|
340
|
+
if (!result.canceled && result.assets?.[0]) {
|
|
332
341
|
onChange?.(result.assets[0].uri);
|
|
333
342
|
}
|
|
334
343
|
};
|
|
@@ -361,7 +370,15 @@ function ImageUpload({
|
|
|
361
370
|
style: [reactNative.StyleSheet.absoluteFillObject, { borderRadius }],
|
|
362
371
|
resizeMode
|
|
363
372
|
}
|
|
364
|
-
) : /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.placeholder }, /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Feather, { name: "image", size: ms(28), color: colors.foregroundMuted }), /* @__PURE__ */ React3__default.default.createElement(
|
|
373
|
+
) : /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.placeholder }, /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Feather, { name: "image", size: ms(28), color: colors.foregroundMuted }), showPlaceholderText ? /* @__PURE__ */ React3__default.default.createElement(
|
|
374
|
+
reactNative.Text,
|
|
375
|
+
{
|
|
376
|
+
style: [styles2.placeholderText, { color: colors.foregroundMuted }],
|
|
377
|
+
numberOfLines: 1,
|
|
378
|
+
allowFontScaling: true
|
|
379
|
+
},
|
|
380
|
+
placeholder
|
|
381
|
+
) : null),
|
|
365
382
|
loading ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: [styles2.loadingOverlay, { backgroundColor: colors.overlay }] }, /* @__PURE__ */ React3__default.default.createElement(Spinner, { size: "md" })) : null,
|
|
366
383
|
value && !loading ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.editBadge, pointerEvents: "none" }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: [styles2.editBadgeInner, { backgroundColor: colors.overlay }] }, /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Feather, { name: "edit-2", size: ms(12), color: "#fff" }))) : null
|
|
367
384
|
);
|
|
@@ -375,7 +392,8 @@ var styles2 = reactNative.StyleSheet.create({
|
|
|
375
392
|
},
|
|
376
393
|
placeholderText: {
|
|
377
394
|
fontFamily: "Sohne-Regular",
|
|
378
|
-
fontSize: ms(13)
|
|
395
|
+
fontSize: ms(13),
|
|
396
|
+
textAlign: "center"
|
|
379
397
|
},
|
|
380
398
|
loadingOverlay: {
|
|
381
399
|
...reactNative.StyleSheet.absoluteFillObject,
|
package/dist/ImageUpload.mjs
CHANGED
package/dist/ImageViewer.js
CHANGED
|
@@ -229,7 +229,7 @@ var ALL_FAMILIES = [
|
|
|
229
229
|
];
|
|
230
230
|
var activeFamilies = ALL_FAMILIES;
|
|
231
231
|
var resolvedCache = null;
|
|
232
|
-
function buildCache() {
|
|
232
|
+
function buildCache(families) {
|
|
233
233
|
const cache = /* @__PURE__ */ new Map();
|
|
234
234
|
for (const family of activeFamilies) {
|
|
235
235
|
const glyphMap = family.getGlyphMap();
|
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-ELXBDILQ.mjs';
|
|
2
|
+
import './chunk-ZZ2R6KZ3.mjs';
|
|
3
|
+
import './chunk-T2KCAHOS.mjs';
|
|
4
4
|
import './chunk-3DKJ2GIC.mjs';
|
|
5
5
|
import './chunk-EJ7ZPXOH.mjs';
|
|
6
6
|
import './chunk-DVK4G2GT.mjs';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-KA7LTET3.mjs';
|
|
8
8
|
import './chunk-SOYNZDVY.mjs';
|
|
9
9
|
import './chunk-2CE3TQVY.mjs';
|
|
10
10
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Input.js
CHANGED
|
@@ -159,7 +159,7 @@ var ALL_FAMILIES = [
|
|
|
159
159
|
];
|
|
160
160
|
var activeFamilies = ALL_FAMILIES;
|
|
161
161
|
var resolvedCache = null;
|
|
162
|
-
function buildCache() {
|
|
162
|
+
function buildCache(families) {
|
|
163
163
|
const cache = /* @__PURE__ */ new Map();
|
|
164
164
|
for (const family of activeFamilies) {
|
|
165
165
|
const glyphMap = family.getGlyphMap();
|
package/dist/Input.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Input } from './chunk-
|
|
1
|
+
export { Input } from './chunk-SXLKNTA4.mjs';
|
|
2
2
|
import './chunk-DVK4G2GT.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-KA7LTET3.mjs';
|
|
4
4
|
import './chunk-SOYNZDVY.mjs';
|
|
5
5
|
import './chunk-2CE3TQVY.mjs';
|
|
6
6
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/LabelValue.js
CHANGED
|
@@ -155,7 +155,7 @@ var ALL_FAMILIES = [
|
|
|
155
155
|
];
|
|
156
156
|
var activeFamilies = ALL_FAMILIES;
|
|
157
157
|
var resolvedCache = null;
|
|
158
|
-
function buildCache() {
|
|
158
|
+
function buildCache(families) {
|
|
159
159
|
const cache = /* @__PURE__ */ new Map();
|
|
160
160
|
for (const family of activeFamilies) {
|
|
161
161
|
const glyphMap = family.getGlyphMap();
|
package/dist/LabelValue.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { LabelValue } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { LabelValue } from './chunk-FCSSQK3L.mjs';
|
|
2
|
+
import './chunk-KA7LTET3.mjs';
|
|
3
3
|
import './chunk-SOYNZDVY.mjs';
|
|
4
4
|
import './chunk-2CE3TQVY.mjs';
|
|
5
5
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/ListItem.js
CHANGED
|
@@ -218,7 +218,7 @@ var ALL_FAMILIES = [
|
|
|
218
218
|
];
|
|
219
219
|
var activeFamilies = ALL_FAMILIES;
|
|
220
220
|
var resolvedCache = null;
|
|
221
|
-
function buildCache() {
|
|
221
|
+
function buildCache(families) {
|
|
222
222
|
const cache = /* @__PURE__ */ new Map();
|
|
223
223
|
for (const family of activeFamilies) {
|
|
224
224
|
const glyphMap = family.getGlyphMap();
|
package/dist/ListItem.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ListItem } from './chunk-
|
|
1
|
+
export { ListItem } from './chunk-VKID2D2I.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
|
-
import './chunk-
|
|
6
|
+
import './chunk-KA7LTET3.mjs';
|
|
7
7
|
import './chunk-SOYNZDVY.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MediaCard.js
CHANGED
|
@@ -217,7 +217,7 @@ var ALL_FAMILIES = [
|
|
|
217
217
|
];
|
|
218
218
|
var activeFamilies = ALL_FAMILIES;
|
|
219
219
|
var resolvedCache = null;
|
|
220
|
-
function buildCache() {
|
|
220
|
+
function buildCache(families) {
|
|
221
221
|
const cache = /* @__PURE__ */ new Map();
|
|
222
222
|
for (const family of activeFamilies) {
|
|
223
223
|
const glyphMap = family.getGlyphMap();
|
package/dist/MediaCard.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { MediaCard } from './chunk-
|
|
1
|
+
export { MediaCard } from './chunk-IX3NYLYQ.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
|
-
import './chunk-
|
|
6
|
+
import './chunk-KA7LTET3.mjs';
|
|
7
7
|
import './chunk-SOYNZDVY.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/MenuItem.js
CHANGED
|
@@ -217,7 +217,7 @@ var ALL_FAMILIES = [
|
|
|
217
217
|
];
|
|
218
218
|
var activeFamilies = ALL_FAMILIES;
|
|
219
219
|
var resolvedCache = null;
|
|
220
|
-
function buildCache() {
|
|
220
|
+
function buildCache(families) {
|
|
221
221
|
const cache = /* @__PURE__ */ new Map();
|
|
222
222
|
for (const family of activeFamilies) {
|
|
223
223
|
const glyphMap = family.getGlyphMap();
|
package/dist/MenuItem.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { MenuItem } from './chunk-
|
|
1
|
+
export { MenuItem } from './chunk-TB6SD2FT.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
|
-
import './chunk-
|
|
6
|
+
import './chunk-KA7LTET3.mjs';
|
|
7
7
|
import './chunk-SOYNZDVY.mjs';
|
|
8
8
|
import './chunk-2CE3TQVY.mjs';
|
|
9
9
|
import './chunk-Y6FXYEAI.mjs';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewStyle } from 'react-native';
|
|
3
|
+
|
|
4
|
+
type NumberStepperSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
interface NumberStepperProps {
|
|
6
|
+
value: number;
|
|
7
|
+
onValueChange: (value: number) => void;
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
size?: NumberStepperSize;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
style?: ViewStyle;
|
|
14
|
+
accessibilityLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, }: NumberStepperProps): React.JSX.Element;
|
|
17
|
+
declare const NumberStepper: React.MemoExoticComponent<typeof NumberStepperBase>;
|
|
18
|
+
|
|
19
|
+
export { NumberStepper, type NumberStepperProps, type NumberStepperSize };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewStyle } from 'react-native';
|
|
3
|
+
|
|
4
|
+
type NumberStepperSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
interface NumberStepperProps {
|
|
6
|
+
value: number;
|
|
7
|
+
onValueChange: (value: number) => void;
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
size?: NumberStepperSize;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
style?: ViewStyle;
|
|
14
|
+
accessibilityLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, }: NumberStepperProps): React.JSX.Element;
|
|
17
|
+
declare const NumberStepper: React.MemoExoticComponent<typeof NumberStepperBase>;
|
|
18
|
+
|
|
19
|
+
export { NumberStepper, type NumberStepperProps, type NumberStepperSize };
|