@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 +21 -0
- package/dist/index.d.ts +309 -0
- package/dist/index.js +6117 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6089 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +61 -0
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.
|
package/dist/index.d.ts
ADDED
|
@@ -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
|