@umituz/react-native-design-system 2.6.62 → 2.6.64
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/package.json +1 -1
- package/src/atoms/AtomicIcon.tsx +2 -6
- package/src/atoms/AtomicIcon.types.ts +5 -0
- package/src/atoms/AtomicInput.tsx +34 -154
- package/src/atoms/AtomicPicker.tsx +31 -123
- package/src/atoms/index.ts +6 -4
- package/src/atoms/input/components/InputHelper.tsx +49 -0
- package/src/atoms/input/components/InputIcon.tsx +44 -0
- package/src/atoms/input/components/InputLabel.tsx +20 -0
- package/src/atoms/input/styles/inputStylesHelper.ts +1 -1
- package/src/atoms/input/types.ts +72 -0
- package/src/atoms/picker/hooks/usePickerState.ts +139 -0
- package/src/exports/atoms.ts +69 -0
- package/src/exports/device.ts +58 -0
- package/src/exports/layouts.ts +19 -0
- package/src/exports/molecules.ts +166 -0
- package/src/exports/organisms.ts +9 -0
- package/src/exports/responsive.ts +36 -0
- package/src/exports/safe-area.ts +6 -0
- package/src/exports/theme.ts +47 -0
- package/src/exports/typography.ts +22 -0
- package/src/exports/utilities.ts +6 -0
- package/src/exports/variants.ts +22 -0
- package/src/index.ts +11 -417
- package/src/molecules/avatar/Avatar.constants.ts +103 -0
- package/src/molecules/avatar/Avatar.types.ts +64 -0
- package/src/molecules/avatar/Avatar.utils.ts +8 -160
- package/src/molecules/calendar/index.ts +4 -9
- package/src/molecules/calendar/infrastructure/storage/CalendarStore.ts +103 -302
- package/src/molecules/calendar/infrastructure/storage/CalendarStore.ts.bak +116 -0
- package/src/molecules/calendar/infrastructure/storage/CalendarStore.types.ts +64 -0
- package/src/molecules/calendar/infrastructure/storage/CalendarStore.utils.ts +56 -0
- package/src/molecules/calendar/infrastructure/storage/EventActions.ts +140 -0
- package/src/molecules/calendar/infrastructure/storage/NavigationActions.ts +118 -0
- package/src/molecules/calendar/infrastructure/stores/storageAdapter.ts +34 -0
- package/src/molecules/calendar/infrastructure/stores/useCalendarEvents.ts +168 -0
- package/src/molecules/calendar/infrastructure/stores/useCalendarNavigation.ts +47 -0
- package/src/molecules/calendar/infrastructure/stores/useCalendarView.ts +24 -0
- package/src/molecules/calendar/presentation/hooks/useCalendar.ts +7 -11
- package/src/responsive/compute/computeDeviceInfo.ts +22 -0
- package/src/responsive/compute/computeResponsivePositioning.ts +42 -0
- package/src/responsive/compute/computeResponsiveSizes.ts +48 -0
- package/src/responsive/padding/paddingUtils.ts +65 -0
- package/src/responsive/positioning/positioningUtils.ts +61 -0
- package/src/responsive/responsiveLayout.ts +11 -264
- package/src/responsive/screen/screenLayoutConfig.ts +38 -0
- package/src/responsive/tabbar/tabBarConfig.ts +88 -0
- package/src/responsive/types/responsiveTypes.ts +69 -0
- package/src/responsive/useResponsive.ts +69 -158
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { StyleProp } from 'react-native';
|
|
2
|
+
import type { TextStyle, ViewStyle } from 'react-native';
|
|
3
|
+
import type { IconName } from '../AtomicIcon';
|
|
4
|
+
|
|
5
|
+
export type AtomicInputVariant = 'outlined' | 'filled' | 'flat';
|
|
6
|
+
export type AtomicInputState = 'default' | 'error' | 'success' | 'disabled';
|
|
7
|
+
export type AtomicInputSize = 'sm' | 'md' | 'lg';
|
|
8
|
+
|
|
9
|
+
export interface AtomicInputProps {
|
|
10
|
+
/** Input label */
|
|
11
|
+
label?: string;
|
|
12
|
+
/** Current input value */
|
|
13
|
+
value?: string;
|
|
14
|
+
/** Value change callback */
|
|
15
|
+
onChangeText?: (text: string) => void;
|
|
16
|
+
/** Input variant (outlined, filled, flat) */
|
|
17
|
+
variant?: AtomicInputVariant;
|
|
18
|
+
/** Input state (default, error, success, disabled) */
|
|
19
|
+
state?: AtomicInputState;
|
|
20
|
+
/** Input size (sm, md, lg) */
|
|
21
|
+
size?: AtomicInputSize;
|
|
22
|
+
/** Placeholder text */
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
/** Helper text below input */
|
|
25
|
+
helperText?: string;
|
|
26
|
+
/** Leading icon (Ionicons name) */
|
|
27
|
+
leadingIcon?: IconName;
|
|
28
|
+
/** Trailing icon (Ionicons name) */
|
|
29
|
+
trailingIcon?: IconName;
|
|
30
|
+
/** Callback when trailing icon is pressed */
|
|
31
|
+
onTrailingIconPress?: () => void;
|
|
32
|
+
/** Show password toggle for secure inputs */
|
|
33
|
+
showPasswordToggle?: boolean;
|
|
34
|
+
/** Secure text entry (password field) */
|
|
35
|
+
secureTextEntry?: boolean;
|
|
36
|
+
/** Maximum character length */
|
|
37
|
+
maxLength?: number;
|
|
38
|
+
/** Show character counter */
|
|
39
|
+
showCharacterCount?: boolean;
|
|
40
|
+
/** Keyboard type */
|
|
41
|
+
keyboardType?: 'default' | 'email-address' | 'numeric' | 'phone-pad' | 'url' | 'number-pad' | 'decimal-pad' | 'web-search' | 'twitter' | 'numeric' | 'visible-password';
|
|
42
|
+
/** Return key type */
|
|
43
|
+
returnKeyType?: 'done' | 'go' | 'next' | 'search' | 'send';
|
|
44
|
+
/** Callback when submit button is pressed */
|
|
45
|
+
onSubmitEditing?: () => void;
|
|
46
|
+
/** Blur on submit */
|
|
47
|
+
blurOnSubmit?: boolean;
|
|
48
|
+
/** Auto focus */
|
|
49
|
+
autoFocus?: boolean;
|
|
50
|
+
/** Auto-capitalize */
|
|
51
|
+
autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
|
|
52
|
+
/** Auto-correct */
|
|
53
|
+
autoCorrect?: boolean;
|
|
54
|
+
/** Disabled state */
|
|
55
|
+
disabled?: boolean;
|
|
56
|
+
/** Container style */
|
|
57
|
+
style?: StyleProp<ViewStyle>;
|
|
58
|
+
/** Input text style */
|
|
59
|
+
inputStyle?: StyleProp<TextStyle>;
|
|
60
|
+
/** Test ID for E2E testing */
|
|
61
|
+
testID?: string;
|
|
62
|
+
/** Blur callback */
|
|
63
|
+
onBlur?: () => void;
|
|
64
|
+
/** Focus callback */
|
|
65
|
+
onFocus?: () => void;
|
|
66
|
+
/** Multiline input support */
|
|
67
|
+
multiline?: boolean;
|
|
68
|
+
/** Number of lines for multiline input */
|
|
69
|
+
numberOfLines?: number;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export type { AtomicInputProps as InputProps };
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { useState, useMemo } from 'react';
|
|
2
|
+
import type { PickerOption } from '../../picker/types';
|
|
3
|
+
|
|
4
|
+
interface UsePickerStateProps {
|
|
5
|
+
value: string | string[] | null;
|
|
6
|
+
multiple: boolean;
|
|
7
|
+
options: PickerOption[];
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
autoClose?: boolean;
|
|
10
|
+
onChange: (value: string | string[]) => void;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const usePickerState = ({
|
|
14
|
+
value,
|
|
15
|
+
multiple,
|
|
16
|
+
options,
|
|
17
|
+
placeholder,
|
|
18
|
+
autoClose = true,
|
|
19
|
+
onChange,
|
|
20
|
+
}: UsePickerStateProps) => {
|
|
21
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
22
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Normalize value to array for consistent handling
|
|
26
|
+
*/
|
|
27
|
+
const selectedValues = useMemo(() => {
|
|
28
|
+
if (multiple) {
|
|
29
|
+
return Array.isArray(value) ? value : [];
|
|
30
|
+
}
|
|
31
|
+
return value ? [value as string] : [];
|
|
32
|
+
}, [value, multiple]);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get selected option objects
|
|
36
|
+
*/
|
|
37
|
+
const selectedOptions = useMemo(() => {
|
|
38
|
+
return options.filter((opt) => selectedValues.includes(opt.value));
|
|
39
|
+
}, [options, selectedValues]);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Filter options based on search query
|
|
43
|
+
*/
|
|
44
|
+
const filteredOptions = useMemo(() => {
|
|
45
|
+
if (!searchQuery.trim()) return options;
|
|
46
|
+
|
|
47
|
+
const query = searchQuery.toLowerCase();
|
|
48
|
+
return options.filter(
|
|
49
|
+
(opt) =>
|
|
50
|
+
opt.label.toLowerCase().includes(query) ||
|
|
51
|
+
opt.description?.toLowerCase().includes(query)
|
|
52
|
+
);
|
|
53
|
+
}, [options, searchQuery]);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Format display text for selected value(s)
|
|
57
|
+
*/
|
|
58
|
+
const displayText = useMemo(() => {
|
|
59
|
+
if (selectedOptions.length === 0) {
|
|
60
|
+
return placeholder;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (multiple) {
|
|
64
|
+
return selectedOptions.length === 1
|
|
65
|
+
? selectedOptions[0]?.label || placeholder
|
|
66
|
+
: `${selectedOptions.length} selected`;
|
|
67
|
+
}
|
|
68
|
+
return selectedOptions[0]?.label || placeholder;
|
|
69
|
+
}, [selectedOptions, placeholder, multiple]);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Handle modal open
|
|
73
|
+
*/
|
|
74
|
+
const openModal = () => {
|
|
75
|
+
setModalVisible(true);
|
|
76
|
+
setSearchQuery('');
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Handle modal close
|
|
81
|
+
*/
|
|
82
|
+
const closeModal = () => {
|
|
83
|
+
setModalVisible(false);
|
|
84
|
+
setSearchQuery('');
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Handle option selection
|
|
89
|
+
*/
|
|
90
|
+
const handleSelect = (optionValue: string) => {
|
|
91
|
+
if (multiple) {
|
|
92
|
+
const newValues = selectedValues.includes(optionValue)
|
|
93
|
+
? selectedValues.filter((v) => v !== optionValue)
|
|
94
|
+
: [...selectedValues, optionValue];
|
|
95
|
+
onChange(newValues);
|
|
96
|
+
} else {
|
|
97
|
+
onChange(optionValue);
|
|
98
|
+
if (autoClose) {
|
|
99
|
+
closeModal();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Handle clear selection
|
|
106
|
+
*/
|
|
107
|
+
const handleClear = () => {
|
|
108
|
+
onChange(multiple ? [] : '');
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Handle search query change
|
|
113
|
+
*/
|
|
114
|
+
const handleSearch = (query: string) => {
|
|
115
|
+
setSearchQuery(query);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Handle chip removal
|
|
120
|
+
*/
|
|
121
|
+
const handleChipRemove = (value: string) => {
|
|
122
|
+
handleSelect(value);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return {
|
|
126
|
+
modalVisible,
|
|
127
|
+
searchQuery,
|
|
128
|
+
selectedValues,
|
|
129
|
+
selectedOptions,
|
|
130
|
+
filteredOptions,
|
|
131
|
+
displayText,
|
|
132
|
+
openModal,
|
|
133
|
+
closeModal,
|
|
134
|
+
handleSelect,
|
|
135
|
+
handleClear,
|
|
136
|
+
handleSearch,
|
|
137
|
+
handleChipRemove,
|
|
138
|
+
};
|
|
139
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atoms Exports
|
|
3
|
+
* Primitive UI components
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
AtomicText,
|
|
8
|
+
AtomicIcon,
|
|
9
|
+
AtomicButton,
|
|
10
|
+
AtomicInput,
|
|
11
|
+
AtomicCard,
|
|
12
|
+
AtomicFab,
|
|
13
|
+
AtomicAvatar,
|
|
14
|
+
AtomicChip,
|
|
15
|
+
AtomicProgress,
|
|
16
|
+
AtomicPicker,
|
|
17
|
+
AtomicDatePicker,
|
|
18
|
+
AtomicSkeleton,
|
|
19
|
+
AtomicBadge,
|
|
20
|
+
AtomicSpinner,
|
|
21
|
+
LoadingSpinner,
|
|
22
|
+
EmptyState,
|
|
23
|
+
type IconName,
|
|
24
|
+
type IconSize,
|
|
25
|
+
type IconColor,
|
|
26
|
+
type AtomicTextProps,
|
|
27
|
+
type AtomicIconProps,
|
|
28
|
+
type AtomicButtonProps,
|
|
29
|
+
type ButtonVariant,
|
|
30
|
+
type ButtonSize,
|
|
31
|
+
type AtomicInputProps,
|
|
32
|
+
type AtomicInputVariant,
|
|
33
|
+
type AtomicInputState,
|
|
34
|
+
type AtomicInputSize,
|
|
35
|
+
type AtomicCardProps,
|
|
36
|
+
type AtomicCardVariant,
|
|
37
|
+
type AtomicCardPadding,
|
|
38
|
+
type AtomicFabProps,
|
|
39
|
+
type FabSize,
|
|
40
|
+
type FabVariant,
|
|
41
|
+
type AtomicAvatarProps,
|
|
42
|
+
type AtomicChipProps,
|
|
43
|
+
type AtomicProgressProps,
|
|
44
|
+
type AtomicPickerProps,
|
|
45
|
+
type PickerOption,
|
|
46
|
+
type PickerSize,
|
|
47
|
+
type AtomicDatePickerProps,
|
|
48
|
+
type AtomicSkeletonProps,
|
|
49
|
+
type SkeletonPattern,
|
|
50
|
+
type SkeletonConfig,
|
|
51
|
+
SKELETON_PATTERNS,
|
|
52
|
+
type AtomicBadgeProps,
|
|
53
|
+
type BadgeVariant,
|
|
54
|
+
type BadgeSize,
|
|
55
|
+
type AtomicSpinnerProps,
|
|
56
|
+
type SpinnerSize,
|
|
57
|
+
type SpinnerColor,
|
|
58
|
+
type EmptyStateProps,
|
|
59
|
+
AtomicTextArea,
|
|
60
|
+
type AtomicTextAreaProps,
|
|
61
|
+
AtomicSwitch,
|
|
62
|
+
type AtomicSwitchProps,
|
|
63
|
+
AtomicTouchable,
|
|
64
|
+
type AtomicTouchableProps,
|
|
65
|
+
AtomicStatusBar,
|
|
66
|
+
type AtomicStatusBarProps,
|
|
67
|
+
AtomicKeyboardAvoidingView,
|
|
68
|
+
type AtomicKeyboardAvoidingViewProps,
|
|
69
|
+
} from '../atoms';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device Exports
|
|
3
|
+
* Device detection and capabilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
// Device detection
|
|
8
|
+
DeviceType,
|
|
9
|
+
getScreenDimensions,
|
|
10
|
+
isPhone,
|
|
11
|
+
isSmallPhone,
|
|
12
|
+
isLargePhone,
|
|
13
|
+
isTablet,
|
|
14
|
+
isLandscape,
|
|
15
|
+
getDeviceType,
|
|
16
|
+
getSpacingMultiplier,
|
|
17
|
+
// iPad detection
|
|
18
|
+
isIPad,
|
|
19
|
+
isIPadMini,
|
|
20
|
+
isIPadPro,
|
|
21
|
+
isIPadLandscape,
|
|
22
|
+
IPAD_BREAKPOINTS,
|
|
23
|
+
TOUCH_TARGETS,
|
|
24
|
+
CONTENT_WIDTH_CONSTRAINTS,
|
|
25
|
+
IPAD_LAYOUT_CONFIG,
|
|
26
|
+
// iPad utilities
|
|
27
|
+
getContentMaxWidth,
|
|
28
|
+
getIPadGridColumns,
|
|
29
|
+
getTouchTargetSize,
|
|
30
|
+
getIPadScreenPadding,
|
|
31
|
+
getIPadFontScale,
|
|
32
|
+
getIPadLayoutInfo,
|
|
33
|
+
getIPadModalDimensions,
|
|
34
|
+
getPaywallDimensions,
|
|
35
|
+
type IPadLayoutInfo,
|
|
36
|
+
type ModalDimensions,
|
|
37
|
+
type PaywallDimensions,
|
|
38
|
+
// Device info
|
|
39
|
+
DEVICE_CONSTANTS,
|
|
40
|
+
DeviceUtils,
|
|
41
|
+
DeviceTypeUtils,
|
|
42
|
+
DeviceMemoryUtils,
|
|
43
|
+
DeviceService,
|
|
44
|
+
UserFriendlyIdService,
|
|
45
|
+
PersistentDeviceIdService,
|
|
46
|
+
useDeviceInfo,
|
|
47
|
+
useDeviceCapabilities,
|
|
48
|
+
useDeviceId,
|
|
49
|
+
useAnonymousUser,
|
|
50
|
+
getAnonymousUserId,
|
|
51
|
+
collectDeviceExtras,
|
|
52
|
+
type DeviceInfo,
|
|
53
|
+
type ApplicationInfo,
|
|
54
|
+
type SystemInfo,
|
|
55
|
+
type AnonymousUser,
|
|
56
|
+
type UseAnonymousUserOptions,
|
|
57
|
+
type DeviceExtras,
|
|
58
|
+
} from '../device';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layouts Exports
|
|
3
|
+
* Layout components
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
ScreenLayout,
|
|
8
|
+
AppHeader,
|
|
9
|
+
ScreenHeader,
|
|
10
|
+
Grid,
|
|
11
|
+
Container,
|
|
12
|
+
FormLayout,
|
|
13
|
+
type ScreenLayoutProps,
|
|
14
|
+
type AppHeaderProps,
|
|
15
|
+
type ScreenHeaderProps,
|
|
16
|
+
type GridProps,
|
|
17
|
+
type ContainerProps,
|
|
18
|
+
type FormLayoutProps,
|
|
19
|
+
} from '../layouts';
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Molecules Exports
|
|
3
|
+
* Composite components
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
FormField,
|
|
8
|
+
ListItem,
|
|
9
|
+
SearchBar,
|
|
10
|
+
IconContainer,
|
|
11
|
+
BaseModal,
|
|
12
|
+
ConfirmationModal,
|
|
13
|
+
useConfirmationModal,
|
|
14
|
+
StepProgress,
|
|
15
|
+
List,
|
|
16
|
+
Avatar,
|
|
17
|
+
AvatarGroup,
|
|
18
|
+
AvatarUtils,
|
|
19
|
+
type AvatarProps,
|
|
20
|
+
type AvatarGroupProps,
|
|
21
|
+
type AvatarGroupItem,
|
|
22
|
+
type AvatarSize,
|
|
23
|
+
type AvatarShape,
|
|
24
|
+
type AvatarConfig,
|
|
25
|
+
type AvatarType,
|
|
26
|
+
// Media Card
|
|
27
|
+
MediaCard,
|
|
28
|
+
type MediaCardProps,
|
|
29
|
+
type MediaCardSize,
|
|
30
|
+
type MediaCardOverlayPosition,
|
|
31
|
+
// Bottom Sheet
|
|
32
|
+
BottomSheet,
|
|
33
|
+
BottomSheetModal,
|
|
34
|
+
SafeBottomSheetModalProvider,
|
|
35
|
+
FilterBottomSheet,
|
|
36
|
+
FilterSheet,
|
|
37
|
+
useBottomSheet,
|
|
38
|
+
useBottomSheetModal,
|
|
39
|
+
useListFilters,
|
|
40
|
+
type BottomSheetProps,
|
|
41
|
+
type BottomSheetModalProps,
|
|
42
|
+
type BottomSheetRef,
|
|
43
|
+
type BottomSheetModalRef,
|
|
44
|
+
type FilterOption,
|
|
45
|
+
type FilterCategory,
|
|
46
|
+
// Alerts
|
|
47
|
+
AlertBanner,
|
|
48
|
+
AlertToast,
|
|
49
|
+
AlertInline,
|
|
50
|
+
AlertModal,
|
|
51
|
+
AlertContainer,
|
|
52
|
+
AlertProvider,
|
|
53
|
+
AlertService,
|
|
54
|
+
useAlert,
|
|
55
|
+
alertService,
|
|
56
|
+
AlertType,
|
|
57
|
+
AlertMode,
|
|
58
|
+
AlertPosition,
|
|
59
|
+
type BaseModalProps,
|
|
60
|
+
type ListProps,
|
|
61
|
+
type Alert,
|
|
62
|
+
type AlertAction,
|
|
63
|
+
type AlertOptions,
|
|
64
|
+
// Calendar
|
|
65
|
+
AtomicCalendar,
|
|
66
|
+
useCalendar,
|
|
67
|
+
useCalendarEvents,
|
|
68
|
+
useCalendarNavigation,
|
|
69
|
+
useCalendarView,
|
|
70
|
+
CalendarService,
|
|
71
|
+
CalendarGeneration,
|
|
72
|
+
DateUtilities,
|
|
73
|
+
type AtomicCalendarProps,
|
|
74
|
+
type CalendarEvent,
|
|
75
|
+
type CalendarViewMode,
|
|
76
|
+
type CreateCalendarEventRequest,
|
|
77
|
+
type UpdateCalendarEventRequest,
|
|
78
|
+
type CalendarDay,
|
|
79
|
+
type CalendarMonth,
|
|
80
|
+
type CalendarWeek,
|
|
81
|
+
type ICalendarRepository,
|
|
82
|
+
// Swipe Actions
|
|
83
|
+
SwipeActionButton,
|
|
84
|
+
SwipeActionUtils,
|
|
85
|
+
ACTION_PRESETS,
|
|
86
|
+
DEFAULT_SWIPE_CONFIG,
|
|
87
|
+
type SwipeActionButtonProps,
|
|
88
|
+
type SwipeActionType,
|
|
89
|
+
type SwipeActionConfig,
|
|
90
|
+
type SwipeDirection,
|
|
91
|
+
type SwipeableConfig,
|
|
92
|
+
// Navigation
|
|
93
|
+
TabsNavigator,
|
|
94
|
+
StackNavigator,
|
|
95
|
+
createTabNavigator,
|
|
96
|
+
createStackNavigator,
|
|
97
|
+
FabButton,
|
|
98
|
+
NavigationCleanupManager,
|
|
99
|
+
AppNavigation,
|
|
100
|
+
TabLabel,
|
|
101
|
+
useTabBarStyles,
|
|
102
|
+
useTabConfig,
|
|
103
|
+
type TabsNavigatorProps,
|
|
104
|
+
type StackNavigatorProps,
|
|
105
|
+
type FabButtonProps,
|
|
106
|
+
type TabScreen,
|
|
107
|
+
type TabNavigatorConfig,
|
|
108
|
+
type StackScreen,
|
|
109
|
+
type StackNavigatorConfig,
|
|
110
|
+
type BaseScreen,
|
|
111
|
+
type BaseNavigatorConfig,
|
|
112
|
+
type IconRendererProps,
|
|
113
|
+
type LabelProcessorProps,
|
|
114
|
+
type FabConfig,
|
|
115
|
+
type NavigationCleanup,
|
|
116
|
+
type BottomTabNavigationOptions,
|
|
117
|
+
type BottomTabScreenProps,
|
|
118
|
+
type StackNavigationOptions,
|
|
119
|
+
type TabLabelProps,
|
|
120
|
+
type TabBarConfig,
|
|
121
|
+
// Long Press Menu
|
|
122
|
+
type MenuAction,
|
|
123
|
+
type MenuActionTypeValue,
|
|
124
|
+
MenuActionType,
|
|
125
|
+
// Emoji
|
|
126
|
+
EmojiPicker,
|
|
127
|
+
useEmojiPicker,
|
|
128
|
+
EmojiCategory,
|
|
129
|
+
EmojiUtils,
|
|
130
|
+
type EmojiObject,
|
|
131
|
+
type EmojiPickerConfig,
|
|
132
|
+
type EmojiSelectCallback,
|
|
133
|
+
type EmojiPickerState,
|
|
134
|
+
type EmojiPickerProps,
|
|
135
|
+
type UseEmojiPickerOptions,
|
|
136
|
+
type UseEmojiPickerReturn,
|
|
137
|
+
// Countdown
|
|
138
|
+
Countdown,
|
|
139
|
+
TimeUnit,
|
|
140
|
+
CountdownHeader,
|
|
141
|
+
useCountdown,
|
|
142
|
+
calculateTimeRemaining,
|
|
143
|
+
padNumber,
|
|
144
|
+
getNextDayStart,
|
|
145
|
+
getNextYearStart,
|
|
146
|
+
type CountdownProps,
|
|
147
|
+
type TimeUnitProps,
|
|
148
|
+
type CountdownHeaderProps,
|
|
149
|
+
type UseCountdownOptions,
|
|
150
|
+
type UseCountdownReturn,
|
|
151
|
+
type TimeRemaining,
|
|
152
|
+
type CountdownTarget,
|
|
153
|
+
type CountdownFormatOptions,
|
|
154
|
+
type CountdownDisplayConfig,
|
|
155
|
+
// Step Header
|
|
156
|
+
StepHeader,
|
|
157
|
+
type StepHeaderProps,
|
|
158
|
+
type StepHeaderConfig,
|
|
159
|
+
// Splash
|
|
160
|
+
SplashScreen,
|
|
161
|
+
useSplashFlow,
|
|
162
|
+
type SplashScreenProps,
|
|
163
|
+
type SplashColors,
|
|
164
|
+
type UseSplashFlowOptions,
|
|
165
|
+
type UseSplashFlowResult,
|
|
166
|
+
} from '../molecules';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Responsive Exports
|
|
3
|
+
* Responsive utilities and breakpoints
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
useResponsive,
|
|
8
|
+
getResponsiveLogoSize,
|
|
9
|
+
getResponsiveInputHeight,
|
|
10
|
+
getResponsiveHorizontalPadding,
|
|
11
|
+
getResponsiveBottomPosition,
|
|
12
|
+
getResponsiveFABPosition,
|
|
13
|
+
getResponsiveModalMaxHeight,
|
|
14
|
+
getResponsiveMinModalHeight,
|
|
15
|
+
getResponsiveModalWidth,
|
|
16
|
+
getResponsiveModalHeight,
|
|
17
|
+
getResponsiveModalBorderRadius,
|
|
18
|
+
getResponsiveModalMaxWidth,
|
|
19
|
+
getResponsiveBackdropOpacity,
|
|
20
|
+
getResponsiveModalLayout,
|
|
21
|
+
getResponsiveBottomSheetLayout,
|
|
22
|
+
getResponsiveDialogLayout,
|
|
23
|
+
getResponsiveIconContainerSize,
|
|
24
|
+
getResponsiveGridColumns,
|
|
25
|
+
getResponsiveMaxWidth,
|
|
26
|
+
getResponsiveFontSize,
|
|
27
|
+
getMinTouchTarget,
|
|
28
|
+
IOS_HIG,
|
|
29
|
+
PLATFORM_CONSTANTS,
|
|
30
|
+
isValidTouchTarget,
|
|
31
|
+
DEVICE_BREAKPOINTS,
|
|
32
|
+
type ResponsiveModalLayout,
|
|
33
|
+
type ResponsiveBottomSheetLayout,
|
|
34
|
+
type ResponsiveDialogLayout,
|
|
35
|
+
type UseResponsiveReturn,
|
|
36
|
+
} from '../responsive';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Exports
|
|
3
|
+
* Design tokens, colors, spacing, typography, and theme utilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
useAppDesignTokens,
|
|
8
|
+
useCommonStyles,
|
|
9
|
+
useDesignSystemTheme,
|
|
10
|
+
useTheme,
|
|
11
|
+
useThemedStyles,
|
|
12
|
+
useThemedStyleSheet,
|
|
13
|
+
DesignSystemProvider,
|
|
14
|
+
lightColors,
|
|
15
|
+
darkColors,
|
|
16
|
+
getColorPalette,
|
|
17
|
+
withAlpha,
|
|
18
|
+
BASE_TOKENS,
|
|
19
|
+
BASE_TOKENS as STATIC_TOKENS,
|
|
20
|
+
spacing,
|
|
21
|
+
typography,
|
|
22
|
+
borders,
|
|
23
|
+
createDesignTokens,
|
|
24
|
+
lightTheme,
|
|
25
|
+
darkTheme,
|
|
26
|
+
createResponsiveValue,
|
|
27
|
+
ThemeStorage,
|
|
28
|
+
createNavigationTheme,
|
|
29
|
+
applyCustomColors,
|
|
30
|
+
type ColorPalette,
|
|
31
|
+
type ThemeMode,
|
|
32
|
+
type CustomThemeColors,
|
|
33
|
+
type Spacing,
|
|
34
|
+
type Typography,
|
|
35
|
+
type Borders,
|
|
36
|
+
type BaseTokens,
|
|
37
|
+
type IconSizes,
|
|
38
|
+
type Opacity,
|
|
39
|
+
type AvatarSizes,
|
|
40
|
+
type ComponentSizes,
|
|
41
|
+
type DesignTokens,
|
|
42
|
+
type ResponsiveSpacing,
|
|
43
|
+
type ResponsiveTypography,
|
|
44
|
+
type Theme,
|
|
45
|
+
type ExtendedColorPalette,
|
|
46
|
+
type NavigationTheme,
|
|
47
|
+
} from '../theme';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typography Exports
|
|
3
|
+
* Text styles and color utilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
getTextColor,
|
|
8
|
+
getTextStyle,
|
|
9
|
+
isTextStyleVariant,
|
|
10
|
+
getAllTextStyleVariants,
|
|
11
|
+
clearTypographyCache,
|
|
12
|
+
clearColorCache,
|
|
13
|
+
isValidHexColor,
|
|
14
|
+
isValidRgbColor,
|
|
15
|
+
isValidHslColor,
|
|
16
|
+
isValidNamedColor,
|
|
17
|
+
isValidColor,
|
|
18
|
+
getColorFormat,
|
|
19
|
+
normalizeColor,
|
|
20
|
+
type TextStyleVariant,
|
|
21
|
+
type ColorVariant,
|
|
22
|
+
} from '../typography';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variant Utilities Exports
|
|
3
|
+
* Variant and style utilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
createVariants,
|
|
8
|
+
type VariantConfig,
|
|
9
|
+
type VariantProps,
|
|
10
|
+
} from '../presentation/utils/variants/core';
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
createAdvancedVariants,
|
|
14
|
+
type AdvancedVariantConfig,
|
|
15
|
+
type CompoundVariant,
|
|
16
|
+
} from '../presentation/utils/variants/compound';
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
conditionalStyle,
|
|
20
|
+
responsiveStyle,
|
|
21
|
+
combineStyles,
|
|
22
|
+
} from '../presentation/utils/variants/helpers';
|