@ezychat/web 0.0.0-stage → 0.1.39
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/dist-lib/assets/font-1be3448e292f.woff2 +0 -0
- package/dist-lib/assets/font-3100e775e861.woff2 +0 -0
- package/dist-lib/assets/font-34b9c504cab7.woff2 +0 -0
- package/dist-lib/assets/font-5c66f9e07e90.woff2 +0 -0
- package/dist-lib/assets/font-6e9e020a25f9.woff2 +0 -0
- package/dist-lib/assets/font-71d5ee93cc1e.woff2 +0 -0
- package/dist-lib/assets/font-ca157063339a.woff2 +0 -0
- package/dist-lib/chunks/admin-BPgvUcQO.js +602 -0
- package/dist-lib/chunks/admin-B_hIZ1Sp.js +603 -0
- package/dist-lib/chunks/app-C2A7ZZsu.js +97 -0
- package/dist-lib/chunks/app-RX8Fy2Oz.js +97 -0
- package/dist-lib/chunks/auth-Cif_yktU.js +127 -0
- package/dist-lib/chunks/auth-DJBQd10l.js +127 -0
- package/dist-lib/chunks/common-BwLWsyiW.js +80 -0
- package/dist-lib/chunks/common-CDytP7HK.js +80 -0
- package/dist-lib/chunks/errors-BIyy5VTn.js +39 -0
- package/dist-lib/chunks/errors-CEweqDjm.js +39 -0
- package/dist-lib/chunks/inbox-IiNeuwOm.js +487 -0
- package/dist-lib/chunks/inbox-VvClcCZP.js +487 -0
- package/dist-lib/chunks/registerSW-Gn8zt2XY.js +16 -0
- package/dist-lib/ezychat-web.css +2 -0
- package/dist-lib/index.js +16732 -0
- package/dist-lib/public/apple-touch-icon.png +0 -0
- package/dist-lib/public/brand/ezychat-logo.png +0 -0
- package/dist-lib/public/favicon.ico +0 -0
- package/dist-lib/public/icon-192.png +0 -0
- package/dist-lib/public/icon-512.png +0 -0
- package/dist-lib/public/icon-maskable-512.png +0 -0
- package/dist-lib/public/illustrations/empty-inbox.png +0 -0
- package/dist-lib/public/illustrations/link-whatsapp.png +0 -0
- package/dist-lib/public/illustrations/no-results.png +0 -0
- package/dist-lib/public/illustrations/tunnel.png +0 -0
- package/dist-lib/public/illustrations/welcome.png +0 -0
- package/dist-lib/public/share-app.svg +16 -0
- package/dist-lib/sw.ts +71 -0
- package/dist-lib/types/App.d.ts +2 -0
- package/dist-lib/types/access/AccessGate.d.ts +24 -0
- package/dist-lib/types/access/BannerSlot.d.ts +35 -0
- package/dist-lib/types/access/events.d.ts +16 -0
- package/dist-lib/types/admin/AdminLayout.d.ts +36 -0
- package/dist-lib/types/admin/AiConnectionBanner.d.ts +7 -0
- package/dist-lib/types/admin/AiConnectionSection.d.ts +3 -0
- package/dist-lib/types/admin/AiContextPanel.d.ts +11 -0
- package/dist-lib/types/admin/AiEditDialog.d.ts +13 -0
- package/dist-lib/types/admin/AiMemberPage.d.ts +1 -0
- package/dist-lib/types/admin/AiQuickConnect.d.ts +22 -0
- package/dist-lib/types/admin/AiTryIt.d.ts +8 -0
- package/dist-lib/types/admin/AiVoiceSection.d.ts +2 -0
- package/dist-lib/types/admin/AuditPage.d.ts +1 -0
- package/dist-lib/types/admin/CloudflareSetup.d.ts +5 -0
- package/dist-lib/types/admin/CreateTokenDialog.d.ts +13 -0
- package/dist-lib/types/admin/CustomerEnrichmentSection.d.ts +1 -0
- package/dist-lib/types/admin/EnrichmentAuditScore.d.ts +4 -0
- package/dist-lib/types/admin/IntegrationsSection.d.ts +7 -0
- package/dist-lib/types/admin/MembersPage.d.ts +2 -0
- package/dist-lib/types/admin/QuickRepliesPage.d.ts +2 -0
- package/dist-lib/types/admin/ResolveAllChatsCard.d.ts +1 -0
- package/dist-lib/types/admin/SettingsPage.d.ts +2 -0
- package/dist-lib/types/admin/TokenConnectSteps.d.ts +12 -0
- package/dist-lib/types/admin/TunnelPage.d.ts +1 -0
- package/dist-lib/types/admin/WhatsAppPage.d.ts +11 -0
- package/dist-lib/types/admin/adminUi.d.ts +62 -0
- package/dist-lib/types/admin/ai-status.d.ts +12 -0
- package/dist-lib/types/admin/audit-actions.d.ts +10 -0
- package/dist-lib/types/admin/line-diff.d.ts +26 -0
- package/dist-lib/types/admin/use-chatgpt-sign-in.d.ts +14 -0
- package/dist-lib/types/api/ai.d.ts +174 -0
- package/dist-lib/types/api/client.d.ts +22 -0
- package/dist-lib/types/api/enrichment.d.ts +8 -0
- package/dist-lib/types/api/queries.d.ts +664 -0
- package/dist-lib/types/api/resume-reconnect.d.ts +15 -0
- package/dist-lib/types/api/socket.d.ts +19 -0
- package/dist-lib/types/api/voice.d.ts +33 -0
- package/dist-lib/types/auth/AuthProvider.d.ts +15 -0
- package/dist-lib/types/auth/AuthShell.d.ts +28 -0
- package/dist-lib/types/auth/ChangePasswordPage.d.ts +2 -0
- package/dist-lib/types/auth/LoginPage.d.ts +2 -0
- package/dist-lib/types/auth/RequireAuth.d.ts +12 -0
- package/dist-lib/types/auth/UserMenu.d.ts +5 -0
- package/dist-lib/types/components/app/AboutDialog.d.ts +7 -0
- package/dist-lib/types/components/app/AppCredits.d.ts +8 -0
- package/dist-lib/types/components/app/DesktopUpdates.d.ts +3 -0
- package/dist-lib/types/components/app/DevBuildBadge.d.ts +5 -0
- package/dist-lib/types/components/app/ErrorBoundary.d.ts +23 -0
- package/dist-lib/types/components/app/FeatureRequestAction.d.ts +7 -0
- package/dist-lib/types/components/app/SearchField.d.ts +7 -0
- package/dist-lib/types/components/app/SegmentedControl.d.ts +19 -0
- package/dist-lib/types/components/app/ShareAppAction.d.ts +5 -0
- package/dist-lib/types/components/app/index.d.ts +81 -0
- package/dist-lib/types/components/ui/alert-dialog.d.ts +18 -0
- package/dist-lib/types/components/ui/avatar.d.ts +11 -0
- package/dist-lib/types/components/ui/badge.d.ts +9 -0
- package/dist-lib/types/components/ui/button.d.ts +10 -0
- package/dist-lib/types/components/ui/card.d.ts +9 -0
- package/dist-lib/types/components/ui/checkbox.d.ts +4 -0
- package/dist-lib/types/components/ui/command.d.ts +18 -0
- package/dist-lib/types/components/ui/dialog.d.ts +17 -0
- package/dist-lib/types/components/ui/drawer.d.ts +13 -0
- package/dist-lib/types/components/ui/dropdown-menu.d.ts +25 -0
- package/dist-lib/types/components/ui/input.d.ts +3 -0
- package/dist-lib/types/components/ui/label.d.ts +4 -0
- package/dist-lib/types/components/ui/popover.d.ts +10 -0
- package/dist-lib/types/components/ui/progress.d.ts +4 -0
- package/dist-lib/types/components/ui/radio-group.d.ts +5 -0
- package/dist-lib/types/components/ui/scroll-area.d.ts +5 -0
- package/dist-lib/types/components/ui/select.d.ts +15 -0
- package/dist-lib/types/components/ui/separator.d.ts +4 -0
- package/dist-lib/types/components/ui/sheet.d.ts +14 -0
- package/dist-lib/types/components/ui/skeleton.d.ts +2 -0
- package/dist-lib/types/components/ui/sonner.d.ts +4 -0
- package/dist-lib/types/components/ui/switch.d.ts +6 -0
- package/dist-lib/types/components/ui/table.d.ts +10 -0
- package/dist-lib/types/components/ui/tabs.d.ts +11 -0
- package/dist-lib/types/components/ui/textarea.d.ts +3 -0
- package/dist-lib/types/components/ui/tooltip.d.ts +7 -0
- package/dist-lib/types/create-app.d.ts +20 -0
- package/dist-lib/types/extensions/context.d.ts +8 -0
- package/dist-lib/types/extensions/i18n.d.ts +15 -0
- package/dist-lib/types/extensions/index.d.ts +4 -0
- package/dist-lib/types/extensions/routes.d.ts +12 -0
- package/dist-lib/types/extensions/types.d.ts +116 -0
- package/dist-lib/types/i18n/LanguageSelect.d.ts +4 -0
- package/dist-lib/types/i18n/LocaleSync.d.ts +2 -0
- package/dist-lib/types/i18n/date-locale.d.ts +5 -0
- package/dist-lib/types/i18n/index.d.ts +17 -0
- package/dist-lib/types/i18n/locale-store.d.ts +26 -0
- package/dist-lib/types/i18n/resources.d.ts +1711 -0
- package/dist-lib/types/i18n/use-change-locale.d.ts +9 -0
- package/dist-lib/types/inbox/ChatAvatar.d.ts +13 -0
- package/dist-lib/types/inbox/ChatFilters.d.ts +6 -0
- package/dist-lib/types/inbox/ChatList.d.ts +9 -0
- package/dist-lib/types/inbox/ChatListItem.d.ts +13 -0
- package/dist-lib/types/inbox/Composer.d.ts +30 -0
- package/dist-lib/types/inbox/Conversation.d.ts +7 -0
- package/dist-lib/types/inbox/ConversationHeader.d.ts +25 -0
- package/dist-lib/types/inbox/CustomerPanel.d.ts +32 -0
- package/dist-lib/types/inbox/EmojiPicker.d.ts +6 -0
- package/dist-lib/types/inbox/EventItem.d.ts +14 -0
- package/dist-lib/types/inbox/GettingStartedCard.d.ts +10 -0
- package/dist-lib/types/inbox/GroupPanel.d.ts +19 -0
- package/dist-lib/types/inbox/InboxPage.d.ts +2 -0
- package/dist-lib/types/inbox/MediaView.d.ts +8 -0
- package/dist-lib/types/inbox/MessageBubble.d.ts +31 -0
- package/dist-lib/types/inbox/MessageList.d.ts +21 -0
- package/dist-lib/types/inbox/NotesPanel.d.ts +15 -0
- package/dist-lib/types/inbox/PanelHeader.d.ts +13 -0
- package/dist-lib/types/inbox/ProfileImageContext.d.ts +5 -0
- package/dist-lib/types/inbox/QuickReplyPicker.d.ts +18 -0
- package/dist-lib/types/inbox/ReconnectBanner.d.ts +8 -0
- package/dist-lib/types/inbox/TagInput.d.ts +14 -0
- package/dist-lib/types/inbox/TypingIndicator.d.ts +6 -0
- package/dist-lib/types/inbox/VoiceNote.d.ts +36 -0
- package/dist-lib/types/inbox/WaBanner.d.ts +9 -0
- package/dist-lib/types/inbox/chat-title.d.ts +4 -0
- package/dist-lib/types/inbox/navigation-guard.d.ts +17 -0
- package/dist-lib/types/inbox/timeline.d.ts +26 -0
- package/dist-lib/types/inbox/useCanonicalChatRedirect.d.ts +2 -0
- package/dist-lib/types/inbox/useDirectory.d.ts +21 -0
- package/dist-lib/types/inbox/useSwipeReply.d.ts +11 -0
- package/dist-lib/types/index.d.ts +43 -0
- package/dist-lib/types/lib/ai-handoff.d.ts +4 -0
- package/dist-lib/types/lib/app-links.d.ts +9 -0
- package/dist-lib/types/lib/desktop-updates.d.ts +15 -0
- package/dist-lib/types/lib/error-reporter.d.ts +6 -0
- package/dist-lib/types/lib/format.d.ts +20 -0
- package/dist-lib/types/lib/jid.d.ts +15 -0
- package/dist-lib/types/lib/links.d.ts +40 -0
- package/dist-lib/types/lib/share-app.d.ts +18 -0
- package/dist-lib/types/lib/theme.d.ts +29 -0
- package/dist-lib/types/lib/use-media-query.d.ts +2 -0
- package/dist-lib/types/lib/utils.d.ts +2 -0
- package/dist-lib/types/lib/version.d.ts +12 -0
- package/dist-lib/types/lib/voice-recorder.d.ts +26 -0
- package/dist-lib/types/pwa/InstallHint.d.ts +9 -0
- package/dist-lib/types/pwa/PushToggle.d.ts +20 -0
- package/dist-lib/types/pwa/desktop-notifications.d.ts +18 -0
- package/dist-lib/types/pwa/push.d.ts +13 -0
- package/dist-lib/types/setup/AiAssistantStep.d.ts +9 -0
- package/dist-lib/types/setup/SetupWizard.d.ts +3 -0
- package/dist-lib/types/setup/WaLinkStep.d.ts +8 -0
- package/dist-lib/types/setup/agent-name.d.ts +8 -0
- package/dist-lib/types/setup/connected-label.d.ts +7 -0
- package/dist-lib/types/setup/username.d.ts +9 -0
- package/dist-lib/types/wa/PhoneLink.d.ts +4 -0
- package/package.json +81 -4
- package/README.md +0 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface TypingEntry {
|
|
3
|
+
userId: number;
|
|
4
|
+
displayName: string;
|
|
5
|
+
at: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RealtimeValue {
|
|
8
|
+
connected: boolean;
|
|
9
|
+
typing: Record<string, TypingEntry[]>;
|
|
10
|
+
emitTyping(jid: string): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function useRealtime(): RealtimeValue;
|
|
13
|
+
/**
|
|
14
|
+
* Opens one Socket.IO connection while a (fully set-up) user is logged in and mirrors
|
|
15
|
+
* server events into the TanStack Query cache.
|
|
16
|
+
*/
|
|
17
|
+
export declare const RealtimeProvider: React.FC<{
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type VoiceTranscription } from '@ezychat/shared';
|
|
2
|
+
export declare const voiceStatusKey: readonly ["ai-voice"];
|
|
3
|
+
/** Settings → AI → Voice messages. Socket `voice:status` updates it live; polling is a fallback. */
|
|
4
|
+
export declare function useVoiceStatus(): import("@tanstack/react-query").UseQueryResult<{
|
|
5
|
+
transcription: "off" | "local" | "cloud";
|
|
6
|
+
model: {
|
|
7
|
+
state: "error" | "not_installed" | "downloading" | "installed";
|
|
8
|
+
receivedBytes: number;
|
|
9
|
+
totalBytes: number;
|
|
10
|
+
error: "network" | "unknown" | "disk_space" | "verification" | "redirect" | "write" | null;
|
|
11
|
+
};
|
|
12
|
+
cloudAvailable: boolean;
|
|
13
|
+
}, Error>;
|
|
14
|
+
export type VoiceAction = {
|
|
15
|
+
kind: 'set';
|
|
16
|
+
transcription: VoiceTranscription;
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'download';
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'cancel';
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'remove';
|
|
23
|
+
};
|
|
24
|
+
export declare function useVoiceAction(): import("@tanstack/react-query").UseMutationResult<{
|
|
25
|
+
transcription: "off" | "local" | "cloud";
|
|
26
|
+
model: {
|
|
27
|
+
state: "error" | "not_installed" | "downloading" | "installed";
|
|
28
|
+
receivedBytes: number;
|
|
29
|
+
totalBytes: number;
|
|
30
|
+
error: "network" | "unknown" | "disk_space" | "verification" | "redirect" | "write" | null;
|
|
31
|
+
};
|
|
32
|
+
cloudAvailable: boolean;
|
|
33
|
+
}, Error, VoiceAction, unknown>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { User } from '@ezychat/shared';
|
|
3
|
+
export interface AuthValue {
|
|
4
|
+
user: User | null;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isAdmin: boolean;
|
|
7
|
+
/** Error loading /api/me other than 401 (e.g. server unreachable). */
|
|
8
|
+
error: Error | null;
|
|
9
|
+
logout(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function AuthProvider({ children }: {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}): React.JSX.Element;
|
|
14
|
+
/** Auth state. Works without an AuthProvider too (falls back to the `me` query directly). */
|
|
15
|
+
export declare function useAuth(): AuthValue;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** Official EzyChat brand mark, shared by desktop and installed PWA. */
|
|
3
|
+
export declare function AppMark({ className }: {
|
|
4
|
+
className?: string;
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
/** Centered, safe-area aware Card layout for login / setup / password screens. */
|
|
7
|
+
export declare function AuthShell({ title, subtitle, children, wide, illustration, languageSelect, }: {
|
|
8
|
+
title: React.ReactNode;
|
|
9
|
+
subtitle?: React.ReactNode;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
wide?: boolean;
|
|
12
|
+
/** Optional decorative illustration shown above the title. */
|
|
13
|
+
illustration?: string;
|
|
14
|
+
/** Show the language menu (it needs the signed-in user's context; the lock screen has none). */
|
|
15
|
+
languageSelect?: boolean;
|
|
16
|
+
}): React.JSX.Element;
|
|
17
|
+
/** Label + Input + hint/error, wired with ids for accessibility. 16px text, 44px tall. */
|
|
18
|
+
export declare function Field({ label, hint, error, className, id: idProp, ...props }: React.ComponentProps<'input'> & {
|
|
19
|
+
label: string;
|
|
20
|
+
hint?: React.ReactNode;
|
|
21
|
+
error?: React.ReactNode;
|
|
22
|
+
}): React.JSX.Element;
|
|
23
|
+
/** Spinner icon used inside busy Buttons. */
|
|
24
|
+
export declare function ButtonSpinner(): React.JSX.Element;
|
|
25
|
+
/** Full-viewport loading state while auth/setup status resolves. */
|
|
26
|
+
export declare function FullPageLoader({ label }: {
|
|
27
|
+
label?: string;
|
|
28
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface RequireAuthProps {
|
|
3
|
+
/** Only admins may pass; agents are sent to `/`. */
|
|
4
|
+
admin?: boolean;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Route guard implementing the boot logic:
|
|
9
|
+
* needsSetup → /setup; no user → /login; mustChangePassword → /change-password.
|
|
10
|
+
* Renders `children` or an `<Outlet />`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function RequireAuth({ admin, children }: RequireAuthProps): React.JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** "About <product>": icon, name, description, version, repo (or website) link and credits. */
|
|
2
|
+
export declare function AboutDialog({ open, onOpenChange, version, }: {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onOpenChange: (open: boolean) => void;
|
|
5
|
+
version?: string;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
export default AboutDialog;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** Muted attribution and support, with a stacked layout for narrow admin sidebars. */
|
|
3
|
+
export declare function AppCredits({ version, className, variant, }: {
|
|
4
|
+
version?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
variant?: 'inline' | 'sidebar';
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
export default AppCredits;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marks a dev or test server (`--mode dev`) on every screen and in the tab title, so a local test
|
|
3
|
+
* instance is never mistaken for the real inbox. Renders nothing for production servers.
|
|
4
|
+
*/
|
|
5
|
+
export declare function DevBuildBadge(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, type ErrorInfo, type ReactNode } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
/** Changing this (e.g. the route path) clears the error so navigating away recovers. */
|
|
5
|
+
resetKey?: string;
|
|
6
|
+
/** Rendered instead of the error panel (null hides the crashed part, e.g. a nav badge). */
|
|
7
|
+
fallback?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
interface State {
|
|
10
|
+
error: Error | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Catches render crashes: shows an error panel instead of a blank screen and reports the error (with the
|
|
14
|
+
* React component stack) to the server log via /api/client-errors.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ErrorBoundary extends Component<Props, State> {
|
|
17
|
+
state: State;
|
|
18
|
+
static getDerivedStateFromError(error: Error): State;
|
|
19
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
20
|
+
componentDidUpdate(prev: Props): void;
|
|
21
|
+
render(): ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opens the feedback form on ezychat.ai in the app's language, with the app version filled in.
|
|
3
|
+
* No GitHub account needed; nothing is sent until the user submits the form.
|
|
4
|
+
*/
|
|
5
|
+
export declare function FeatureRequestAction({ placement }: {
|
|
6
|
+
placement?: 'button' | 'menu';
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Labelled search with an explicit, keyboard-accessible reset. */
|
|
2
|
+
export declare function SearchField({ value, onChange, label, placeholder, }: {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange(value: string): void;
|
|
5
|
+
label: string;
|
|
6
|
+
placeholder: string;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface SegmentedOption<V extends string = string> {
|
|
2
|
+
value: V;
|
|
3
|
+
label: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* One row of joined options (a compact radio group). Keyboard and screen-reader behaviour comes
|
|
7
|
+
* from the RadioGroup primitive: arrow keys move the selection, the group is named by
|
|
8
|
+
* `aria-labelledby`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function SegmentedControl<V extends string>({ value, onValueChange, options, className, size, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, }: {
|
|
11
|
+
value: V;
|
|
12
|
+
onValueChange: (value: V) => void;
|
|
13
|
+
options: readonly SegmentedOption<V>[];
|
|
14
|
+
className?: string;
|
|
15
|
+
/** `sm` for tight spaces such as menus */
|
|
16
|
+
size?: 'default' | 'sm';
|
|
17
|
+
'aria-labelledby'?: string;
|
|
18
|
+
'aria-describedby'?: string;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare function EmptyState({ illustration, title, description, action, className, }: {
|
|
3
|
+
illustration?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
action?: React.ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
export type StatusTone = 'success' | 'warning' | 'danger' | 'info' | 'muted';
|
|
10
|
+
export declare function StatusDot({ tone, label, pulse, className, }: {
|
|
11
|
+
tone: StatusTone;
|
|
12
|
+
label?: React.ReactNode;
|
|
13
|
+
pulse?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
/** Maps WhatsApp / tunnel states to a tone so every screen colours them the same way. */
|
|
17
|
+
export declare function stateTone(state: string): StatusTone;
|
|
18
|
+
declare const BANNER_TONE: {
|
|
19
|
+
readonly info: {
|
|
20
|
+
readonly cls: "border-info/30 bg-info/10 text-foreground";
|
|
21
|
+
readonly Icon: import("lucide-react").LucideIcon;
|
|
22
|
+
readonly icon: "text-info";
|
|
23
|
+
};
|
|
24
|
+
readonly warning: {
|
|
25
|
+
readonly cls: "border-warning/40 bg-warning/10 text-foreground";
|
|
26
|
+
readonly Icon: import("lucide-react").LucideIcon;
|
|
27
|
+
readonly icon: "text-warning";
|
|
28
|
+
};
|
|
29
|
+
readonly danger: {
|
|
30
|
+
readonly cls: "border-danger/30 bg-danger/10 text-foreground";
|
|
31
|
+
readonly Icon: import("lucide-react").LucideIcon;
|
|
32
|
+
readonly icon: "text-danger";
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare function Banner({ tone, title, children, action, className, }: {
|
|
36
|
+
tone?: keyof typeof BANNER_TONE;
|
|
37
|
+
title?: React.ReactNode;
|
|
38
|
+
children?: React.ReactNode;
|
|
39
|
+
action?: React.ReactNode;
|
|
40
|
+
className?: string;
|
|
41
|
+
}): React.JSX.Element;
|
|
42
|
+
export declare function ResponsiveDialog({ open, onOpenChange, title, description, children, footer, size, }: {
|
|
43
|
+
open: boolean;
|
|
44
|
+
onOpenChange: (open: boolean) => void;
|
|
45
|
+
title: React.ReactNode;
|
|
46
|
+
description?: React.ReactNode;
|
|
47
|
+
children?: React.ReactNode;
|
|
48
|
+
footer?: React.ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* `wide` gives long-form editing (documents, previews) room on desktop; `medium` suits side-by-side
|
|
51
|
+
* text such as a before/after review. Phones always use the drawer.
|
|
52
|
+
*/
|
|
53
|
+
size?: 'default' | 'medium' | 'wide';
|
|
54
|
+
}): React.JSX.Element;
|
|
55
|
+
export { AppCredits } from './AppCredits';
|
|
56
|
+
export { AboutDialog } from './AboutDialog';
|
|
57
|
+
export { SegmentedControl, type SegmentedOption } from './SegmentedControl';
|
|
58
|
+
export declare function PageHeader({ title, description, actions, className, }: {
|
|
59
|
+
title: React.ReactNode;
|
|
60
|
+
description?: React.ReactNode;
|
|
61
|
+
actions?: React.ReactNode;
|
|
62
|
+
className?: string;
|
|
63
|
+
}): React.JSX.Element;
|
|
64
|
+
export interface Column<T> {
|
|
65
|
+
key: string;
|
|
66
|
+
header: React.ReactNode;
|
|
67
|
+
cell: (row: T) => React.ReactNode;
|
|
68
|
+
/** Hide this column in the stacked mobile card (e.g. redundant with the title). */
|
|
69
|
+
hideOnMobile?: boolean;
|
|
70
|
+
/** Hide this column in one row's mobile card, e.g. when that row has nothing to show. */
|
|
71
|
+
hideOnMobileFor?: (row: T) => boolean;
|
|
72
|
+
className?: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function ResponsiveTable<T>({ rows, columns, rowKey, empty, renderMobileRow, }: {
|
|
75
|
+
rows: T[];
|
|
76
|
+
columns: Column<T>[];
|
|
77
|
+
rowKey: (row: T) => string | number;
|
|
78
|
+
empty?: React.ReactNode;
|
|
79
|
+
/** A compact feature-specific card; desktop columns stay unchanged. */
|
|
80
|
+
renderMobileRow?: (row: T) => React.ReactNode;
|
|
81
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AlertDialog as AlertDialogPrimitive } from 'radix-ui';
|
|
3
|
+
import { Button } from './button';
|
|
4
|
+
declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>): React.JSX.Element;
|
|
5
|
+
declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
+
declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): React.JSX.Element;
|
|
7
|
+
declare function AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>): React.JSX.Element;
|
|
8
|
+
declare function AlertDialogContent({ className, size, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {
|
|
9
|
+
size?: 'default' | 'sm';
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
12
|
+
declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
13
|
+
declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): React.JSX.Element;
|
|
14
|
+
declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): React.JSX.Element;
|
|
15
|
+
declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
16
|
+
declare function AlertDialogAction({ className, variant, size, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Action> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>): React.JSX.Element;
|
|
17
|
+
declare function AlertDialogCancel({ className, variant, size, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>): React.JSX.Element;
|
|
18
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Avatar as AvatarPrimitive } from "radix-ui";
|
|
3
|
+
declare function Avatar({ className, size, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root> & {
|
|
4
|
+
size?: "default" | "sm" | "lg";
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): React.JSX.Element;
|
|
7
|
+
declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): React.JSX.Element;
|
|
8
|
+
declare function AvatarBadge({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
9
|
+
declare function AvatarGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
10
|
+
declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
11
|
+
export { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount, };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const badgeVariants: (props?: ({
|
|
4
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
|
|
7
|
+
asChild?: boolean;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
export { Badge, badgeVariants };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
+
size?: "default" | "xs" | "sm" | "lg" | "icon" | "touch" | "icon-touch" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
}): React.JSX.Element;
|
|
10
|
+
export { Button, buttonVariants };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare function Card({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
3
|
+
declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
4
|
+
declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
5
|
+
declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
6
|
+
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
7
|
+
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
|
+
declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
9
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Command as CommandPrimitive } from "cmdk";
|
|
3
|
+
import { Dialog } from "./dialog";
|
|
4
|
+
declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): React.JSX.Element;
|
|
5
|
+
declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
declare function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): React.JSX.Element;
|
|
12
|
+
declare function CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>): React.JSX.Element;
|
|
13
|
+
declare function CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>): React.JSX.Element;
|
|
14
|
+
declare function CommandGroup({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Group>): React.JSX.Element;
|
|
15
|
+
declare function CommandSeparator({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator>): React.JSX.Element;
|
|
16
|
+
declare function CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>): React.JSX.Element;
|
|
17
|
+
declare function CommandShortcut({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
18
|
+
export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Dialog as DialogPrimitive } from 'radix-ui';
|
|
3
|
+
declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
|
|
6
|
+
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
|
|
7
|
+
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
|
|
8
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
declare function DialogHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
12
|
+
declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<'div'> & {
|
|
13
|
+
showCloseButton?: boolean;
|
|
14
|
+
}): React.JSX.Element;
|
|
15
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): React.JSX.Element;
|
|
16
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): React.JSX.Element;
|
|
17
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Drawer as DrawerPrimitive } from 'vaul';
|
|
3
|
+
declare function Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>): React.JSX.Element;
|
|
6
|
+
declare function DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>): React.JSX.Element;
|
|
7
|
+
declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>): React.JSX.Element;
|
|
8
|
+
declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>): React.JSX.Element;
|
|
9
|
+
declare function DrawerHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
10
|
+
declare function DrawerFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
11
|
+
declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>): React.JSX.Element;
|
|
12
|
+
declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>): React.JSX.Element;
|
|
13
|
+
export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
|
|
3
|
+
declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
|
|
5
|
+
declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
+
declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
|
|
7
|
+
declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
|
|
8
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
9
|
+
inset?: boolean;
|
|
10
|
+
variant?: "default" | "destructive";
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): React.JSX.Element;
|
|
13
|
+
declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
|
|
14
|
+
declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): React.JSX.Element;
|
|
15
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
|
|
16
|
+
inset?: boolean;
|
|
17
|
+
}): React.JSX.Element;
|
|
18
|
+
declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
|
|
19
|
+
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
20
|
+
declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
|
|
21
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
22
|
+
inset?: boolean;
|
|
23
|
+
}): React.JSX.Element;
|
|
24
|
+
declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
|
|
25
|
+
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
3
|
+
declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
|
|
6
|
+
declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
|
|
7
|
+
declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
|
+
declare function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
|
|
9
|
+
declare function PopoverDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
10
|
+
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverHeader, PopoverTitle, PopoverDescription, };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
|
|
3
|
+
declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): React.JSX.Element;
|
|
5
|
+
export { RadioGroup, RadioGroupItem };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
|
|
3
|
+
declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): React.JSX.Element;
|
|
5
|
+
export { ScrollArea, ScrollBar };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Select as SelectPrimitive } from "radix-ui";
|
|
3
|
+
declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
|
|
5
|
+
declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
|
|
6
|
+
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
7
|
+
size?: "sm" | "default";
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
|
|
10
|
+
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
|
|
11
|
+
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
|
|
12
|
+
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
|
|
13
|
+
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): React.JSX.Element;
|
|
14
|
+
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): React.JSX.Element;
|
|
15
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Dialog as SheetPrimitive } from 'radix-ui';
|
|
3
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): React.JSX.Element;
|
|
6
|
+
declare function SheetContent({ className, children, side, showCloseButton, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
|
|
7
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
8
|
+
showCloseButton?: boolean;
|
|
9
|
+
}): React.JSX.Element;
|
|
10
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
11
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
12
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): React.JSX.Element;
|
|
13
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): React.JSX.Element;
|
|
14
|
+
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
3
|
+
declare function Switch({ className, size, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root> & {
|
|
4
|
+
size?: "sm" | "default";
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
export { Switch };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare function Table({ className, ...props }: React.ComponentProps<"table">): React.JSX.Element;
|
|
3
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): React.JSX.Element;
|
|
4
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): React.JSX.Element;
|
|
5
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): React.JSX.Element;
|
|
6
|
+
declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): React.JSX.Element;
|
|
7
|
+
declare function TableHead({ className, ...props }: React.ComponentProps<"th">): React.JSX.Element;
|
|
8
|
+
declare function TableCell({ className, ...props }: React.ComponentProps<"td">): React.JSX.Element;
|
|
9
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): React.JSX.Element;
|
|
10
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
import { Tabs as TabsPrimitive } from "radix-ui";
|
|
4
|
+
declare function Tabs({ className, orientation, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): React.JSX.Element;
|
|
5
|
+
declare const tabsListVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "line" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
declare function TabsList({ className, variant, ...props }: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>): React.JSX.Element;
|
|
9
|
+
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): React.JSX.Element;
|
|
10
|
+
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): React.JSX.Element;
|
|
11
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
3
|
+
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): React.JSX.Element;
|
|
4
|
+
declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): React.JSX.Element;
|
|
5
|
+
declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
+
declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
|
|
7
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|