pelatform-ui 1.2.9 → 1.3.1
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/README.md +254 -120
- package/css/theme.css +1 -59
- package/dist/animation.d.ts +379 -3
- package/dist/animation.js +1785 -2
- package/dist/badge-Rr33PgV_.d.ts +15 -0
- package/dist/base.d.ts +1452 -1
- package/dist/base.js +12148 -2
- package/dist/button-Bc3N6jWT.d.ts +22 -0
- package/dist/chunk-4Z3DBWB6.js +193 -0
- package/dist/chunk-NW6KWHKZ.js +22 -0
- package/dist/chunk-Q2RH7YQE.js +857 -0
- package/dist/{chunk-NOAZYT3J.js → chunk-V3ET2B55.js} +2 -4
- package/dist/chunk-XKN6BR2K.js +59 -0
- package/dist/components.d.ts +472 -2129
- package/dist/components.js +969 -1421
- package/dist/hooks.d.ts +1197 -4
- package/dist/hooks.js +912 -5
- package/dist/index.d.ts +7 -84
- package/dist/index.js +1 -623
- package/dist/radix.d.ts +1440 -1
- package/dist/radix.js +11360 -2
- package/package.json +33 -22
- package/css/components/apexcharts.css +0 -101
- package/css/components/book.css +0 -19
- package/css/components/extra.css +0 -12
- package/css/components/image-input.css +0 -51
- package/css/components/leaflet.css +0 -25
- package/css/components/patterns.css +0 -34
- package/css/components/rating.css +0 -89
- package/css/components/scrollable.css +0 -118
- package/css/components/theme-transition.css +0 -51
- package/dist/chunk-HW52LCWN.js +0 -22
- package/dist/chunk-QEWGMDVY.js +0 -10
- package/dist/colors-CUDWvz1g.d.ts +0 -42
- package/dist/components-B1rw2xzN.d.ts +0 -46
- package/dist/utils.d.ts +0 -6
- package/dist/utils.js +0 -14
- /package/css/{shadcn → color}/gray.css +0 -0
- /package/css/{shadcn → color}/neutral.css +0 -0
- /package/css/{shadcn → color}/slate.css +0 -0
- /package/css/{shadcn → color}/stone.css +0 -0
- /package/css/{shadcn → color}/zinc.css +0 -0
package/dist/components.d.ts
CHANGED
|
@@ -1,1311 +1,145 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
|
-
import React__default, {
|
|
4
|
-
import { Alert, badgeVariants, Button } from '@pelatform/ui.components/radix';
|
|
5
|
-
import { B as BaseComponentProps, L as LinkComponentProps, I as ImageComponentProps } from './components-B1rw2xzN.js';
|
|
3
|
+
import React__default, { ReactNode, ComponentProps } from 'react';
|
|
6
4
|
import { QueryClient } from '@tanstack/react-query';
|
|
7
5
|
import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { A as Alert, B as Button } from './button-Bc3N6jWT.js';
|
|
7
|
+
import { B as Badge } from './badge-Rr33PgV_.js';
|
|
8
|
+
import { ThemeMode } from '@pelatform/utils';
|
|
9
|
+
import 'class-variance-authority/types';
|
|
10
|
+
import 'class-variance-authority';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
interface AlertToastOptions {
|
|
15
|
-
/** Custom message to display in the toast */
|
|
16
|
-
message?: string;
|
|
17
|
-
/** Icon variant to display in the alert - determines which icon is shown */
|
|
18
|
-
icon?: "primary" | "destructive" | "success" | "info" | "warning";
|
|
19
|
-
/** Visual variant of the alert component - affects styling and colors */
|
|
20
|
-
variant?: ComponentProps<typeof Alert>["variant"];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Creates and displays a customizable alert toast notification
|
|
24
|
-
*
|
|
25
|
-
* @param options - Configuration options for the toast
|
|
26
|
-
* @param options.message - The message to display (default: 'This is a toast')
|
|
27
|
-
* @param options.icon - The icon variant to show (default: 'success')
|
|
28
|
-
* @param options.variant - The visual style variant (default: 'default')
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```tsx
|
|
32
|
-
* // Show a success message
|
|
33
|
-
* AlertToast({ message: 'Data saved successfully!' });
|
|
34
|
-
*
|
|
35
|
-
* // Show an error message
|
|
36
|
-
* AlertToast({
|
|
37
|
-
* message: 'Failed to save data',
|
|
38
|
-
* icon: 'destructive',
|
|
39
|
-
* variant: 'destructive'
|
|
40
|
-
* });
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
declare function AlertToast({ message, icon, variant, }: AlertToastOptions): void;
|
|
44
|
-
/**
|
|
45
|
-
* Alert Notification Component
|
|
46
|
-
*
|
|
47
|
-
* Renders a static alert notification with appropriate icon and styling
|
|
48
|
-
* based on the variant. This component is used for displaying persistent
|
|
49
|
-
* alerts that don't auto-dismiss like toast notifications.
|
|
50
|
-
*
|
|
51
|
-
* @param props - Component props
|
|
52
|
-
* @param props.message - The message to display in the alert
|
|
53
|
-
* @param props.variant - The visual style variant (default: 'info')
|
|
54
|
-
*
|
|
55
|
-
* @returns JSX element or null if no message is provided
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```tsx
|
|
59
|
-
* // Basic info alert
|
|
60
|
-
* <AlertNotification message="Please verify your email address" />
|
|
61
|
-
*
|
|
62
|
-
* // Error alert
|
|
63
|
-
* <AlertNotification
|
|
64
|
-
* message="Failed to load data"
|
|
65
|
-
* variant="destructive"
|
|
66
|
-
* />
|
|
67
|
-
*
|
|
68
|
-
* // Success alert
|
|
69
|
-
* <AlertNotification
|
|
70
|
-
* message="Profile updated successfully"
|
|
71
|
-
* variant="success"
|
|
72
|
-
* />
|
|
73
|
-
*
|
|
74
|
-
* // Warning alert
|
|
75
|
-
* <AlertNotification
|
|
76
|
-
* message="Your session will expire soon"
|
|
77
|
-
* variant="warning"
|
|
78
|
-
* />
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
declare function AlertNotification({ message, variant }: AlertToastOptions): react_jsx_runtime.JSX.Element | null;
|
|
82
|
-
/**
|
|
83
|
-
* Displays a standardized "coming soon" toast notification
|
|
84
|
-
*
|
|
85
|
-
* This function creates a consistent user experience for features that are
|
|
86
|
-
* not yet implemented. It uses a custom toast with alert styling to inform
|
|
87
|
-
* users that the feature they're trying to access is under development.
|
|
88
|
-
*
|
|
89
|
-
* @param options - Configuration options for the toast appearance and message
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```tsx
|
|
93
|
-
* // Basic usage with default message
|
|
94
|
-
* AlertComingsoon();
|
|
95
|
-
*
|
|
96
|
-
* // Custom message with warning variant
|
|
97
|
-
* AlertComingsoon({
|
|
98
|
-
* message: 'Advanced analytics coming in Q2 2024',
|
|
99
|
-
* icon: 'warning',
|
|
100
|
-
* variant: 'warning'
|
|
101
|
-
* });
|
|
102
|
-
*
|
|
103
|
-
* // Success variant for positive messaging
|
|
104
|
-
* AlertComingsoon({
|
|
105
|
-
* message: 'New dashboard features are on the way!',
|
|
106
|
-
* icon: 'success',
|
|
107
|
-
* variant: 'success'
|
|
108
|
-
* });
|
|
109
|
-
*
|
|
110
|
-
* // Use in event handlers
|
|
111
|
-
* const handlePremiumFeature = () => {
|
|
112
|
-
* AlertComingsoon({
|
|
113
|
-
* message: 'Premium features available soon',
|
|
114
|
-
* icon: 'info',
|
|
115
|
-
* variant: 'info'
|
|
116
|
-
* });
|
|
117
|
-
* };
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
declare const AlertComingsoon: ({ message, variant, }?: AlertToastOptions) => void;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Confirm Dismiss Dialog Component
|
|
124
|
-
* Provides a reusable confirmation dialog for destructive actions like discarding changes
|
|
125
|
-
* Built on top of AlertDialog with customizable content and actions
|
|
126
|
-
*/
|
|
127
|
-
/**
|
|
128
|
-
* Props interface for the ConfirmDismissDialog component
|
|
129
|
-
*/
|
|
130
|
-
interface ConfirmDismissDialogProps {
|
|
131
|
-
/** Whether the dialog is open */
|
|
132
|
-
open: boolean;
|
|
133
|
-
/** Callback to handle dialog open state changes */
|
|
134
|
-
onOpenChange: (open: boolean) => void;
|
|
135
|
-
/** Callback executed when user confirms the action */
|
|
136
|
-
onConfirm: () => void;
|
|
137
|
-
/** Optional callback executed when user cancels (defaults to closing dialog) */
|
|
138
|
-
onCancel?: () => void;
|
|
139
|
-
/** Dialog title text (defaults to "Discard changes?") */
|
|
140
|
-
title?: string;
|
|
141
|
-
/** Dialog description text (defaults to unsaved changes message) */
|
|
142
|
-
description?: string;
|
|
143
|
-
/** Confirm button text (defaults to "Discard changes") */
|
|
144
|
-
confirmText?: string;
|
|
145
|
-
/** Cancel button text (defaults to "Cancel") */
|
|
146
|
-
cancelText?: string;
|
|
147
|
-
/** CSS class for maximum width (defaults to "md:max-w-[375px]") */
|
|
148
|
-
maxWidth?: string;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Reusable confirmation dialog for destructive actions
|
|
152
|
-
*
|
|
153
|
-
* This component provides a standardized way to confirm destructive actions
|
|
154
|
-
* like discarding unsaved changes, deleting items, or leaving forms.
|
|
155
|
-
* It includes customizable text and handles both confirm and cancel actions.
|
|
156
|
-
*
|
|
157
|
-
* @param props - Component props for dialog configuration
|
|
158
|
-
* @returns JSX element containing the confirmation dialog
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
* ```tsx
|
|
162
|
-
* // Basic usage for form dismissal
|
|
163
|
-
* function FormComponent() {
|
|
164
|
-
* const [showDialog, setShowDialog] = useState(false);
|
|
165
|
-
* const [hasChanges, setHasChanges] = useState(false);
|
|
166
|
-
*
|
|
167
|
-
* const handleClose = () => {
|
|
168
|
-
* if (hasChanges) {
|
|
169
|
-
* setShowDialog(true);
|
|
170
|
-
* } else {
|
|
171
|
-
* // Close form directly
|
|
172
|
-
* onClose();
|
|
173
|
-
* }
|
|
174
|
-
* };
|
|
175
|
-
*
|
|
176
|
-
* return (
|
|
177
|
-
* <>
|
|
178
|
-
* <form>
|
|
179
|
-
* <button type="button" onClick={handleClose}>Close</button>
|
|
180
|
-
* </form>
|
|
181
|
-
*
|
|
182
|
-
* <ConfirmDismissDialog
|
|
183
|
-
* open={showDialog}
|
|
184
|
-
* onOpenChange={setShowDialog}
|
|
185
|
-
* onConfirm={() => {
|
|
186
|
-
* setShowDialog(false);
|
|
187
|
-
* onClose(); // Actually close the form
|
|
188
|
-
* }}
|
|
189
|
-
* />
|
|
190
|
-
* </>
|
|
191
|
-
* );
|
|
192
|
-
* }
|
|
193
|
-
*
|
|
194
|
-
* // Custom dialog for deletion
|
|
195
|
-
* <ConfirmDismissDialog
|
|
196
|
-
* open={showDeleteDialog}
|
|
197
|
-
* onOpenChange={setShowDeleteDialog}
|
|
198
|
-
* title="Delete item?"
|
|
199
|
-
* description="This action cannot be undone. Are you sure you want to delete this item?"
|
|
200
|
-
* confirmText="Delete"
|
|
201
|
-
* cancelText="Keep"
|
|
202
|
-
* onConfirm={handleDelete}
|
|
203
|
-
* />
|
|
204
|
-
* ```
|
|
205
|
-
*/
|
|
206
|
-
declare const ConfirmDismissDialog: ({ open, onOpenChange, onConfirm, onCancel, title, description, confirmText, cancelText, maxWidth, }: ConfirmDismissDialogProps) => react_jsx_runtime.JSX.Element;
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Screen Loader Component
|
|
210
|
-
* Provides a full-screen loading overlay with spinner and customizable text
|
|
211
|
-
* Perfect for page transitions, data loading, and async operations
|
|
212
|
-
*/
|
|
213
|
-
/**
|
|
214
|
-
* Props interface for the ScreenLoader component
|
|
215
|
-
*/
|
|
216
|
-
interface ScreenLoaderProps {
|
|
217
|
-
/** Loading text to display below the spinner */
|
|
218
|
-
loadingText?: string;
|
|
219
|
-
/** Additional CSS classes for the container */
|
|
220
|
-
className?: string;
|
|
221
|
-
/** Additional CSS classes for the spinner icon */
|
|
222
|
-
spinnerClassName?: string;
|
|
223
|
-
/** Additional CSS classes for the loading text */
|
|
224
|
-
textClassName?: string;
|
|
225
|
-
/** Display loader for content */
|
|
226
|
-
contentLoader?: boolean;
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* ScreenLoader Component
|
|
230
|
-
*
|
|
231
|
-
* A full-screen loading overlay that covers the entire viewport.
|
|
232
|
-
* Features a spinning icon and customizable loading text with
|
|
233
|
-
* smooth fade transitions. Positioned with high z-index to
|
|
234
|
-
* appear above all other content.
|
|
235
|
-
*
|
|
236
|
-
* @param props - Component props
|
|
237
|
-
* @returns JSX element containing the full-screen loader
|
|
238
|
-
*
|
|
239
|
-
* @example
|
|
240
|
-
* ```tsx
|
|
241
|
-
* // Basic usage
|
|
242
|
-
* function App() {
|
|
243
|
-
* const [isLoading, setIsLoading] = useState(true);
|
|
244
|
-
*
|
|
245
|
-
* useEffect(() => {
|
|
246
|
-
* // Simulate loading
|
|
247
|
-
* setTimeout(() => setIsLoading(false), 2000);
|
|
248
|
-
* }, []);
|
|
249
|
-
*
|
|
250
|
-
* return (
|
|
251
|
-
* <div>
|
|
252
|
-
* {isLoading && <ScreenLoader />}
|
|
253
|
-
* <main>Your app content</main>
|
|
254
|
-
* </div>
|
|
255
|
-
* );
|
|
256
|
-
* }
|
|
257
|
-
*
|
|
258
|
-
* // Custom loading text
|
|
259
|
-
* <ScreenLoader loadingText="Preparing your dashboard..." />
|
|
260
|
-
*
|
|
261
|
-
* // Custom styling
|
|
262
|
-
* <ScreenLoader
|
|
263
|
-
* loadingText="Please wait"
|
|
264
|
-
* className="bg-black/80 backdrop-blur-sm"
|
|
265
|
-
* spinnerClassName="size-8 animate-spin text-blue-500"
|
|
266
|
-
* textClassName="text-white text-lg font-semibold"
|
|
267
|
-
* />
|
|
268
|
-
*
|
|
269
|
-
* // With conditional rendering
|
|
270
|
-
* {isSubmitting && (
|
|
271
|
-
* <ScreenLoader
|
|
272
|
-
* loadingText="Submitting form..."
|
|
273
|
-
* className="bg-white/90"
|
|
274
|
-
* />
|
|
275
|
-
* )}
|
|
276
|
-
*
|
|
277
|
-
* // Different spinner sizes
|
|
278
|
-
* <ScreenLoader
|
|
279
|
-
* spinnerClassName="size-12 animate-spin text-purple-600"
|
|
280
|
-
* textClassName="text-purple-600 font-bold"
|
|
281
|
-
* />
|
|
282
|
-
* ```
|
|
283
|
-
*/
|
|
284
|
-
declare function ScreenLoader({ loadingText, className, spinnerClassName, textClassName, contentLoader, }?: ScreenLoaderProps): react_jsx_runtime.JSX.Element;
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* LayoutAuth Component
|
|
288
|
-
*
|
|
289
|
-
* A centered authentication page layout that vertically and horizontally
|
|
290
|
-
* centers its content. Optionally renders a `logo` above the card.
|
|
291
|
-
*
|
|
292
|
-
* @param props - Component props
|
|
293
|
-
* @returns JSX element containing the authentication layout
|
|
294
|
-
*
|
|
295
|
-
* @example
|
|
296
|
-
* ```tsx
|
|
297
|
-
* <LayoutAuth logo={<MyLogo />}>
|
|
298
|
-
* <LoginForm />
|
|
299
|
-
* </LayoutAuth>
|
|
300
|
-
* ```
|
|
301
|
-
*/
|
|
302
|
-
declare function LayoutAuth({ children, className, logo, }: BaseComponentProps & {
|
|
303
|
-
logo?: ReactNode;
|
|
304
|
-
}): react_jsx_runtime.JSX.Element;
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* Props interface for the `LayoutBlank` component
|
|
308
|
-
* Inherits `children` and `className` from `BaseProps`, and `Link` from `SharedLink`.
|
|
309
|
-
*/
|
|
310
|
-
interface LayoutBlankProps extends BaseComponentProps {
|
|
311
|
-
/** Optional footer content displayed at the bottom */
|
|
312
|
-
footer?: ReactNode;
|
|
313
|
-
/** Optional logo element displayed at the top */
|
|
314
|
-
logo?: ReactNode;
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* LayoutBlank Component
|
|
318
|
-
*
|
|
319
|
-
* A minimal full-screen layout with a subtle background grid and configurable
|
|
320
|
-
* header logo and footer content. Useful for simple landing or blank pages.
|
|
321
|
-
*
|
|
322
|
-
* @param props - Component props
|
|
323
|
-
* @returns JSX element containing the blank layout
|
|
324
|
-
*
|
|
325
|
-
* @example
|
|
326
|
-
* ```tsx
|
|
327
|
-
* <LayoutBlank logo={<Logo />} logoHref="/">
|
|
328
|
-
* <Content />
|
|
329
|
-
* </LayoutBlank>
|
|
330
|
-
* ```
|
|
331
|
-
*/
|
|
332
|
-
declare function LayoutBlank({ children, footer, className, logo }: LayoutBlankProps): react_jsx_runtime.JSX.Element;
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Body Component
|
|
336
|
-
*
|
|
337
|
-
* A wrapper component for the HTML body element that applies dynamic
|
|
338
|
-
* class names based on the provided slug. Useful for implementing
|
|
339
|
-
* theme switching, page-specific styling, or mode-based layouts.
|
|
340
|
-
*
|
|
341
|
-
* @param props - Component props
|
|
342
|
-
* @param props.children - Content to render inside the body
|
|
343
|
-
* @param props.slug - Slug used to determine additional class names
|
|
344
|
-
* @param props.className - Additional CSS classes to merge
|
|
345
|
-
* @returns JSX body element with combined class names
|
|
346
|
-
*
|
|
347
|
-
* @example
|
|
348
|
-
* ```tsx
|
|
349
|
-
* // Basic usage with theme slug
|
|
350
|
-
* <Body slug={['dark', 'compact']} className="font-sans">
|
|
351
|
-
* <div>Page content</div>
|
|
352
|
-
* </Body>
|
|
353
|
-
*
|
|
354
|
-
* // With single slug
|
|
355
|
-
* <Body slug="admin" className="bg-gray-100">
|
|
356
|
-
* <AdminPanel />
|
|
357
|
-
* </Body>
|
|
358
|
-
*
|
|
359
|
-
* // Dynamic theme switching
|
|
360
|
-
* function App() {
|
|
361
|
-
* const [theme, setTheme] = useState(['light']);
|
|
362
|
-
*
|
|
363
|
-
* return (
|
|
364
|
-
* <Body slug={theme} className="transition-colors">
|
|
365
|
-
* <ThemeToggle onThemeChange={setTheme} />
|
|
366
|
-
* <MainContent />
|
|
367
|
-
* </Body>
|
|
368
|
-
* );
|
|
369
|
-
* }
|
|
370
|
-
* ```
|
|
371
|
-
*/
|
|
372
|
-
declare function Body({ slug, children, className }: BaseComponentProps & {
|
|
373
|
-
slug: string;
|
|
374
|
-
}): react_jsx_runtime.JSX.Element;
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Coming Soon Component
|
|
378
|
-
* Displays a full-height section with an animated hover background and
|
|
379
|
-
* optional title and description. Ideal for placeholder pages or upcoming
|
|
380
|
-
* feature announcements.
|
|
381
|
-
*/
|
|
382
|
-
/**
|
|
383
|
-
* Props interface for the `ComingSoon` component
|
|
384
|
-
*/
|
|
385
|
-
interface ComingSoonProps {
|
|
386
|
-
/** Additional CSS classes for the wrapper */
|
|
387
|
-
className?: string;
|
|
388
|
-
/** Optional highlighted title text */
|
|
389
|
-
title?: string;
|
|
390
|
-
/** Optional descriptive text below the title */
|
|
391
|
-
description?: string;
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* ComingSoon Component
|
|
395
|
-
*
|
|
396
|
-
* Renders a full-height container with animated hover background objects
|
|
397
|
-
* and optional title/description content centered on the screen.
|
|
398
|
-
*
|
|
399
|
-
* @param props - Component props
|
|
400
|
-
* @returns JSX element containing the coming soon layout
|
|
401
|
-
*
|
|
402
|
-
* @example
|
|
403
|
-
* ```tsx
|
|
404
|
-
* <ComingSoon title="Coming Soon" description="We are cooking something nice." />
|
|
405
|
-
* ```
|
|
406
|
-
*/
|
|
407
|
-
declare function ComingSoon({ className, title, description }: ComingSoonProps): react_jsx_runtime.JSX.Element;
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* Props interface for the `ErrorComponents` component
|
|
411
|
-
*/
|
|
412
|
-
interface ErrorComponentsProps {
|
|
413
|
-
/** Additional CSS classes for the container */
|
|
414
|
-
className?: string;
|
|
415
|
-
/** Error variant to display */
|
|
416
|
-
type?: "default" | "404" | "500" | "custom";
|
|
417
|
-
/** Optional title content */
|
|
418
|
-
textTitle?: ReactNode;
|
|
419
|
-
/** Optional subtitle content */
|
|
420
|
-
textSubtitle?: ReactNode;
|
|
421
|
-
/** Optional action button (e.g., retry) */
|
|
422
|
-
button?: ReactNode;
|
|
423
|
-
/** Function to generate asset URLs (e.g., for CDN integration) */
|
|
424
|
-
assetsUrl?: (path: string) => string;
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* ErrorComponents Component
|
|
428
|
-
*
|
|
429
|
-
* A reusable error layout supporting multiple variants (404, 500, default, custom).
|
|
430
|
-
* Displays illustrations and optional title, subtitle, and button.
|
|
431
|
-
*
|
|
432
|
-
* @param props - Component props
|
|
433
|
-
* @returns JSX element containing the error layout
|
|
434
|
-
*
|
|
435
|
-
* @example
|
|
436
|
-
* ```tsx
|
|
437
|
-
* <ErrorComponents
|
|
438
|
-
* type="404"
|
|
439
|
-
* textTitle="Page not found"
|
|
440
|
-
* textSubtitle="The page you are looking for does not exist."
|
|
441
|
-
* />
|
|
442
|
-
* ```
|
|
443
|
-
*/
|
|
444
|
-
declare function ErrorComponents({ className, type, textTitle, textSubtitle, button, assetsUrl, }: ErrorComponentsProps): react_jsx_runtime.JSX.Element;
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* Grid Component
|
|
448
|
-
* Renders an SVG grid pattern overlay for background decoration
|
|
449
|
-
* Useful for creating grid-based layouts or visual guides
|
|
450
|
-
*/
|
|
451
|
-
/**
|
|
452
|
-
* Grid Component
|
|
453
|
-
*
|
|
454
|
-
* Renders an SVG-based grid pattern that can be used as a background
|
|
455
|
-
* overlay. The grid is responsive and fills its container while
|
|
456
|
-
* maintaining consistent cell sizes and stroke widths.
|
|
457
|
-
*
|
|
458
|
-
* @param props - Component props
|
|
459
|
-
* @param props.cellSize - Size of each grid cell (default: 12px)
|
|
460
|
-
* @param props.strokeWidth - Width of grid lines (default: 1px)
|
|
461
|
-
* @param props.patternOffset - Grid offset position (default: [0, 0])
|
|
462
|
-
* @param props.className - Additional CSS classes
|
|
463
|
-
* @returns JSX SVG element with grid pattern
|
|
464
|
-
*
|
|
465
|
-
* @example
|
|
466
|
-
* ```tsx
|
|
467
|
-
* // Basic grid overlay
|
|
468
|
-
* <div className="relative">
|
|
469
|
-
* <Grid />
|
|
470
|
-
* <div>Content over grid</div>
|
|
471
|
-
* </div>
|
|
472
|
-
*
|
|
473
|
-
* // Custom grid with larger cells
|
|
474
|
-
* <Grid
|
|
475
|
-
* cellSize={24}
|
|
476
|
-
* strokeWidth={2}
|
|
477
|
-
* className="text-blue-500/20"
|
|
478
|
-
* />
|
|
479
|
-
*
|
|
480
|
-
* // Offset grid pattern
|
|
481
|
-
* <Grid
|
|
482
|
-
* cellSize={16}
|
|
483
|
-
* patternOffset={[8, 8]}
|
|
484
|
-
* className="text-gray-300/30"
|
|
485
|
-
* />
|
|
486
|
-
*
|
|
487
|
-
* // Fine grid for detailed layouts
|
|
488
|
-
* <Grid
|
|
489
|
-
* cellSize={8}
|
|
490
|
-
* strokeWidth={0.5}
|
|
491
|
-
* className="text-slate-400/15"
|
|
492
|
-
* />
|
|
493
|
-
* ```
|
|
494
|
-
*/
|
|
495
|
-
declare function Grid({ cellSize, strokeWidth, patternOffset, className, }: {
|
|
496
|
-
/** Size of each grid cell in pixels */
|
|
497
|
-
cellSize?: number;
|
|
498
|
-
/** Width of the grid lines in pixels */
|
|
499
|
-
strokeWidth?: number;
|
|
500
|
-
/** Offset position for the grid pattern [x, y] */
|
|
501
|
-
patternOffset?: [number, number];
|
|
502
|
-
/** Additional CSS classes to apply to the grid */
|
|
503
|
-
className?: string;
|
|
504
|
-
}): react_jsx_runtime.JSX.Element;
|
|
505
|
-
|
|
506
|
-
/**
|
|
507
|
-
* Props interface for the Section component
|
|
508
|
-
*/
|
|
509
|
-
type SectionProps = {
|
|
510
|
-
/** Additional CSS classes to apply to the section element */
|
|
511
|
-
sectionClassName?: string;
|
|
512
|
-
} & HTMLAttributes<HTMLDivElement>;
|
|
513
|
-
/**
|
|
514
|
-
* Section Component
|
|
515
|
-
*
|
|
516
|
-
* A layout component that creates structured sections with a grid background
|
|
517
|
-
* and decorative corner elements. Provides consistent spacing and visual
|
|
518
|
-
* hierarchy for page content sections.
|
|
519
|
-
*
|
|
520
|
-
* @param props - Component props extending HTMLDivElement attributes
|
|
521
|
-
* @param props.children - Content to render inside the section
|
|
522
|
-
* @param props.sectionClassName - CSS classes for the section element
|
|
523
|
-
* @param props.className - CSS classes for the content container
|
|
524
|
-
* @returns JSX section element with grid background and decorative elements
|
|
525
|
-
*
|
|
526
|
-
* @example
|
|
527
|
-
* ```tsx
|
|
528
|
-
* // Basic section
|
|
529
|
-
* <Section>
|
|
530
|
-
* <h2>Section Title</h2>
|
|
531
|
-
* <p>Section content</p>
|
|
532
|
-
* </Section>
|
|
533
|
-
*
|
|
534
|
-
* // With custom styling
|
|
535
|
-
* <Section
|
|
536
|
-
* sectionClassName="py-16 bg-gray-50"
|
|
537
|
-
* className="text-center"
|
|
538
|
-
* >
|
|
539
|
-
* <Hero />
|
|
540
|
-
* </Section>
|
|
541
|
-
*
|
|
542
|
-
* // Multiple sections
|
|
543
|
-
* <main>
|
|
544
|
-
* <Section sectionClassName="bg-white">
|
|
545
|
-
* <Introduction />
|
|
546
|
-
* </Section>
|
|
547
|
-
* <Section sectionClassName="bg-gray-100">
|
|
548
|
-
* <Features />
|
|
549
|
-
* </Section>
|
|
550
|
-
* <Section sectionClassName="bg-blue-50">
|
|
551
|
-
* <CallToAction />
|
|
552
|
-
* </Section>
|
|
553
|
-
* </main>
|
|
554
|
-
*
|
|
555
|
-
* // With additional props
|
|
556
|
-
* <Section
|
|
557
|
-
* id="about"
|
|
558
|
-
* sectionClassName="scroll-mt-16"
|
|
559
|
-
* className="space-y-8"
|
|
560
|
-
* >
|
|
561
|
-
* <AboutContent />
|
|
562
|
-
* </Section>
|
|
563
|
-
* ```
|
|
564
|
-
*/
|
|
565
|
-
declare const Section: ({ children, sectionClassName, className, ...props }: SectionProps) => react_jsx_runtime.JSX.Element;
|
|
566
|
-
|
|
567
|
-
/**
|
|
568
|
-
* SiteFooter Component
|
|
569
|
-
*
|
|
570
|
-
* A responsive footer component that provides consistent styling
|
|
571
|
-
* and layout for site-wide footer content. Features a top border,
|
|
572
|
-
* responsive padding, and flexible content arrangement.
|
|
573
|
-
*
|
|
574
|
-
* Features:
|
|
575
|
-
* - Responsive design (stacked on mobile, horizontal on desktop)
|
|
576
|
-
* - Consistent container width and padding
|
|
577
|
-
* - Top border for visual separation
|
|
578
|
-
* - Flexible content arrangement
|
|
579
|
-
* - Semantic footer element
|
|
580
|
-
*
|
|
581
|
-
* @param props - Component props
|
|
582
|
-
* @returns JSX element containing the site footer
|
|
583
|
-
*
|
|
584
|
-
* @example
|
|
585
|
-
* ```tsx
|
|
586
|
-
* // Basic usage with copyright and links
|
|
587
|
-
* <SiteFooter>
|
|
588
|
-
* <div className="flex flex-col items-center gap-4 md:flex-row">
|
|
589
|
-
* <p className="text-sm text-muted-foreground">
|
|
590
|
-
* © 2024 Your Company. All rights reserved.
|
|
591
|
-
* </p>
|
|
592
|
-
* <nav className="flex gap-4">
|
|
593
|
-
* <Link href="/privacy" className="text-sm hover:underline">
|
|
594
|
-
* Privacy Policy
|
|
595
|
-
* </Link>
|
|
596
|
-
* <Link href="/terms" className="text-sm hover:underline">
|
|
597
|
-
* Terms of Service
|
|
598
|
-
* </Link>
|
|
599
|
-
* </nav>
|
|
600
|
-
* </div>
|
|
601
|
-
* </SiteFooter>
|
|
602
|
-
*
|
|
603
|
-
* // With social links and newsletter
|
|
604
|
-
* <SiteFooter>
|
|
605
|
-
* <div className="text-sm text-muted-foreground">
|
|
606
|
-
* © 2024 Your Company
|
|
607
|
-
* </div>
|
|
608
|
-
* <div className="flex items-center gap-4">
|
|
609
|
-
* <SocialLinks />
|
|
610
|
-
* <NewsletterSignup />
|
|
611
|
-
* </div>
|
|
612
|
-
* </SiteFooter>
|
|
613
|
-
*
|
|
614
|
-
* // Custom styling
|
|
615
|
-
* <SiteFooter className="bg-gray-50 dark:bg-gray-900">
|
|
616
|
-
* <FooterContent />
|
|
617
|
-
* </SiteFooter>
|
|
618
|
-
* ```
|
|
619
|
-
*/
|
|
620
|
-
declare function SiteFooter({ children, className }: BaseComponentProps): react_jsx_runtime.JSX.Element;
|
|
621
|
-
|
|
622
|
-
/**
|
|
623
|
-
* SiteHeader Component
|
|
624
|
-
*
|
|
625
|
-
* A sticky header component with modern styling including backdrop blur,
|
|
626
|
-
* semi-transparent background, and responsive design. Positioned at the
|
|
627
|
-
* top of the viewport with high z-index for proper layering.
|
|
628
|
-
*
|
|
629
|
-
* Features:
|
|
630
|
-
* - Sticky positioning at top of viewport
|
|
631
|
-
* - Backdrop blur effect for modern appearance
|
|
632
|
-
* - Semi-transparent background with fallback
|
|
633
|
-
* - Bottom border for visual separation
|
|
634
|
-
* - Responsive container with consistent spacing
|
|
635
|
-
* - High z-index for proper layering
|
|
636
|
-
* - Dark mode support
|
|
637
|
-
*
|
|
638
|
-
* @param props - Component props
|
|
639
|
-
* @returns JSX element containing the site header
|
|
640
|
-
*
|
|
641
|
-
* @example
|
|
642
|
-
* ```tsx
|
|
643
|
-
* // Basic usage with logo and navigation
|
|
644
|
-
* <SiteHeader>
|
|
645
|
-
* <div className="flex items-center gap-4">
|
|
646
|
-
* <Logo />
|
|
647
|
-
* <MainNav items={navItems} />
|
|
648
|
-
* </div>
|
|
649
|
-
* <div className="flex items-center gap-2">
|
|
650
|
-
* <ThemeToggle />
|
|
651
|
-
* <UserMenu />
|
|
652
|
-
* </div>
|
|
653
|
-
* </SiteHeader>
|
|
654
|
-
*
|
|
655
|
-
* // With mobile navigation
|
|
656
|
-
* <SiteHeader>
|
|
657
|
-
* <div className="flex items-center gap-4">
|
|
658
|
-
* <MobileNav>
|
|
659
|
-
* <MobileNavItems />
|
|
660
|
-
* </MobileNav>
|
|
661
|
-
* <Logo />
|
|
662
|
-
* <MainNav items={navItems} className="hidden md:flex" />
|
|
663
|
-
* </div>
|
|
664
|
-
* <HeaderActions />
|
|
665
|
-
* </SiteHeader>
|
|
666
|
-
*
|
|
667
|
-
* // Custom styling
|
|
668
|
-
* <SiteHeader className="bg-white/80 border-gray-200">
|
|
669
|
-
* <HeaderContent />
|
|
670
|
-
* </SiteHeader>
|
|
671
|
-
* ```
|
|
672
|
-
*/
|
|
673
|
-
declare function SiteHeader({ className, children }: BaseComponentProps): react_jsx_runtime.JSX.Element;
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
* MaxWidthWrapper Component
|
|
677
|
-
*
|
|
678
|
-
* A responsive container component that constrains content to a maximum
|
|
679
|
-
* width while providing consistent padding and centering. Ideal for
|
|
680
|
-
* creating readable layouts that work well across different screen sizes.
|
|
681
|
-
*
|
|
682
|
-
* @param props - Component props
|
|
683
|
-
* @param props.className - Additional CSS classes to merge
|
|
684
|
-
* @param props.children - Content to render inside the wrapper
|
|
685
|
-
* @returns JSX div element with max-width constraints and responsive padding
|
|
686
|
-
*
|
|
687
|
-
* @example
|
|
688
|
-
* ```tsx
|
|
689
|
-
* // Basic content wrapper
|
|
690
|
-
* <MaxWidthWrapper>
|
|
691
|
-
* <h1>Page Title</h1>
|
|
692
|
-
* <p>Content that won't exceed the maximum width</p>
|
|
693
|
-
* </MaxWidthWrapper>
|
|
694
|
-
*
|
|
695
|
-
* // With custom styling
|
|
696
|
-
* <MaxWidthWrapper className="bg-gray-50 rounded-lg">
|
|
697
|
-
* <Article />
|
|
698
|
-
* </MaxWidthWrapper>
|
|
699
|
-
*
|
|
700
|
-
* // Multiple sections
|
|
701
|
-
* <main>
|
|
702
|
-
* <MaxWidthWrapper>
|
|
703
|
-
* <Header />
|
|
704
|
-
* </MaxWidthWrapper>
|
|
705
|
-
* <MaxWidthWrapper className="py-8">
|
|
706
|
-
* <MainContent />
|
|
707
|
-
* </MaxWidthWrapper>
|
|
708
|
-
* <MaxWidthWrapper>
|
|
709
|
-
* <Footer />
|
|
710
|
-
* </MaxWidthWrapper>
|
|
711
|
-
* </main>
|
|
712
|
-
*
|
|
713
|
-
* // Nested with other layout components
|
|
714
|
-
* <Section>
|
|
715
|
-
* <MaxWidthWrapper>
|
|
716
|
-
* <Grid>
|
|
717
|
-
* <Card>Content</Card>
|
|
718
|
-
* </Grid>
|
|
719
|
-
* </MaxWidthWrapper>
|
|
720
|
-
* </Section>
|
|
721
|
-
* ```
|
|
722
|
-
*/
|
|
723
|
-
declare function MaxWidthWrapper({ className, children }: BaseComponentProps): react_jsx_runtime.JSX.Element;
|
|
724
|
-
|
|
725
|
-
/**
|
|
726
|
-
* CodeDisplay Component
|
|
727
|
-
*
|
|
728
|
-
* A responsive layout component that displays code examples alongside
|
|
729
|
-
* their rendered output. Features a two-column layout on desktop
|
|
730
|
-
* and stacked layout on mobile devices.
|
|
731
|
-
*
|
|
732
|
-
* @param props - Component props
|
|
733
|
-
* @param props.children - Code content (typically syntax-highlighted)
|
|
734
|
-
* @param props.component - The rendered component to showcase
|
|
735
|
-
* @returns JSX element with side-by-side code and component display
|
|
736
|
-
*
|
|
737
|
-
* @example
|
|
738
|
-
* ```tsx
|
|
739
|
-
* // Basic usage in MDX documentation
|
|
740
|
-
* <CodeDisplay component={<Button>Click me</Button>}>
|
|
741
|
-
* ```tsx
|
|
742
|
-
* <Button>Click me</Button>
|
|
743
|
-
* ```
|
|
744
|
-
* </CodeDisplay>
|
|
745
|
-
*
|
|
746
|
-
* // With complex component
|
|
747
|
-
* <CodeDisplay
|
|
748
|
-
* component={
|
|
749
|
-
* <Card className="w-64">
|
|
750
|
-
* <CardHeader>
|
|
751
|
-
* <CardTitle>Example Card</CardTitle>
|
|
752
|
-
* </CardHeader>
|
|
753
|
-
* <CardContent>
|
|
754
|
-
* <p>Card content here</p>
|
|
755
|
-
* </CardContent>
|
|
756
|
-
* </Card>
|
|
757
|
-
* }
|
|
758
|
-
* >
|
|
759
|
-
* ```tsx
|
|
760
|
-
* <Card className="w-64">
|
|
761
|
-
* <CardHeader>
|
|
762
|
-
* <CardTitle>Example Card</CardTitle>
|
|
763
|
-
* </CardHeader>
|
|
764
|
-
* <CardContent>
|
|
765
|
-
* <p>Card content here</p>
|
|
766
|
-
* </CardContent>
|
|
767
|
-
* </Card>
|
|
768
|
-
* ```
|
|
769
|
-
* </CodeDisplay>
|
|
770
|
-
*
|
|
771
|
-
* // Interactive component showcase
|
|
772
|
-
* <CodeDisplay component={<InteractiveDemo />}>
|
|
773
|
-
* ```tsx
|
|
774
|
-
* function InteractiveDemo() {
|
|
775
|
-
* const [count, setCount] = useState(0);
|
|
776
|
-
* return (
|
|
777
|
-
* <Button onClick={() => setCount(count + 1)}>
|
|
778
|
-
* Clicked {count} times
|
|
779
|
-
* </Button>
|
|
780
|
-
* );
|
|
781
|
-
* }
|
|
782
|
-
* ```
|
|
783
|
-
* </CodeDisplay>
|
|
784
|
-
* ```
|
|
785
|
-
*/
|
|
786
|
-
declare function CodeDisplay({ children, component, }: {
|
|
787
|
-
children: ReactNode;
|
|
788
|
-
component: ReactNode;
|
|
789
|
-
}): react_jsx_runtime.JSX.Element;
|
|
790
|
-
|
|
791
|
-
/**
|
|
792
|
-
* DownloadFile Component
|
|
793
|
-
*
|
|
794
|
-
* A styled download button component that opens files in a new tab
|
|
795
|
-
* with proper security attributes. Features a download icon and
|
|
796
|
-
* rounded button styling.
|
|
797
|
-
*
|
|
798
|
-
* @param props - Component props
|
|
799
|
-
* @param props.children - Button label or content
|
|
800
|
-
* @param props.href - URL of the file to download
|
|
801
|
-
* @param props.className - Additional CSS classes
|
|
802
|
-
* @returns JSX element with download button
|
|
803
|
-
*
|
|
804
|
-
* @example
|
|
805
|
-
* ```tsx
|
|
806
|
-
* // Basic file download
|
|
807
|
-
* <DownloadFile href="/files/document.pdf">
|
|
808
|
-
* Download PDF
|
|
809
|
-
* </DownloadFile>
|
|
810
|
-
*
|
|
811
|
-
* // Custom styling
|
|
812
|
-
* <DownloadFile
|
|
813
|
-
* href="/assets/template.zip"
|
|
814
|
-
* className="bg-blue-600 hover:bg-blue-700"
|
|
815
|
-
* >
|
|
816
|
-
* Download Template
|
|
817
|
-
* </DownloadFile>
|
|
818
|
-
*
|
|
819
|
-
* // Multiple download options
|
|
820
|
-
* <div className="flex gap-4">
|
|
821
|
-
* <DownloadFile href="/files/guide.pdf">
|
|
822
|
-
* User Guide (PDF)
|
|
823
|
-
* </DownloadFile>
|
|
824
|
-
* <DownloadFile href="/files/guide.docx">
|
|
825
|
-
* User Guide (Word)
|
|
826
|
-
* </DownloadFile>
|
|
827
|
-
* </div>
|
|
828
|
-
*
|
|
829
|
-
* // In MDX content
|
|
830
|
-
* Here's the latest version of our software:
|
|
831
|
-
*
|
|
832
|
-
* <DownloadFile href="/releases/app-v2.1.0.zip">
|
|
833
|
-
* Download v2.1.0
|
|
834
|
-
* </DownloadFile>
|
|
835
|
-
* ```
|
|
836
|
-
*/
|
|
837
|
-
declare function DownloadFile({ children, className, href }: BaseComponentProps & {
|
|
838
|
-
href: string;
|
|
839
|
-
}): react_jsx_runtime.JSX.Element;
|
|
840
|
-
|
|
841
|
-
/**
|
|
842
|
-
* Shared Component Types and Default Implementations
|
|
843
|
-
* Provides reusable component interfaces and default implementations
|
|
844
|
-
* for common UI elements like images, links, and navigation
|
|
845
|
-
*/
|
|
846
|
-
|
|
847
|
-
/**
|
|
848
|
-
* Interface for components that accept a custom Image component
|
|
849
|
-
* Allows injection of custom image implementations (e.g., Next.js Image)
|
|
850
|
-
*/
|
|
851
|
-
interface SharedImage {
|
|
852
|
-
/** Custom Image component implementation */
|
|
853
|
-
Image?: ImageComponentProps;
|
|
854
|
-
}
|
|
855
|
-
/**
|
|
856
|
-
* Interface for components that accept a custom Link component
|
|
857
|
-
* Allows injection of custom link implementations (e.g., Next.js Link)
|
|
858
|
-
*/
|
|
859
|
-
interface SharedLink {
|
|
860
|
-
/** Custom Link component implementation */
|
|
861
|
-
Link?: LinkComponentProps;
|
|
862
|
-
}
|
|
863
|
-
/**
|
|
864
|
-
* Interface for components that accept a custom navigation function
|
|
865
|
-
* Allows injection of custom navigation implementations (e.g., Next.js router)
|
|
866
|
-
*/
|
|
867
|
-
interface SharedNavigate {
|
|
868
|
-
/** Custom navigation function */
|
|
869
|
-
navigate?: (href: string) => void;
|
|
870
|
-
}
|
|
871
|
-
/**
|
|
872
|
-
* Default Image Component
|
|
873
|
-
*
|
|
874
|
-
* A basic HTML img element implementation that serves as the default
|
|
875
|
-
* when no custom Image component is provided. Supports standard
|
|
876
|
-
* image attributes and CSS classes.
|
|
877
|
-
*
|
|
878
|
-
* @param props - Image component props
|
|
879
|
-
* @param props.src - Source URL of the image
|
|
880
|
-
* @param props.alt - Alt text for accessibility
|
|
881
|
-
* @param props.className - Additional CSS classes
|
|
882
|
-
* @returns JSX element containing a standard img tag
|
|
883
|
-
*
|
|
884
|
-
* @example
|
|
885
|
-
* ```tsx
|
|
886
|
-
* // Basic usage
|
|
887
|
-
* <DefaultImage
|
|
888
|
-
* src="/images/logo.png"
|
|
889
|
-
* alt="Company Logo"
|
|
890
|
-
* className="w-32 h-auto"
|
|
891
|
-
* />
|
|
892
|
-
* ```
|
|
893
|
-
*/
|
|
894
|
-
declare const DefaultImage: ImageComponentProps;
|
|
895
|
-
/**
|
|
896
|
-
* Default Link Component
|
|
897
|
-
*
|
|
898
|
-
* A basic HTML anchor element implementation that serves as the default
|
|
899
|
-
* when no custom Link component is provided. Supports standard
|
|
900
|
-
* link attributes and CSS classes.
|
|
901
|
-
*
|
|
902
|
-
* @param props - Link component props
|
|
903
|
-
* @param props.href - Destination URL
|
|
904
|
-
* @param props.className - Additional CSS classes
|
|
905
|
-
* @param props.children - Link content
|
|
906
|
-
* @returns JSX element containing a standard anchor tag
|
|
907
|
-
*
|
|
908
|
-
* @example
|
|
909
|
-
* ```tsx
|
|
910
|
-
* // Basic usage
|
|
911
|
-
* <DefaultLink
|
|
912
|
-
* href="/about"
|
|
913
|
-
* className="text-blue-600 hover:underline"
|
|
914
|
-
* >
|
|
915
|
-
* About Us
|
|
916
|
-
* </DefaultLink>
|
|
917
|
-
* ```
|
|
13
|
+
* Props interface for icon components
|
|
14
|
+
* Extends standard HTML SVG element attributes for full customization
|
|
918
15
|
*/
|
|
919
|
-
|
|
16
|
+
type IconProps = React__default.HTMLAttributes<SVGElement>;
|
|
920
17
|
/**
|
|
921
|
-
*
|
|
18
|
+
* Collection of brand and service icons
|
|
922
19
|
*
|
|
923
|
-
*
|
|
924
|
-
*
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
* @param href - Destination URL to navigate to
|
|
20
|
+
* This object contains SVG icons for popular brands, services, and technologies.
|
|
21
|
+
* All icons are designed to be scalable and themeable using CSS currentColor.
|
|
22
|
+
* Icon keys use PascalCase (capitalized first letter) for consistency.
|
|
928
23
|
*
|
|
929
24
|
* @example
|
|
930
25
|
* ```tsx
|
|
931
26
|
* // Basic usage
|
|
932
|
-
*
|
|
933
|
-
* DefaultNavigate('/dashboard');
|
|
934
|
-
* };
|
|
935
|
-
*
|
|
936
|
-
* // In a component
|
|
937
|
-
* <button onClick={() => DefaultNavigate('/contact')}>
|
|
938
|
-
* Contact Us
|
|
939
|
-
* </button>
|
|
940
|
-
* ```
|
|
941
|
-
*/
|
|
942
|
-
declare const DefaultNavigate: (href: string) => void;
|
|
943
|
-
|
|
944
|
-
/**
|
|
945
|
-
* ExtraLink component for external and internal links in MDX content
|
|
946
|
-
*
|
|
947
|
-
* This component provides a consistent styled link experience across MDX documents
|
|
948
|
-
* with support for custom Link implementations (e.g., Next.js Link, React Router Link)
|
|
949
|
-
* and automatic styling with underline decoration.
|
|
950
|
-
*
|
|
951
|
-
* Features:
|
|
952
|
-
* - Custom Link component support (defaults to standard anchor tag)
|
|
953
|
-
* - Consistent underline styling with 4px offset
|
|
954
|
-
* - Medium font weight for emphasis
|
|
955
|
-
* - Customizable className for additional styling
|
|
956
|
-
* - Full accessibility support via Link component
|
|
957
|
-
*
|
|
958
|
-
* @param props - Component props extending SharedLink and LinkComponent
|
|
959
|
-
* @param props.Link - Custom Link component (defaults to DefaultLink/anchor)
|
|
960
|
-
* @param props.href - Target URL for the link
|
|
961
|
-
* @param props.target - Target attribute (_blank, _self, etc.)
|
|
962
|
-
* @param props.className - Additional CSS classes to apply
|
|
963
|
-
* @param props.children - Link text or child elements
|
|
964
|
-
* @returns JSX element representing the styled link
|
|
965
|
-
*
|
|
966
|
-
* @example
|
|
967
|
-
* ```tsx
|
|
968
|
-
* // Basic usage in MDX
|
|
969
|
-
* <ExtraLink href="https://example.com">
|
|
970
|
-
* Visit Example
|
|
971
|
-
* </ExtraLink>
|
|
972
|
-
*
|
|
973
|
-
* // With custom Link component (Next.js)
|
|
974
|
-
* import NextLink from 'next/link';
|
|
975
|
-
*
|
|
976
|
-
* <ExtraLink Link={NextLink} href="/about">
|
|
977
|
-
* About Us
|
|
978
|
-
* </ExtraLink>
|
|
979
|
-
*
|
|
980
|
-
* // With target and custom styling
|
|
981
|
-
* <ExtraLink
|
|
982
|
-
* href="https://external.com"
|
|
983
|
-
* target="_blank"
|
|
984
|
-
* className="text-primary hover:text-primary-dark"
|
|
985
|
-
* >
|
|
986
|
-
* External Resource
|
|
987
|
-
* </ExtraLink>
|
|
988
|
-
* ```
|
|
989
|
-
*/
|
|
990
|
-
declare function ExtraLink({ Link, href, target, className, children, }: SharedLink & ComponentProps<LinkComponentProps>): react_jsx_runtime.JSX.Element;
|
|
991
|
-
|
|
992
|
-
/**
|
|
993
|
-
* Video Component
|
|
994
|
-
*
|
|
995
|
-
* A styled video component that extends the native HTML video element
|
|
996
|
-
* with consistent styling, responsive design, and automatic controls.
|
|
997
|
-
* Perfect for embedding videos in MDX documentation or content.
|
|
27
|
+
* <Icons.Google className="w-6 h-6" />
|
|
998
28
|
*
|
|
999
|
-
*
|
|
1000
|
-
*
|
|
1001
|
-
*
|
|
1002
|
-
*
|
|
1003
|
-
* @example
|
|
1004
|
-
* ```tsx
|
|
1005
|
-
* // Basic video with source
|
|
1006
|
-
* <Video src="/videos/demo.mp4" />
|
|
1007
|
-
*
|
|
1008
|
-
* // Video with multiple sources
|
|
1009
|
-
* <Video>
|
|
1010
|
-
* <source src="/videos/demo.webm" type="video/webm" />
|
|
1011
|
-
* <source src="/videos/demo.mp4" type="video/mp4" />
|
|
1012
|
-
* Your browser does not support the video tag.
|
|
1013
|
-
* </Video>
|
|
1014
|
-
*
|
|
1015
|
-
* // Custom styling
|
|
1016
|
-
* <Video
|
|
1017
|
-
* src="/videos/tutorial.mp4"
|
|
1018
|
-
* className="max-w-md mx-auto"
|
|
1019
|
-
* />
|
|
1020
|
-
*
|
|
1021
|
-
* // With additional attributes
|
|
1022
|
-
* <Video
|
|
1023
|
-
* src="/videos/background.mp4"
|
|
1024
|
-
* autoPlay
|
|
1025
|
-
* muted
|
|
1026
|
-
* playsInline
|
|
1027
|
-
* className="w-full h-64 object-cover"
|
|
29
|
+
* // With custom styling
|
|
30
|
+
* <Icons.Github
|
|
31
|
+
* className="w-8 h-8 text-gray-600 hover:text-gray-900"
|
|
32
|
+
* onClick={handleGitHubClick}
|
|
1028
33
|
* />
|
|
1029
34
|
*
|
|
1030
|
-
* //
|
|
1031
|
-
*
|
|
1032
|
-
*
|
|
1033
|
-
* <Video src="/demos/feature-walkthrough.mp4" />
|
|
1034
|
-
* ```
|
|
1035
|
-
*/
|
|
1036
|
-
declare function Video({ className, ...props }: ComponentProps<"video">): react_jsx_runtime.JSX.Element;
|
|
1037
|
-
|
|
1038
|
-
/**
|
|
1039
|
-
* Wrapper Component
|
|
1040
|
-
*
|
|
1041
|
-
* A decorative container component with gradient background and border styling.
|
|
1042
|
-
* Features a radial gradient from blue with transparency and responsive design.
|
|
1043
|
-
* Ideal for highlighting important content, callouts, or special sections in MDX.
|
|
1044
|
-
*
|
|
1045
|
-
* @param props - Component props
|
|
1046
|
-
* @param props.children - Content to render inside the wrapper
|
|
1047
|
-
* @param props.className - Additional CSS classes to merge
|
|
1048
|
-
* @returns JSX element with styled wrapper container
|
|
1049
|
-
*
|
|
1050
|
-
* @example
|
|
1051
|
-
* ```tsx
|
|
1052
|
-
* // Basic content wrapper
|
|
1053
|
-
* <Wrapper>
|
|
1054
|
-
* <h3>Important Notice</h3>
|
|
1055
|
-
* <p>This is highlighted content that stands out from the rest.</p>
|
|
1056
|
-
* </Wrapper>
|
|
1057
|
-
*
|
|
1058
|
-
* // Custom styling
|
|
1059
|
-
* <Wrapper className="my-8 text-center">
|
|
1060
|
-
* <blockquote>
|
|
1061
|
-
* "This is a featured quote or testimonial."
|
|
1062
|
-
* </blockquote>
|
|
1063
|
-
* </Wrapper>
|
|
1064
|
-
*
|
|
1065
|
-
* // Code example highlight
|
|
1066
|
-
* <Wrapper>
|
|
1067
|
-
* <h4>Pro Tip</h4>
|
|
1068
|
-
* <p>Use this pattern for better performance:</p>
|
|
1069
|
-
* <code>const memoizedValue = useMemo(() => expensiveCalculation(), [deps]);</code>
|
|
1070
|
-
* </Wrapper>
|
|
1071
|
-
*
|
|
1072
|
-
* // In MDX content for callouts
|
|
1073
|
-
* <Wrapper>
|
|
1074
|
-
* **Warning:** This feature is experimental and may change in future versions.
|
|
1075
|
-
* </Wrapper>
|
|
1076
|
-
*
|
|
1077
|
-
* // Multiple wrappers for different content types
|
|
1078
|
-
* <div className="space-y-6">
|
|
1079
|
-
* <Wrapper>
|
|
1080
|
-
* <h3>Feature Highlight</h3>
|
|
1081
|
-
* <p>New functionality description</p>
|
|
1082
|
-
* </Wrapper>
|
|
1083
|
-
* <Wrapper className="border-green-200 bg-green-50">
|
|
1084
|
-
* <h3>Success Story</h3>
|
|
1085
|
-
* <p>Customer testimonial</p>
|
|
1086
|
-
* </Wrapper>
|
|
1087
|
-
* </div>
|
|
35
|
+
* // Colorful variants
|
|
36
|
+
* <Icons.GoogleColorful className="w-10 h-10" />
|
|
37
|
+
* <Icons.FacebookColorful className="w-10 h-10" />
|
|
1088
38
|
* ```
|
|
1089
39
|
*/
|
|
1090
|
-
declare
|
|
40
|
+
declare const Icons: {
|
|
41
|
+
Anthropic: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
42
|
+
Apple: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
43
|
+
Aria: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
44
|
+
Discord: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
45
|
+
Dropbox: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
46
|
+
Facebook: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
47
|
+
FacebookColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
48
|
+
Github: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
49
|
+
Gitlab: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
50
|
+
Google: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
51
|
+
GoogleColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
52
|
+
Huggingface: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
53
|
+
Instagram: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
54
|
+
Kick: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
55
|
+
Linear: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
56
|
+
Linkedin: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
57
|
+
LinkedinColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
58
|
+
Microsoft: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
59
|
+
Nextjs: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
60
|
+
Notion: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
61
|
+
Npm: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
62
|
+
Openai: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
63
|
+
Paypal: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
64
|
+
Pelatform: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
65
|
+
Pnpm: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
66
|
+
Postgresql: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
67
|
+
Prisma: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
68
|
+
Radix: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
69
|
+
Radixui: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
70
|
+
React: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
71
|
+
Reddit: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
72
|
+
Roblox: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
73
|
+
Scira: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
74
|
+
Scribble: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
75
|
+
Slack: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
76
|
+
Spotify: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
77
|
+
Supabase: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
78
|
+
Tailwind: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
79
|
+
Telegram: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
80
|
+
Tiktok: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
81
|
+
Twitch: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
82
|
+
Twitter: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
83
|
+
Vk: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
84
|
+
WhatsApp: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
85
|
+
X: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
86
|
+
Yarn: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
87
|
+
Youtube: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
88
|
+
Zoom: (props: IconProps) => react_jsx_runtime.JSX.Element;
|
|
89
|
+
};
|
|
1091
90
|
|
|
1092
91
|
/**
|
|
1093
|
-
*
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
92
|
+
* Logo Component
|
|
93
|
+
* Displays the application logo as an SVG icon
|
|
94
|
+
* Supports theming through currentColor and customizable sizing
|
|
1096
95
|
*/
|
|
1097
96
|
/**
|
|
1098
|
-
*
|
|
97
|
+
* Logo Component
|
|
1099
98
|
*
|
|
1100
|
-
*
|
|
1101
|
-
*
|
|
1102
|
-
*
|
|
99
|
+
* Renders the application's logo as a scalable SVG icon.
|
|
100
|
+
* The logo uses currentColor for theming and can be customized
|
|
101
|
+
* with additional CSS classes for size and styling.
|
|
1103
102
|
*
|
|
1104
103
|
* @param props - Component props
|
|
1105
|
-
* @param props.
|
|
1106
|
-
* @returns JSX
|
|
104
|
+
* @param props.className - Additional CSS classes for styling
|
|
105
|
+
* @returns JSX element with the application logo
|
|
1107
106
|
*
|
|
1108
107
|
* @example
|
|
1109
108
|
* ```tsx
|
|
1110
|
-
* // Basic
|
|
1111
|
-
* <
|
|
1112
|
-
*
|
|
1113
|
-
* // Extract ID from YouTube URL
|
|
1114
|
-
* // URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
1115
|
-
* // ID: dQw4w9WgXcQ
|
|
1116
|
-
* <Youtube id="dQw4w9WgXcQ" />
|
|
1117
|
-
*
|
|
1118
|
-
* // In MDX content
|
|
1119
|
-
* Here's a tutorial video:
|
|
1120
|
-
*
|
|
1121
|
-
* <Youtube id="ScMzIvxBSi4" />
|
|
1122
|
-
*
|
|
1123
|
-
* // Multiple videos in sequence
|
|
1124
|
-
* <div className="space-y-8">
|
|
1125
|
-
* <div>
|
|
1126
|
-
* <h3>Introduction</h3>
|
|
1127
|
-
* <Youtube id="intro-video-id" />
|
|
1128
|
-
* </div>
|
|
1129
|
-
* <div>
|
|
1130
|
-
* <h3>Advanced Tutorial</h3>
|
|
1131
|
-
* <Youtube id="advanced-video-id" />
|
|
1132
|
-
* </div>
|
|
1133
|
-
* </div>
|
|
1134
|
-
*
|
|
1135
|
-
* // With surrounding content
|
|
1136
|
-
* ## Video Tutorial
|
|
1137
|
-
*
|
|
1138
|
-
* Watch this comprehensive guide to get started:
|
|
1139
|
-
*
|
|
1140
|
-
* <Youtube id="tutorial-video-id" />
|
|
1141
|
-
*
|
|
1142
|
-
* After watching the video, you can proceed to the next section.
|
|
1143
|
-
* ```
|
|
1144
|
-
*/
|
|
1145
|
-
declare function Youtube({ id }: {
|
|
1146
|
-
id: string;
|
|
1147
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1148
|
-
|
|
1149
|
-
/**
|
|
1150
|
-
* Props interface for the BackLink component
|
|
1151
|
-
*/
|
|
1152
|
-
interface BackLinkProps extends SharedLink, BaseComponentProps {
|
|
1153
|
-
/** URL to navigate back to */
|
|
1154
|
-
href: string;
|
|
1155
|
-
}
|
|
1156
|
-
/**
|
|
1157
|
-
* BackLink Component
|
|
1158
|
-
*
|
|
1159
|
-
* A navigation component that provides a styled back link with a chevron icon
|
|
1160
|
-
* and smooth hover animations. Features a secondary button with icon and
|
|
1161
|
-
* customizable link component support.
|
|
1162
|
-
*
|
|
1163
|
-
* @param props - Component props
|
|
1164
|
-
* @param props.Link - Custom link component (defaults to DefaultLink)
|
|
1165
|
-
* @param props.children - Text content for the back link
|
|
1166
|
-
* @param props.href - Destination URL for the back navigation
|
|
1167
|
-
* @param props.className - Additional CSS classes
|
|
1168
|
-
* @returns JSX element with back navigation link
|
|
109
|
+
* // Basic logo
|
|
110
|
+
* <Logo />
|
|
1169
111
|
*
|
|
1170
|
-
*
|
|
1171
|
-
*
|
|
1172
|
-
* // Basic back link
|
|
1173
|
-
* <BackLink href="/dashboard">
|
|
1174
|
-
* Back to Dashboard
|
|
1175
|
-
* </BackLink>
|
|
112
|
+
* // Custom sized logo
|
|
113
|
+
* <Logo className="w-12 h-12" />
|
|
1176
114
|
*
|
|
1177
|
-
* //
|
|
1178
|
-
* <
|
|
1179
|
-
* Back to Products
|
|
1180
|
-
* </BackLink>
|
|
115
|
+
* // Colored logo
|
|
116
|
+
* <Logo className="text-blue-600 w-16 h-16" />
|
|
1181
117
|
*
|
|
1182
|
-
* //
|
|
1183
|
-
* <
|
|
1184
|
-
*
|
|
1185
|
-
* className="
|
|
1186
|
-
* >
|
|
1187
|
-
* Back to Settings
|
|
1188
|
-
* </BackLink>
|
|
1189
|
-
*
|
|
1190
|
-
* // In breadcrumb navigation
|
|
1191
|
-
* <nav className="flex items-center space-x-2">
|
|
1192
|
-
* <BackLink href="/docs">
|
|
1193
|
-
* Documentation
|
|
1194
|
-
* </BackLink>
|
|
1195
|
-
* <span>/</span>
|
|
1196
|
-
* <span>Current Page</span>
|
|
118
|
+
* // Logo in navigation
|
|
119
|
+
* <nav className="flex items-center space-x-4">
|
|
120
|
+
* <Logo className="w-8 h-8" />
|
|
121
|
+
* <span className="font-bold">App Name</span>
|
|
1197
122
|
* </nav>
|
|
1198
123
|
*
|
|
1199
|
-
* //
|
|
1200
|
-
*
|
|
1201
|
-
*
|
|
1202
|
-
* <div>
|
|
1203
|
-
* <
|
|
1204
|
-
* Back to Category
|
|
1205
|
-
* </BackLink>
|
|
1206
|
-
* <h1>Product Details</h1>
|
|
124
|
+
* // Logo in header
|
|
125
|
+
* <header className="bg-white shadow-sm">
|
|
126
|
+
* <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
127
|
+
* <div className="flex justify-between items-center py-6">
|
|
128
|
+
* <Logo className="w-10 h-10 text-primary" />
|
|
1207
129
|
* </div>
|
|
1208
|
-
*
|
|
1209
|
-
*
|
|
130
|
+
* </div>
|
|
131
|
+
* </header>
|
|
1210
132
|
* ```
|
|
1211
133
|
*/
|
|
1212
|
-
declare function
|
|
134
|
+
declare function Logo({ className }: {
|
|
135
|
+
className?: string;
|
|
136
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1213
137
|
|
|
1214
138
|
/**
|
|
1215
|
-
*
|
|
1216
|
-
*
|
|
1217
|
-
|
|
1218
|
-
interface CommandMenuProps {
|
|
1219
|
-
/** Child elements to render inside the command list (command items, groups, etc.) */
|
|
1220
|
-
children: React$1.ReactNode;
|
|
1221
|
-
/** Additional CSS classes for the trigger button */
|
|
1222
|
-
classButton?: string;
|
|
1223
|
-
/** Additional CSS classes for the command dialog */
|
|
1224
|
-
classDialog?: string;
|
|
1225
|
-
/** Text displayed on the search trigger button */
|
|
1226
|
-
searchButtonText?: string;
|
|
1227
|
-
/** Placeholder text for the command input field */
|
|
1228
|
-
commandInputPlaceholder?: string;
|
|
1229
|
-
/** Keyboard shortcut hint displayed on the button (e.g., "⌘K", "Ctrl+K") */
|
|
1230
|
-
keyHint?: string;
|
|
1231
|
-
}
|
|
1232
|
-
/**
|
|
1233
|
-
* CommandMenu Component
|
|
1234
|
-
*
|
|
1235
|
-
* A comprehensive command palette that provides users with quick access to application
|
|
1236
|
-
* features through keyboard shortcuts and search. Automatically tracks user interactions
|
|
1237
|
-
* for analytics and provides a responsive, accessible interface.
|
|
1238
|
-
*
|
|
1239
|
-
* The component listens for keyboard shortcuts (Cmd+K, Ctrl+K, /) and opens a dialog
|
|
1240
|
-
* with a search input and command list. It intelligently avoids triggering when the
|
|
1241
|
-
* user is typing in form fields or content-editable areas.
|
|
1242
|
-
*
|
|
1243
|
-
* @param props - Component props extending DialogProps
|
|
1244
|
-
* @returns JSX element containing the command menu trigger and dialog
|
|
1245
|
-
*
|
|
1246
|
-
* @example
|
|
1247
|
-
* ```tsx
|
|
1248
|
-
* // Basic usage with command items
|
|
1249
|
-
* <CommandMenu>
|
|
1250
|
-
* <CommandGroup heading="Navigation">
|
|
1251
|
-
* <CommandItem onSelect={() => router.push('/')}>
|
|
1252
|
-
* <IconHome className="mr-2 h-4 w-4" />
|
|
1253
|
-
* <span>Home</span>
|
|
1254
|
-
* </CommandItem>
|
|
1255
|
-
* <CommandItem onSelect={() => router.push('/dashboard')}>
|
|
1256
|
-
* <IconDashboard className="mr-2 h-4 w-4" />
|
|
1257
|
-
* <span>Dashboard</span>
|
|
1258
|
-
* </CommandItem>
|
|
1259
|
-
* </CommandGroup>
|
|
1260
|
-
*
|
|
1261
|
-
* <CommandGroup heading="Actions">
|
|
1262
|
-
* <CommandItem onSelect={() => setTheme('dark')}>
|
|
1263
|
-
* <IconMoon className="mr-2 h-4 w-4" />
|
|
1264
|
-
* <span>Toggle Dark Mode</span>
|
|
1265
|
-
* </CommandItem>
|
|
1266
|
-
* </CommandGroup>
|
|
1267
|
-
* </CommandMenu>
|
|
1268
|
-
*
|
|
1269
|
-
* // Custom styling and text
|
|
1270
|
-
* <CommandMenu
|
|
1271
|
-
* searchButtonText="Search commands..."
|
|
1272
|
-
* commandInputPlaceholder="What would you like to do?"
|
|
1273
|
-
* keyHint="⌘K"
|
|
1274
|
-
* classButton="w-64 bg-gray-50"
|
|
1275
|
-
* classDialog="max-w-2xl"
|
|
1276
|
-
* >
|
|
1277
|
-
* <CommandEmpty>No results found.</CommandEmpty>
|
|
1278
|
-
* <CommandGroup heading="Quick Actions">
|
|
1279
|
-
* <CommandItem onSelect={handleCreateNew}>
|
|
1280
|
-
* <IconPlus className="mr-2 h-4 w-4" />
|
|
1281
|
-
* <span>Create New Project</span>
|
|
1282
|
-
* <CommandShortcut>⌘N</CommandShortcut>
|
|
1283
|
-
* </CommandItem>
|
|
1284
|
-
* </CommandGroup>
|
|
1285
|
-
* </CommandMenu>
|
|
1286
|
-
*
|
|
1287
|
-
* // With search functionality
|
|
1288
|
-
* <CommandMenu
|
|
1289
|
-
* searchButtonText="Search docs..."
|
|
1290
|
-
* commandInputPlaceholder="Search documentation..."
|
|
1291
|
-
* >
|
|
1292
|
-
* <CommandEmpty>No documentation found.</CommandEmpty>
|
|
1293
|
-
* <CommandGroup heading="Documentation">
|
|
1294
|
-
* {docs.map((doc) => (
|
|
1295
|
-
* <CommandItem
|
|
1296
|
-
* key={doc.id}
|
|
1297
|
-
* onSelect={() => router.push(`/docs/${doc.slug}`)}
|
|
1298
|
-
* >
|
|
1299
|
-
* <IconBook className="mr-2 h-4 w-4" />
|
|
1300
|
-
* <span>{doc.title}</span>
|
|
1301
|
-
* </CommandItem>
|
|
1302
|
-
* ))}
|
|
1303
|
-
* </CommandGroup>
|
|
1304
|
-
* </CommandMenu>
|
|
1305
|
-
* ```
|
|
139
|
+
* Main Navigation Component
|
|
140
|
+
* Provides a responsive navigation menu with dropdown support, active state detection,
|
|
141
|
+
* and analytics tracking for user interactions
|
|
1306
142
|
*/
|
|
1307
|
-
declare function CommandMenu({ children, classButton, classDialog, searchButtonText, commandInputPlaceholder, keyHint, ...props }: CommandMenuProps): react_jsx_runtime.JSX.Element;
|
|
1308
|
-
|
|
1309
143
|
/**
|
|
1310
144
|
* Interface defining the structure of a navigation item
|
|
1311
145
|
*/
|
|
@@ -1324,7 +158,7 @@ interface NavItem {
|
|
|
1324
158
|
/**
|
|
1325
159
|
* Props interface for the MainNav component
|
|
1326
160
|
*/
|
|
1327
|
-
interface NavigationProps
|
|
161
|
+
interface NavigationProps {
|
|
1328
162
|
/** Current pathname */
|
|
1329
163
|
pathname: string;
|
|
1330
164
|
/** Array of navigation items to display */
|
|
@@ -1382,7 +216,7 @@ interface NavigationProps extends SharedLink {
|
|
|
1382
216
|
* <MainNav items={navItems} />
|
|
1383
217
|
* ```
|
|
1384
218
|
*/
|
|
1385
|
-
declare function MainNav({
|
|
219
|
+
declare function MainNav({ pathname, items, className }: NavigationProps): react_jsx_runtime.JSX.Element;
|
|
1386
220
|
|
|
1387
221
|
/**
|
|
1388
222
|
* MobileNav Component
|
|
@@ -1433,17 +267,134 @@ declare function MainNav({ Link, pathname, items, className }: NavigationProps):
|
|
|
1433
267
|
* <UserProfile />
|
|
1434
268
|
* <ThemeToggle />
|
|
1435
269
|
* </div>
|
|
1436
|
-
* </MobileNav>
|
|
270
|
+
* </MobileNav>
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
declare function MobileNav({ children, className }: {
|
|
274
|
+
children: ReactNode;
|
|
275
|
+
className?: string;
|
|
276
|
+
}): react_jsx_runtime.JSX.Element;
|
|
277
|
+
interface MobileNavItemRendererProps {
|
|
278
|
+
item: NavItem;
|
|
279
|
+
pathname: string | null;
|
|
280
|
+
level: number;
|
|
281
|
+
onOpenChange: (open: boolean) => void;
|
|
282
|
+
}
|
|
283
|
+
declare function MobileNavItemRenderer({ item, pathname, level, onOpenChange, }: MobileNavItemRendererProps): react_jsx_runtime.JSX.Element;
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* SiteFooter Component
|
|
287
|
+
*
|
|
288
|
+
* A responsive footer component that provides consistent styling
|
|
289
|
+
* and layout for site-wide footer content. Features a top border,
|
|
290
|
+
* responsive padding, and flexible content arrangement.
|
|
291
|
+
*
|
|
292
|
+
* Features:
|
|
293
|
+
* - Responsive design (stacked on mobile, horizontal on desktop)
|
|
294
|
+
* - Consistent container width and padding
|
|
295
|
+
* - Top border for visual separation
|
|
296
|
+
* - Flexible content arrangement
|
|
297
|
+
* - Semantic footer element
|
|
298
|
+
*
|
|
299
|
+
* @param props - Component props
|
|
300
|
+
* @returns JSX element containing the site footer
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```tsx
|
|
304
|
+
* // Basic usage with copyright and links
|
|
305
|
+
* <SiteFooter>
|
|
306
|
+
* <div className="flex flex-col items-center gap-4 md:flex-row">
|
|
307
|
+
* <p className="text-sm text-muted-foreground">
|
|
308
|
+
* © 2024 Your Company. All rights reserved.
|
|
309
|
+
* </p>
|
|
310
|
+
* <nav className="flex gap-4">
|
|
311
|
+
* <Link href="/privacy" className="text-sm hover:underline">
|
|
312
|
+
* Privacy Policy
|
|
313
|
+
* </Link>
|
|
314
|
+
* <Link href="/terms" className="text-sm hover:underline">
|
|
315
|
+
* Terms of Service
|
|
316
|
+
* </Link>
|
|
317
|
+
* </nav>
|
|
318
|
+
* </div>
|
|
319
|
+
* </SiteFooter>
|
|
320
|
+
*
|
|
321
|
+
* // With social links and newsletter
|
|
322
|
+
* <SiteFooter>
|
|
323
|
+
* <div className="text-sm text-muted-foreground">
|
|
324
|
+
* © 2024 Your Company
|
|
325
|
+
* </div>
|
|
326
|
+
* <div className="flex items-center gap-4">
|
|
327
|
+
* <SocialLinks />
|
|
328
|
+
* <NewsletterSignup />
|
|
329
|
+
* </div>
|
|
330
|
+
* </SiteFooter>
|
|
331
|
+
*
|
|
332
|
+
* // Custom styling
|
|
333
|
+
* <SiteFooter className="bg-gray-50 dark:bg-gray-900">
|
|
334
|
+
* <FooterContent />
|
|
335
|
+
* </SiteFooter>
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
338
|
+
declare function SiteFooter({ children, className }: {
|
|
339
|
+
children: ReactNode;
|
|
340
|
+
className?: string;
|
|
341
|
+
}): react_jsx_runtime.JSX.Element;
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* SiteHeader Component
|
|
345
|
+
*
|
|
346
|
+
* A sticky header component with modern styling including backdrop blur,
|
|
347
|
+
* semi-transparent background, and responsive design. Positioned at the
|
|
348
|
+
* top of the viewport with high z-index for proper layering.
|
|
349
|
+
*
|
|
350
|
+
* Features:
|
|
351
|
+
* - Sticky positioning at top of viewport
|
|
352
|
+
* - Backdrop blur effect for modern appearance
|
|
353
|
+
* - Semi-transparent background with fallback
|
|
354
|
+
* - Bottom border for visual separation
|
|
355
|
+
* - Responsive container with consistent spacing
|
|
356
|
+
* - High z-index for proper layering
|
|
357
|
+
* - Dark mode support
|
|
358
|
+
*
|
|
359
|
+
* @param props - Component props
|
|
360
|
+
* @returns JSX element containing the site header
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```tsx
|
|
364
|
+
* // Basic usage with logo and navigation
|
|
365
|
+
* <SiteHeader>
|
|
366
|
+
* <div className="flex items-center gap-4">
|
|
367
|
+
* <Logo />
|
|
368
|
+
* <MainNav items={navItems} />
|
|
369
|
+
* </div>
|
|
370
|
+
* <div className="flex items-center gap-2">
|
|
371
|
+
* <ThemeToggle />
|
|
372
|
+
* <UserMenu />
|
|
373
|
+
* </div>
|
|
374
|
+
* </SiteHeader>
|
|
375
|
+
*
|
|
376
|
+
* // With mobile navigation
|
|
377
|
+
* <SiteHeader>
|
|
378
|
+
* <div className="flex items-center gap-4">
|
|
379
|
+
* <MobileNav>
|
|
380
|
+
* <MobileNavItems />
|
|
381
|
+
* </MobileNav>
|
|
382
|
+
* <Logo />
|
|
383
|
+
* <MainNav items={navItems} className="hidden md:flex" />
|
|
384
|
+
* </div>
|
|
385
|
+
* <HeaderActions />
|
|
386
|
+
* </SiteHeader>
|
|
387
|
+
*
|
|
388
|
+
* // Custom styling
|
|
389
|
+
* <SiteHeader className="bg-white/80 border-gray-200">
|
|
390
|
+
* <HeaderContent />
|
|
391
|
+
* </SiteHeader>
|
|
1437
392
|
* ```
|
|
1438
393
|
*/
|
|
1439
|
-
declare function
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
level: number;
|
|
1444
|
-
onOpenChange: (open: boolean) => void;
|
|
1445
|
-
}
|
|
1446
|
-
declare function MobileNavItemRenderer({ Link, navigate, item, pathname, level, onOpenChange, }: MobileNavItemRendererProps): react_jsx_runtime.JSX.Element;
|
|
394
|
+
declare function SiteHeader({ children, className }: {
|
|
395
|
+
children: ReactNode;
|
|
396
|
+
className?: string;
|
|
397
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1447
398
|
|
|
1448
399
|
/**
|
|
1449
400
|
* React Query provider component with optimized configuration
|
|
@@ -1551,702 +502,234 @@ interface ThemeProviderProps extends React$1.ComponentProps<typeof ThemeProvider
|
|
|
1551
502
|
declare function ThemeProvider({ children, ...props }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
1552
503
|
|
|
1553
504
|
/**
|
|
1554
|
-
*
|
|
505
|
+
* Configuration options for the alert toast notification
|
|
1555
506
|
*/
|
|
1556
|
-
|
|
1557
|
-
/**
|
|
1558
|
-
|
|
1559
|
-
|
|
507
|
+
interface AlertToastOptions {
|
|
508
|
+
/** Custom message to display in the toast */
|
|
509
|
+
message?: string;
|
|
510
|
+
/** Icon variant to display in the alert - determines which icon is shown */
|
|
511
|
+
icon?: "primary" | "destructive" | "success" | "info" | "warning";
|
|
512
|
+
/** Visual variant of the alert component - affects styling and colors */
|
|
513
|
+
variant?: ComponentProps<typeof Alert>["variant"];
|
|
514
|
+
}
|
|
1560
515
|
/**
|
|
1561
|
-
*
|
|
1562
|
-
*
|
|
1563
|
-
* A styled badge component for displaying announcements, notifications,
|
|
1564
|
-
* and promotional content. Features rounded design with hover effects
|
|
1565
|
-
* and optional themed styling.
|
|
516
|
+
* Creates and displays a customizable alert toast notification
|
|
1566
517
|
*
|
|
1567
|
-
* @param
|
|
1568
|
-
* @param
|
|
1569
|
-
* @param
|
|
1570
|
-
* @param
|
|
1571
|
-
* @returns JSX element with announcement badge
|
|
518
|
+
* @param options - Configuration options for the toast
|
|
519
|
+
* @param options.message - The message to display (default: 'This is a toast')
|
|
520
|
+
* @param options.icon - The icon variant to show (default: 'success')
|
|
521
|
+
* @param options.variant - The visual style variant (default: 'default')
|
|
1572
522
|
*
|
|
1573
523
|
* @example
|
|
1574
524
|
* ```tsx
|
|
1575
|
-
* //
|
|
1576
|
-
*
|
|
1577
|
-
* New feature available!
|
|
1578
|
-
* </Announcement>
|
|
1579
|
-
*
|
|
1580
|
-
* // Themed announcement with tag
|
|
1581
|
-
* <Announcement themed variant="secondary">
|
|
1582
|
-
* <AnnouncementTag>NEW</AnnouncementTag>
|
|
1583
|
-
* <AnnouncementTitle>
|
|
1584
|
-
* Product Update v2.0
|
|
1585
|
-
* </AnnouncementTitle>
|
|
1586
|
-
* </Announcement>
|
|
1587
|
-
*
|
|
1588
|
-
* // Custom styled announcement
|
|
1589
|
-
* <Announcement
|
|
1590
|
-
* variant="destructive"
|
|
1591
|
-
* className="border-red-500"
|
|
1592
|
-
* >
|
|
1593
|
-
* Important Notice
|
|
1594
|
-
* </Announcement>
|
|
1595
|
-
* ```
|
|
1596
|
-
*/
|
|
1597
|
-
declare const Announcement: ({ variant, themed, className, ...props }: AnnouncementProps) => react_jsx_runtime.JSX.Element;
|
|
1598
|
-
/**
|
|
1599
|
-
* Props interface for the AnnouncementTag component
|
|
1600
|
-
*/
|
|
1601
|
-
type AnnouncementTagProps = HTMLAttributes<HTMLDivElement>;
|
|
1602
|
-
/**
|
|
1603
|
-
* AnnouncementTag Component
|
|
1604
|
-
*
|
|
1605
|
-
* A small tag component designed to be used within announcements
|
|
1606
|
-
* to highlight categories, status, or importance levels.
|
|
1607
|
-
*
|
|
1608
|
-
* @param props - Component props
|
|
1609
|
-
* @param props.className - Additional CSS classes
|
|
1610
|
-
* @returns JSX element with announcement tag
|
|
525
|
+
* // Show a success message
|
|
526
|
+
* AlertToast({ message: 'Data saved successfully!' });
|
|
1611
527
|
*
|
|
1612
|
-
*
|
|
1613
|
-
*
|
|
1614
|
-
*
|
|
1615
|
-
*
|
|
1616
|
-
*
|
|
1617
|
-
*
|
|
528
|
+
* // Show an error message
|
|
529
|
+
* AlertToast({
|
|
530
|
+
* message: 'Failed to save data',
|
|
531
|
+
* icon: 'destructive',
|
|
532
|
+
* variant: 'destructive'
|
|
533
|
+
* });
|
|
1618
534
|
* ```
|
|
1619
535
|
*/
|
|
1620
|
-
declare
|
|
1621
|
-
/**
|
|
1622
|
-
* Props interface for the AnnouncementTitle component
|
|
1623
|
-
*/
|
|
1624
|
-
type AnnouncementTitleProps = HTMLAttributes<HTMLDivElement>;
|
|
536
|
+
declare function AlertToast({ message, icon, variant, }: AlertToastOptions): void;
|
|
1625
537
|
/**
|
|
1626
|
-
*
|
|
538
|
+
* Alert Notification Component
|
|
1627
539
|
*
|
|
1628
|
-
*
|
|
1629
|
-
*
|
|
540
|
+
* Renders a static alert notification with appropriate icon and styling
|
|
541
|
+
* based on the variant. This component is used for displaying persistent
|
|
542
|
+
* alerts that don't auto-dismiss like toast notifications.
|
|
1630
543
|
*
|
|
1631
544
|
* @param props - Component props
|
|
1632
|
-
* @param props.
|
|
1633
|
-
* @
|
|
1634
|
-
*
|
|
1635
|
-
* @example
|
|
1636
|
-
* ```tsx
|
|
1637
|
-
* <Announcement>
|
|
1638
|
-
* <AnnouncementTag>UPDATE</AnnouncementTag>
|
|
1639
|
-
* <AnnouncementTitle>
|
|
1640
|
-
* System Maintenance Scheduled
|
|
1641
|
-
* </AnnouncementTitle>
|
|
1642
|
-
* </Announcement>
|
|
1643
|
-
* ```
|
|
1644
|
-
*/
|
|
1645
|
-
declare const AnnouncementTitle: ({ className, ...props }: AnnouncementTitleProps) => react_jsx_runtime.JSX.Element;
|
|
1646
|
-
|
|
1647
|
-
/**
|
|
1648
|
-
* Background Paths Components
|
|
1649
|
-
* Provides animated SVG path backgrounds with motion effects
|
|
1650
|
-
* Perfect for creating dynamic visual backgrounds and decorative elements
|
|
1651
|
-
*/
|
|
1652
|
-
/**
|
|
1653
|
-
* FloatingPaths Component
|
|
1654
|
-
*
|
|
1655
|
-
* Creates animated floating SVG paths with customizable position and color.
|
|
1656
|
-
* Features smooth animations with varying opacity and path lengths for
|
|
1657
|
-
* a dynamic background effect.
|
|
545
|
+
* @param props.message - The message to display in the alert
|
|
546
|
+
* @param props.variant - The visual style variant (default: 'info')
|
|
1658
547
|
*
|
|
1659
|
-
* @
|
|
1660
|
-
* @param props.position - Position multiplier for path positioning (affects curve placement)
|
|
1661
|
-
* @param props.color - CSS color class for the paths (default: 'text-slate-950 dark:text-white')
|
|
1662
|
-
* @returns JSX element with animated SVG paths
|
|
548
|
+
* @returns JSX element or null if no message is provided
|
|
1663
549
|
*
|
|
1664
550
|
* @example
|
|
1665
551
|
* ```tsx
|
|
1666
|
-
* // Basic
|
|
1667
|
-
* <
|
|
552
|
+
* // Basic info alert
|
|
553
|
+
* <AlertNotification message="Please verify your email address" />
|
|
1668
554
|
*
|
|
1669
|
-
* //
|
|
1670
|
-
* <
|
|
1671
|
-
*
|
|
1672
|
-
*
|
|
555
|
+
* // Error alert
|
|
556
|
+
* <AlertNotification
|
|
557
|
+
* message="Failed to load data"
|
|
558
|
+
* variant="destructive"
|
|
1673
559
|
* />
|
|
1674
560
|
*
|
|
1675
|
-
* //
|
|
1676
|
-
* <
|
|
1677
|
-
*
|
|
1678
|
-
*
|
|
1679
|
-
* <FloatingPaths position={3} color="text-gray-500" />
|
|
1680
|
-
* </div>
|
|
1681
|
-
*
|
|
1682
|
-
* // In a hero section
|
|
1683
|
-
* <section className="relative min-h-screen">
|
|
1684
|
-
* <FloatingPaths position={1.5} />
|
|
1685
|
-
* <div className="relative z-10">
|
|
1686
|
-
* <h1>Your Content Here</h1>
|
|
1687
|
-
* </div>
|
|
1688
|
-
* </section>
|
|
1689
|
-
* ```
|
|
1690
|
-
*/
|
|
1691
|
-
declare function FloatingPaths({ position, color, }: {
|
|
1692
|
-
position: number;
|
|
1693
|
-
color?: string;
|
|
1694
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1695
|
-
/**
|
|
1696
|
-
* BackgroundPaths Component
|
|
1697
|
-
*
|
|
1698
|
-
* A simplified wrapper around FloatingPaths with a fixed position,
|
|
1699
|
-
* providing an easy way to add animated background paths to any container.
|
|
1700
|
-
*
|
|
1701
|
-
* @param props - Component props
|
|
1702
|
-
* @param props.color - CSS color class for the paths (default: 'text-slate-950 dark:text-white')
|
|
1703
|
-
* @returns JSX element with animated background paths
|
|
1704
|
-
*
|
|
1705
|
-
* @example
|
|
1706
|
-
* ```tsx
|
|
1707
|
-
* // Basic background paths
|
|
1708
|
-
* <div className="relative">
|
|
1709
|
-
* <BackgroundPaths />
|
|
1710
|
-
* <div className="relative z-10">
|
|
1711
|
-
* Your content here
|
|
1712
|
-
* </div>
|
|
1713
|
-
* </div>
|
|
1714
|
-
*
|
|
1715
|
-
* // Custom colored background
|
|
1716
|
-
* <BackgroundPaths color="text-purple-500 dark:text-purple-300" />
|
|
1717
|
-
*
|
|
1718
|
-
* // In a card component
|
|
1719
|
-
* <div className="relative p-6 bg-white rounded-lg shadow-lg">
|
|
1720
|
-
* <BackgroundPaths color="text-gray-100" />
|
|
1721
|
-
* <div className="relative z-10">
|
|
1722
|
-
* <h2>Card Title</h2>
|
|
1723
|
-
* <p>Card content...</p>
|
|
1724
|
-
* </div>
|
|
1725
|
-
* </div>
|
|
1726
|
-
* ```
|
|
1727
|
-
*/
|
|
1728
|
-
declare function BackgroundPaths({ color }: {
|
|
1729
|
-
color?: string;
|
|
1730
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1731
|
-
|
|
1732
|
-
/**
|
|
1733
|
-
* Props interface for the Book component
|
|
1734
|
-
*/
|
|
1735
|
-
interface BookProps {
|
|
1736
|
-
/** Content to display inside the book */
|
|
1737
|
-
children: React__default.ReactNode;
|
|
1738
|
-
/** Book cover color (default: '#f50537') */
|
|
1739
|
-
color?: string;
|
|
1740
|
-
/** Text color for book content */
|
|
1741
|
-
textColor?: string;
|
|
1742
|
-
/** Whether to apply texture effects */
|
|
1743
|
-
texture?: boolean;
|
|
1744
|
-
/** Book depth in container query width units */
|
|
1745
|
-
depth?: number;
|
|
1746
|
-
/** Book variant style (default: 'default') */
|
|
1747
|
-
variant?: "default" | "simple";
|
|
1748
|
-
/** Optional illustration to display on the book */
|
|
1749
|
-
illustration?: React__default.ReactNode;
|
|
1750
|
-
/** Book width in pixels (default: 196) */
|
|
1751
|
-
width?: number;
|
|
1752
|
-
}
|
|
1753
|
-
/**
|
|
1754
|
-
* Book Component
|
|
1755
|
-
*
|
|
1756
|
-
* A 3D book component with hover animations and customizable styling.
|
|
1757
|
-
* Features perspective transforms, shadow effects, and flexible content layout.
|
|
1758
|
-
*
|
|
1759
|
-
* @param props - Component props
|
|
1760
|
-
* @returns JSX element with 3D book appearance
|
|
1761
|
-
*
|
|
1762
|
-
* @example
|
|
1763
|
-
* ```tsx
|
|
1764
|
-
* // Basic book
|
|
1765
|
-
* <Book>
|
|
1766
|
-
* <h3>Book Title</h3>
|
|
1767
|
-
* <p>Book description...</p>
|
|
1768
|
-
* </Book>
|
|
1769
|
-
*
|
|
1770
|
-
* // Customized book
|
|
1771
|
-
* <Book
|
|
1772
|
-
* color="#3b82f6"
|
|
1773
|
-
* textColor="#ffffff"
|
|
1774
|
-
* width={240}
|
|
1775
|
-
* depth={6}
|
|
1776
|
-
* >
|
|
1777
|
-
* <div className="p-4">
|
|
1778
|
-
* <h2>Custom Book</h2>
|
|
1779
|
-
* <p>Custom content</p>
|
|
1780
|
-
* </div>
|
|
1781
|
-
* </Book>
|
|
1782
|
-
*
|
|
1783
|
-
* // Simple variant with illustration
|
|
1784
|
-
* <Book
|
|
1785
|
-
* variant="simple"
|
|
1786
|
-
* illustration={<BookIcon />}
|
|
1787
|
-
* >
|
|
1788
|
-
* Simple book content
|
|
1789
|
-
* </Book>
|
|
1790
|
-
*
|
|
1791
|
-
* // Book gallery
|
|
1792
|
-
* <div className="flex gap-4">
|
|
1793
|
-
* <Book color="#ef4444">Red Book</Book>
|
|
1794
|
-
* <Book color="#10b981">Green Book</Book>
|
|
1795
|
-
* <Book color="#8b5cf6">Purple Book</Book>
|
|
1796
|
-
* </div>
|
|
1797
|
-
* ```
|
|
1798
|
-
*/
|
|
1799
|
-
declare function Book(props: BookProps): react_jsx_runtime.JSX.Element;
|
|
1800
|
-
type FlexAlignItems = "stretch" | "start" | "end" | "center";
|
|
1801
|
-
type FlexJustifyContent = "stretch" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "center";
|
|
1802
|
-
interface StackProps extends React__default.ComponentProps<"div"> {
|
|
1803
|
-
children: React__default.ReactNode;
|
|
1804
|
-
direction?: "column" | "row";
|
|
1805
|
-
align?: FlexAlignItems;
|
|
1806
|
-
justify?: FlexJustifyContent;
|
|
1807
|
-
gap?: number;
|
|
1808
|
-
padding?: number;
|
|
1809
|
-
grow?: boolean;
|
|
1810
|
-
shrink?: boolean;
|
|
1811
|
-
wrap?: boolean;
|
|
1812
|
-
className?: string;
|
|
1813
|
-
}
|
|
1814
|
-
declare function Stack(props: StackProps): react_jsx_runtime.JSX.Element;
|
|
1815
|
-
|
|
1816
|
-
/**
|
|
1817
|
-
* DotsPattern Component
|
|
1818
|
-
* Creates a customizable dots pattern background using SVG
|
|
1819
|
-
* Perfect for adding subtle texture and visual interest to backgrounds
|
|
1820
|
-
*/
|
|
1821
|
-
/**
|
|
1822
|
-
* DotsPattern Component
|
|
1823
|
-
*
|
|
1824
|
-
* Generates an SVG-based dots pattern that can be used as a background element.
|
|
1825
|
-
* Features customizable dot size, spacing, and positioning with automatic
|
|
1826
|
-
* pattern generation using unique IDs.
|
|
1827
|
-
*
|
|
1828
|
-
* @param props - Component props
|
|
1829
|
-
* @param props.dotSize - Size of each dot in pixels (default: 2)
|
|
1830
|
-
* @param props.gapSize - Space between dots in pixels (default: 10)
|
|
1831
|
-
* @param props.patternOffset - X and Y offset for pattern positioning (default: [0, 0])
|
|
1832
|
-
* @param props.className - Additional CSS classes
|
|
1833
|
-
* @returns JSX element with SVG dots pattern
|
|
1834
|
-
*
|
|
1835
|
-
* @example
|
|
1836
|
-
* ```tsx
|
|
1837
|
-
* // Basic dots pattern
|
|
1838
|
-
* <div className="relative h-64 bg-gray-50">
|
|
1839
|
-
* <DotsPattern />
|
|
1840
|
-
* <div className="relative z-10 p-4">
|
|
1841
|
-
* Content over dots pattern
|
|
1842
|
-
* </div>
|
|
1843
|
-
* </div>
|
|
1844
|
-
*
|
|
1845
|
-
* // Customized dots pattern
|
|
1846
|
-
* <DotsPattern
|
|
1847
|
-
* dotSize={3}
|
|
1848
|
-
* gapSize={15}
|
|
1849
|
-
* className="text-blue-500/20"
|
|
561
|
+
* // Success alert
|
|
562
|
+
* <AlertNotification
|
|
563
|
+
* message="Profile updated successfully"
|
|
564
|
+
* variant="success"
|
|
1850
565
|
* />
|
|
1851
566
|
*
|
|
1852
|
-
* //
|
|
1853
|
-
* <
|
|
1854
|
-
*
|
|
1855
|
-
*
|
|
1856
|
-
* gapSize={8}
|
|
567
|
+
* // Warning alert
|
|
568
|
+
* <AlertNotification
|
|
569
|
+
* message="Your session will expire soon"
|
|
570
|
+
* variant="warning"
|
|
1857
571
|
* />
|
|
1858
|
-
*
|
|
1859
|
-
* // Hero section with dots background
|
|
1860
|
-
* <section className="relative min-h-screen bg-white">
|
|
1861
|
-
* <DotsPattern
|
|
1862
|
-
* dotSize={2}
|
|
1863
|
-
* gapSize={12}
|
|
1864
|
-
* className="text-gray-300"
|
|
1865
|
-
* />
|
|
1866
|
-
* <div className="relative z-10 flex items-center justify-center min-h-screen">
|
|
1867
|
-
* <h1>Hero Content</h1>
|
|
1868
|
-
* </div>
|
|
1869
|
-
* </section>
|
|
1870
|
-
*
|
|
1871
|
-
* // Card with dots pattern
|
|
1872
|
-
* <div className="relative p-6 bg-white rounded-lg shadow-lg overflow-hidden">
|
|
1873
|
-
* <DotsPattern
|
|
1874
|
-
* dotSize={1}
|
|
1875
|
-
* gapSize={6}
|
|
1876
|
-
* className="text-gray-100"
|
|
1877
|
-
* />
|
|
1878
|
-
* <div className="relative z-10">
|
|
1879
|
-
* <h3>Card Title</h3>
|
|
1880
|
-
* <p>Card content...</p>
|
|
1881
|
-
* </div>
|
|
1882
|
-
* </div>
|
|
1883
572
|
* ```
|
|
1884
573
|
*/
|
|
1885
|
-
declare function
|
|
1886
|
-
dotSize?: number;
|
|
1887
|
-
gapSize?: number;
|
|
1888
|
-
patternOffset?: [number, number];
|
|
1889
|
-
className?: string;
|
|
1890
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1891
|
-
|
|
1892
|
-
/**
|
|
1893
|
-
* Grid Background Component
|
|
1894
|
-
* Creates a customizable grid background with vertical lines and dots pattern
|
|
1895
|
-
* Perfect for adding structured visual backgrounds to layouts and sections
|
|
1896
|
-
*/
|
|
1897
|
-
|
|
1898
|
-
/**
|
|
1899
|
-
* Props interface for the GridBackground component
|
|
1900
|
-
*/
|
|
1901
|
-
interface GridBackgroundProps {
|
|
1902
|
-
/** Number of grid columns to display (default: 4) */
|
|
1903
|
-
columns?: number;
|
|
1904
|
-
/** Additional CSS classes for styling */
|
|
1905
|
-
className?: string;
|
|
1906
|
-
/** CSS class for maximum width container (default: 'grid-container') */
|
|
1907
|
-
maxWidthClass?: string;
|
|
1908
|
-
}
|
|
574
|
+
declare function AlertNotification({ message, variant }: AlertToastOptions): react_jsx_runtime.JSX.Element | null;
|
|
1909
575
|
/**
|
|
1910
|
-
*
|
|
576
|
+
* Displays a standardized "coming soon" toast notification
|
|
1911
577
|
*
|
|
1912
|
-
*
|
|
1913
|
-
*
|
|
1914
|
-
*
|
|
578
|
+
* This function creates a consistent user experience for features that are
|
|
579
|
+
* not yet implemented. It uses a custom toast with alert styling to inform
|
|
580
|
+
* users that the feature they're trying to access is under development.
|
|
1915
581
|
*
|
|
1916
|
-
* @param
|
|
1917
|
-
* @param props.columns - Number of grid columns to display
|
|
1918
|
-
* @param props.className - Additional CSS classes for styling
|
|
1919
|
-
* @param props.maxWidthClass - CSS class for maximum width container
|
|
1920
|
-
* @returns JSX element with grid background pattern
|
|
582
|
+
* @param options - Configuration options for the toast appearance and message
|
|
1921
583
|
*
|
|
1922
584
|
* @example
|
|
1923
585
|
* ```tsx
|
|
1924
|
-
* // Basic
|
|
1925
|
-
*
|
|
1926
|
-
* <GridBackground />
|
|
1927
|
-
* <div className="relative z-10">Content over grid</div>
|
|
1928
|
-
* </div>
|
|
1929
|
-
*
|
|
1930
|
-
* // Custom column count
|
|
1931
|
-
* <GridBackground columns={6} />
|
|
1932
|
-
*
|
|
1933
|
-
* // With custom styling
|
|
1934
|
-
* <GridBackground
|
|
1935
|
-
* columns={3}
|
|
1936
|
-
* className="opacity-50"
|
|
1937
|
-
* maxWidthClass="max-w-6xl"
|
|
1938
|
-
* />
|
|
1939
|
-
* ```
|
|
1940
|
-
*/
|
|
1941
|
-
declare const GridBackground: FC<GridBackgroundProps>;
|
|
1942
|
-
|
|
1943
|
-
/**
|
|
1944
|
-
* Props interface for HexagonBadge component
|
|
1945
|
-
*/
|
|
1946
|
-
interface HexagonBadgeProps {
|
|
1947
|
-
/** Content to be displayed inside the hexagon badge */
|
|
1948
|
-
children?: ReactNode;
|
|
1949
|
-
/** Custom class names for different parts of the component */
|
|
1950
|
-
classNames?: {
|
|
1951
|
-
/** Class name for the base container element */
|
|
1952
|
-
base?: string;
|
|
1953
|
-
/** Class name for the SVG hexagon shape */
|
|
1954
|
-
svg?: string;
|
|
1955
|
-
/** Class name for the content wrapper (note: typo 'wraper' kept for backward compatibility) */
|
|
1956
|
-
wraper?: string;
|
|
1957
|
-
};
|
|
1958
|
-
}
|
|
1959
|
-
/**
|
|
1960
|
-
* HexagonBadge component
|
|
1961
|
-
*
|
|
1962
|
-
* Creates a hexagon-shaped badge container using SVG for the border shape.
|
|
1963
|
-
* The hexagon provides a distinctive visual element for displaying icons,
|
|
1964
|
-
* status indicators, or small pieces of content.
|
|
1965
|
-
*
|
|
1966
|
-
* Features:
|
|
1967
|
-
* - SVG-based hexagon shape with fill and stroke
|
|
1968
|
-
* - Perfectly centered content using absolute positioning
|
|
1969
|
-
* - Customizable styling via classNames prop
|
|
1970
|
-
* - RTL (right-to-left) layout support
|
|
1971
|
-
* - Responsive sizing based on container
|
|
1972
|
-
*
|
|
1973
|
-
* The component uses a 44x48 viewBox for the SVG hexagon and automatically
|
|
1974
|
-
* centers the content within the hexagonal boundary.
|
|
586
|
+
* // Basic usage with default message
|
|
587
|
+
* AlertComingsoon();
|
|
1975
588
|
*
|
|
1976
|
-
*
|
|
1977
|
-
*
|
|
1978
|
-
*
|
|
1979
|
-
*
|
|
1980
|
-
*
|
|
1981
|
-
*
|
|
1982
|
-
* @returns JSX element representing the hexagon badge
|
|
589
|
+
* // Custom message with warning variant
|
|
590
|
+
* AlertComingsoon({
|
|
591
|
+
* message: 'Advanced analytics coming in Q2 2024',
|
|
592
|
+
* icon: 'warning',
|
|
593
|
+
* variant: 'warning'
|
|
594
|
+
* });
|
|
1983
595
|
*
|
|
1984
|
-
*
|
|
1985
|
-
*
|
|
1986
|
-
*
|
|
1987
|
-
*
|
|
1988
|
-
*
|
|
1989
|
-
*
|
|
596
|
+
* // Success variant for positive messaging
|
|
597
|
+
* AlertComingsoon({
|
|
598
|
+
* message: 'New dashboard features are on the way!',
|
|
599
|
+
* icon: 'success',
|
|
600
|
+
* variant: 'success'
|
|
601
|
+
* });
|
|
1990
602
|
*
|
|
1991
|
-
* //
|
|
1992
|
-
*
|
|
1993
|
-
*
|
|
1994
|
-
*
|
|
1995
|
-
*
|
|
1996
|
-
*
|
|
1997
|
-
* }
|
|
1998
|
-
*
|
|
1999
|
-
* <span className="font-bold">A</span>
|
|
2000
|
-
* </HexagonBadge>
|
|
2001
|
-
*
|
|
2002
|
-
* // As a status badge
|
|
2003
|
-
* <HexagonBadge
|
|
2004
|
-
* classNames={{
|
|
2005
|
-
* svg: 'text-green-500 fill-green-50'
|
|
2006
|
-
* }}
|
|
2007
|
-
* >
|
|
2008
|
-
* <CheckIcon />
|
|
2009
|
-
* </HexagonBadge>
|
|
603
|
+
* // Use in event handlers
|
|
604
|
+
* const handlePremiumFeature = () => {
|
|
605
|
+
* AlertComingsoon({
|
|
606
|
+
* message: 'Premium features available soon',
|
|
607
|
+
* icon: 'info',
|
|
608
|
+
* variant: 'info'
|
|
609
|
+
* });
|
|
610
|
+
* };
|
|
2010
611
|
* ```
|
|
2011
612
|
*/
|
|
2012
|
-
declare const
|
|
2013
|
-
|
|
2014
|
-
/**
|
|
2015
|
-
* Image Input Component
|
|
2016
|
-
* Provides a comprehensive image upload solution with drag-and-drop support,
|
|
2017
|
-
* multiple file selection, preview generation, and file management capabilities
|
|
2018
|
-
*/
|
|
613
|
+
declare const AlertComingsoon: ({ message, variant, }?: AlertToastOptions) => void;
|
|
2019
614
|
|
|
2020
615
|
/**
|
|
2021
|
-
*
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
dataURL?: string;
|
|
2026
|
-
/** Original File object */
|
|
2027
|
-
file?: File;
|
|
2028
|
-
/** Additional custom properties */
|
|
2029
|
-
[key: string]: unknown;
|
|
2030
|
-
}
|
|
2031
|
-
/**
|
|
2032
|
-
* Type representing an array of image files
|
|
2033
|
-
*/
|
|
2034
|
-
type ImageInputFiles = ImageInputFile[];
|
|
2035
|
-
/**
|
|
2036
|
-
* Props interface for the ImageInput component
|
|
2037
|
-
*/
|
|
2038
|
-
interface ImageInputProps {
|
|
2039
|
-
/** Current array of image files */
|
|
2040
|
-
value: ImageInputFiles;
|
|
2041
|
-
/** Callback when files change, includes updated file indices */
|
|
2042
|
-
onChange: (value: ImageInputFiles, addUpdatedIndex?: number[]) => void;
|
|
2043
|
-
/** Render prop function that receives image input controls */
|
|
2044
|
-
children?: (props: ImageInputExport) => ReactNode;
|
|
2045
|
-
/** Whether to allow multiple file selection */
|
|
2046
|
-
multiple?: boolean;
|
|
2047
|
-
/** Maximum number of files allowed (not implemented in current version) */
|
|
2048
|
-
maxNumber?: number;
|
|
2049
|
-
/** Array of accepted file extensions (without dots) */
|
|
2050
|
-
acceptType?: string[];
|
|
2051
|
-
/** Key name for the data URL property in file objects */
|
|
2052
|
-
dataURLKey?: string;
|
|
2053
|
-
/** Additional props to pass to the hidden input element */
|
|
2054
|
-
inputProps?: React__default.HTMLProps<HTMLInputElement>;
|
|
2055
|
-
}
|
|
2056
|
-
/**
|
|
2057
|
-
* Interface for the object passed to the children render prop
|
|
2058
|
-
* Contains all necessary functions and state for image management
|
|
2059
|
-
*/
|
|
2060
|
-
interface ImageInputExport {
|
|
2061
|
-
/** Current list of image files */
|
|
2062
|
-
fileList: ImageInputFiles;
|
|
2063
|
-
/** Function to trigger file selection dialog */
|
|
2064
|
-
onImageUpload: () => void;
|
|
2065
|
-
/** Function to remove all images */
|
|
2066
|
-
onImageRemoveAll: () => void;
|
|
2067
|
-
/** Function to update/replace an image at specific index */
|
|
2068
|
-
onImageUpdate: (index: number) => void;
|
|
2069
|
-
/** Function to remove an image at specific index */
|
|
2070
|
-
onImageRemove: (index: number) => void;
|
|
2071
|
-
/** Whether drag operation is currently active */
|
|
2072
|
-
isDragging: boolean;
|
|
2073
|
-
/** Drag and drop event handlers */
|
|
2074
|
-
dragProps: {
|
|
2075
|
-
onDrop: (e: DragEvent<HTMLDivElement>) => void;
|
|
2076
|
-
onDragEnter: (e: DragEvent<HTMLDivElement>) => void;
|
|
2077
|
-
onDragLeave: (e: DragEvent<HTMLDivElement>) => void;
|
|
2078
|
-
onDragOver: (e: DragEvent<HTMLDivElement>) => void;
|
|
2079
|
-
onDragStart: (e: DragEvent<HTMLDivElement>) => void;
|
|
2080
|
-
};
|
|
2081
|
-
}
|
|
2082
|
-
/** Default index value indicating no selection */
|
|
2083
|
-
declare const DEFAULT_NULL_INDEX = -1;
|
|
2084
|
-
/** Default key name for storing data URL in file objects */
|
|
2085
|
-
declare const DEFAULT_DATA_URL_KEY = "dataURL";
|
|
2086
|
-
/**
|
|
2087
|
-
* Utility Functions for Image Input Component
|
|
2088
|
-
*/
|
|
2089
|
-
/**
|
|
2090
|
-
* Programmatically opens the file selection dialog
|
|
2091
|
-
*
|
|
2092
|
-
* @param inputRef - Reference to the hidden input element
|
|
2093
|
-
*
|
|
2094
|
-
* @example
|
|
2095
|
-
* ```tsx
|
|
2096
|
-
* const inputRef = useRef<HTMLInputElement>(null);
|
|
2097
|
-
*
|
|
2098
|
-
* const handleUploadClick = () => {
|
|
2099
|
-
* openFileDialog(inputRef);
|
|
2100
|
-
* };
|
|
2101
|
-
* ```
|
|
616
|
+
* Coming Soon Component
|
|
617
|
+
* Displays a full-height section with an animated hover background and
|
|
618
|
+
* optional title and description. Ideal for placeholder pages or upcoming
|
|
619
|
+
* feature announcements.
|
|
2102
620
|
*/
|
|
2103
|
-
declare const openFileDialog: (inputRef: RefObject<HTMLInputElement | null>) => void;
|
|
2104
621
|
/**
|
|
2105
|
-
*
|
|
2106
|
-
*
|
|
2107
|
-
* @param acceptType - Array of file extensions without dots
|
|
2108
|
-
* @param allowNonImageType - Whether to allow non-image files
|
|
2109
|
-
* @returns Accept attribute string for input element
|
|
2110
|
-
*
|
|
2111
|
-
* @example
|
|
2112
|
-
* ```tsx
|
|
2113
|
-
* getAcceptTypeString(['jpg', 'png']); // '.jpg, .png'
|
|
2114
|
-
* getAcceptTypeString(); // 'image/*'
|
|
2115
|
-
* getAcceptTypeString([], true); // ''
|
|
2116
|
-
* ```
|
|
622
|
+
* Props interface for the `ComingSoon` component
|
|
2117
623
|
*/
|
|
2118
|
-
|
|
624
|
+
interface ComingSoonProps {
|
|
625
|
+
/** Additional CSS classes for the wrapper */
|
|
626
|
+
className?: string;
|
|
627
|
+
/** Optional highlighted title text */
|
|
628
|
+
title?: string;
|
|
629
|
+
/** Optional descriptive text below the title */
|
|
630
|
+
description?: string;
|
|
631
|
+
}
|
|
2119
632
|
/**
|
|
2120
|
-
*
|
|
633
|
+
* ComingSoon Component
|
|
634
|
+
*
|
|
635
|
+
* Renders a full-height container with animated hover background objects
|
|
636
|
+
* and optional title/description content centered on the screen.
|
|
2121
637
|
*
|
|
2122
|
-
* @param
|
|
2123
|
-
* @returns
|
|
638
|
+
* @param props - Component props
|
|
639
|
+
* @returns JSX element containing the coming soon layout
|
|
2124
640
|
*
|
|
2125
641
|
* @example
|
|
2126
642
|
* ```tsx
|
|
2127
|
-
*
|
|
2128
|
-
* const dataURL = await getBase64(file);
|
|
2129
|
-
* console.log(dataURL); // 'data:image/jpeg;base64,/9j/4AAQ...'
|
|
643
|
+
* <ComingSoon title="Coming Soon" description="We are cooking something nice." />
|
|
2130
644
|
* ```
|
|
2131
645
|
*/
|
|
2132
|
-
declare
|
|
646
|
+
declare function ComingSoon({ className, title, description }: ComingSoonProps): react_jsx_runtime.JSX.Element;
|
|
647
|
+
|
|
2133
648
|
/**
|
|
2134
|
-
*
|
|
2135
|
-
*
|
|
2136
|
-
*
|
|
2137
|
-
* @param file - The image file to load
|
|
2138
|
-
* @returns Promise resolving to HTMLImageElement
|
|
2139
|
-
*
|
|
2140
|
-
* @example
|
|
2141
|
-
* ```tsx
|
|
2142
|
-
* const file = new File([''], 'image.jpg', { type: 'image/jpeg' });
|
|
2143
|
-
* const image = await getImage(file);
|
|
2144
|
-
* console.log(`Dimensions: ${image.width}x${image.height}`);
|
|
2145
|
-
* ```
|
|
649
|
+
* Confirm Dismiss Dialog Component
|
|
650
|
+
* Provides a reusable confirmation dialog for destructive actions like discarding changes
|
|
651
|
+
* Built on top of AlertDialog with customizable content and actions
|
|
2146
652
|
*/
|
|
2147
|
-
declare const getImage: (file: File) => Promise<HTMLImageElement>;
|
|
2148
653
|
/**
|
|
2149
|
-
*
|
|
2150
|
-
* Each file is converted to base64 for preview purposes
|
|
2151
|
-
*
|
|
2152
|
-
* @param files - FileList from input or drag event
|
|
2153
|
-
* @param dataURLKey - Key name for storing the data URL
|
|
2154
|
-
* @returns Promise resolving to array of ImageInputFile objects
|
|
2155
|
-
*
|
|
2156
|
-
* @example
|
|
2157
|
-
* ```tsx
|
|
2158
|
-
* const handleFileChange = async (e: ChangeEvent<HTMLInputElement>) => {
|
|
2159
|
-
* if (e.target.files) {
|
|
2160
|
-
* const imageFiles = await getListFiles(e.target.files, 'dataURL');
|
|
2161
|
-
* setImages(imageFiles);
|
|
2162
|
-
* }
|
|
2163
|
-
* };
|
|
2164
|
-
* ```
|
|
654
|
+
* Props interface for the ConfirmDismissDialog component
|
|
2165
655
|
*/
|
|
2166
|
-
|
|
656
|
+
interface ConfirmDismissDialogProps {
|
|
657
|
+
/** Whether the dialog is open */
|
|
658
|
+
open: boolean;
|
|
659
|
+
/** Callback to handle dialog open state changes */
|
|
660
|
+
onOpenChange: (open: boolean) => void;
|
|
661
|
+
/** Callback executed when user confirms the action */
|
|
662
|
+
onConfirm: () => void;
|
|
663
|
+
/** Optional callback executed when user cancels (defaults to closing dialog) */
|
|
664
|
+
onCancel?: () => void;
|
|
665
|
+
/** Dialog title text (defaults to "Discard changes?") */
|
|
666
|
+
title?: string;
|
|
667
|
+
/** Dialog description text (defaults to unsaved changes message) */
|
|
668
|
+
description?: string;
|
|
669
|
+
/** Confirm button text (defaults to "Discard changes") */
|
|
670
|
+
confirmText?: string;
|
|
671
|
+
/** Cancel button text (defaults to "Cancel") */
|
|
672
|
+
cancelText?: string;
|
|
673
|
+
/** CSS class for maximum width (defaults to "md:max-w-[375px]") */
|
|
674
|
+
maxWidth?: string;
|
|
675
|
+
}
|
|
2167
676
|
/**
|
|
2168
|
-
*
|
|
677
|
+
* Reusable confirmation dialog for destructive actions
|
|
2169
678
|
*
|
|
2170
|
-
*
|
|
2171
|
-
*
|
|
2172
|
-
*
|
|
679
|
+
* This component provides a standardized way to confirm destructive actions
|
|
680
|
+
* like discarding unsaved changes, deleting items, or leaving forms.
|
|
681
|
+
* It includes customizable text and handles both confirm and cancel actions.
|
|
2173
682
|
*
|
|
2174
|
-
* @param props - Component props
|
|
2175
|
-
* @returns JSX element containing
|
|
683
|
+
* @param props - Component props for dialog configuration
|
|
684
|
+
* @returns JSX element containing the confirmation dialog
|
|
2176
685
|
*
|
|
2177
686
|
* @example
|
|
2178
687
|
* ```tsx
|
|
2179
|
-
* // Basic
|
|
2180
|
-
* function
|
|
2181
|
-
* const [
|
|
2182
|
-
*
|
|
2183
|
-
* return (
|
|
2184
|
-
* <ImageInput
|
|
2185
|
-
* value={images}
|
|
2186
|
-
* onChange={setImages}
|
|
2187
|
-
* acceptType={['jpg', 'png', 'gif']}
|
|
2188
|
-
* >
|
|
2189
|
-
* {({ fileList, onImageUpload, onImageRemove, isDragging, dragProps }) => (
|
|
2190
|
-
* <div
|
|
2191
|
-
* {...dragProps}
|
|
2192
|
-
* className={`border-2 border-dashed p-4 ${
|
|
2193
|
-
* isDragging ? 'border-blue-500 bg-blue-50' : 'border-gray-300'
|
|
2194
|
-
* }`}
|
|
2195
|
-
* >
|
|
2196
|
-
* {fileList.length === 0 ? (
|
|
2197
|
-
* <button onClick={onImageUpload}>
|
|
2198
|
-
* Click or drag image here
|
|
2199
|
-
* </button>
|
|
2200
|
-
* ) : (
|
|
2201
|
-
* <div>
|
|
2202
|
-
* <img src={fileList[0].dataURL} alt="Preview" />
|
|
2203
|
-
* <button onClick={() => onImageRemove(0)}>Remove</button>
|
|
2204
|
-
* </div>
|
|
2205
|
-
* )}
|
|
2206
|
-
* </div>
|
|
2207
|
-
* )}
|
|
2208
|
-
* </ImageInput>
|
|
2209
|
-
* );
|
|
2210
|
-
* }
|
|
688
|
+
* // Basic usage for form dismissal
|
|
689
|
+
* function FormComponent() {
|
|
690
|
+
* const [showDialog, setShowDialog] = useState(false);
|
|
691
|
+
* const [hasChanges, setHasChanges] = useState(false);
|
|
2211
692
|
*
|
|
2212
|
-
*
|
|
2213
|
-
*
|
|
2214
|
-
*
|
|
693
|
+
* const handleClose = () => {
|
|
694
|
+
* if (hasChanges) {
|
|
695
|
+
* setShowDialog(true);
|
|
696
|
+
* } else {
|
|
697
|
+
* // Close form directly
|
|
698
|
+
* onClose();
|
|
699
|
+
* }
|
|
700
|
+
* };
|
|
2215
701
|
*
|
|
2216
702
|
* return (
|
|
2217
|
-
*
|
|
2218
|
-
*
|
|
2219
|
-
*
|
|
2220
|
-
*
|
|
2221
|
-
*
|
|
2222
|
-
*
|
|
2223
|
-
*
|
|
2224
|
-
*
|
|
2225
|
-
*
|
|
2226
|
-
*
|
|
2227
|
-
*
|
|
2228
|
-
*
|
|
2229
|
-
*
|
|
2230
|
-
*
|
|
2231
|
-
* <div key={index} className="relative">
|
|
2232
|
-
* <img src={image.dataURL} alt={`Preview ${index}`} />
|
|
2233
|
-
* <button
|
|
2234
|
-
* onClick={() => onImageRemove(index)}
|
|
2235
|
-
* className="absolute top-0 right-0"
|
|
2236
|
-
* >
|
|
2237
|
-
* ×
|
|
2238
|
-
* </button>
|
|
2239
|
-
* </div>
|
|
2240
|
-
* ))}
|
|
2241
|
-
* </div>
|
|
2242
|
-
* </div>
|
|
2243
|
-
* )}
|
|
2244
|
-
* </ImageInput>
|
|
703
|
+
* <>
|
|
704
|
+
* <form>
|
|
705
|
+
* <button type="button" onClick={handleClose}>Close</button>
|
|
706
|
+
* </form>
|
|
707
|
+
*
|
|
708
|
+
* <ConfirmDismissDialog
|
|
709
|
+
* open={showDialog}
|
|
710
|
+
* onOpenChange={setShowDialog}
|
|
711
|
+
* onConfirm={() => {
|
|
712
|
+
* setShowDialog(false);
|
|
713
|
+
* onClose(); // Actually close the form
|
|
714
|
+
* }}
|
|
715
|
+
* />
|
|
716
|
+
* </>
|
|
2245
717
|
* );
|
|
2246
718
|
* }
|
|
719
|
+
*
|
|
720
|
+
* // Custom dialog for deletion
|
|
721
|
+
* <ConfirmDismissDialog
|
|
722
|
+
* open={showDeleteDialog}
|
|
723
|
+
* onOpenChange={setShowDeleteDialog}
|
|
724
|
+
* title="Delete item?"
|
|
725
|
+
* description="This action cannot be undone. Are you sure you want to delete this item?"
|
|
726
|
+
* confirmText="Delete"
|
|
727
|
+
* cancelText="Keep"
|
|
728
|
+
* onConfirm={handleDelete}
|
|
729
|
+
* />
|
|
2247
730
|
* ```
|
|
2248
731
|
*/
|
|
2249
|
-
declare const
|
|
732
|
+
declare const ConfirmDismissDialog: ({ open, onOpenChange, onConfirm, onCancel, title, description, confirmText, cancelText, maxWidth, }: ConfirmDismissDialogProps) => react_jsx_runtime.JSX.Element;
|
|
2250
733
|
|
|
2251
734
|
/**
|
|
2252
735
|
* Locale option used by the LanguageSwitcher
|
|
@@ -2264,13 +747,13 @@ interface LocaleOption {
|
|
|
2264
747
|
/**
|
|
2265
748
|
* Props for the LanguageSwitcher component (prop-driven)
|
|
2266
749
|
*/
|
|
2267
|
-
interface LanguageSwitcherProps
|
|
750
|
+
interface LanguageSwitcherProps {
|
|
2268
751
|
/** Additional CSS classes */
|
|
2269
752
|
className?: string;
|
|
2270
753
|
/** UI type: standalone dropdown or submenu dropdown */
|
|
2271
754
|
type?: "dropdown" | "sub-dropdown";
|
|
2272
755
|
/** Button variant style (for toggle type) */
|
|
2273
|
-
variant?:
|
|
756
|
+
variant?: ComponentProps<typeof Button>["variant"];
|
|
2274
757
|
/** Button size (for toggle type) */
|
|
2275
758
|
size?: ComponentProps<typeof Button>["size"];
|
|
2276
759
|
/** Whether to show language names */
|
|
@@ -2289,55 +772,10 @@ interface LanguageSwitcherProps extends SharedImage {
|
|
|
2289
772
|
onLocaleChange: (newLocale: string) => void | Promise<void>;
|
|
2290
773
|
/** Custom flags asset url */
|
|
2291
774
|
customFlagUrl?: boolean;
|
|
775
|
+
/** Badge variant style */
|
|
776
|
+
badgeVariant?: ComponentProps<typeof Badge>["variant"];
|
|
2292
777
|
}
|
|
2293
|
-
declare function LanguageSwitcher({ className, type, variant, size, showNames, showFlags, label, i18nEnabled, currentLocale, locales, onLocaleChange, customFlagUrl,
|
|
2294
|
-
|
|
2295
|
-
/**
|
|
2296
|
-
* Logo Component
|
|
2297
|
-
* Displays the application logo as an SVG icon
|
|
2298
|
-
* Supports theming through currentColor and customizable sizing
|
|
2299
|
-
*/
|
|
2300
|
-
/**
|
|
2301
|
-
* Logo Component
|
|
2302
|
-
*
|
|
2303
|
-
* Renders the application's logo as a scalable SVG icon.
|
|
2304
|
-
* The logo uses currentColor for theming and can be customized
|
|
2305
|
-
* with additional CSS classes for size and styling.
|
|
2306
|
-
*
|
|
2307
|
-
* @param props - Component props
|
|
2308
|
-
* @param props.className - Additional CSS classes for styling
|
|
2309
|
-
* @returns JSX element with the application logo
|
|
2310
|
-
*
|
|
2311
|
-
* @example
|
|
2312
|
-
* ```tsx
|
|
2313
|
-
* // Basic logo
|
|
2314
|
-
* <Logo />
|
|
2315
|
-
*
|
|
2316
|
-
* // Custom sized logo
|
|
2317
|
-
* <Logo className="w-12 h-12" />
|
|
2318
|
-
*
|
|
2319
|
-
* // Colored logo
|
|
2320
|
-
* <Logo className="text-blue-600 w-16 h-16" />
|
|
2321
|
-
*
|
|
2322
|
-
* // Logo in navigation
|
|
2323
|
-
* <nav className="flex items-center space-x-4">
|
|
2324
|
-
* <Logo className="w-8 h-8" />
|
|
2325
|
-
* <span className="font-bold">App Name</span>
|
|
2326
|
-
* </nav>
|
|
2327
|
-
*
|
|
2328
|
-
* // Logo in header
|
|
2329
|
-
* <header className="bg-white shadow-sm">
|
|
2330
|
-
* <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
2331
|
-
* <div className="flex justify-between items-center py-6">
|
|
2332
|
-
* <Logo className="w-10 h-10 text-primary" />
|
|
2333
|
-
* </div>
|
|
2334
|
-
* </div>
|
|
2335
|
-
* </header>
|
|
2336
|
-
* ```
|
|
2337
|
-
*/
|
|
2338
|
-
declare function Logo({ className }: {
|
|
2339
|
-
className?: string;
|
|
2340
|
-
}): react_jsx_runtime.JSX.Element;
|
|
778
|
+
declare function LanguageSwitcher({ className, type, variant, size, showNames, showFlags, label, i18nEnabled, currentLocale, locales, onLocaleChange, customFlagUrl, badgeVariant, }: LanguageSwitcherProps): react_jsx_runtime.JSX.Element | null;
|
|
2341
779
|
|
|
2342
780
|
/**
|
|
2343
781
|
* Props interface for the ModeSwitcher component
|
|
@@ -2346,7 +784,7 @@ interface ModeSwitcherProps {
|
|
|
2346
784
|
/** Additional CSS classes for the button */
|
|
2347
785
|
className?: string;
|
|
2348
786
|
/** Button variant style */
|
|
2349
|
-
variant?:
|
|
787
|
+
variant?: React$1.ComponentProps<typeof Button>["variant"];
|
|
2350
788
|
/** Button size */
|
|
2351
789
|
size?: React$1.ComponentProps<typeof Button>["size"];
|
|
2352
790
|
/** Custom cycle order for themes (defaults to system -> light -> dark) */
|
|
@@ -2399,132 +837,82 @@ interface ModeSwitcherProps {
|
|
|
2399
837
|
declare function ModeSwitcher({ className, variant, size, cycleOrder, type, label, }: ModeSwitcherProps): react_jsx_runtime.JSX.Element;
|
|
2400
838
|
|
|
2401
839
|
/**
|
|
2402
|
-
*
|
|
840
|
+
* Screen Loader Component
|
|
841
|
+
* Provides a full-screen loading overlay with spinner and customizable text
|
|
842
|
+
* Perfect for page transitions, data loading, and async operations
|
|
2403
843
|
*/
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
as?: React__default.ElementType;
|
|
844
|
+
/**
|
|
845
|
+
* Props interface for the ScreenLoader component
|
|
846
|
+
*/
|
|
847
|
+
interface ScreenLoaderProps {
|
|
848
|
+
/** Loading text to display below the spinner */
|
|
849
|
+
loadingText?: string;
|
|
2411
850
|
/** Additional CSS classes for the container */
|
|
2412
|
-
containerClassName?: string;
|
|
2413
|
-
/** Additional CSS classes for the border element */
|
|
2414
|
-
borderClassName?: string;
|
|
2415
|
-
/** Animation duration in milliseconds */
|
|
2416
|
-
duration?: number;
|
|
2417
|
-
/** Additional CSS classes for the content area */
|
|
2418
851
|
className?: string;
|
|
2419
|
-
/** Additional
|
|
2420
|
-
|
|
852
|
+
/** Additional CSS classes for the spinner icon */
|
|
853
|
+
spinnerClassName?: string;
|
|
854
|
+
/** Additional CSS classes for the loading text */
|
|
855
|
+
textClassName?: string;
|
|
856
|
+
/** Display loader for content */
|
|
857
|
+
contentLoader?: boolean;
|
|
2421
858
|
}
|
|
2422
859
|
/**
|
|
2423
|
-
*
|
|
860
|
+
* ScreenLoader Component
|
|
2424
861
|
*
|
|
2425
|
-
* A
|
|
2426
|
-
*
|
|
2427
|
-
*
|
|
862
|
+
* A full-screen loading overlay that covers the entire viewport.
|
|
863
|
+
* Features a spinning icon and customizable loading text with
|
|
864
|
+
* smooth fade transitions. Positioned with high z-index to
|
|
865
|
+
* appear above all other content.
|
|
2428
866
|
*
|
|
2429
867
|
* @param props - Component props
|
|
2430
|
-
* @returns JSX element
|
|
868
|
+
* @returns JSX element containing the full-screen loader
|
|
2431
869
|
*
|
|
2432
870
|
* @example
|
|
2433
871
|
* ```tsx
|
|
2434
|
-
* // Basic
|
|
2435
|
-
*
|
|
2436
|
-
*
|
|
2437
|
-
* </MovingLabel>
|
|
2438
|
-
*
|
|
2439
|
-
* // Custom styling and duration
|
|
2440
|
-
* <MovingLabel
|
|
2441
|
-
* borderRadius="0.5rem"
|
|
2442
|
-
* duration={3000}
|
|
2443
|
-
* className="px-6 py-3 text-lg"
|
|
2444
|
-
* borderClassName="bg-gradient-to-r from-blue-500 to-purple-500"
|
|
2445
|
-
* >
|
|
2446
|
-
* Premium Feature
|
|
2447
|
-
* </MovingLabel>
|
|
2448
|
-
*
|
|
2449
|
-
* // As a div instead of button
|
|
2450
|
-
* <MovingLabel
|
|
2451
|
-
* as="div"
|
|
2452
|
-
* containerClassName="w-64 h-32"
|
|
2453
|
-
* className="flex items-center justify-center"
|
|
2454
|
-
* >
|
|
2455
|
-
* <span>Animated Card</span>
|
|
2456
|
-
* </MovingLabel>
|
|
2457
|
-
*
|
|
2458
|
-
* // Custom border effect
|
|
2459
|
-
* <MovingLabel
|
|
2460
|
-
* borderClassName="h-8 w-16 bg-[radial-gradient(#ff6b6b_20%,transparent_70%)]"
|
|
2461
|
-
* duration={1500}
|
|
2462
|
-
* >
|
|
2463
|
-
* Fast Animation
|
|
2464
|
-
* </MovingLabel>
|
|
2465
|
-
* ```
|
|
2466
|
-
*/
|
|
2467
|
-
declare function MovingLabel({ borderRadius, children, as: Component, containerClassName, borderClassName, duration, className, ...otherProps }: MovingLabelProps): react_jsx_runtime.JSX.Element;
|
|
2468
|
-
/**
|
|
2469
|
-
* Props interface for MovingBorder component
|
|
2470
|
-
*/
|
|
2471
|
-
interface MovingBorderProps {
|
|
2472
|
-
/** Child elements to animate along the border path */
|
|
2473
|
-
children: ReactNode;
|
|
2474
|
-
/** Animation duration in milliseconds (default: 2000) */
|
|
2475
|
-
duration?: number;
|
|
2476
|
-
/** Horizontal border radius for the SVG path */
|
|
2477
|
-
rx?: string;
|
|
2478
|
-
/** Vertical border radius for the SVG path */
|
|
2479
|
-
ry?: string;
|
|
2480
|
-
/** Additional props to pass to the SVG element */
|
|
2481
|
-
[key: string]: unknown;
|
|
2482
|
-
}
|
|
2483
|
-
/**
|
|
2484
|
-
* MovingBorder Component
|
|
872
|
+
* // Basic usage
|
|
873
|
+
* function App() {
|
|
874
|
+
* const [isLoading, setIsLoading] = useState(true);
|
|
2485
875
|
*
|
|
2486
|
-
*
|
|
2487
|
-
*
|
|
2488
|
-
*
|
|
876
|
+
* useEffect(() => {
|
|
877
|
+
* // Simulate loading
|
|
878
|
+
* setTimeout(() => setIsLoading(false), 2000);
|
|
879
|
+
* }, []);
|
|
2489
880
|
*
|
|
2490
|
-
*
|
|
2491
|
-
*
|
|
881
|
+
* return (
|
|
882
|
+
* <div>
|
|
883
|
+
* {isLoading && <ScreenLoader />}
|
|
884
|
+
* <main>Your app content</main>
|
|
885
|
+
* </div>
|
|
886
|
+
* );
|
|
887
|
+
* }
|
|
2492
888
|
*
|
|
2493
|
-
*
|
|
2494
|
-
*
|
|
889
|
+
* // Custom loading text
|
|
890
|
+
* <ScreenLoader loadingText="Preparing your dashboard..." />
|
|
2495
891
|
*
|
|
2496
|
-
*
|
|
2497
|
-
*
|
|
2498
|
-
*
|
|
2499
|
-
*
|
|
2500
|
-
*
|
|
2501
|
-
*
|
|
2502
|
-
*
|
|
2503
|
-
* </div>
|
|
892
|
+
* // Custom styling
|
|
893
|
+
* <ScreenLoader
|
|
894
|
+
* loadingText="Please wait"
|
|
895
|
+
* className="bg-black/80 backdrop-blur-sm"
|
|
896
|
+
* spinnerClassName="size-8 animate-spin text-blue-500"
|
|
897
|
+
* textClassName="text-white text-lg font-semibold"
|
|
898
|
+
* />
|
|
2504
899
|
*
|
|
2505
|
-
* //
|
|
2506
|
-
*
|
|
2507
|
-
* <
|
|
2508
|
-
*
|
|
2509
|
-
*
|
|
2510
|
-
*
|
|
2511
|
-
*
|
|
2512
|
-
* </MovingBorder>
|
|
2513
|
-
* </div>
|
|
900
|
+
* // With conditional rendering
|
|
901
|
+
* {isSubmitting && (
|
|
902
|
+
* <ScreenLoader
|
|
903
|
+
* loadingText="Submitting form..."
|
|
904
|
+
* className="bg-white/90"
|
|
905
|
+
* />
|
|
906
|
+
* )}
|
|
2514
907
|
*
|
|
2515
|
-
* //
|
|
2516
|
-
* <
|
|
2517
|
-
*
|
|
2518
|
-
*
|
|
2519
|
-
*
|
|
2520
|
-
* stroke="blue"
|
|
2521
|
-
* strokeWidth="2"
|
|
2522
|
-
* >
|
|
2523
|
-
* <div className="w-6 h-6 bg-gradient-to-r from-purple-500 to-pink-500 rounded" />
|
|
2524
|
-
* </MovingBorder>
|
|
908
|
+
* // Different spinner sizes
|
|
909
|
+
* <ScreenLoader
|
|
910
|
+
* spinnerClassName="size-12 animate-spin text-purple-600"
|
|
911
|
+
* textClassName="text-purple-600 font-bold"
|
|
912
|
+
* />
|
|
2525
913
|
* ```
|
|
2526
914
|
*/
|
|
2527
|
-
declare
|
|
915
|
+
declare function ScreenLoader({ loadingText, className, spinnerClassName, textClassName, contentLoader, }?: ScreenLoaderProps): react_jsx_runtime.JSX.Element;
|
|
2528
916
|
|
|
2529
917
|
/**
|
|
2530
918
|
* Main Toolbar Component
|
|
@@ -2552,7 +940,9 @@ declare const MovingBorder: ({ children, duration, rx, ry, ...otherProps }: Movi
|
|
|
2552
940
|
* </Toolbar>
|
|
2553
941
|
* ```
|
|
2554
942
|
*/
|
|
2555
|
-
declare const Toolbar: ({ children }:
|
|
943
|
+
declare const Toolbar: ({ children }: {
|
|
944
|
+
children: ReactNode;
|
|
945
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
2556
946
|
/**
|
|
2557
947
|
* ToolbarHeading Component
|
|
2558
948
|
*
|
|
@@ -2572,7 +962,10 @@ declare const Toolbar: ({ children }: BaseComponentProps) => react_jsx_runtime.J
|
|
|
2572
962
|
* </ToolbarHeading>
|
|
2573
963
|
* ```
|
|
2574
964
|
*/
|
|
2575
|
-
declare const ToolbarHeading: ({ children, className }:
|
|
965
|
+
declare const ToolbarHeading: ({ children, className, }: {
|
|
966
|
+
children: ReactNode;
|
|
967
|
+
className?: string;
|
|
968
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
2576
969
|
/**
|
|
2577
970
|
* ToolbarTitle Component
|
|
2578
971
|
*
|
|
@@ -2592,7 +985,10 @@ declare const ToolbarHeading: ({ children, className }: BaseComponentProps) => r
|
|
|
2592
985
|
* </ToolbarTitle>
|
|
2593
986
|
* ```
|
|
2594
987
|
*/
|
|
2595
|
-
declare const ToolbarTitle: ({ className,
|
|
988
|
+
declare const ToolbarTitle: ({ children, className, }: {
|
|
989
|
+
children: ReactNode;
|
|
990
|
+
className?: string;
|
|
991
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
2596
992
|
/**
|
|
2597
993
|
* ToolbarActions Component
|
|
2598
994
|
*
|
|
@@ -2630,7 +1026,9 @@ declare const ToolbarTitle: ({ className, children }: BaseComponentProps) => rea
|
|
|
2630
1026
|
* </ToolbarActions>
|
|
2631
1027
|
* ```
|
|
2632
1028
|
*/
|
|
2633
|
-
declare const ToolbarActions: ({ children }:
|
|
1029
|
+
declare const ToolbarActions: ({ children }: {
|
|
1030
|
+
children: ReactNode;
|
|
1031
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
2634
1032
|
|
|
2635
1033
|
/**
|
|
2636
1034
|
* User Avatar Component
|
|
@@ -2741,59 +1139,4 @@ declare function UserAvatar({ className, indicator, src, alt }: UserAvatarProps)
|
|
|
2741
1139
|
*/
|
|
2742
1140
|
declare const getInitials: (name: string | null | undefined, count?: number) => string;
|
|
2743
1141
|
|
|
2744
|
-
|
|
2745
|
-
* Satoshi Font Utilities
|
|
2746
|
-
* Provides Satoshi font loading and CSS generation utilities
|
|
2747
|
-
* Loads the variable font from Pelatform CDN with optimal display settings
|
|
2748
|
-
*/
|
|
2749
|
-
/**
|
|
2750
|
-
* Satoshi font (local, variable), loaded from Pelatform CDN
|
|
2751
|
-
* Use for branding, headings, or special UI elements.
|
|
2752
|
-
* Supports weights 300–900, normal style, swap display.
|
|
2753
|
-
*/
|
|
2754
|
-
declare const satoshiFontUrl = "https://assets.pelatform.com/fonts/satoshi/Satoshi-Variable.woff2";
|
|
2755
|
-
/**
|
|
2756
|
-
* CSS font-face declaration for Satoshi font
|
|
2757
|
-
* Defines the font family with variable weight support and optimal loading
|
|
2758
|
-
*/
|
|
2759
|
-
declare const cssFontFace = "\n @font-face {\n font-family: 'Satoshi';\n src: url('https://assets.pelatform.com/fonts/satoshi/Satoshi-Variable.woff2') format('woff2');\n font-weight: 300 900;\n font-style: normal;\n font-display: swap;\n }\n";
|
|
2760
|
-
/**
|
|
2761
|
-
* SatoshiFontCSS Component
|
|
2762
|
-
*
|
|
2763
|
-
* Injects the Satoshi font CSS into the document head.
|
|
2764
|
-
* Use this component in your app layout to load the Satoshi font.
|
|
2765
|
-
*
|
|
2766
|
-
* @returns JSX element containing the font CSS styles
|
|
2767
|
-
*
|
|
2768
|
-
* @example
|
|
2769
|
-
* ```tsx
|
|
2770
|
-
* // In your layout or app component
|
|
2771
|
-
* function Layout({ children }: { children: React.ReactNode }) {
|
|
2772
|
-
* return (
|
|
2773
|
-
* <html>
|
|
2774
|
-
* <head>
|
|
2775
|
-
* <SatoshiFontCSS />
|
|
2776
|
-
* </head>
|
|
2777
|
-
* <body className="font-satoshi">
|
|
2778
|
-
* {children}
|
|
2779
|
-
* </body>
|
|
2780
|
-
* </html>
|
|
2781
|
-
* );
|
|
2782
|
-
* }
|
|
2783
|
-
*
|
|
2784
|
-
* // Or use in a specific component
|
|
2785
|
-
* function BrandedSection() {
|
|
2786
|
-
* return (
|
|
2787
|
-
* <>
|
|
2788
|
-
* <SatoshiFontCSS />
|
|
2789
|
-
* <h1 style={{ fontFamily: 'Satoshi' }}>
|
|
2790
|
-
* Branded Heading
|
|
2791
|
-
* </h1>
|
|
2792
|
-
* </>
|
|
2793
|
-
* );
|
|
2794
|
-
* }
|
|
2795
|
-
* ```
|
|
2796
|
-
*/
|
|
2797
|
-
declare function SatoshiFontCSS(): react_jsx_runtime.JSX.Element;
|
|
2798
|
-
|
|
2799
|
-
export { AlertComingsoon, AlertNotification, AlertToast, type AlertToastOptions, Announcement, AnnouncementTag, AnnouncementTitle, BackLink, BackgroundPaths, Body, Book, CodeDisplay, ComingSoon, type ComingSoonProps, CommandMenu, type CommandMenuProps, ConfirmDismissDialog, type ConfirmDismissDialogProps, DEFAULT_DATA_URL_KEY, DEFAULT_NULL_INDEX, DefaultImage, DefaultLink, DefaultNavigate, DotsPattern, DownloadFile, ErrorComponents, type ErrorComponentsProps, ExtraLink, FloatingPaths, Grid, GridBackground, HexagonBadge, ImageInput, type ImageInputFile, type ImageInputFiles, type ImageInputProps, LanguageSwitcher, type LanguageSwitcherProps, LayoutAuth, LayoutBlank, type LayoutBlankProps, type LocaleOption, Logo, MainNav, MaxWidthWrapper, MobileNav, MobileNavItemRenderer, ModeSwitcher, type ModeSwitcherProps, MovingBorder, MovingLabel, type NavItem, type NavigationProps, QueryProvider, SatoshiFontCSS, ScreenLoader, type ScreenLoaderProps, Section, type SharedImage, type SharedLink, type SharedNavigate, SiteFooter, SiteHeader, Stack, ThemeProvider, Toolbar, ToolbarActions, ToolbarHeading, ToolbarTitle, UserAvatar, Video, Wrapper, Youtube, cssFontFace, getAcceptTypeString, getBase64, getImage, getInitials, getListFiles, openFileDialog, satoshiFontUrl };
|
|
1142
|
+
export { AlertComingsoon, AlertNotification, AlertToast, type AlertToastOptions, ComingSoon, type ComingSoonProps, ConfirmDismissDialog, type ConfirmDismissDialogProps, Icons, LanguageSwitcher, type LanguageSwitcherProps, type LocaleOption, Logo, MainNav, MobileNav, MobileNavItemRenderer, ModeSwitcher, type ModeSwitcherProps, type NavItem, type NavigationProps, QueryProvider, ScreenLoader, type ScreenLoaderProps, SiteFooter, SiteHeader, ThemeProvider, Toolbar, ToolbarActions, ToolbarHeading, ToolbarTitle, UserAvatar, getInitials };
|