@campxdev/react-native-blueprint 0.1.1 → 0.1.2
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/global.css +417 -0
- package/lib/module/components/ui/index.js +1 -0
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/types/global.d.js +6 -0
- package/lib/module/types/global.d.js.map +1 -0
- package/lib/module/types/rn-primitives.d.js +6 -0
- package/lib/module/types/rn-primitives.d.js.map +1 -0
- package/lib/typescript/src/app/_layout.d.ts +7 -8
- package/lib/typescript/src/components/ui/Accordion.d.ts +103 -11
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts +167 -10
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Alert.d.ts +59 -10
- package/lib/typescript/src/components/ui/Avatar.d.ts +1350 -10
- package/lib/typescript/src/components/ui/Badge.d.ts +203 -10
- package/lib/typescript/src/components/ui/Bottom-Sheet.d.ts +43 -11
- package/lib/typescript/src/components/ui/Button.d.ts +175 -10
- package/lib/typescript/src/components/ui/Card.d.ts +853 -10
- package/lib/typescript/src/components/ui/Checkbox.d.ts +36 -11
- package/lib/typescript/src/components/ui/Collapsible.d.ts +1 -147
- package/lib/typescript/src/components/ui/Collapsible.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Context-Menu.d.ts +149 -10
- package/lib/typescript/src/components/ui/Context-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Custom-Card.d.ts +863 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts +125 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts +283 -10
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Greeting-Card.d.ts +152 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts +67 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Icon.d.ts +43 -11
- package/lib/typescript/src/components/ui/Input.d.ts +51 -10
- package/lib/typescript/src/components/ui/Label.d.ts +104 -10
- package/lib/typescript/src/components/ui/Menubar.d.ts +174 -10
- package/lib/typescript/src/components/ui/NavBar.d.ts +271 -9
- package/lib/typescript/src/components/ui/Popover.d.ts +70 -10
- package/lib/typescript/src/components/ui/Popover.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Progress.d.ts +27 -11
- package/lib/typescript/src/components/ui/Radio-Group.d.ts +47 -11
- package/lib/typescript/src/components/ui/Select.d.ts +106 -10
- package/lib/typescript/src/components/ui/Separator.d.ts +165 -10
- package/lib/typescript/src/components/ui/Skeleton.d.ts +40 -11
- package/lib/typescript/src/components/ui/Slider.d.ts +52 -8
- package/lib/typescript/src/components/ui/Switch.d.ts +34 -11
- package/lib/typescript/src/components/ui/Table.d.ts +69 -10
- package/lib/typescript/src/components/ui/Tabs.d.ts +51 -11
- package/lib/typescript/src/components/ui/Text.d.ts +115 -10
- package/lib/typescript/src/components/ui/Textarea.d.ts +60 -10
- package/lib/typescript/src/components/ui/Theme-Toggle.d.ts +193 -10
- package/lib/typescript/src/components/ui/Toast.d.ts +54 -10
- package/lib/typescript/src/components/ui/Toggle-Group.d.ts +48 -10
- package/lib/typescript/src/components/ui/Toggle.d.ts +52 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts +70 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +7 -2
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -93
- package/lib/typescript/src/lib/ThemeProvider.d.ts +136 -13
- package/lib/typescript/src/lib/cornerRadius.d.ts +112 -21
- package/lib/typescript/src/lib/fonts.d.ts +21 -30
- package/lib/typescript/src/lib/theme.d.ts +86 -8
- package/lib/typescript/src/lib/utils.d.ts +111 -1
- package/package.json +3 -9
- package/src/components/ui/index.ts +1 -0
- package/src/types/global.d.ts +44 -0
- package/src/types/rn-primitives.d.ts +70 -0
- package/lib/typescript/babel.config.d.ts +0 -13
- package/lib/typescript/babel.config.d.ts.map +0 -1
- package/lib/typescript/metro.config.d.ts +0 -3
- package/lib/typescript/metro.config.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Floating-Action-Button.d.ts +0 -11
- package/lib/typescript/src/components/ui.d.ts +0 -49
- package/lib/typescript/tailwind.config.d.ts +0 -3
- package/lib/typescript/tailwind.config.d.ts.map +0 -1
package/global.css
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
/* === 1. SURFACES === */
|
|
7
|
+
--background: 210 17% 97%; /* #F7F8FA */
|
|
8
|
+
--card: 0 0% 100%; /* #FFFFFF */
|
|
9
|
+
--popover: 0 0% 100%; /* #FFFFFF */
|
|
10
|
+
--muted: 0 0% 100%; /* #FFFFFF - Same as card for consistency */
|
|
11
|
+
|
|
12
|
+
/* === 2. TEXT === */
|
|
13
|
+
--foreground: 0 0% 7%; /* #121212 */
|
|
14
|
+
--card-foreground: 0 0% 7%; /* #121212 */
|
|
15
|
+
--popover-foreground: 0 0% 7%; /* #121212 */
|
|
16
|
+
--muted-foreground: 0 0% 7% / 0.7; /* #121212 at 70% opacity */
|
|
17
|
+
|
|
18
|
+
/* === 3. PRIMARY (Main buttons, CTAs) === */
|
|
19
|
+
--primary: 200 13% 11%; /* #161A1D - Near black */
|
|
20
|
+
--primary-foreground: 0 0% 100%; /* #FFFFFF */
|
|
21
|
+
|
|
22
|
+
/* === 4. SECONDARY (Secondary buttons) === */
|
|
23
|
+
--secondary: 218 14% 53%; /* #64748B */
|
|
24
|
+
--secondary-foreground: 0 0% 100%; /* #FFFFFF */
|
|
25
|
+
|
|
26
|
+
/* === 5. TERTIARY/ACCENT (Highlights, selections) === */
|
|
27
|
+
--accent: 356 76% 57%; /* #E43341 - Crimson */
|
|
28
|
+
--accent-foreground: 0 0% 100%; /* #FFFFFF */
|
|
29
|
+
|
|
30
|
+
/* === 6. BORDERS === */
|
|
31
|
+
--border: 214 32% 84%; /* #CBD5E1 */
|
|
32
|
+
--input: 214 32% 84%; /* #CBD5E1 */
|
|
33
|
+
--ring: 200 13% 11%; /* #161A1D - Same as primary */
|
|
34
|
+
|
|
35
|
+
/* === 7. HIGHLIGHTS === */
|
|
36
|
+
--destructive: 356 87% 57%; /* #F2353C - Red */
|
|
37
|
+
--destructive-foreground: 0 0% 100%;
|
|
38
|
+
--success: 88 37% 52%; /* #88B053 - Green */
|
|
39
|
+
--info: 189 45% 51%; /* #4BAABE - Blue */
|
|
40
|
+
--warning: 28 81% 57%; /* #ED9035 - Orange */
|
|
41
|
+
|
|
42
|
+
/* === 8. BRAND COLORS (Custom - use manually) === */
|
|
43
|
+
--brand-1: 252 97% 25%; /* #1E027F - Deep violet */
|
|
44
|
+
--brand-2: 356 76% 57%; /* #E43341 - Crimson */
|
|
45
|
+
--brand-3: 304 69% 33%; /* #931C88 - Magenta */
|
|
46
|
+
|
|
47
|
+
/* === CHART COLORS === */
|
|
48
|
+
--chart-1: 88 37% 52%; /* #88B053 - Green */
|
|
49
|
+
--chart-2: 189 45% 51%; /* #4BAABE - Blue */
|
|
50
|
+
--chart-3: 28 81% 57%; /* #ED9035 - Orange */
|
|
51
|
+
--chart-4: 254 46% 42%; /* #573DAB - Purple */
|
|
52
|
+
--chart-5: 348 78% 60%; /* #EA4A6B - Pink */
|
|
53
|
+
|
|
54
|
+
/* === SIDEBAR === */
|
|
55
|
+
--sidebar: 0 0% 100%; /* #FFFFFF */
|
|
56
|
+
--sidebar-foreground: 0 0% 7%; /* #121212 */
|
|
57
|
+
--sidebar-primary: 214 14% 64%; /* #94A3B8 */
|
|
58
|
+
--sidebar-primary-foreground: 0 0% 100%;
|
|
59
|
+
--sidebar-accent: 356 76% 57%; /* #E43341 */
|
|
60
|
+
--sidebar-accent-foreground: 0 0% 100%;
|
|
61
|
+
--sidebar-border: 214 32% 84%; /* #CBD5E1 */
|
|
62
|
+
--sidebar-ring: 214 14% 64%; /* #94A3B8 */
|
|
63
|
+
|
|
64
|
+
/* === FONTS === */
|
|
65
|
+
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
66
|
+
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
|
|
67
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
68
|
+
|
|
69
|
+
/* === PRIMITIVE SPACING TOKENS (From Figma) === */
|
|
70
|
+
/* These are your base spacing values - rarely changed directly */
|
|
71
|
+
--space-0: 0px; /* S0 */
|
|
72
|
+
--space-1: 2px; /* S1 */
|
|
73
|
+
--space-2: 4px; /* S2 */
|
|
74
|
+
--space-3: 8px; /* S3 */
|
|
75
|
+
--space-4: 12px; /* S4 */
|
|
76
|
+
--space-5: 16px; /* S5 */
|
|
77
|
+
--space-6: 20px; /* S6 */
|
|
78
|
+
--space-7: 24px; /* S7 */
|
|
79
|
+
--space-8: 32px; /* S8 */
|
|
80
|
+
--space-9: 48px; /* S9 */
|
|
81
|
+
--space-10: 52px; /* S10 */
|
|
82
|
+
|
|
83
|
+
/* === SEMANTIC SPACING TOKENS === */
|
|
84
|
+
/* These reference primitives and are what components actually use */
|
|
85
|
+
/* Change these to globally update spacing across all components */
|
|
86
|
+
--spacing-none: var(--space-0);
|
|
87
|
+
--spacing-xs: var(--space-2); /* Tight spacing - small gaps */
|
|
88
|
+
--spacing-sm: var(--space-3); /* Small spacing - compact layouts */
|
|
89
|
+
--spacing-md: var(--space-5); /* Medium spacing - default gaps */
|
|
90
|
+
--spacing-lg: var(--space-7); /* Large spacing - breathing room */
|
|
91
|
+
--spacing-xl: var(--space-8); /* Extra large - section spacing */
|
|
92
|
+
--spacing-2xl: var(--space-9); /* 2X large - major sections */
|
|
93
|
+
|
|
94
|
+
/* Component-specific spacing (can be changed independently) */
|
|
95
|
+
--spacing-button-x: var(--space-5); /* Button horizontal padding */
|
|
96
|
+
--spacing-button-y: var(--space-4); /* Button vertical padding */
|
|
97
|
+
--spacing-card: var(--space-5); /* Card padding */
|
|
98
|
+
--spacing-input-x: var(--space-4); /* Input horizontal padding */
|
|
99
|
+
--spacing-input-y: var(--space-3); /* Input vertical padding */
|
|
100
|
+
|
|
101
|
+
/* === PRIMITIVE RADIUS TOKENS (From Your Design System) === */
|
|
102
|
+
/* Your exact radius values: 0, 2, 4, 8, 12, 20, 24, 32, 48 */
|
|
103
|
+
--radius-0: 0px; /* R0 */
|
|
104
|
+
--radius-1: 2px; /* R1 */
|
|
105
|
+
--radius-2: 4px; /* R2 */
|
|
106
|
+
--radius-3: 8px; /* R3 */
|
|
107
|
+
--radius-4: 12px; /* R4 */
|
|
108
|
+
--radius-5: 20px; /* R5 */
|
|
109
|
+
--radius-6: 24px; /* R6 */
|
|
110
|
+
--radius-7: 32px; /* R7 */
|
|
111
|
+
--radius-8: 48px; /* R8 */
|
|
112
|
+
|
|
113
|
+
/* === SEMANTIC RADIUS TOKENS === */
|
|
114
|
+
/* Pre-defined names for convenience - you can use primitives directly in components */
|
|
115
|
+
--radius-none: var(--radius-0); /* 0px */
|
|
116
|
+
--radius-sm: var(--radius-2); /* 4px */
|
|
117
|
+
--radius-md: var(--radius-4); /* 12px */
|
|
118
|
+
--radius-lg: var(--radius-5); /* 20px */
|
|
119
|
+
--radius-xl: var(--radius-6); /* 24px */
|
|
120
|
+
--radius-2xl: var(--radius-7); /* 32px */
|
|
121
|
+
--radius-full: 9999px; /* Fully rounded - pills, avatars */
|
|
122
|
+
|
|
123
|
+
/* Corner smoothing value (0-1, where 1 = 100% smoothing) */
|
|
124
|
+
--corner-smoothing: 1.0; /* 100% Apple-style smoothing for all corners */
|
|
125
|
+
|
|
126
|
+
/* === ICON SIZES (From Figma) === */
|
|
127
|
+
--icon-sm: 16px; /* WH3 - Small icons */
|
|
128
|
+
--icon-md: 20px; /* WH2 - Medium icons */
|
|
129
|
+
--icon-lg: 24px; /* WH1 - Large icons */
|
|
130
|
+
|
|
131
|
+
/* === SHADOWS === */
|
|
132
|
+
--shadow-x: 0;
|
|
133
|
+
--shadow-y: 1px;
|
|
134
|
+
--shadow-blur: 3px;
|
|
135
|
+
--shadow-spread: 0px;
|
|
136
|
+
--shadow-opacity: 0.1;
|
|
137
|
+
--shadow-color: 0 0% 0%;
|
|
138
|
+
--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
|
|
139
|
+
--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
|
|
140
|
+
--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
|
|
141
|
+
--shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
|
|
142
|
+
--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
|
|
143
|
+
--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
|
|
144
|
+
--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
|
|
145
|
+
--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
|
|
146
|
+
|
|
147
|
+
/* === LEGACY (kept for backwards compatibility) === */
|
|
148
|
+
--radius: var(--radius-3); /* Default radius - use semantic tokens instead */
|
|
149
|
+
--spacing: var(--space-2); /* Default spacing - use semantic tokens instead */
|
|
150
|
+
--tracking-normal: 0em;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.dark {
|
|
154
|
+
/* === 1. SURFACES === */
|
|
155
|
+
--background: 200 13% 10%; /* #161A1D */
|
|
156
|
+
--card: 180 14% 13%; /* #1D2727 */
|
|
157
|
+
--popover: 180 14% 13%; /* #1D2727 */
|
|
158
|
+
--muted: 180 14% 13%; /* #1D2727 - Same as card for consistency */
|
|
159
|
+
|
|
160
|
+
/* === 2. TEXT === */
|
|
161
|
+
--foreground: 0 0% 100%; /* #FFFFFF */
|
|
162
|
+
--card-foreground: 0 0% 100%; /* #FFFFFF */
|
|
163
|
+
--popover-foreground: 0 0% 100%; /* #FFFFFF */
|
|
164
|
+
--muted-foreground: 0 0% 100% / 0.7; /* #FFFFFF at 70% opacity */
|
|
165
|
+
|
|
166
|
+
/* === 3. PRIMARY (Main buttons, CTAs) === */
|
|
167
|
+
--primary: 210 13% 85%; /* #D0D5D9 - Light grey (softer than white) */
|
|
168
|
+
--primary-foreground: 200 13% 11%; /* #161A1D - Dark text */
|
|
169
|
+
|
|
170
|
+
/* === 4. SECONDARY (Secondary buttons) === */
|
|
171
|
+
--secondary: 218 14% 53%; /* #64748B */
|
|
172
|
+
--secondary-foreground: 0 0% 100%; /* #FFFFFF */
|
|
173
|
+
|
|
174
|
+
/* === 5. TERTIARY/ACCENT (Highlights, selections) === */
|
|
175
|
+
--accent: 356 76% 57%; /* #E43341 - Crimson */
|
|
176
|
+
--accent-foreground: 0 0% 100%; /* #FFFFFF */
|
|
177
|
+
|
|
178
|
+
/* === 6. BORDERS === */
|
|
179
|
+
--border: 215 25% 27%; /* #334155 - Balanced slate-700 */
|
|
180
|
+
--input: 215 25% 27%; /* #334155 */
|
|
181
|
+
--ring: 210 13% 85%; /* #D0D5D9 - Same as primary */
|
|
182
|
+
|
|
183
|
+
/* === 7. HIGHLIGHTS === */
|
|
184
|
+
--destructive: 356 87% 57%; /* #F2353C - Red */
|
|
185
|
+
--destructive-foreground: 0 0% 100%;
|
|
186
|
+
--success: 88 37% 52%; /* #88B053 - Green */
|
|
187
|
+
--info: 189 45% 51%; /* #4BAABE - Blue */
|
|
188
|
+
--warning: 28 81% 57%; /* #ED9035 - Orange */
|
|
189
|
+
|
|
190
|
+
/* === 8. BRAND COLORS (Custom - use manually) === */
|
|
191
|
+
--brand-1: 244 100% 73%; /* #8075FF - Cool violet */
|
|
192
|
+
--brand-2: 356 76% 57%; /* #E43341 - Crimson */
|
|
193
|
+
--brand-3: 291 46% 61%; /* #C160D4 - Light magenta */
|
|
194
|
+
|
|
195
|
+
/* === CHART COLORS === */
|
|
196
|
+
--chart-1: 88 37% 52%; /* #88B053 - Green */
|
|
197
|
+
--chart-2: 189 45% 51%; /* #4BAABE - Blue */
|
|
198
|
+
--chart-3: 28 81% 57%; /* #ED9035 - Orange */
|
|
199
|
+
--chart-4: 254 46% 42%; /* #573DAB - Purple */
|
|
200
|
+
--chart-5: 348 78% 60%; /* #EA4A6B - Pink */
|
|
201
|
+
|
|
202
|
+
/* === SIDEBAR === */
|
|
203
|
+
--sidebar: 180 14% 13%; /* #1D2727 */
|
|
204
|
+
--sidebar-foreground: 0 0% 100%; /* #FFFFFF */
|
|
205
|
+
--sidebar-primary: 214 14% 64%; /* #94A3B8 */
|
|
206
|
+
--sidebar-primary-foreground: 200 13% 10%; /* #161A1D */
|
|
207
|
+
--sidebar-accent: 356 76% 57%; /* #E43341 */
|
|
208
|
+
--sidebar-accent-foreground: 0 0% 100%;
|
|
209
|
+
--sidebar-border: 215 25% 27%; /* #334155 */
|
|
210
|
+
--sidebar-ring: 214 14% 64%; /* #94A3B8 */
|
|
211
|
+
|
|
212
|
+
/* === FONTS === */
|
|
213
|
+
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
214
|
+
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
|
|
215
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
216
|
+
|
|
217
|
+
/* === PRIMITIVE SPACING TOKENS (From Figma) === */
|
|
218
|
+
/* Spacing values are the same in light and dark mode */
|
|
219
|
+
--space-0: 0px; /* S0 */
|
|
220
|
+
--space-1: 2px; /* S1 */
|
|
221
|
+
--space-2: 4px; /* S2 */
|
|
222
|
+
--space-3: 8px; /* S3 */
|
|
223
|
+
--space-4: 12px; /* S4 */
|
|
224
|
+
--space-5: 16px; /* S5 */
|
|
225
|
+
--space-6: 20px; /* S6 */
|
|
226
|
+
--space-7: 24px; /* S7 */
|
|
227
|
+
--space-8: 32px; /* S8 */
|
|
228
|
+
--space-9: 48px; /* S9 */
|
|
229
|
+
--space-10: 52px; /* S10 */
|
|
230
|
+
|
|
231
|
+
/* === SEMANTIC SPACING TOKENS === */
|
|
232
|
+
--spacing-none: var(--space-0);
|
|
233
|
+
--spacing-xs: var(--space-2);
|
|
234
|
+
--spacing-sm: var(--space-3);
|
|
235
|
+
--spacing-md: var(--space-5);
|
|
236
|
+
--spacing-lg: var(--space-7);
|
|
237
|
+
--spacing-xl: var(--space-8);
|
|
238
|
+
--spacing-2xl: var(--space-9);
|
|
239
|
+
|
|
240
|
+
/* Component-specific spacing */
|
|
241
|
+
--spacing-button-x: var(--space-5);
|
|
242
|
+
--spacing-button-y: var(--space-4);
|
|
243
|
+
--spacing-card: var(--space-5);
|
|
244
|
+
--spacing-input-x: var(--space-4);
|
|
245
|
+
--spacing-input-y: var(--space-3);
|
|
246
|
+
|
|
247
|
+
/* === PRIMITIVE RADIUS TOKENS (From Your Design System) === */
|
|
248
|
+
/* Radius values are the same in light and dark mode */
|
|
249
|
+
--radius-0: 0px; /* R0 */
|
|
250
|
+
--radius-1: 2px; /* R1 */
|
|
251
|
+
--radius-2: 4px; /* R2 */
|
|
252
|
+
--radius-3: 8px; /* R3 */
|
|
253
|
+
--radius-4: 12px; /* R4 */
|
|
254
|
+
--radius-5: 20px; /* R5 */
|
|
255
|
+
--radius-6: 24px; /* R6 */
|
|
256
|
+
--radius-7: 32px; /* R7 */
|
|
257
|
+
--radius-8: 48px; /* R8 */
|
|
258
|
+
|
|
259
|
+
/* === SEMANTIC RADIUS TOKENS === */
|
|
260
|
+
--radius-none: var(--radius-0); /* 0px */
|
|
261
|
+
--radius-sm: var(--radius-2); /* 4px */
|
|
262
|
+
--radius-md: var(--radius-4); /* 12px */
|
|
263
|
+
--radius-lg: var(--radius-5); /* 20px */
|
|
264
|
+
--radius-xl: var(--radius-6); /* 24px */
|
|
265
|
+
--radius-2xl: var(--radius-7); /* 32px */
|
|
266
|
+
--radius-full: 9999px; /* Fully rounded */
|
|
267
|
+
|
|
268
|
+
/* Corner smoothing value */
|
|
269
|
+
--corner-smoothing: 1.0; /* 100% smoothing */
|
|
270
|
+
|
|
271
|
+
/* === ICON SIZES (From Figma) === */
|
|
272
|
+
--icon-sm: 16px; /* WH3 */
|
|
273
|
+
--icon-md: 20px; /* WH2 */
|
|
274
|
+
--icon-lg: 24px; /* WH1 */
|
|
275
|
+
|
|
276
|
+
/* === SHADOWS === */
|
|
277
|
+
--shadow-x: 0;
|
|
278
|
+
--shadow-y: 1px;
|
|
279
|
+
--shadow-blur: 3px;
|
|
280
|
+
--shadow-spread: 0px;
|
|
281
|
+
--shadow-opacity: 0.1;
|
|
282
|
+
--shadow-color: 0 0% 0%;
|
|
283
|
+
--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
|
|
284
|
+
--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
|
|
285
|
+
--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
|
|
286
|
+
--shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
|
|
287
|
+
--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
|
|
288
|
+
--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
|
|
289
|
+
--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
|
|
290
|
+
--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
|
|
291
|
+
|
|
292
|
+
/* === LEGACY (kept for backwards compatibility) === */
|
|
293
|
+
--radius: var(--radius-3);
|
|
294
|
+
--spacing: var(--space-2);
|
|
295
|
+
--tracking-normal: 0em;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@theme inline {
|
|
299
|
+
--color-background: var(--background);
|
|
300
|
+
--color-foreground: var(--foreground);
|
|
301
|
+
--color-card: var(--card);
|
|
302
|
+
--color-card-foreground: var(--card-foreground);
|
|
303
|
+
--color-popover: var(--popover);
|
|
304
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
305
|
+
--color-primary: var(--primary);
|
|
306
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
307
|
+
--color-secondary: var(--secondary);
|
|
308
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
309
|
+
--color-muted: var(--muted);
|
|
310
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
311
|
+
--color-accent: var(--accent);
|
|
312
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
313
|
+
--color-destructive: var(--destructive);
|
|
314
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
315
|
+
--color-border: var(--border);
|
|
316
|
+
--color-input: var(--input);
|
|
317
|
+
--color-ring: var(--ring);
|
|
318
|
+
|
|
319
|
+
/* Brand colors */
|
|
320
|
+
--color-brand-1: var(--brand-1);
|
|
321
|
+
--color-brand-2: var(--brand-2);
|
|
322
|
+
--color-brand-3: var(--brand-3);
|
|
323
|
+
|
|
324
|
+
/* Highlight colors */
|
|
325
|
+
--color-success: var(--success);
|
|
326
|
+
--color-info: var(--info);
|
|
327
|
+
--color-warning: var(--warning);
|
|
328
|
+
|
|
329
|
+
/* Chart colors */
|
|
330
|
+
--color-chart-1: var(--chart-1);
|
|
331
|
+
--color-chart-2: var(--chart-2);
|
|
332
|
+
--color-chart-3: var(--chart-3);
|
|
333
|
+
--color-chart-4: var(--chart-4);
|
|
334
|
+
--color-chart-5: var(--chart-5);
|
|
335
|
+
|
|
336
|
+
/* Sidebar colors */
|
|
337
|
+
--color-sidebar: var(--sidebar);
|
|
338
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
339
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
340
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
341
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
342
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
343
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
344
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
345
|
+
|
|
346
|
+
--font-sans: var(--font-sans);
|
|
347
|
+
--font-mono: var(--font-mono);
|
|
348
|
+
--font-serif: var(--font-serif);
|
|
349
|
+
|
|
350
|
+
/* Primitive spacing tokens (S0-S10 from Figma) */
|
|
351
|
+
--space-0: var(--space-0);
|
|
352
|
+
--space-1: var(--space-1);
|
|
353
|
+
--space-2: var(--space-2);
|
|
354
|
+
--space-3: var(--space-3);
|
|
355
|
+
--space-4: var(--space-4);
|
|
356
|
+
--space-5: var(--space-5);
|
|
357
|
+
--space-6: var(--space-6);
|
|
358
|
+
--space-7: var(--space-7);
|
|
359
|
+
--space-8: var(--space-8);
|
|
360
|
+
--space-9: var(--space-9);
|
|
361
|
+
--space-10: var(--space-10);
|
|
362
|
+
|
|
363
|
+
/* Semantic spacing tokens */
|
|
364
|
+
--spacing-none: var(--spacing-none);
|
|
365
|
+
--spacing-xs: var(--spacing-xs);
|
|
366
|
+
--spacing-sm: var(--spacing-sm);
|
|
367
|
+
--spacing-md: var(--spacing-md);
|
|
368
|
+
--spacing-lg: var(--spacing-lg);
|
|
369
|
+
--spacing-xl: var(--spacing-xl);
|
|
370
|
+
--spacing-2xl: var(--spacing-2xl);
|
|
371
|
+
|
|
372
|
+
/* Component-specific spacing */
|
|
373
|
+
--spacing-button-x: var(--spacing-button-x);
|
|
374
|
+
--spacing-button-y: var(--spacing-button-y);
|
|
375
|
+
--spacing-card: var(--spacing-card);
|
|
376
|
+
--spacing-input-x: var(--spacing-input-x);
|
|
377
|
+
--spacing-input-y: var(--spacing-input-y);
|
|
378
|
+
|
|
379
|
+
/* Primitive radius tokens (R0-R8) */
|
|
380
|
+
--radius-0: var(--radius-0);
|
|
381
|
+
--radius-1: var(--radius-1);
|
|
382
|
+
--radius-2: var(--radius-2);
|
|
383
|
+
--radius-3: var(--radius-3);
|
|
384
|
+
--radius-4: var(--radius-4);
|
|
385
|
+
--radius-5: var(--radius-5);
|
|
386
|
+
--radius-6: var(--radius-6);
|
|
387
|
+
--radius-7: var(--radius-7);
|
|
388
|
+
--radius-8: var(--radius-8);
|
|
389
|
+
|
|
390
|
+
/* Semantic radius tokens */
|
|
391
|
+
--radius-none: var(--radius-none);
|
|
392
|
+
--radius-sm: var(--radius-sm);
|
|
393
|
+
--radius-md: var(--radius-md);
|
|
394
|
+
--radius-lg: var(--radius-lg);
|
|
395
|
+
--radius-xl: var(--radius-xl);
|
|
396
|
+
--radius-2xl: var(--radius-2xl);
|
|
397
|
+
--radius-full: var(--radius-full);
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
/* Corner smoothing */
|
|
401
|
+
--corner-smoothing: var(--corner-smoothing);
|
|
402
|
+
|
|
403
|
+
/* Icon sizes */
|
|
404
|
+
--icon-sm: var(--icon-sm);
|
|
405
|
+
--icon-md: var(--icon-md);
|
|
406
|
+
--icon-lg: var(--icon-lg);
|
|
407
|
+
|
|
408
|
+
/* Shadows */
|
|
409
|
+
--shadow-2xs: var(--shadow-2xs);
|
|
410
|
+
--shadow-xs: var(--shadow-xs);
|
|
411
|
+
--shadow-sm: var(--shadow-sm);
|
|
412
|
+
--shadow: var(--shadow);
|
|
413
|
+
--shadow-md: var(--shadow-md);
|
|
414
|
+
--shadow-lg: var(--shadow-lg);
|
|
415
|
+
--shadow-xl: var(--shadow-xl);
|
|
416
|
+
--shadow-2xl: var(--shadow-2xl);
|
|
417
|
+
}
|
|
@@ -23,6 +23,7 @@ export * from "./Icon.js";
|
|
|
23
23
|
export * from "./Input.js";
|
|
24
24
|
export * from "./Label.js";
|
|
25
25
|
export * from "./Menubar.js";
|
|
26
|
+
export * from "./Native-Only-Animated-View.js";
|
|
26
27
|
export * from "./NavBar.js";
|
|
27
28
|
export * from "./Popover.js";
|
|
28
29
|
export * from "./Progress.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/ui/index.ts"],"mappings":";;AAAA,cAAc,gBAAa;AAC3B,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,mBAAgB;AAC9B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,oBAAiB;AAC/B,cAAc,sBAAmB;AACjC,cAAc,oBAAiB;AAC/B,cAAc,iBAAc;AAC5B,cAAc,WAAQ;AACtB,cAAc,YAAS;AACvB,cAAc,YAAS;AACvB,cAAc,cAAW;AACzB,cAAc,aAAU;AACxB,cAAc,cAAW;AACzB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,gBAAa;AAC3B,cAAc,eAAY;AAC1B,cAAc,eAAY;AAC1B,cAAc,aAAU;AACxB,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,WAAQ;AACtB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,mBAAgB;AAC9B,cAAc,YAAS;AACvB,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,cAAW","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/ui/index.ts"],"mappings":";;AAAA,cAAc,gBAAa;AAC3B,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,mBAAgB;AAC9B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,oBAAiB;AAC/B,cAAc,sBAAmB;AACjC,cAAc,oBAAiB;AAC/B,cAAc,iBAAc;AAC5B,cAAc,WAAQ;AACtB,cAAc,YAAS;AACvB,cAAc,YAAS;AACvB,cAAc,cAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,aAAU;AACxB,cAAc,cAAW;AACzB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,gBAAa;AAC3B,cAAc,eAAY;AAC1B,cAAc,eAAY;AAC1B,cAAc,aAAU;AACxB,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,WAAQ;AACtB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,mBAAgB;AAC9B,cAAc,YAAS;AACvB,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,cAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/global.d.ts"],"mappings":";;AAAA,OAAO,cAAc;AACrB,OAAO,yBAAyB;AA0ChC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/rn-primitives.d.ts"],"mappings":";;AAgBA;;AAqDA","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[key: string]: any;
|
|
1
|
+
import '../../global.css';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
interface RootLayoutProps {
|
|
4
|
+
children: ReactNode;
|
|
6
5
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
export default function RootLayout({ children }: RootLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=_layout.d.ts.map
|
|
@@ -1,11 +1,103 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import * as AccordionPrimitive from '@rn-primitives/accordion';
|
|
2
|
+
/**
|
|
3
|
+
* Root accordion container with smooth animations
|
|
4
|
+
*
|
|
5
|
+
* A vertically stacked set of interactive panels where only one or multiple panels can be expanded at a time.
|
|
6
|
+
* Features smooth layout animations using Reanimated for a polished user experience.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // Single selection
|
|
12
|
+
* <Accordion type="single" collapsible defaultValue="item-1">
|
|
13
|
+
* <AccordionItem value="item-1">
|
|
14
|
+
* <AccordionTrigger>
|
|
15
|
+
* <Text>Question 1</Text>
|
|
16
|
+
* </AccordionTrigger>
|
|
17
|
+
* <AccordionContent>
|
|
18
|
+
* <Text>Answer 1</Text>
|
|
19
|
+
* </AccordionContent>
|
|
20
|
+
* </AccordionItem>
|
|
21
|
+
* </Accordion>
|
|
22
|
+
*
|
|
23
|
+
* // Multiple selection
|
|
24
|
+
* <Accordion type="multiple">
|
|
25
|
+
* <AccordionItem value="item-1">
|
|
26
|
+
* <AccordionTrigger><Text>Section 1</Text></AccordionTrigger>
|
|
27
|
+
* <AccordionContent><Text>Content 1</Text></AccordionContent>
|
|
28
|
+
* </AccordionItem>
|
|
29
|
+
* <AccordionItem value="item-2">
|
|
30
|
+
* <AccordionTrigger><Text>Section 2</Text></AccordionTrigger>
|
|
31
|
+
* <AccordionContent><Text>Content 2</Text></AccordionContent>
|
|
32
|
+
* </AccordionItem>
|
|
33
|
+
* </Accordion>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @accessibility
|
|
37
|
+
* - Implements WAI-ARIA accordion pattern
|
|
38
|
+
* - Keyboard navigation with arrow keys and Enter/Space
|
|
39
|
+
* - Proper ARIA attributes for expanded/collapsed states
|
|
40
|
+
*/
|
|
41
|
+
declare function Accordion({ children, ...props }: Omit<AccordionPrimitive.RootProps, 'asChild'> & React.RefAttributes<AccordionPrimitive.RootRef>): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Individual accordion item with border styling
|
|
44
|
+
*
|
|
45
|
+
* Contains a trigger and content section. Each item must have a unique value prop
|
|
46
|
+
* for identification within the parent Accordion.
|
|
47
|
+
*
|
|
48
|
+
* @component
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <AccordionItem value="item-1">
|
|
52
|
+
* <AccordionTrigger>
|
|
53
|
+
* <Text>Click to expand</Text>
|
|
54
|
+
* </AccordionTrigger>
|
|
55
|
+
* <AccordionContent>
|
|
56
|
+
* <Text>Hidden content revealed on expansion</Text>
|
|
57
|
+
* </AccordionContent>
|
|
58
|
+
* </AccordionItem>
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
declare function AccordionItem({ children, className, value, ...props }: AccordionPrimitive.ItemProps & React.RefAttributes<AccordionPrimitive.ItemRef>): import("react/jsx-runtime").JSX.Element;
|
|
62
|
+
/**
|
|
63
|
+
* Clickable trigger button that toggles accordion item expansion
|
|
64
|
+
*
|
|
65
|
+
* Features an animated chevron icon that rotates based on expansion state.
|
|
66
|
+
* Automatically manages focus states and hover effects on web.
|
|
67
|
+
*
|
|
68
|
+
* @component
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* <AccordionTrigger>
|
|
72
|
+
* <Text>Click to toggle</Text>
|
|
73
|
+
* </AccordionTrigger>
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @accessibility
|
|
77
|
+
* - Automatically includes chevron icon for visual expansion indicator
|
|
78
|
+
* - Focus visible states for keyboard navigation on web
|
|
79
|
+
* - Disabled state prevents interaction
|
|
80
|
+
*/
|
|
81
|
+
declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.TriggerProps & {
|
|
82
|
+
children?: React.ReactNode;
|
|
83
|
+
} & React.RefAttributes<AccordionPrimitive.TriggerRef>): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
/**
|
|
85
|
+
* Collapsible content container with smooth animations
|
|
86
|
+
*
|
|
87
|
+
* Automatically animates height changes when expanding/collapsing. Uses platform-specific
|
|
88
|
+
* animations (CSS transitions on web, Reanimated on native).
|
|
89
|
+
*
|
|
90
|
+
* @component
|
|
91
|
+
* @example
|
|
92
|
+
* ```tsx
|
|
93
|
+
* <AccordionContent>
|
|
94
|
+
* <Text>This content slides in and out smoothly</Text>
|
|
95
|
+
* <View className="mt-2">
|
|
96
|
+
* <Text>Additional content here</Text>
|
|
97
|
+
* </View>
|
|
98
|
+
* </AccordionContent>
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.ContentProps & React.RefAttributes<AccordionPrimitive.ContentRef>): import("react/jsx-runtime").JSX.Element;
|
|
102
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
103
|
+
//# sourceMappingURL=Accordion.d.ts.map
|