@infuro/cms-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +693 -0
- package/dist/admin.cjs +7119 -0
- package/dist/admin.cjs.map +1 -0
- package/dist/admin.css +75 -0
- package/dist/admin.d.cts +209 -0
- package/dist/admin.d.ts +209 -0
- package/dist/admin.js +7079 -0
- package/dist/admin.js.map +1 -0
- package/dist/api.cjs +1158 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.cts +2 -0
- package/dist/api.d.ts +2 -0
- package/dist/api.js +1112 -0
- package/dist/api.js.map +1 -0
- package/dist/auth.cjs +226 -0
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.d.cts +99 -0
- package/dist/auth.d.ts +99 -0
- package/dist/auth.js +181 -0
- package/dist/auth.js.map +1 -0
- package/dist/config-DJ5CmQvS.d.cts +8 -0
- package/dist/config-DJ5CmQvS.d.ts +8 -0
- package/dist/hooks.cjs +94 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.cts +22 -0
- package/dist/hooks.d.ts +22 -0
- package/dist/hooks.js +54 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index-DP3LK1XN.d.cts +263 -0
- package/dist/index-DP3LK1XN.d.ts +263 -0
- package/dist/index.cjs +3008 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +543 -0
- package/dist/index.d.ts +543 -0
- package/dist/index.js +2928 -0
- package/dist/index.js.map +1 -0
- package/dist/theme.cjs +113 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.cts +32 -0
- package/dist/theme.d.ts +32 -0
- package/dist/theme.js +73 -0
- package/dist/theme.js.map +1 -0
- package/dist/types-D34wmivy.d.cts +78 -0
- package/dist/types-D34wmivy.d.ts +78 -0
- package/package.json +106 -0
package/dist/admin.css
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
/* Admin only: design tokens (sidebar, UI). No public-site tokens. */
|
|
6
|
+
@layer base {
|
|
7
|
+
:root {
|
|
8
|
+
--background: 0 0% 100%;
|
|
9
|
+
--foreground: 0 0% 3.9%;
|
|
10
|
+
--card: 0 0% 100%;
|
|
11
|
+
--card-foreground: 0 0% 3.9%;
|
|
12
|
+
--popover: 0 0% 100%;
|
|
13
|
+
--popover-foreground: 0 0% 3.9%;
|
|
14
|
+
--primary: 220 70% 50%;
|
|
15
|
+
--primary-foreground: 0 0% 100%;
|
|
16
|
+
--secondary: 0 0% 96.1%;
|
|
17
|
+
--secondary-foreground: 0 0% 9%;
|
|
18
|
+
--muted: 0 0% 96.1%;
|
|
19
|
+
--muted-foreground: 0 0% 45.1%;
|
|
20
|
+
--accent: 0 0% 96.1%;
|
|
21
|
+
--accent-foreground: 0 0% 9%;
|
|
22
|
+
--destructive: 0 84.2% 60.2%;
|
|
23
|
+
--destructive-foreground: 0 0% 98%;
|
|
24
|
+
--border: 0 0% 89.8%;
|
|
25
|
+
--input: 0 0% 89.8%;
|
|
26
|
+
--ring: 0 0% 3.9%;
|
|
27
|
+
--radius: 0.5rem;
|
|
28
|
+
--sidebar-background: 0 0% 98%;
|
|
29
|
+
--sidebar-foreground: 240 5.3% 26.1%;
|
|
30
|
+
--sidebar-primary: 240 5.9% 10%;
|
|
31
|
+
--sidebar-primary-foreground: 0 0% 98%;
|
|
32
|
+
--sidebar-accent: 240 4.8% 95.9%;
|
|
33
|
+
--sidebar-accent-foreground: 240 5.9% 10%;
|
|
34
|
+
--sidebar-border: 220 13% 91%;
|
|
35
|
+
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
36
|
+
}
|
|
37
|
+
.dark {
|
|
38
|
+
--background: 0 0% 3.9%;
|
|
39
|
+
--foreground: 0 0% 98%;
|
|
40
|
+
--card: 0 0% 3.9%;
|
|
41
|
+
--card-foreground: 0 0% 98%;
|
|
42
|
+
--popover: 0 0% 3.9%;
|
|
43
|
+
--popover-foreground: 0 0% 98%;
|
|
44
|
+
--primary: 220 70% 50%;
|
|
45
|
+
--primary-foreground: 0 0% 100%;
|
|
46
|
+
--secondary: 0 0% 14.9%;
|
|
47
|
+
--secondary-foreground: 0 0% 98%;
|
|
48
|
+
--muted: 0 0% 14.9%;
|
|
49
|
+
--muted-foreground: 0 0% 63.9%;
|
|
50
|
+
--accent: 0 0% 14.9%;
|
|
51
|
+
--accent-foreground: 0 0% 98%;
|
|
52
|
+
--destructive: 0 62.8% 30.6%;
|
|
53
|
+
--destructive-foreground: 0 0% 98%;
|
|
54
|
+
--border: 0 0% 14.9%;
|
|
55
|
+
--input: 0 0% 14.9%;
|
|
56
|
+
--ring: 0 0% 83.1%;
|
|
57
|
+
--sidebar-background: 240 5.9% 10%;
|
|
58
|
+
--sidebar-foreground: 240 4.8% 95.9%;
|
|
59
|
+
--sidebar-primary: 224.3 76.3% 48%;
|
|
60
|
+
--sidebar-primary-foreground: 0 0% 100%;
|
|
61
|
+
--sidebar-accent: 240 3.7% 15.9%;
|
|
62
|
+
--sidebar-accent-foreground: 240 4.8% 95.9%;
|
|
63
|
+
--sidebar-border: 240 3.7% 15.9%;
|
|
64
|
+
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@layer base {
|
|
69
|
+
* {
|
|
70
|
+
@apply border-border outline-ring/50;
|
|
71
|
+
}
|
|
72
|
+
body {
|
|
73
|
+
@apply bg-background text-foreground;
|
|
74
|
+
}
|
|
75
|
+
}
|
package/dist/admin.d.cts
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React$1 from 'react';
|
|
3
|
+
import { T as ThemeConfig, C as ComponentMeta, N as NavbarConfig } from './types-D34wmivy.cjs';
|
|
4
|
+
export { A as AdminNavItem, D as DEFAULT_ADMIN_NAV } from './config-DJ5CmQvS.cjs';
|
|
5
|
+
|
|
6
|
+
interface ThemeRegistryItem {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
config: ThemeConfig;
|
|
10
|
+
/** Optional image URL for theme card */
|
|
11
|
+
image?: string;
|
|
12
|
+
/** Optional short description for theme card */
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
interface PluginDescriptor {
|
|
16
|
+
name: string;
|
|
17
|
+
label: string;
|
|
18
|
+
version: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface CustomNavItem {
|
|
23
|
+
href: string;
|
|
24
|
+
label: string;
|
|
25
|
+
icon?: string;
|
|
26
|
+
}
|
|
27
|
+
interface CustomNavSection {
|
|
28
|
+
title: string;
|
|
29
|
+
items: CustomNavItem[];
|
|
30
|
+
}
|
|
31
|
+
interface CustomCrudColumn {
|
|
32
|
+
field: string;
|
|
33
|
+
displayName: string;
|
|
34
|
+
type?: string;
|
|
35
|
+
/** When set, form renders an async searchable relation dropdown instead of a plain input. */
|
|
36
|
+
relationApi?: string;
|
|
37
|
+
/** Field on the relation entity to show in the list (default: 'name'). */
|
|
38
|
+
relationLabelField?: string;
|
|
39
|
+
/** Field on the relation entity to use as value (default: 'id'). */
|
|
40
|
+
relationValueField?: string;
|
|
41
|
+
}
|
|
42
|
+
interface CustomCrudConfig {
|
|
43
|
+
title: string;
|
|
44
|
+
apiEndpoint: string;
|
|
45
|
+
columns: CustomCrudColumn[];
|
|
46
|
+
addEditPageUrl: string;
|
|
47
|
+
}
|
|
48
|
+
interface AdminConfigValue {
|
|
49
|
+
customNavItems: CustomNavItem[];
|
|
50
|
+
customNavSections?: CustomNavSection[];
|
|
51
|
+
customCrudConfigs: Record<string, CustomCrudConfig>;
|
|
52
|
+
theme?: ThemeConfig;
|
|
53
|
+
themeRegistry?: ThemeRegistryItem[];
|
|
54
|
+
activeThemeId?: string;
|
|
55
|
+
pluginDescriptors?: PluginDescriptor[];
|
|
56
|
+
}
|
|
57
|
+
declare const AdminConfigContext: React$1.Context<AdminConfigValue>;
|
|
58
|
+
|
|
59
|
+
interface AdminLayoutProps {
|
|
60
|
+
children: React$1.ReactNode;
|
|
61
|
+
customNavItems?: CustomNavItem[];
|
|
62
|
+
customNavSections?: CustomNavSection[];
|
|
63
|
+
customCrudConfigs?: Record<string, CustomCrudConfig>;
|
|
64
|
+
theme?: ThemeConfig;
|
|
65
|
+
themeRegistry?: ThemeRegistryItem[];
|
|
66
|
+
pluginDescriptors?: PluginDescriptor[];
|
|
67
|
+
}
|
|
68
|
+
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, theme, themeRegistry, pluginDescriptors }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
69
|
+
|
|
70
|
+
declare function AdminShell({ children }: {
|
|
71
|
+
children: React.ReactNode;
|
|
72
|
+
}): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
declare function AdminHeader(): react_jsx_runtime.JSX.Element;
|
|
75
|
+
|
|
76
|
+
declare function AdminSidebar(): react_jsx_runtime.JSX.Element;
|
|
77
|
+
|
|
78
|
+
declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, customViewPageUrl, }: {
|
|
79
|
+
title: string;
|
|
80
|
+
apiEndpoint: string;
|
|
81
|
+
columns: any[];
|
|
82
|
+
addEditPageUrl: string;
|
|
83
|
+
customViewPageUrl?: string;
|
|
84
|
+
}): react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
declare function CreateEditForm({ isOpen, onClose, apiEndpoint, columns, existingData }: {
|
|
87
|
+
isOpen: any;
|
|
88
|
+
onClose: any;
|
|
89
|
+
apiEndpoint: any;
|
|
90
|
+
columns: any;
|
|
91
|
+
existingData: any;
|
|
92
|
+
}): react_jsx_runtime.JSX.Element | null;
|
|
93
|
+
|
|
94
|
+
declare function FormBuilder({ formId }: {
|
|
95
|
+
formId?: string;
|
|
96
|
+
}): react_jsx_runtime.JSX.Element;
|
|
97
|
+
|
|
98
|
+
declare function BlogEditor({ existingBlog }: {
|
|
99
|
+
existingBlog?: any;
|
|
100
|
+
}): react_jsx_runtime.JSX.Element;
|
|
101
|
+
|
|
102
|
+
interface AnalyticsChartProps {
|
|
103
|
+
data: Array<{
|
|
104
|
+
label: string;
|
|
105
|
+
value: number;
|
|
106
|
+
}>;
|
|
107
|
+
title: string;
|
|
108
|
+
type: 'bar' | 'line' | 'doughnut';
|
|
109
|
+
}
|
|
110
|
+
declare function AnalyticsChart({ data, title, type }: AnalyticsChartProps): react_jsx_runtime.JSX.Element;
|
|
111
|
+
|
|
112
|
+
interface DailyUserChartProps {
|
|
113
|
+
data: Array<{
|
|
114
|
+
date: string;
|
|
115
|
+
users: number;
|
|
116
|
+
}>;
|
|
117
|
+
title?: string;
|
|
118
|
+
}
|
|
119
|
+
declare function DailyUserChart({ data, title }: DailyUserChartProps): react_jsx_runtime.JSX.Element;
|
|
120
|
+
|
|
121
|
+
interface GeographicData {
|
|
122
|
+
country: string;
|
|
123
|
+
sessions: number;
|
|
124
|
+
}
|
|
125
|
+
interface GeographicMapProps {
|
|
126
|
+
data: GeographicData[];
|
|
127
|
+
title?: string;
|
|
128
|
+
}
|
|
129
|
+
declare function GeographicMap({ data, title }: GeographicMapProps): react_jsx_runtime.JSX.Element;
|
|
130
|
+
|
|
131
|
+
interface AnalyticsCardProps {
|
|
132
|
+
title: string;
|
|
133
|
+
value: string | number;
|
|
134
|
+
subtitle: string;
|
|
135
|
+
icon?: React.ReactNode;
|
|
136
|
+
trend?: {
|
|
137
|
+
value: number;
|
|
138
|
+
isPositive: boolean;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
declare function AnalyticsCard({ title, value, subtitle, icon, trend }: AnalyticsCardProps): react_jsx_runtime.JSX.Element;
|
|
142
|
+
|
|
143
|
+
declare function AnalyticsExclusion(): react_jsx_runtime.JSX.Element | null;
|
|
144
|
+
|
|
145
|
+
interface CategoryAutocompleteProps {
|
|
146
|
+
selectedCategory: string | null;
|
|
147
|
+
onCategoryChange: (category: string | null) => void;
|
|
148
|
+
placeholder?: string;
|
|
149
|
+
className?: string;
|
|
150
|
+
}
|
|
151
|
+
declare function CategoryAutocomplete({ selectedCategory, onCategoryChange, placeholder, className }: CategoryAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
152
|
+
|
|
153
|
+
interface TagAutocompleteProps {
|
|
154
|
+
selectedTags: string[];
|
|
155
|
+
onTagsChange: (tags: string[]) => void;
|
|
156
|
+
placeholder?: string;
|
|
157
|
+
className?: string;
|
|
158
|
+
}
|
|
159
|
+
declare function TagAutocomplete({ selectedTags, onTagsChange, placeholder, className }: TagAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
160
|
+
|
|
161
|
+
interface UserAutocompleteProps {
|
|
162
|
+
selectedUserId: number | null;
|
|
163
|
+
onUserChange: (userId: number | null) => void;
|
|
164
|
+
placeholder?: string;
|
|
165
|
+
className?: string;
|
|
166
|
+
}
|
|
167
|
+
declare function UserAutocomplete({ selectedUserId, onUserChange, placeholder, className }: UserAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
168
|
+
|
|
169
|
+
interface ComponentSettingsProps {
|
|
170
|
+
meta: ComponentMeta;
|
|
171
|
+
values: Record<string, any>;
|
|
172
|
+
onChange: (name: string, value: any) => void;
|
|
173
|
+
}
|
|
174
|
+
declare function ComponentSettings({ meta, values, onChange, }: ComponentSettingsProps): react_jsx_runtime.JSX.Element;
|
|
175
|
+
|
|
176
|
+
interface NavbarEditorProps {
|
|
177
|
+
config: NavbarConfig;
|
|
178
|
+
onChange: (config: NavbarConfig) => void;
|
|
179
|
+
}
|
|
180
|
+
declare function NavbarEditor({ config, onChange }: NavbarEditorProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
|
|
182
|
+
declare const SigninPage: () => react_jsx_runtime.JSX.Element;
|
|
183
|
+
|
|
184
|
+
declare function ForgotPasswordPage(): react_jsx_runtime.JSX.Element;
|
|
185
|
+
|
|
186
|
+
declare function ResetPasswordPage(): react_jsx_runtime.JSX.Element;
|
|
187
|
+
|
|
188
|
+
declare function InvitePage(): react_jsx_runtime.JSX.Element;
|
|
189
|
+
|
|
190
|
+
declare function DashboardPage(): react_jsx_runtime.JSX.Element;
|
|
191
|
+
|
|
192
|
+
declare function AdminPageResolver({ slug }: {
|
|
193
|
+
slug?: string[];
|
|
194
|
+
}): react_jsx_runtime.JSX.Element;
|
|
195
|
+
|
|
196
|
+
declare function SettingsPage(): react_jsx_runtime.JSX.Element;
|
|
197
|
+
|
|
198
|
+
declare function LayoutSettingsPage(): react_jsx_runtime.JSX.Element;
|
|
199
|
+
|
|
200
|
+
interface PageBuilderPageProps {
|
|
201
|
+
pageId?: string;
|
|
202
|
+
}
|
|
203
|
+
declare function PageBuilderPage({ pageId }: PageBuilderPageProps): react_jsx_runtime.JSX.Element;
|
|
204
|
+
|
|
205
|
+
declare function CmsProviders({ children }: {
|
|
206
|
+
children: React.ReactNode;
|
|
207
|
+
}): react_jsx_runtime.JSX.Element;
|
|
208
|
+
|
|
209
|
+
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, AdminPageResolver, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, CategoryAutocomplete, CmsProviders, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DailyUserChart, FormBuilder, GeographicMap, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete, AdminLayout as default };
|
package/dist/admin.d.ts
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React$1 from 'react';
|
|
3
|
+
import { T as ThemeConfig, C as ComponentMeta, N as NavbarConfig } from './types-D34wmivy.js';
|
|
4
|
+
export { A as AdminNavItem, D as DEFAULT_ADMIN_NAV } from './config-DJ5CmQvS.js';
|
|
5
|
+
|
|
6
|
+
interface ThemeRegistryItem {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
config: ThemeConfig;
|
|
10
|
+
/** Optional image URL for theme card */
|
|
11
|
+
image?: string;
|
|
12
|
+
/** Optional short description for theme card */
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
interface PluginDescriptor {
|
|
16
|
+
name: string;
|
|
17
|
+
label: string;
|
|
18
|
+
version: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface CustomNavItem {
|
|
23
|
+
href: string;
|
|
24
|
+
label: string;
|
|
25
|
+
icon?: string;
|
|
26
|
+
}
|
|
27
|
+
interface CustomNavSection {
|
|
28
|
+
title: string;
|
|
29
|
+
items: CustomNavItem[];
|
|
30
|
+
}
|
|
31
|
+
interface CustomCrudColumn {
|
|
32
|
+
field: string;
|
|
33
|
+
displayName: string;
|
|
34
|
+
type?: string;
|
|
35
|
+
/** When set, form renders an async searchable relation dropdown instead of a plain input. */
|
|
36
|
+
relationApi?: string;
|
|
37
|
+
/** Field on the relation entity to show in the list (default: 'name'). */
|
|
38
|
+
relationLabelField?: string;
|
|
39
|
+
/** Field on the relation entity to use as value (default: 'id'). */
|
|
40
|
+
relationValueField?: string;
|
|
41
|
+
}
|
|
42
|
+
interface CustomCrudConfig {
|
|
43
|
+
title: string;
|
|
44
|
+
apiEndpoint: string;
|
|
45
|
+
columns: CustomCrudColumn[];
|
|
46
|
+
addEditPageUrl: string;
|
|
47
|
+
}
|
|
48
|
+
interface AdminConfigValue {
|
|
49
|
+
customNavItems: CustomNavItem[];
|
|
50
|
+
customNavSections?: CustomNavSection[];
|
|
51
|
+
customCrudConfigs: Record<string, CustomCrudConfig>;
|
|
52
|
+
theme?: ThemeConfig;
|
|
53
|
+
themeRegistry?: ThemeRegistryItem[];
|
|
54
|
+
activeThemeId?: string;
|
|
55
|
+
pluginDescriptors?: PluginDescriptor[];
|
|
56
|
+
}
|
|
57
|
+
declare const AdminConfigContext: React$1.Context<AdminConfigValue>;
|
|
58
|
+
|
|
59
|
+
interface AdminLayoutProps {
|
|
60
|
+
children: React$1.ReactNode;
|
|
61
|
+
customNavItems?: CustomNavItem[];
|
|
62
|
+
customNavSections?: CustomNavSection[];
|
|
63
|
+
customCrudConfigs?: Record<string, CustomCrudConfig>;
|
|
64
|
+
theme?: ThemeConfig;
|
|
65
|
+
themeRegistry?: ThemeRegistryItem[];
|
|
66
|
+
pluginDescriptors?: PluginDescriptor[];
|
|
67
|
+
}
|
|
68
|
+
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, theme, themeRegistry, pluginDescriptors }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
69
|
+
|
|
70
|
+
declare function AdminShell({ children }: {
|
|
71
|
+
children: React.ReactNode;
|
|
72
|
+
}): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
declare function AdminHeader(): react_jsx_runtime.JSX.Element;
|
|
75
|
+
|
|
76
|
+
declare function AdminSidebar(): react_jsx_runtime.JSX.Element;
|
|
77
|
+
|
|
78
|
+
declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, customViewPageUrl, }: {
|
|
79
|
+
title: string;
|
|
80
|
+
apiEndpoint: string;
|
|
81
|
+
columns: any[];
|
|
82
|
+
addEditPageUrl: string;
|
|
83
|
+
customViewPageUrl?: string;
|
|
84
|
+
}): react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
declare function CreateEditForm({ isOpen, onClose, apiEndpoint, columns, existingData }: {
|
|
87
|
+
isOpen: any;
|
|
88
|
+
onClose: any;
|
|
89
|
+
apiEndpoint: any;
|
|
90
|
+
columns: any;
|
|
91
|
+
existingData: any;
|
|
92
|
+
}): react_jsx_runtime.JSX.Element | null;
|
|
93
|
+
|
|
94
|
+
declare function FormBuilder({ formId }: {
|
|
95
|
+
formId?: string;
|
|
96
|
+
}): react_jsx_runtime.JSX.Element;
|
|
97
|
+
|
|
98
|
+
declare function BlogEditor({ existingBlog }: {
|
|
99
|
+
existingBlog?: any;
|
|
100
|
+
}): react_jsx_runtime.JSX.Element;
|
|
101
|
+
|
|
102
|
+
interface AnalyticsChartProps {
|
|
103
|
+
data: Array<{
|
|
104
|
+
label: string;
|
|
105
|
+
value: number;
|
|
106
|
+
}>;
|
|
107
|
+
title: string;
|
|
108
|
+
type: 'bar' | 'line' | 'doughnut';
|
|
109
|
+
}
|
|
110
|
+
declare function AnalyticsChart({ data, title, type }: AnalyticsChartProps): react_jsx_runtime.JSX.Element;
|
|
111
|
+
|
|
112
|
+
interface DailyUserChartProps {
|
|
113
|
+
data: Array<{
|
|
114
|
+
date: string;
|
|
115
|
+
users: number;
|
|
116
|
+
}>;
|
|
117
|
+
title?: string;
|
|
118
|
+
}
|
|
119
|
+
declare function DailyUserChart({ data, title }: DailyUserChartProps): react_jsx_runtime.JSX.Element;
|
|
120
|
+
|
|
121
|
+
interface GeographicData {
|
|
122
|
+
country: string;
|
|
123
|
+
sessions: number;
|
|
124
|
+
}
|
|
125
|
+
interface GeographicMapProps {
|
|
126
|
+
data: GeographicData[];
|
|
127
|
+
title?: string;
|
|
128
|
+
}
|
|
129
|
+
declare function GeographicMap({ data, title }: GeographicMapProps): react_jsx_runtime.JSX.Element;
|
|
130
|
+
|
|
131
|
+
interface AnalyticsCardProps {
|
|
132
|
+
title: string;
|
|
133
|
+
value: string | number;
|
|
134
|
+
subtitle: string;
|
|
135
|
+
icon?: React.ReactNode;
|
|
136
|
+
trend?: {
|
|
137
|
+
value: number;
|
|
138
|
+
isPositive: boolean;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
declare function AnalyticsCard({ title, value, subtitle, icon, trend }: AnalyticsCardProps): react_jsx_runtime.JSX.Element;
|
|
142
|
+
|
|
143
|
+
declare function AnalyticsExclusion(): react_jsx_runtime.JSX.Element | null;
|
|
144
|
+
|
|
145
|
+
interface CategoryAutocompleteProps {
|
|
146
|
+
selectedCategory: string | null;
|
|
147
|
+
onCategoryChange: (category: string | null) => void;
|
|
148
|
+
placeholder?: string;
|
|
149
|
+
className?: string;
|
|
150
|
+
}
|
|
151
|
+
declare function CategoryAutocomplete({ selectedCategory, onCategoryChange, placeholder, className }: CategoryAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
152
|
+
|
|
153
|
+
interface TagAutocompleteProps {
|
|
154
|
+
selectedTags: string[];
|
|
155
|
+
onTagsChange: (tags: string[]) => void;
|
|
156
|
+
placeholder?: string;
|
|
157
|
+
className?: string;
|
|
158
|
+
}
|
|
159
|
+
declare function TagAutocomplete({ selectedTags, onTagsChange, placeholder, className }: TagAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
160
|
+
|
|
161
|
+
interface UserAutocompleteProps {
|
|
162
|
+
selectedUserId: number | null;
|
|
163
|
+
onUserChange: (userId: number | null) => void;
|
|
164
|
+
placeholder?: string;
|
|
165
|
+
className?: string;
|
|
166
|
+
}
|
|
167
|
+
declare function UserAutocomplete({ selectedUserId, onUserChange, placeholder, className }: UserAutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
168
|
+
|
|
169
|
+
interface ComponentSettingsProps {
|
|
170
|
+
meta: ComponentMeta;
|
|
171
|
+
values: Record<string, any>;
|
|
172
|
+
onChange: (name: string, value: any) => void;
|
|
173
|
+
}
|
|
174
|
+
declare function ComponentSettings({ meta, values, onChange, }: ComponentSettingsProps): react_jsx_runtime.JSX.Element;
|
|
175
|
+
|
|
176
|
+
interface NavbarEditorProps {
|
|
177
|
+
config: NavbarConfig;
|
|
178
|
+
onChange: (config: NavbarConfig) => void;
|
|
179
|
+
}
|
|
180
|
+
declare function NavbarEditor({ config, onChange }: NavbarEditorProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
|
|
182
|
+
declare const SigninPage: () => react_jsx_runtime.JSX.Element;
|
|
183
|
+
|
|
184
|
+
declare function ForgotPasswordPage(): react_jsx_runtime.JSX.Element;
|
|
185
|
+
|
|
186
|
+
declare function ResetPasswordPage(): react_jsx_runtime.JSX.Element;
|
|
187
|
+
|
|
188
|
+
declare function InvitePage(): react_jsx_runtime.JSX.Element;
|
|
189
|
+
|
|
190
|
+
declare function DashboardPage(): react_jsx_runtime.JSX.Element;
|
|
191
|
+
|
|
192
|
+
declare function AdminPageResolver({ slug }: {
|
|
193
|
+
slug?: string[];
|
|
194
|
+
}): react_jsx_runtime.JSX.Element;
|
|
195
|
+
|
|
196
|
+
declare function SettingsPage(): react_jsx_runtime.JSX.Element;
|
|
197
|
+
|
|
198
|
+
declare function LayoutSettingsPage(): react_jsx_runtime.JSX.Element;
|
|
199
|
+
|
|
200
|
+
interface PageBuilderPageProps {
|
|
201
|
+
pageId?: string;
|
|
202
|
+
}
|
|
203
|
+
declare function PageBuilderPage({ pageId }: PageBuilderPageProps): react_jsx_runtime.JSX.Element;
|
|
204
|
+
|
|
205
|
+
declare function CmsProviders({ children }: {
|
|
206
|
+
children: React.ReactNode;
|
|
207
|
+
}): react_jsx_runtime.JSX.Element;
|
|
208
|
+
|
|
209
|
+
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, AdminPageResolver, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, CategoryAutocomplete, CmsProviders, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DailyUserChart, FormBuilder, GeographicMap, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete, AdminLayout as default };
|