@mdxui/cockpit 0.2.0 → 2.1.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.
@@ -7,7 +7,7 @@ import { ChartConfig } from '@mdxui/primitives/chart';
7
7
  import * as React$1 from 'react';
8
8
  import { ReactNode } from 'react';
9
9
  import { ColumnDef } from '@tanstack/react-table';
10
- import { SettingsProps, APIKeysProps, TeamProps, BillingProps } from 'mdxui';
10
+ import { SettingsProps, APIKeysProps, TeamProps, BillingProps, DeveloperDashboardProps as DeveloperDashboardProps$1 } from 'mdxui';
11
11
  import * as platform_do from 'platform.do';
12
12
  import { $Context } from 'platform.do';
13
13
 
@@ -480,7 +480,7 @@ interface UserProfileProps {
480
480
  * @example
481
481
  * ```tsx
482
482
  * <UserProfile
483
- * user={{ name: 'John Doe', email: 'john@example.com' }}
483
+ * user={{ name: 'John Doe', email: 'john@example.com.ai' }}
484
484
  * onUpdate={(data) => console.log(data)}
485
485
  * />
486
486
  * ```
@@ -541,6 +541,31 @@ declare function TeamManager({ workspace, allowInvite, allowRoleChange, allowRem
541
541
  */
542
542
  declare function Billing({ customer, showInvoices, showPaymentMethods, showUsage, subscription: initialSubscription, }: BillingProps): react_jsx_runtime.JSX.Element;
543
543
 
544
+ /**
545
+ * Custom route definition for extending the dashboard with additional pages.
546
+ * Allows consumers to add their own pages without modifying the cockpit package.
547
+ */
548
+ interface CustomRoute {
549
+ /** URL path (e.g., '/pipeline', '/analytics') */
550
+ path: string;
551
+ /** Display label in sidebar navigation */
552
+ label: string;
553
+ /** Lucide icon component for sidebar */
554
+ icon?: LucideIcon;
555
+ /** React element to render for this route */
556
+ element: ReactNode;
557
+ /**
558
+ * Navigation group placement:
559
+ * - 'main' (default): Primary navigation section
560
+ * - 'secondary': Below main nav, before settings
561
+ * - 'admin': Admin/settings section at bottom
562
+ */
563
+ group?: 'main' | 'secondary' | 'admin';
564
+ /** Sort order within group (lower = higher in list) */
565
+ order?: number;
566
+ /** Make this route the index/home page */
567
+ index?: boolean;
568
+ }
544
569
  interface DashboardRoutes {
545
570
  overview?: boolean;
546
571
  requests?: boolean;
@@ -600,6 +625,11 @@ interface DashboardConfig {
600
625
  basePath?: string;
601
626
  branding?: DashboardBranding;
602
627
  routes?: DashboardRoutes;
628
+ /**
629
+ * Custom routes to add to the dashboard.
630
+ * These will be rendered alongside built-in routes and appear in sidebar navigation.
631
+ */
632
+ customRoutes?: CustomRoute[];
603
633
  theme?: DashboardTheme;
604
634
  /** Identity provider configuration for authentication and user management */
605
635
  identity: DashboardIdentity;
@@ -620,14 +650,33 @@ interface DashboardContextValue {
620
650
  debug?: boolean;
621
651
  };
622
652
  routes: Required<DashboardRoutes>;
653
+ customRoutes: CustomRoute[];
623
654
  basePath: string;
624
655
  }
625
656
  declare function useDashboard(): DashboardContextValue;
626
657
  declare function useRoutes(): Required<DashboardRoutes>;
658
+ declare function useCustomRoutes(): CustomRoute[];
627
659
 
628
- interface DeveloperDashboardProps {
660
+ /**
661
+ * Props for DeveloperDashboard - supports both mdxui interface and legacy config.
662
+ *
663
+ * Option 1: mdxui interface (recommended for new code)
664
+ * ```tsx
665
+ * <DeveloperDashboard
666
+ * identity={{ clientId: 'xxx' }}
667
+ * routes={{ webhooks: true, billing: false }}
668
+ * customRoutes={[{ path: '/analytics', label: 'Analytics', element: <Analytics /> }]}
669
+ * />
670
+ * ```
671
+ *
672
+ * Option 2: Legacy config object
673
+ * ```tsx
674
+ * <DeveloperDashboard config={{ identity: { clientId: 'xxx' }, routes: {...} }} />
675
+ * ```
676
+ */
677
+ type DeveloperDashboardProps = DeveloperDashboardProps$1 | {
629
678
  config: DashboardConfig;
630
- }
679
+ };
631
680
  /**
632
681
  * Main dashboard component that wraps everything with necessary providers
633
682
  * and renders the dashboard routes.
@@ -638,16 +687,129 @@ interface DeveloperDashboardProps {
638
687
  * - SDKInitializer - Platform SDK setup
639
688
  * - IdentityProvider - WorkOS AuthKit + Widgets
640
689
  * - QueryProvider - TanStack Query + Auth sync
690
+ *
691
+ * @example Basic usage
692
+ * ```tsx
693
+ * <DeveloperDashboard
694
+ * identity={{ clientId: 'xxx' }}
695
+ * />
696
+ * ```
697
+ *
698
+ * @example With custom routes
699
+ * ```tsx
700
+ * <DeveloperDashboard
701
+ * identity={{ clientId: 'xxx' }}
702
+ * routes={{ webhooks: true, billing: false }}
703
+ * customRoutes={[
704
+ * { path: '/analytics', label: 'Analytics', icon: 'BarChart3', element: <AnalyticsPage /> },
705
+ * ]}
706
+ * />
707
+ * ```
708
+ *
709
+ * @example Hide built-in routes
710
+ * ```tsx
711
+ * <DeveloperDashboard
712
+ * identity={{ clientId: 'xxx' }}
713
+ * routes={{ billing: false, team: false }}
714
+ * />
715
+ * ```
641
716
  */
642
- declare function DeveloperDashboard({ config }: DeveloperDashboardProps): react_jsx_runtime.JSX.Element;
717
+ declare function DeveloperDashboard(props: DeveloperDashboardProps): react_jsx_runtime.JSX.Element;
643
718
 
644
- declare function BillingPage(): react_jsx_runtime.JSX.Element;
719
+ declare const mockBillingData: {
720
+ plan: string;
721
+ planPrice: number;
722
+ planFeatures: string[];
723
+ status: "active";
724
+ renewalDate: string;
725
+ totalSpend: number;
726
+ usageBreakdown: {
727
+ resource: string;
728
+ usage: number;
729
+ limit: number;
730
+ unit: string;
731
+ cost: number;
732
+ }[];
733
+ invoices: {
734
+ id: string;
735
+ invoiceNumber: string;
736
+ date: string;
737
+ amount: number;
738
+ status: "paid";
739
+ }[];
740
+ paymentMethod: {
741
+ type: "card";
742
+ brand: string;
743
+ last4: string;
744
+ expiryMonth: number;
745
+ expiryYear: number;
746
+ };
747
+ billingAlerts: {
748
+ enabled: boolean;
749
+ threshold: number;
750
+ };
751
+ };
752
+ interface WebhookEndpoint {
753
+ id: string;
754
+ url: string;
755
+ events: string[];
756
+ lastDelivery: string | null;
757
+ status: "active" | "disabled";
758
+ secret: string;
759
+ createdAt: string;
760
+ failureCount: number;
761
+ }
762
+
763
+ type BillingData = typeof mockBillingData;
764
+ interface BillingPageProps {
765
+ /** Billing data - uses mock data if not provided */
766
+ billingData?: BillingData;
767
+ /** Callback when "Manage Plan" is clicked */
768
+ onManagePlan?: () => Promise<void>;
769
+ /** Callback when "Update" payment method is clicked */
770
+ onUpdatePaymentMethod?: () => Promise<void>;
771
+ /** Callback when an invoice is downloaded */
772
+ onDownloadInvoice?: (invoiceId: string) => Promise<void>;
773
+ /** Callback when billing alerts are toggled */
774
+ onToggleAlerts?: (enabled: boolean) => Promise<void>;
775
+ /** Hide the header with sidebar trigger and breadcrumb */
776
+ hideHeader?: boolean;
777
+ /** Additional CSS class for the container */
778
+ className?: string;
779
+ }
780
+ declare function BillingPage({ billingData: initialBillingData, onManagePlan, onUpdatePaymentMethod, onDownloadInvoice, onToggleAlerts, hideHeader, className, }?: BillingPageProps): react_jsx_runtime.JSX.Element;
645
781
 
646
782
  declare function DatabasePage(): react_jsx_runtime.JSX.Element;
647
783
 
648
784
  declare function IntegrationsPage(): react_jsx_runtime.JSX.Element;
649
785
 
650
- declare function KeysPage(): react_jsx_runtime.JSX.Element;
786
+ type ApiKeyStatus = 'active' | 'expiring' | 'never_used';
787
+ type ApiKey = {
788
+ id: string;
789
+ name: string;
790
+ key: string;
791
+ created: string;
792
+ lastUsed: string | null;
793
+ status: ApiKeyStatus;
794
+ };
795
+ interface KeysPageProps {
796
+ /** Initial keys data - uses mock data if not provided */
797
+ keys?: ApiKey[];
798
+ /** Callback when a key is created - if not provided, uses internal mock */
799
+ onCreateKey?: (name: string) => Promise<{
800
+ id: string;
801
+ key: string;
802
+ }>;
803
+ /** Callback when a key is revoked - if not provided, uses internal mock */
804
+ onRevokeKey?: (keyId: string) => Promise<void>;
805
+ /** Callback when a key is renamed - if not provided, uses internal mock */
806
+ onRenameKey?: (keyId: string, newName: string) => Promise<void>;
807
+ /** Hide the header with sidebar trigger and breadcrumb */
808
+ hideHeader?: boolean;
809
+ /** Additional CSS class for the container */
810
+ className?: string;
811
+ }
812
+ declare function KeysPage({ keys: initialKeys, onCreateKey, onRevokeKey, onRenameKey, hideHeader, className, }?: KeysPageProps): react_jsx_runtime.JSX.Element;
651
813
 
652
814
  declare function OverviewPage(): react_jsx_runtime.JSX.Element;
653
815
 
@@ -659,18 +821,370 @@ declare function SettingsSecurityPage(): react_jsx_runtime.JSX.Element;
659
821
 
660
822
  declare function SettingsSessionsPage(): react_jsx_runtime.JSX.Element;
661
823
 
662
- declare function TeamPage(): react_jsx_runtime.JSX.Element;
824
+ interface TeamPageProps {
825
+ /** Whether to use mock widgets instead of real WorkOS widgets */
826
+ useMockWidgets?: boolean;
827
+ /** Hide the header with sidebar trigger and breadcrumb */
828
+ hideHeader?: boolean;
829
+ /** Additional CSS class for the container */
830
+ className?: string;
831
+ }
832
+ declare function TeamPage({ useMockWidgets: useMockWidgetsProp, hideHeader, className, }?: TeamPageProps): react_jsx_runtime.JSX.Element;
663
833
 
664
834
  declare function VaultPage(): react_jsx_runtime.JSX.Element;
665
835
 
666
836
  declare function WebhooksActivityPage(): react_jsx_runtime.JSX.Element;
667
837
 
668
- declare function WebhooksEndpointsPage(): react_jsx_runtime.JSX.Element;
838
+ interface WebhooksEndpointsPageProps {
839
+ /** Initial endpoints data - uses mock data if not provided */
840
+ endpoints?: WebhookEndpoint[];
841
+ /** Callback when an endpoint is created */
842
+ onCreateEndpoint?: (data: {
843
+ url: string;
844
+ events: string[];
845
+ enabled: boolean;
846
+ }) => Promise<{
847
+ id: string;
848
+ secret: string;
849
+ }>;
850
+ /** Callback when an endpoint is updated */
851
+ onUpdateEndpoint?: (id: string, data: {
852
+ url: string;
853
+ events: string[];
854
+ enabled: boolean;
855
+ }) => Promise<void>;
856
+ /** Callback when an endpoint is deleted */
857
+ onDeleteEndpoint?: (id: string) => Promise<void>;
858
+ /** Hide the header with sidebar trigger and breadcrumb */
859
+ hideHeader?: boolean;
860
+ /** Additional CSS class for the container */
861
+ className?: string;
862
+ }
863
+ declare function WebhooksEndpointsPage({ endpoints: initialEndpoints, onCreateEndpoint, onUpdateEndpoint, onDeleteEndpoint, hideHeader, className, }?: WebhooksEndpointsPageProps): react_jsx_runtime.JSX.Element;
669
864
 
670
865
  declare function WebhooksEventCatalogPage(): react_jsx_runtime.JSX.Element;
671
866
 
672
867
  declare function WebhooksLogsPage(): react_jsx_runtime.JSX.Element;
673
868
 
869
+ /**
870
+ * Configuration for standalone components.
871
+ * Lighter weight than full DashboardConfig - no auth or routing required.
872
+ */
873
+ interface StandaloneConfig {
874
+ /** Theme configuration */
875
+ theme?: {
876
+ /** Theme preset name */
877
+ preset?: Theme;
878
+ /** Color mode */
879
+ mode?: 'light' | 'dark' | 'system';
880
+ /** Custom CSS variable overrides */
881
+ custom?: Record<string, string>;
882
+ };
883
+ /** Base path for internal links (optional) */
884
+ basePath?: string;
885
+ }
886
+ interface StandaloneProviderProps {
887
+ /** Configuration options */
888
+ config?: StandaloneConfig;
889
+ /** Children components */
890
+ children: ReactNode;
891
+ }
892
+ /**
893
+ * Lightweight provider for standalone page components.
894
+ *
895
+ * Use this when you want to embed individual cockpit pages
896
+ * (APIKeys, Webhooks, Billing, etc.) in your own app shell
897
+ * without the full DeveloperDashboard.
898
+ *
899
+ * Does NOT include:
900
+ * - Authentication (you handle this)
901
+ * - Routing (you handle this)
902
+ * - Dashboard layout/sidebar (you provide your own)
903
+ *
904
+ * DOES include:
905
+ * - Theme provider (light/dark mode)
906
+ * - Theme preset application
907
+ * - Custom CSS variable support
908
+ *
909
+ * @example
910
+ * ```tsx
911
+ * import { StandaloneProvider, StandaloneAPIKeys } from '@mdxui/cockpit'
912
+ *
913
+ * function MyApp() {
914
+ * return (
915
+ * <StandaloneProvider config={{ theme: { preset: 'stripe', mode: 'dark' } }}>
916
+ * <MyAppShell>
917
+ * <StandaloneAPIKeys
918
+ * onCreateKey={createKey}
919
+ * onRevokeKey={revokeKey}
920
+ * />
921
+ * </MyAppShell>
922
+ * </StandaloneProvider>
923
+ * )
924
+ * }
925
+ * ```
926
+ */
927
+ declare function StandaloneProvider({ config, children }: StandaloneProviderProps): react_jsx_runtime.JSX.Element;
928
+
929
+ /**
930
+ * Props for standalone API Keys component.
931
+ */
932
+ interface StandaloneAPIKeysProps {
933
+ /** Initial API keys data (uses mock data if not provided) */
934
+ keys?: ApiKey[];
935
+ /** Callback when a new key is created */
936
+ onCreateKey?: (name: string) => Promise<{
937
+ id: string;
938
+ key: string;
939
+ }>;
940
+ /** Callback when a key is revoked */
941
+ onRevokeKey?: (keyId: string) => Promise<void>;
942
+ /** Callback when a key is renamed */
943
+ onRenameKey?: (keyId: string, newName: string) => Promise<void>;
944
+ /** Hide the page header/breadcrumb (default: true for standalone) */
945
+ hideHeader?: boolean;
946
+ /** Additional CSS class */
947
+ className?: string;
948
+ }
949
+ /**
950
+ * Standalone API Keys management component.
951
+ *
952
+ * Use this component to embed API key management in your own app shell
953
+ * without requiring the full DeveloperDashboard.
954
+ *
955
+ * @example Basic usage (uses mock data)
956
+ * ```tsx
957
+ * import { StandaloneProvider, StandaloneAPIKeys } from '@mdxui/cockpit'
958
+ *
959
+ * function MySettings() {
960
+ * return (
961
+ * <StandaloneProvider>
962
+ * <StandaloneAPIKeys />
963
+ * </StandaloneProvider>
964
+ * )
965
+ * }
966
+ * ```
967
+ *
968
+ * @example With real backend integration
969
+ * ```tsx
970
+ * <StandaloneAPIKeys
971
+ * keys={myKeys}
972
+ * onCreateKey={async (name) => {
973
+ * const result = await api.createKey(name)
974
+ * return { id: result.id, key: result.secretKey }
975
+ * }}
976
+ * onRevokeKey={async (keyId) => {
977
+ * await api.revokeKey(keyId)
978
+ * }}
979
+ * onRenameKey={async (keyId, newName) => {
980
+ * await api.renameKey(keyId, newName)
981
+ * }}
982
+ * />
983
+ * ```
984
+ */
985
+ declare function StandaloneAPIKeys({ keys, onCreateKey, onRevokeKey, onRenameKey, hideHeader, className, }: StandaloneAPIKeysProps): react_jsx_runtime.JSX.Element;
986
+
987
+ /**
988
+ * Props for standalone Webhooks component.
989
+ */
990
+ interface StandaloneWebhooksProps {
991
+ /** Initial endpoints data (uses mock data if not provided) */
992
+ endpoints?: WebhookEndpoint[];
993
+ /** Callback when an endpoint is created */
994
+ onCreateEndpoint?: (data: {
995
+ url: string;
996
+ events: string[];
997
+ enabled: boolean;
998
+ }) => Promise<{
999
+ id: string;
1000
+ secret: string;
1001
+ }>;
1002
+ /** Callback when an endpoint is updated */
1003
+ onUpdateEndpoint?: (id: string, data: {
1004
+ url: string;
1005
+ events: string[];
1006
+ enabled: boolean;
1007
+ }) => Promise<void>;
1008
+ /** Callback when an endpoint is deleted */
1009
+ onDeleteEndpoint?: (id: string) => Promise<void>;
1010
+ /** Hide the page header/breadcrumb (default: true for standalone) */
1011
+ hideHeader?: boolean;
1012
+ /** Additional CSS class */
1013
+ className?: string;
1014
+ }
1015
+ /**
1016
+ * Standalone Webhooks management component.
1017
+ *
1018
+ * Use this component to embed webhook management in your own app shell
1019
+ * without requiring the full DeveloperDashboard.
1020
+ *
1021
+ * @example Basic usage (uses mock data)
1022
+ * ```tsx
1023
+ * import { StandaloneProvider, StandaloneWebhooks } from '@mdxui/cockpit'
1024
+ *
1025
+ * function MySettings() {
1026
+ * return (
1027
+ * <StandaloneProvider>
1028
+ * <StandaloneWebhooks />
1029
+ * </StandaloneProvider>
1030
+ * )
1031
+ * }
1032
+ * ```
1033
+ *
1034
+ * @example With real backend integration
1035
+ * ```tsx
1036
+ * <StandaloneWebhooks
1037
+ * endpoints={myEndpoints}
1038
+ * onCreateEndpoint={async (data) => {
1039
+ * const result = await api.createWebhook(data)
1040
+ * return { id: result.id, secret: result.secret }
1041
+ * }}
1042
+ * onUpdateEndpoint={async (id, data) => {
1043
+ * await api.updateWebhook(id, data)
1044
+ * }}
1045
+ * onDeleteEndpoint={async (id) => {
1046
+ * await api.deleteWebhook(id)
1047
+ * }}
1048
+ * />
1049
+ * ```
1050
+ */
1051
+ declare function StandaloneWebhooks({ endpoints, onCreateEndpoint, onUpdateEndpoint, onDeleteEndpoint, hideHeader, className, }: StandaloneWebhooksProps): react_jsx_runtime.JSX.Element;
1052
+
1053
+ /**
1054
+ * Props for standalone Billing component.
1055
+ */
1056
+ interface StandaloneBillingProps {
1057
+ /** Billing data (uses mock data if not provided) */
1058
+ billingData?: BillingData;
1059
+ /** Callback when "Manage Plan" is clicked */
1060
+ onManagePlan?: () => Promise<void>;
1061
+ /** Callback when "Update" payment method is clicked */
1062
+ onUpdatePaymentMethod?: () => Promise<void>;
1063
+ /** Callback when an invoice is downloaded */
1064
+ onDownloadInvoice?: (invoiceId: string) => Promise<void>;
1065
+ /** Callback when billing alerts are toggled */
1066
+ onToggleAlerts?: (enabled: boolean) => Promise<void>;
1067
+ /** Hide the page header/breadcrumb (default: true for standalone) */
1068
+ hideHeader?: boolean;
1069
+ /** Additional CSS class */
1070
+ className?: string;
1071
+ }
1072
+ /**
1073
+ * Standalone Billing management component.
1074
+ *
1075
+ * Use this component to embed billing management in your own app shell
1076
+ * without requiring the full DeveloperDashboard.
1077
+ *
1078
+ * @example Basic usage (uses mock data)
1079
+ * ```tsx
1080
+ * import { StandaloneProvider, StandaloneBilling } from '@mdxui/cockpit'
1081
+ *
1082
+ * function MySettings() {
1083
+ * return (
1084
+ * <StandaloneProvider>
1085
+ * <StandaloneBilling />
1086
+ * </StandaloneProvider>
1087
+ * )
1088
+ * }
1089
+ * ```
1090
+ *
1091
+ * @example With real backend integration
1092
+ * ```tsx
1093
+ * <StandaloneBilling
1094
+ * billingData={myBillingData}
1095
+ * onManagePlan={async () => {
1096
+ * const url = await createBillingPortalSession()
1097
+ * window.location.href = url
1098
+ * }}
1099
+ * onDownloadInvoice={async (invoiceId) => {
1100
+ * const url = await api.getInvoiceDownloadUrl(invoiceId)
1101
+ * window.open(url, '_blank')
1102
+ * }}
1103
+ * />
1104
+ * ```
1105
+ */
1106
+ declare function StandaloneBilling({ billingData, onManagePlan, onUpdatePaymentMethod, onDownloadInvoice, onToggleAlerts, hideHeader, className, }: StandaloneBillingProps): react_jsx_runtime.JSX.Element;
1107
+
1108
+ /**
1109
+ * Props for standalone Team component.
1110
+ */
1111
+ interface StandaloneTeamProps {
1112
+ /** Whether to use mock widgets instead of real WorkOS widgets */
1113
+ useMockWidgets?: boolean;
1114
+ /** Hide the page header/breadcrumb (default: true for standalone) */
1115
+ hideHeader?: boolean;
1116
+ /** Additional CSS class */
1117
+ className?: string;
1118
+ }
1119
+ /**
1120
+ * Standalone Team management component.
1121
+ *
1122
+ * Use this component to embed team management in your own app shell
1123
+ * without requiring the full DeveloperDashboard.
1124
+ *
1125
+ * NOTE: This component uses WorkOS widgets for team management.
1126
+ * You need to wrap your app with AuthKitProvider from @workos-inc/authkit-react
1127
+ * for the real widgets to work. Use useMockWidgets={true} for demo/testing.
1128
+ *
1129
+ * @example Basic usage (uses mock widgets)
1130
+ * ```tsx
1131
+ * import { StandaloneProvider, StandaloneTeam } from '@mdxui/cockpit'
1132
+ *
1133
+ * function MySettings() {
1134
+ * return (
1135
+ * <StandaloneProvider>
1136
+ * <StandaloneTeam useMockWidgets />
1137
+ * </StandaloneProvider>
1138
+ * )
1139
+ * }
1140
+ * ```
1141
+ *
1142
+ * @example With WorkOS integration
1143
+ * ```tsx
1144
+ * import { AuthKitProvider } from '@workos-inc/authkit-react'
1145
+ * import { StandaloneProvider, StandaloneTeam } from '@mdxui/cockpit'
1146
+ *
1147
+ * function MySettings() {
1148
+ * return (
1149
+ * <AuthKitProvider clientId="your-client-id">
1150
+ * <StandaloneProvider>
1151
+ * <StandaloneTeam />
1152
+ * </StandaloneProvider>
1153
+ * </AuthKitProvider>
1154
+ * )
1155
+ * }
1156
+ * ```
1157
+ */
1158
+ declare function StandaloneTeam({ useMockWidgets, hideHeader, className, }: StandaloneTeamProps): react_jsx_runtime.JSX.Element;
1159
+
1160
+ /**
1161
+ * Maps a Lucide icon name string to the actual icon component.
1162
+ * Used to convert mdxui's string-based icon references to LucideIcon components.
1163
+ *
1164
+ * @example
1165
+ * ```ts
1166
+ * const icon = getIconByName('BarChart3') // returns BarChart3 component
1167
+ * const icon = getIconByName('Settings') // returns Settings component
1168
+ * ```
1169
+ */
1170
+ declare function getIconByName(name: string): LucideIcon | undefined;
1171
+ /**
1172
+ * Common dashboard icons for quick reference.
1173
+ * These are the icons most commonly used in DeveloperDashboard navigation.
1174
+ */
1175
+ declare const dashboardIcons: {
1176
+ readonly overview: "BarChart3";
1177
+ readonly requests: "Activity";
1178
+ readonly keys: "Key";
1179
+ readonly team: "Users";
1180
+ readonly billing: "CreditCard";
1181
+ readonly settings: "Settings";
1182
+ readonly webhooks: "Webhook";
1183
+ readonly database: "Database";
1184
+ readonly integrations: "Puzzle";
1185
+ readonly vault: "Lock";
1186
+ };
1187
+
674
1188
  /**
675
1189
  * SDK instance type - the $ proxy with all platform methods
676
1190
  */
@@ -761,4 +1275,4 @@ declare function testSDKConnection(): Promise<{
761
1275
  result?: undefined;
762
1276
  }>;
763
1277
 
764
- export { APIKeyManager, ActivityFeed, type ActivityFeedProps, type ActivityItem, AreaChart, type AreaChartProps, BarChart, type BarChartProps, Billing, BillingPage, type CommandGroup, type CommandItem, CommandPalette, type CommandPaletteProps, type DashboardBranding, type DashboardConfig, DashboardGrid, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardIdentity, DashboardLayout, type DashboardRoutes, type DashboardTheme, DataTable, type DataTableProps, DatabasePage, DeveloperDashboard, IntegrationsPage, JsonViewer, KPICard, type KPICardProps, KeysPage, LandingPage, LineChart, type LineChartProps, MockAuthenticationFactors, MockUserProfile, MockUserSessions, MockUsersManagement, type NavItem, NavMain, NavUser, OverviewPage, RequestsPage, SettingsPage, SettingsProfilePage, SettingsSecurityPage, SettingsSessionsPage, SidebarAd, SortableHeader, StatusBadge, StatusDot, TeamManager, TeamPage, TeamSwitcher, UserProfile, VaultDeleteDialog, VaultEmptyState, VaultInputModal, VaultItemCard, VaultList, VaultPage, WebhooksActivityPage, WebhooksEndpointsPage, WebhooksEventCatalogPage, WebhooksLogsPage, getAuthToken, getDebugStatus, getEffectiveToken, getSDK, isAuthenticated, isDebugMode, setDebugMode, setDevToken, testSDKConnection, useCommandPalette, useDashboard, useRoutes };
1278
+ export { APIKeyManager, ActivityFeed, type ActivityFeedProps, type ActivityItem, AreaChart, type AreaChartProps, BarChart, type BarChartProps, Billing, BillingPage, type CommandGroup, type CommandItem, CommandPalette, type CommandPaletteProps, type CustomRoute, type DashboardBranding, type DashboardConfig, DashboardGrid, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardIdentity, DashboardLayout, type DashboardRoutes, type DashboardTheme, DataTable, type DataTableProps, DatabasePage, DeveloperDashboard, type DeveloperDashboardProps, IntegrationsPage, JsonViewer, KPICard, type KPICardProps, KeysPage, LandingPage, LineChart, type LineChartProps, MockAuthenticationFactors, MockUserProfile, MockUserSessions, MockUsersManagement, type NavItem, NavMain, NavUser, OverviewPage, RequestsPage, SettingsPage, SettingsProfilePage, SettingsSecurityPage, SettingsSessionsPage, SidebarAd, SortableHeader, StandaloneAPIKeys, type StandaloneAPIKeysProps, StandaloneBilling, type StandaloneBillingProps, type StandaloneConfig, StandaloneProvider, StandaloneTeam, type StandaloneTeamProps, StandaloneWebhooks, type StandaloneWebhooksProps, StatusBadge, StatusDot, TeamManager, TeamPage, TeamSwitcher, UserProfile, VaultDeleteDialog, VaultEmptyState, VaultInputModal, VaultItemCard, VaultList, VaultPage, WebhooksActivityPage, WebhooksEndpointsPage, WebhooksEventCatalogPage, WebhooksLogsPage, dashboardIcons, getAuthToken, getDebugStatus, getEffectiveToken, getIconByName, getSDK, isAuthenticated, isDebugMode, setDebugMode, setDevToken, testSDKConnection, useCommandPalette, useCustomRoutes, useDashboard, useRoutes };