custom-mobile-ui 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hooks.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { FontSource } from 'expo-font';
1
2
  export { A as Alert, b as AlertProvider, u as useAlert, d as useTheme } from './types-cxHozHqF.mjs';
2
3
  import 'react-native';
3
4
  import 'react';
@@ -12,4 +13,40 @@ declare const Fonts: {
12
13
  readonly black: "Fonts-Black";
13
14
  };
14
15
 
15
- export { Fonts, useFonts };
16
+ /**
17
+ * Per-weight font files from the host app. Pass `require()` results (numbers) or any
18
+ * `FontSource` values expo-font accepts. Keys must match the six slots used by `FontFamily` in `@/theme/fonts`.
19
+ *
20
+ * Use `useMemo` so the object identity is stable across renders (avoids redundant load work).
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * const sources = useMemo(
25
+ * () => ({
26
+ * light: require("./assets/fonts/MyApp-Light.ttf"),
27
+ * regular: require("./assets/fonts/MyApp-Regular.ttf"),
28
+ * medium: require("./assets/fonts/MyApp-Medium.ttf"),
29
+ * bold: require("./assets/fonts/MyApp-Bold.ttf"),
30
+ * extraBold: require("./assets/fonts/MyApp-ExtraBold.ttf"),
31
+ * black: require("./assets/fonts/MyApp-Black.ttf"),
32
+ * }),
33
+ * []
34
+ * );
35
+ * const loaded = useCustomUIFonts(sources);
36
+ * ```
37
+ */
38
+ type CustomUIFontSources = {
39
+ light: FontSource;
40
+ regular: FontSource;
41
+ medium: FontSource;
42
+ bold: FontSource;
43
+ extraBold: FontSource;
44
+ black: FontSource;
45
+ };
46
+ /**
47
+ * Registers host-app fonts under the internal family names expected by this library.
48
+ * Call this instead of `useFonts` from this package when the consuming app supplies its own typeface.
49
+ */
50
+ declare function useCustomUIFonts(sources: CustomUIFontSources): boolean;
51
+
52
+ export { type CustomUIFontSources, Fonts, useCustomUIFonts, useFonts };
package/dist/hooks.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { FontSource } from 'expo-font';
1
2
  export { A as Alert, b as AlertProvider, u as useAlert, d as useTheme } from './types-cxHozHqF.js';
2
3
  import 'react-native';
3
4
  import 'react';
@@ -12,4 +13,40 @@ declare const Fonts: {
12
13
  readonly black: "Fonts-Black";
13
14
  };
14
15
 
15
- export { Fonts, useFonts };
16
+ /**
17
+ * Per-weight font files from the host app. Pass `require()` results (numbers) or any
18
+ * `FontSource` values expo-font accepts. Keys must match the six slots used by `FontFamily` in `@/theme/fonts`.
19
+ *
20
+ * Use `useMemo` so the object identity is stable across renders (avoids redundant load work).
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * const sources = useMemo(
25
+ * () => ({
26
+ * light: require("./assets/fonts/MyApp-Light.ttf"),
27
+ * regular: require("./assets/fonts/MyApp-Regular.ttf"),
28
+ * medium: require("./assets/fonts/MyApp-Medium.ttf"),
29
+ * bold: require("./assets/fonts/MyApp-Bold.ttf"),
30
+ * extraBold: require("./assets/fonts/MyApp-ExtraBold.ttf"),
31
+ * black: require("./assets/fonts/MyApp-Black.ttf"),
32
+ * }),
33
+ * []
34
+ * );
35
+ * const loaded = useCustomUIFonts(sources);
36
+ * ```
37
+ */
38
+ type CustomUIFontSources = {
39
+ light: FontSource;
40
+ regular: FontSource;
41
+ medium: FontSource;
42
+ bold: FontSource;
43
+ extraBold: FontSource;
44
+ black: FontSource;
45
+ };
46
+ /**
47
+ * Registers host-app fonts under the internal family names expected by this library.
48
+ * Call this instead of `useFonts` from this package when the consuming app supplies its own typeface.
49
+ */
50
+ declare function useCustomUIFonts(sources: CustomUIFontSources): boolean;
51
+
52
+ export { type CustomUIFontSources, Fonts, useCustomUIFonts, useFonts };
package/dist/hooks.js CHANGED
@@ -83,6 +83,27 @@ var Fonts = {
83
83
  extraBold: "Fonts-ExtraBold",
84
84
  black: "Fonts-Black"
85
85
  };
86
+ function buildFontMap(sources) {
87
+ return {
88
+ "Fonts-Light": sources.light,
89
+ "Fonts-Regular": sources.regular,
90
+ "Fonts-Medium": sources.medium,
91
+ "Fonts-Bold": sources.bold,
92
+ "Fonts-ExtraBold": sources.extraBold,
93
+ "Fonts-Black": sources.black,
94
+ Fonts_300: sources.light,
95
+ Fonts_400: sources.regular,
96
+ Fonts_500: sources.medium,
97
+ Fonts_700: sources.bold,
98
+ Fonts_800: sources.extraBold,
99
+ Fonts_900: sources.black
100
+ };
101
+ }
102
+ function useCustomUIFonts(sources) {
103
+ const map = React.useMemo(() => buildFontMap(sources), [sources]);
104
+ const [loaded] = expoFont.useFonts(map);
105
+ return loaded;
106
+ }
86
107
 
87
108
  // src/theme/colors.ts
88
109
  var Colors = {
@@ -746,5 +767,6 @@ exports.Alert = Alert;
746
767
  exports.AlertProvider = AlertProvider;
747
768
  exports.Fonts = Fonts;
748
769
  exports.useAlert = useAlert;
770
+ exports.useCustomUIFonts = useCustomUIFonts;
749
771
  exports.useFonts = useFonts;
750
772
  exports.useTheme = useTheme;
package/dist/hooks.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { useFonts as useFonts$1 } from 'expo-font';
2
- import React, { createContext, useContext, useState, useCallback } from 'react';
2
+ import React, { createContext, useMemo, useContext, useState, useCallback } from 'react';
3
3
  import { StyleSheet, Platform, Modal, View, TouchableOpacity, ActivityIndicator, Text as Text$1 } from 'react-native';
4
4
  import { X, AlertCircle, Info, CheckCircle } from 'lucide-react-native';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -77,6 +77,27 @@ var Fonts = {
77
77
  extraBold: "Fonts-ExtraBold",
78
78
  black: "Fonts-Black"
79
79
  };
80
+ function buildFontMap(sources) {
81
+ return {
82
+ "Fonts-Light": sources.light,
83
+ "Fonts-Regular": sources.regular,
84
+ "Fonts-Medium": sources.medium,
85
+ "Fonts-Bold": sources.bold,
86
+ "Fonts-ExtraBold": sources.extraBold,
87
+ "Fonts-Black": sources.black,
88
+ Fonts_300: sources.light,
89
+ Fonts_400: sources.regular,
90
+ Fonts_500: sources.medium,
91
+ Fonts_700: sources.bold,
92
+ Fonts_800: sources.extraBold,
93
+ Fonts_900: sources.black
94
+ };
95
+ }
96
+ function useCustomUIFonts(sources) {
97
+ const map = useMemo(() => buildFontMap(sources), [sources]);
98
+ const [loaded] = useFonts$1(map);
99
+ return loaded;
100
+ }
80
101
 
81
102
  // src/theme/colors.ts
82
103
  var Colors = {
@@ -736,4 +757,4 @@ var useAlert = () => {
736
757
  return context;
737
758
  };
738
759
 
739
- export { Alert, AlertProvider, Fonts, useAlert, useFonts, useTheme };
760
+ export { Alert, AlertProvider, Fonts, useAlert, useCustomUIFonts, useFonts, useTheme };
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { ComponentGalleryId } from './examples.mjs';
3
3
  export { BottomBarExampleScreen, CustomFieldExampleScreen, GALLERY_ITEMS, GALLERY_SECTIONS, GalleryItem, GallerySection, getGalleryItem, getGroupedGalleryItems } from './examples.mjs';
4
4
  export { A as AlertModalExample, D as DateTimePickerExample, P as PopupMenuExample, T as TabPagerExample } from './PopupMenuExample-DAAku8nG.mjs';
5
5
  export { A as Alert, a as AlertModalProps, b as AlertProvider, c as AlertType, u as useAlert, d as useTheme } from './types-cxHozHqF.mjs';
6
- export { Fonts, useFonts } from './hooks.mjs';
6
+ export { CustomUIFontSources, Fonts, useCustomUIFonts, useFonts } from './hooks.mjs';
7
7
  export { ThemeContext } from './context.mjs';
8
8
  export { AVATAR_COLORS, Colors, Duration, DurationKey, FontFamily, FontSize, FontSizeKey, FontWeight, LineHeight, Shadow, ShadowLevel, Spacing, SpacingKey, ZIndex, ZIndexKey } from './theme.mjs';
9
9
  export { A as AppTheme, B as BaseTheme, D as DarkTheme, L as LightTheme, T as ThemeMode, a as ThemePreference, g as getTheme } from './index-tIixPl5M.mjs';
@@ -15,6 +15,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
15
15
  import { NativeStackScreenProps } from '@react-navigation/native-stack';
16
16
  import 'react';
17
17
  import 'react-native';
18
+ import 'expo-font';
18
19
 
19
20
  type RootStackParamList = {
20
21
  Home: undefined;
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { ComponentGalleryId } from './examples.js';
3
3
  export { BottomBarExampleScreen, CustomFieldExampleScreen, GALLERY_ITEMS, GALLERY_SECTIONS, GalleryItem, GallerySection, getGalleryItem, getGroupedGalleryItems } from './examples.js';
4
4
  export { A as AlertModalExample, D as DateTimePickerExample, P as PopupMenuExample, T as TabPagerExample } from './PopupMenuExample-DAAku8nG.js';
5
5
  export { A as Alert, a as AlertModalProps, b as AlertProvider, c as AlertType, u as useAlert, d as useTheme } from './types-cxHozHqF.js';
6
- export { Fonts, useFonts } from './hooks.js';
6
+ export { CustomUIFontSources, Fonts, useCustomUIFonts, useFonts } from './hooks.js';
7
7
  export { ThemeContext } from './context.js';
8
8
  export { AVATAR_COLORS, Colors, Duration, DurationKey, FontFamily, FontSize, FontSizeKey, FontWeight, LineHeight, Shadow, ShadowLevel, Spacing, SpacingKey, ZIndex, ZIndexKey } from './theme.js';
9
9
  export { A as AppTheme, B as BaseTheme, D as DarkTheme, L as LightTheme, T as ThemeMode, a as ThemePreference, g as getTheme } from './index-tIixPl5M.js';
@@ -15,6 +15,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
15
15
  import { NativeStackScreenProps } from '@react-navigation/native-stack';
16
16
  import 'react';
17
17
  import 'react-native';
18
+ import 'expo-font';
18
19
 
19
20
  type RootStackParamList = {
20
21
  Home: undefined;
package/dist/index.js CHANGED
@@ -21758,6 +21758,27 @@ var Fonts = {
21758
21758
  extraBold: "Fonts-ExtraBold",
21759
21759
  black: "Fonts-Black"
21760
21760
  };
21761
+ function buildFontMap(sources) {
21762
+ return {
21763
+ "Fonts-Light": sources.light,
21764
+ "Fonts-Regular": sources.regular,
21765
+ "Fonts-Medium": sources.medium,
21766
+ "Fonts-Bold": sources.bold,
21767
+ "Fonts-ExtraBold": sources.extraBold,
21768
+ "Fonts-Black": sources.black,
21769
+ Fonts_300: sources.light,
21770
+ Fonts_400: sources.regular,
21771
+ Fonts_500: sources.medium,
21772
+ Fonts_700: sources.bold,
21773
+ Fonts_800: sources.extraBold,
21774
+ Fonts_900: sources.black
21775
+ };
21776
+ }
21777
+ function useCustomUIFonts(sources) {
21778
+ const map = React71.useMemo(() => buildFontMap(sources), [sources]);
21779
+ const [loaded] = expoFont.useFonts(map);
21780
+ return loaded;
21781
+ }
21761
21782
 
21762
21783
  // src/theme/spacing.ts
21763
21784
  var Spacing = {
@@ -32203,6 +32224,7 @@ exports.modalStyles = modalStyles;
32203
32224
  exports.timelineStyles = styles21;
32204
32225
  exports.toCamelCase = toCamelCase;
32205
32226
  exports.useAlert = useAlert;
32227
+ exports.useCustomUIFonts = useCustomUIFonts;
32206
32228
  exports.useDateTimePicker = useDateTimePicker;
32207
32229
  exports.useFonts = useFonts;
32208
32230
  exports.useForm = useForm;
package/dist/index.mjs CHANGED
@@ -21730,6 +21730,27 @@ var Fonts = {
21730
21730
  extraBold: "Fonts-ExtraBold",
21731
21731
  black: "Fonts-Black"
21732
21732
  };
21733
+ function buildFontMap(sources) {
21734
+ return {
21735
+ "Fonts-Light": sources.light,
21736
+ "Fonts-Regular": sources.regular,
21737
+ "Fonts-Medium": sources.medium,
21738
+ "Fonts-Bold": sources.bold,
21739
+ "Fonts-ExtraBold": sources.extraBold,
21740
+ "Fonts-Black": sources.black,
21741
+ Fonts_300: sources.light,
21742
+ Fonts_400: sources.regular,
21743
+ Fonts_500: sources.medium,
21744
+ Fonts_700: sources.bold,
21745
+ Fonts_800: sources.extraBold,
21746
+ Fonts_900: sources.black
21747
+ };
21748
+ }
21749
+ function useCustomUIFonts(sources) {
21750
+ const map = useMemo(() => buildFontMap(sources), [sources]);
21751
+ const [loaded] = useFonts$1(map);
21752
+ return loaded;
21753
+ }
21733
21754
 
21734
21755
  // src/theme/spacing.ts
21735
21756
  var Spacing = {
@@ -32019,4 +32040,4 @@ function getStyles69(theme) {
32019
32040
  });
32020
32041
  }
32021
32042
 
32022
- export { AVATAR_COLORS, Accordion, ActivityFeed, ActivityFeedExample, Alert7 as Alert, AlertModal, AlertModalExample, AlertProvider, AnimatedListItem, AutoComplete, Avatar, BACKDROP_COLOR, Badge, BarChart, BaseTheme, BillingUI, BillingUIExample, BottomBar, BottomBarExample as BottomBarExampleScreen, BottomBarItem, BottomBarLayout, Breadcrumb, COMMON_STATE_CONFIG, COUNTRIES, Calendar2 as Calendar, CalendarExample, CalendarGrid, CalendarHeader, CalendarMonth, Chip, CollapsibleSection, ColorPicker, colors_default as Colors, CommonState, ComponentDetailScreen, ConfirmationModal, CustomButton, CustomButtonExample, CustomCard, CustomCheckbox, CustomDivider, CustomField, CustomFieldExample as CustomFieldExampleScreen, CustomListItem, CustomListShimmer, CustomMessageBox, CustomModal, CustomModalExample, CustomRadioGroup, CustomSwitch, DarkTheme, DataTable, DateTimePicker, DateTimePickerExample, DateTimePickerHeader, DayCell, DismissKeyboardView, Drawer, Duration, ENTRY_STAGGER_MS, ErrorBoundary, FAB, FIELD_SIZES, FontFamily, FontSize, Fonts, FormScrollView, FormWrapper, FormWrapperExample, GALLERY_ITEMS, GALLERY_SECTIONS, GalleryHomeScreen, Header, IconWrapper, InvoiceList, KanbanBoard, KanbanBoardExample, LINE_ANIM_DURATION, LightTheme, LineChart, LineHeight, Loader, LoginForm, LogoutProvider, ModalHeader, NetworkImage, NetworkStatus, NetworkStatusExample, NotificationCenter, NotificationCenterExample, PageSwipeView, PasswordStrength, PhoneInput, PieChart, PopupMenu, PopupMenuExample, PopupMenuItem, PricingCard, ProgressBar, SIZE_CONFIG, SearchBar, SearchWithFilters, SegmentedControl, SelectionGroup, Shadow, SignupForm, Snackbar, SocialLoginButton, SocialLoginGroup, SocialLoginIconButton, Spacing, SpeedDial, SpeedDialExample, StatCard, Stepper, SIZE_CONFIG6 as TIMELINE_SIZE_CONFIG, TabBar, TabPager, TabPagerExample, Text4 as Text, ThemeContext, TimePicker, Timeline, TimelineExample, TimelineRow, ToastItem, ToastProvider, Tooltip, UITheme, VARIANT_COLORS, WheelPicker, ZIndex, exampleScreenLayout, formatMonthYear, generateMonthDays, getAlertIconAndColors, getAvatarBgColor, getAvatarColor, getBottomBarStyles, getCalendarHeight, getCalendarMonthStyles, getDateTimePickerStyles, getDaysInMonth2 as getDaysInMonth, getFirstDayOfMonth, getGalleryItem, getGroupedGalleryItems, getNameInitials, getPopulatedObject, getStatusColor, getTheme, getWeekNumber, isSameDay2 as isSameDay, modalStyles, styles21 as timelineStyles, toCamelCase, useAlert, useDateTimePicker, useFonts, useForm, useFormScroll, useGlobalLogout, useModalAnimation, useNetworkStatus, useTheme, useTimeHandlers, useToast };
32043
+ export { AVATAR_COLORS, Accordion, ActivityFeed, ActivityFeedExample, Alert7 as Alert, AlertModal, AlertModalExample, AlertProvider, AnimatedListItem, AutoComplete, Avatar, BACKDROP_COLOR, Badge, BarChart, BaseTheme, BillingUI, BillingUIExample, BottomBar, BottomBarExample as BottomBarExampleScreen, BottomBarItem, BottomBarLayout, Breadcrumb, COMMON_STATE_CONFIG, COUNTRIES, Calendar2 as Calendar, CalendarExample, CalendarGrid, CalendarHeader, CalendarMonth, Chip, CollapsibleSection, ColorPicker, colors_default as Colors, CommonState, ComponentDetailScreen, ConfirmationModal, CustomButton, CustomButtonExample, CustomCard, CustomCheckbox, CustomDivider, CustomField, CustomFieldExample as CustomFieldExampleScreen, CustomListItem, CustomListShimmer, CustomMessageBox, CustomModal, CustomModalExample, CustomRadioGroup, CustomSwitch, DarkTheme, DataTable, DateTimePicker, DateTimePickerExample, DateTimePickerHeader, DayCell, DismissKeyboardView, Drawer, Duration, ENTRY_STAGGER_MS, ErrorBoundary, FAB, FIELD_SIZES, FontFamily, FontSize, Fonts, FormScrollView, FormWrapper, FormWrapperExample, GALLERY_ITEMS, GALLERY_SECTIONS, GalleryHomeScreen, Header, IconWrapper, InvoiceList, KanbanBoard, KanbanBoardExample, LINE_ANIM_DURATION, LightTheme, LineChart, LineHeight, Loader, LoginForm, LogoutProvider, ModalHeader, NetworkImage, NetworkStatus, NetworkStatusExample, NotificationCenter, NotificationCenterExample, PageSwipeView, PasswordStrength, PhoneInput, PieChart, PopupMenu, PopupMenuExample, PopupMenuItem, PricingCard, ProgressBar, SIZE_CONFIG, SearchBar, SearchWithFilters, SegmentedControl, SelectionGroup, Shadow, SignupForm, Snackbar, SocialLoginButton, SocialLoginGroup, SocialLoginIconButton, Spacing, SpeedDial, SpeedDialExample, StatCard, Stepper, SIZE_CONFIG6 as TIMELINE_SIZE_CONFIG, TabBar, TabPager, TabPagerExample, Text4 as Text, ThemeContext, TimePicker, Timeline, TimelineExample, TimelineRow, ToastItem, ToastProvider, Tooltip, UITheme, VARIANT_COLORS, WheelPicker, ZIndex, exampleScreenLayout, formatMonthYear, generateMonthDays, getAlertIconAndColors, getAvatarBgColor, getAvatarColor, getBottomBarStyles, getCalendarHeight, getCalendarMonthStyles, getDateTimePickerStyles, getDaysInMonth2 as getDaysInMonth, getFirstDayOfMonth, getGalleryItem, getGroupedGalleryItems, getNameInitials, getPopulatedObject, getStatusColor, getTheme, getWeekNumber, isSameDay2 as isSameDay, modalStyles, styles21 as timelineStyles, toCamelCase, useAlert, useCustomUIFonts, useDateTimePicker, useFonts, useForm, useFormScroll, useGlobalLogout, useModalAnimation, useNetworkStatus, useTheme, useTimeHandlers, useToast };
package/package.json CHANGED
@@ -1,78 +1,79 @@
1
- {
2
- "name": "custom-mobile-ui",
3
- "version": "1.0.1",
4
- "description": "Private reusable React Native UI components",
5
- "main": "dist/index.js",
6
- "module": "dist/index.mjs",
7
- "types": "dist/index.d.ts",
8
- "react-native": "dist/index.mjs",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.mjs",
13
- "require": "./dist/index.js"
14
- }
15
- },
16
- "files": [
17
- "dist"
18
- ],
19
- "publishConfig": {
20
- "access": "public"
21
- },
22
- "scripts": {
23
- "build": "tsup",
24
- "dev": "tsup --watch --sourcemap",
25
- "clean": "rimraf dist",
26
- "pack:dry-run": "npm pack --dry-run",
27
- "prepare": "npm run build",
28
- "example": "npm run --prefix example start",
29
- "example:android": "npm run --prefix example android",
30
- "example:ios": "npm run --prefix example ios",
31
- "android": "expo run:android",
32
- "ios": "expo run:ios"
33
- },
34
- "peerDependencies": {
35
- "dayjs": "*",
36
- "expo-blur": "*",
37
- "expo-document-picker": "*",
38
- "expo-font": "*",
39
- "expo-image-picker": "*",
40
- "expo-linear-gradient": "*",
41
- "lucide-react-native": "0.263.0",
42
- "react": "19.1.0",
43
- "react-native": "0.81.5",
44
- "react-native-gesture-handler": "*",
45
- "react-native-reanimated": "*",
46
- "react-native-safe-area-context": "*",
47
- "react-native-signature-canvas": "*",
48
- "react-native-svg": "^15.15.1"
49
- },
50
- "devDependencies": {
51
- "@react-navigation/native": "^7.2.0",
52
- "@react-navigation/native-stack": "^7.14.7",
53
- "@types/react": "~19.1.0",
54
- "dayjs": "^1.11.19",
55
- "expo": "~54.0.30",
56
- "expo-blur": "^55.0.10",
57
- "expo-document-picker": "~14.0.8",
58
- "expo-font": "^14.0.10",
59
- "expo-image-picker": "^17.0.10",
60
- "expo-linear-gradient": "~15.0.8",
61
- "lucide-react-native": "0.263.0",
62
- "react": "19.1.0",
63
- "react-native": "0.81.5",
64
- "react-native-gesture-handler": "~2.28.0",
65
- "react-native-reanimated": "~4.1.1",
66
- "react-native-safe-area-context": "^5.6.2",
67
- "react-native-signature-canvas": "^5.0.2",
68
- "react-native-svg": "^15.15.1",
69
- "rimraf": "^6.0.1",
70
- "tsup": "^8.5.0",
71
- "typescript": "^5.9.2"
72
- },
73
- "dependencies": {
74
- "expo": "~54.0.33",
75
- "react": "19.1.0",
76
- "react-native": "0.81.5"
77
- }
78
- }
1
+ {
2
+ "name": "custom-mobile-ui",
3
+ "version": "1.0.3",
4
+ "description": "Private reusable React Native UI components",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "react-native": "dist/index.mjs",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "scripts": {
23
+ "build": "tsup",
24
+ "dev": "tsup --watch --sourcemap",
25
+ "clean": "rimraf dist",
26
+ "pack:dry-run": "npm pack --dry-run",
27
+ "prepare": "npm run build",
28
+ "example": "npm run --prefix example start",
29
+ "example:android": "npm run --prefix example android",
30
+ "example:ios": "npm run --prefix example ios",
31
+ "android": "expo run:android",
32
+ "ios": "expo run:ios"
33
+ },
34
+ "peerDependencies": {
35
+ "dayjs": "*",
36
+ "expo-blur": "*",
37
+ "expo-document-picker": "*",
38
+ "expo-font": "*",
39
+ "expo-image-picker": "*",
40
+ "expo-linear-gradient": "*",
41
+ "lucide-react-native": "0.263.0",
42
+ "react": "19.1.0",
43
+ "react-native": "0.81.5",
44
+ "react-native-gesture-handler": "*",
45
+ "react-native-reanimated": "*",
46
+ "react-native-safe-area-context": "*",
47
+ "react-native-signature-canvas": "*",
48
+ "react-native-svg": "^15.15.1"
49
+ },
50
+ "devDependencies": {
51
+ "@react-navigation/native": "^7.2.0",
52
+ "@react-navigation/native-stack": "^7.14.7",
53
+ "@types/react": "~19.1.0",
54
+ "dayjs": "^1.11.19",
55
+ "expo": "~54.0.30",
56
+ "expo-blur": "^55.0.10",
57
+ "expo-document-picker": "~14.0.8",
58
+ "expo-font": "^14.0.10",
59
+ "expo-image-picker": "^17.0.10",
60
+ "expo-linear-gradient": "~15.0.8",
61
+ "lucide-react-native": "0.263.0",
62
+ "react": "19.1.0",
63
+ "react-native": "0.81.5",
64
+ "react-native-gesture-handler": "~2.28.0",
65
+ "react-native-reanimated": "~4.1.1",
66
+ "react-native-safe-area-context": "^5.6.2",
67
+ "react-native-signature-canvas": "^5.0.2",
68
+ "react-native-svg": "^15.15.1",
69
+ "rimraf": "^6.0.1",
70
+ "tsup": "^8.5.0",
71
+ "typescript": "^5.9.2"
72
+ },
73
+ "dependencies": {
74
+ "expo": "~54.0.33",
75
+ "react": "19.1.0",
76
+ "react-native": "0.81.5",
77
+ "react-native-signature-canvas": "^5.0.2"
78
+ }
79
+ }