@otfdashkit/ui-native 0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dave Soni
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,309 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ // Hand-written type stub for @otfdashkit/ui-native. The kit's React 19 typecheck
3
+ // otherwise walks into Tamagui's React 18-pinned types. The runtime JS bundle
4
+ // is produced from src/ via tsup; this file only exists to satisfy the type
5
+ // resolver in consumer kits.
6
+
7
+ // ─── Tamagui pass-through (full library) ──────────────────────────────────────
8
+ export * from 'tamagui'
9
+
10
+ // Aliases that don't auto-export from tamagui because they're renamed
11
+ export { TamaguiProvider as OtfProvider, Image as TamaguiImage, ListItem as TamaguiListItem } from 'tamagui'
12
+ import { TamaguiInternalConfig } from 'tamagui'
13
+
14
+ // ─── Lucide icons pass-through ────────────────────────────────────────────────
15
+ export * from '@tamagui/lucide-icons'
16
+
17
+ // ─── Default Tamagui config re-export (for createTamagui calls) ──────────────
18
+ export { defaultConfig as tamaguiDefaultConfig } from '@tamagui/config/v5'
19
+
20
+ // ─── OTF config ───────────────────────────────────────────────────────────────
21
+ export const otfConfig: TamaguiInternalConfig
22
+ export type OtfConfig = typeof otfConfig
23
+
24
+ declare module 'tamagui' {
25
+ interface TamaguiCustomConfig extends OtfConfig {}
26
+ }
27
+
28
+ // ─── Design themes ────────────────────────────────────────────────────────────
29
+ export type OtfDesignThemeId =
30
+ | 'mono' | 'ocean-teal' | 'warm-amber' | 'rose-coral' | 'lavender' | 'glacier'
31
+ | 'forest' | 'obsidian' | 'solar' | 'orchid' | 'indigo' | 'cosmic-night'
32
+ | 'soft-pop' | 'neo-brutalism' | 'vintage-paper' | 'modern-minimal' | 'bubblegum'
33
+
34
+ export interface OtfColorPalette {
35
+ primary: string
36
+ primary_foreground: string
37
+ [key: string]: string
38
+ }
39
+
40
+ export interface OtfDesignTheme {
41
+ id: OtfDesignThemeId
42
+ name: string
43
+ light: OtfColorPalette
44
+ dark: OtfColorPalette
45
+ }
46
+
47
+ export const OTF_DESIGN_THEMES: Record<OtfDesignThemeId, OtfDesignTheme>
48
+ export const OTF_DESIGN_THEME_IDS: OtfDesignThemeId[]
49
+ export function getOtfThemePalettes(themeId: OtfDesignThemeId): { light: any; dark: any }
50
+ export function getOtfDesignTheme(themeId: OtfDesignThemeId): OtfDesignTheme
51
+
52
+ // ─── Otf-prefixed primitives (avoid name clashes with Tamagui originals) ─────
53
+ export const OtfButton: any
54
+ export type OtfButtonProps = any
55
+ export const OtfText: any
56
+ export type OtfTextProps = any
57
+ export const OtfCard: any
58
+ export type OtfCardProps = any
59
+ export const OtfInput: any
60
+ export type OtfInputProps = any
61
+ export const OtfAvatar: any
62
+ export type OtfAvatarProps = any
63
+
64
+ // ─── Interface components ─────────────────────────────────────────────────────
65
+ export const SubHeading: any
66
+ export const SepHeading: any
67
+ export const PageContainer: any
68
+ export const PageMainContainer: any
69
+ export const DialogProvider: any
70
+ export const showError: any
71
+ export const dialogConfirm: any
72
+ export const Pressable: any
73
+ export const Image: any
74
+ export const Badge: any
75
+ export type BadgeProps = any
76
+ export const Icon: any
77
+ export const ICONS: any
78
+ export type IconName = string
79
+ export type IconProps = any
80
+ export const OtfAccordion: any
81
+ export type OtfAccordionProps = any
82
+ export type OtfAccordionItem = any
83
+ export const OtfTabs: any
84
+ export type OtfTabsProps = any
85
+ export type OtfTabItem = any
86
+ export const OtfToggleGroup: any
87
+ export type OtfToggleGroupProps = any
88
+ export type OtfToggleOption = any
89
+ export const OtfToastProvider: any
90
+ export const useOtfToast: any
91
+ export const toast: any
92
+ export type OtfToastVariant = any
93
+ export type OtfToastData = any
94
+ export type OtfToastOptions = any
95
+ export type OtfToastContextType = any
96
+ export const FormField: any
97
+ export type FormFieldProps = any
98
+ export const OtfTooltip: any
99
+ export type TooltipProps = any
100
+ export const GoogleLogo: any
101
+ export const AppleLogo: any
102
+ export const GitHubLogo: any
103
+ export const MicrosoftLogo: any
104
+
105
+ // ─── Layouts ──────────────────────────────────────────────────────────────────
106
+ export const StepPageLayout: any
107
+ export type StepPageProps = any
108
+ export const ScreenLayout: any
109
+ export const Section: any
110
+ export type SectionProps = any
111
+ export const ListItem: any
112
+ export type ListItemProps = any
113
+ export const Divider: any
114
+ export type DividerProps = any
115
+ export const KeyboardStickyFooter: any
116
+ export type KeyboardStickyFooterProps = any
117
+ export const SafeArea: any
118
+ export type SafeAreaProps = any
119
+ export const Grid: any
120
+ export const Container: any
121
+ export type GridProps = any
122
+ export type ContainerProps = any
123
+
124
+ // ─── Patterns ─────────────────────────────────────────────────────────────────
125
+ export const PaywallScreen: any
126
+ export type PaywallScreenProps = any
127
+ export type PlanOption = any
128
+ export type PaywallVariant = any
129
+ export type PaywallFeature = any
130
+ export type PaywallComparisonRow = any
131
+ export type PaywallTestimonial = any
132
+ export type PaywallCreator = any
133
+ export const OnboardingCarousel: any
134
+ export type OnboardingCarouselProps = any
135
+ export type OnboardingStep = any
136
+ export type OnboardingVariant = any
137
+ export const ChatBubble: any
138
+ export type ChatBubbleProps = any
139
+ export type ChatMessage = any
140
+ export const SettingsScreen: any
141
+ export type SettingsScreenProps = any
142
+ export type SettingsSection = any
143
+ export type SettingsItem = any
144
+ export const EmptyState: any
145
+ export type EmptyStateProps = any
146
+ export const ProfileHeader: any
147
+ export type ProfileHeaderProps = any
148
+ export const AppHeader: any
149
+ export type AppHeaderProps = any
150
+ export type AppHeaderVariant = any
151
+ export const BottomSheet: any
152
+ export type BottomSheetProps = any
153
+ export const LoginScreen: any
154
+ export type LoginScreenProps = any
155
+ export type AuthProvider = any
156
+ export type AuthProviderBrand = any
157
+ export type LoginScreenVariant = any
158
+ export const TabBar: any
159
+ export type TabBarProps = any
160
+ export type TabBarItem = any
161
+ export const ChipsTabBar: any
162
+ export type ChipsTabBarProps = any
163
+ export type ChipsTabBarItem = any
164
+ export const SearchBar: any
165
+ export type SearchBarProps = any
166
+ export const FloatingActionButton: any
167
+ export type FABProps = any
168
+ export const ActionSheet: any
169
+ export type ActionSheetProps = any
170
+ export type ActionSheetItem = any
171
+ export const Skeleton: any
172
+ export type SkeletonProps = any
173
+ export const NotificationBanner: any
174
+ export type NotificationBannerProps = any
175
+ export const ProgressSteps: any
176
+ export type ProgressStepsProps = any
177
+ export const SwipeableRow: any
178
+ export type SwipeableRowProps = any
179
+ export type SwipeAction = any
180
+ export const MediaCard: any
181
+ export type MediaCardProps = any
182
+ export const Carousel: any
183
+ export type CarouselProps = any
184
+ export const PullToRefresh: any
185
+ export type PullToRefreshProps = any
186
+ export const ProductCard: any
187
+ export type ProductCardProps = any
188
+ export const PricingTable: any
189
+ export type PricingTableProps = any
190
+ export type PricingPlan = any
191
+ export const CountdownBanner: any
192
+ export type CountdownBannerProps = any
193
+ export const TestimonialCard: any
194
+ export type TestimonialCardProps = any
195
+ export const ConfirmDialog: any
196
+ export type ConfirmDialogProps = any
197
+ export const Chip: any
198
+ export const ChipGroup: any
199
+ export type ChipProps = any
200
+ export type ChipGroupProps = any
201
+ export const OTPInput: any
202
+ export type OTPInputProps = any
203
+ export const PasswordInput: any
204
+ export type PasswordInputProps = any
205
+ export const AvatarGroup: any
206
+ export type AvatarGroupProps = any
207
+ export const SwipeCards: any
208
+ export type SwipeCardsProps = any
209
+ export type SwipeCardItem = any
210
+ export const GlassCard: any
211
+ export type GlassCardProps = any
212
+ export const DataTable: any
213
+ export const StatusBadge: any
214
+ export type DataTableProps = any
215
+ export type DataTableColumn = any
216
+ export const DatePicker: any
217
+ export type DatePickerProps = any
218
+ export const EventCard: any
219
+ export type EventCardProps = any
220
+ export const UserPreferences: any
221
+ export type UserPreferencesProps = any
222
+ export type PreferenceSection = any
223
+ export type PreferenceItem = any
224
+ export const OtfSelect: any
225
+ export type OtfSelectProps = any
226
+ export type OtfSelectItem = any
227
+ export const OtfDialog: any
228
+ export type OtfDialogProps = any
229
+ export const OtfPopover: any
230
+ export type OtfPopoverProps = any
231
+ export const ImmersiveMediaScreen: any
232
+ export type ImmersiveMediaScreenProps = any
233
+ export type ImmersiveMediaAction = any
234
+ export const FinanceDashboard: any
235
+ export type FinanceDashboardProps = any
236
+ export type FinanceMetric = any
237
+ export type FinanceQuickAction = any
238
+ export type FinanceDashboardSection = any
239
+
240
+ // ─── Mobile flow primitives ────────────────────────────────────────────────
241
+ export const MultiStep: any
242
+ export const Step: any
243
+ export const useMultiStep: any
244
+ export type MultiStepProps = any
245
+ export type StepProps = any
246
+ export type MultiStepTransition = any
247
+ export type MultiStepProgress = any
248
+ export type UseMultiStep = any
249
+
250
+ export const Selectable: any
251
+ export const SelectableGroup: any
252
+ export type SelectableProps = any
253
+ export type SelectableGroupProps = any
254
+ export type SelectableOption<T extends string | number = string> = {
255
+ value: T
256
+ label: string
257
+ description?: string
258
+ icon?: any
259
+ }
260
+
261
+ export const AnimatedView: any
262
+ export type AnimatedViewProps = any
263
+ export type AnimationPreset = any
264
+ export type AnimatedViewTrigger = any
265
+
266
+ export const Expandable: any
267
+ export type ExpandableProps = any
268
+
269
+ export const WheelPicker: any
270
+ export type WheelPickerProps = any
271
+ export type WheelPickerOption<T extends string | number = string> = {
272
+ value: T
273
+ label: string
274
+ }
275
+
276
+ export const RulerScrubber: any
277
+ export type RulerScrubberProps = any
278
+
279
+ export const CardScroller: <T>(props: {
280
+ data: readonly T[]
281
+ renderItem: (item: T, index: number) => React.ReactNode
282
+ keyExtractor: (item: T, index: number) => string
283
+ itemWidth?: number | `${number}%`
284
+ gap?: number
285
+ initialIndex?: number
286
+ paddingHorizontal?: number
287
+ snap?: 'center' | 'start'
288
+ fadeOff?: boolean
289
+ onIndexChange?: (index: number) => void
290
+ accessibilityLabel?: string
291
+ }) => JSX.Element
292
+ export type CardScrollerProps<T = unknown> = {
293
+ data: readonly T[]
294
+ renderItem: (item: T, index: number) => React.ReactNode
295
+ keyExtractor: (item: T, index: number) => string
296
+ itemWidth?: number | `${number}%`
297
+ gap?: number
298
+ initialIndex?: number
299
+ paddingHorizontal?: number
300
+ snap?: 'center' | 'start'
301
+ fadeOff?: boolean
302
+ onIndexChange?: (index: number) => void
303
+ accessibilityLabel?: string
304
+ }
305
+
306
+ // ─── Hooks ─────────────────────────────────────────────────────────────────
307
+ export const useCollapsibleHeader: any
308
+ export type UseCollapsibleHeaderOptions = any
309
+ export type UseCollapsibleHeaderReturn = any