diff --git a/content/docs/components/basic/pagination.mdx b/content/docs/components/basic/pagination.mdx index abf3e30c9c..512d100694 100644 --- a/content/docs/components/basic/pagination.mdx +++ b/content/docs/components/basic/pagination.mdx @@ -24,7 +24,7 @@ interface PaginationSchema { totalItems?: number; // Total number of items // Events - onPageChange?: string | ActionConfig; + onPageChange?: (page: number) => void; // Styling className?: string; diff --git a/content/docs/components/disclosure/toggle-group.mdx b/content/docs/components/disclosure/toggle-group.mdx index 57067efd80..022427bffa 100644 --- a/content/docs/components/disclosure/toggle-group.mdx +++ b/content/docs/components/disclosure/toggle-group.mdx @@ -38,7 +38,7 @@ interface ToggleGroupSchema { size?: 'sm' | 'default' | 'lg'; // Events - onValueChange?: string | ActionConfig; + onValueChange?: (value: string | string[]) => void; // States disabled?: boolean; diff --git a/content/docs/components/feedback/sonner.mdx b/content/docs/components/feedback/sonner.mdx index 2101f9c4fb..d3867eebab 100644 --- a/content/docs/components/feedback/sonner.mdx +++ b/content/docs/components/feedback/sonner.mdx @@ -28,10 +28,10 @@ The Sonner component provides beautiful toast notifications with a rich API. ```plaintext interface SonnerSchema { - action: 'sonner'; + type: 'sonner'; message: string; // Toast message description?: string; // Additional description - type?: 'default' | 'success' | 'error' | 'warning' | 'info'; + variant?: 'default' | 'success' | 'error' | 'warning' | 'info'; duration?: number; // Auto-close duration (ms) // Action diff --git a/content/docs/components/form/button.mdx b/content/docs/components/form/button.mdx index 0c020a0141..ec33db2324 100644 --- a/content/docs/components/form/button.mdx +++ b/content/docs/components/form/button.mdx @@ -61,7 +61,7 @@ interface ButtonSchema { loading?: boolean; // Actions - onClick?: string | ActionConfig; // Action on click + onClick?: () => void | Promise; // Click handler href?: string; // Link URL (renders as link) // Styling diff --git a/content/docs/components/form/form.mdx b/content/docs/components/form/form.mdx index f2601e8061..77c4ef4e70 100644 --- a/content/docs/components/form/form.mdx +++ b/content/docs/components/form/form.mdx @@ -47,7 +47,7 @@ interface FormSchema { }; // Events - onSubmit?: string | ActionConfig; + onSubmit?: (data: Record) => void | Promise; // Layout columns?: number; // Grid layout diff --git a/content/docs/components/form/input-otp.mdx b/content/docs/components/form/input-otp.mdx index e576139619..5a2ac21f51 100644 --- a/content/docs/components/form/input-otp.mdx +++ b/content/docs/components/form/input-otp.mdx @@ -32,8 +32,8 @@ interface InputOTPSchema { separator?: boolean; // Show visual separator // Events - onChange?: string | ActionConfig; - onComplete?: string | ActionConfig; + onChange?: (value: string) => void; + onComplete?: (value: string) => void; // States disabled?: boolean; diff --git a/content/docs/plugins/plugin-dashboard.mdx b/content/docs/plugins/plugin-dashboard.mdx index 3c6da6eeff..2699c25533 100644 --- a/content/docs/plugins/plugin-dashboard.mdx +++ b/content/docs/plugins/plugin-dashboard.mdx @@ -329,12 +329,19 @@ from widget `options`. In particular, on a dataset-bound gauge: ## TypeScript Support ```plaintext -import type { DashboardSchema, MetricCardSchema } from '@object-ui/plugin-dashboard'; +import type { DashboardComponentSchema, DashboardWidgetSchema } from '@object-ui/types'; -const dashboard: DashboardSchema = { +const widget: DashboardWidgetSchema = { + id: 'revenue', + title: 'Revenue', + type: 'metric-card', + layout: { x: 0, y: 0, w: 1, h: 1 }, +}; + +const dashboard: DashboardComponentSchema = { type: 'dashboard', columns: 3, - widgets: [...] + widgets: [widget], }; ```