@framed-dev/react 0.1.7 → 0.2.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 +233 -62
- package/dist/index.cjs +62339 -26398
- package/dist/index.d.cts +437 -351
- package/dist/index.d.ts +437 -351
- package/dist/index.js +61671 -26122
- package/dist/styles/framed.css +6474 -0
- package/package.json +43 -8
- package/styles.css +525 -0
- package/tailwind.config.js +207 -0
- package/tailwind.preset.js +86 -0
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,19 +1,425 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { AIConfig, AIFeatureResult, AnnotationData, AnnotationMode, Assignment, Attachment, AuthConfig, AuthMode, Comment, ElementInfo, FeedbackComment, FeedbackInfo, FramedApiClient, FramedConfig, LimitStatus, Mention, PageInfo, PendingAttachment, Position, SDKConfig, Session, SyncConfig, SyncResult, Task, TaskInfo, TaskStatus, TaskType, TranslationResult, UploadResult, UsageLimits, ViewportMode, WidgetConfig, WidgetDataLayer, WidgetFeatures, WizardCallbacks, createWizardCallbacks, getUserSupabase, initUserSupabase, isSupabaseInitialized, translateContent, uploadFile, uploadFont, uploadLogo } from '@framed-dev/core';
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
3
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import
|
|
3
|
+
import { FramedConfig, Session, WidgetDataLayer, SupabaseClient, FramedApiClient, WizardCallbacks, Task, LimitStatus, WidgetFeatures, AuthConfig, FeedbackComment, TaskStatus, SyncResult } from '@framed-dev/core';
|
|
4
|
+
export { AIConfig, AIFeatureResult, AnnotationData, AnnotationMode, Assignment, Attachment, AuthConfig, AuthMode, Comment, ElementInfo, FeedbackComment, FeedbackInfo, FramedApiClient, FramedConfig, LimitStatus, Mention, PageInfo, PendingAttachment, Position, SDKConfig, Session, SyncConfig, SyncResult, Task, TaskInfo, TaskStatus, TaskType, TranslationResult, UsageLimits, ViewportMode, WidgetConfig, WidgetDataLayer, WidgetFeatures, WizardCallbacks, createWizardCallbacks, getUserSupabase, initUserSupabase, isSupabaseInitialized, translateContent, uploadFile, uploadFont, uploadLogo } from '@framed-dev/core';
|
|
5
5
|
import { SupabaseClient as SupabaseClient$1 } from '@supabase/supabase-js';
|
|
6
6
|
export { AIQuestionRenderer, AISuggestionState, AreaAnnotationOverlay, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatModal, ChatModalProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, ElementSelector, ElementSelectorProps, ExportModal, ExportModalProps, FeedbackDrawer, FeedbackDrawerProps, FeedbackOverviewContent, Input, Label, LivePreviewPanelProps, LocalizedContent, MultiSelectOverlay, Phase2Layout, Phase2MobilePreviewTrigger, Phase2MobileSidebarTrigger, Phase2NavigationFooter, Phase2PreviewPanel, Phase2SectionHeader, Phase2Sidebar, Phase2StatusBadge, Phase2StatusIndicator, Phase4Layout, Phase4MobileFeedbackTrigger, Phase4MobileSidebarTrigger, Phase4ReviewLayout, Phase4Sidebar, ProjectContextInput, ProjectIdeaInput, ProjectTypeSelector, QuickInput, QuickInputProps, RegionSelectOverlay, RichTextEditor, RichTextEditorProps, RichTextEditorRef, ScrollArea, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger, Skeleton, TextEditOverlay, TextEditOverlayProps, Textarea, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Toolbar, ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Widget, WidgetProps, cn, toast, useToast } from '@framed/widget-core';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Type declarations for the compiled framed-lib bundle.
|
|
10
|
+
*
|
|
11
|
+
* The framed-app library is built without TypeScript declarations (dts: false)
|
|
12
|
+
* due to TipTap type incompatibilities. This file provides type declarations
|
|
13
|
+
* for the SDK to re-export the library.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
// ============================================
|
|
19
|
+
// SUPABASE
|
|
20
|
+
// ============================================
|
|
21
|
+
declare function initSupabase$1(url: string, anonKey: string): any;
|
|
22
|
+
declare function getSupabase$1(): any;
|
|
23
|
+
declare const supabase$1: any;
|
|
24
|
+
|
|
25
|
+
// ============================================
|
|
26
|
+
// CONTEXTS
|
|
27
|
+
// ============================================
|
|
28
|
+
declare const AuthProvider$1: ComponentType<{ children: ReactNode }>;
|
|
29
|
+
declare function useAuth$1(): any;
|
|
30
|
+
|
|
31
|
+
// ============================================
|
|
32
|
+
// HOOKS
|
|
33
|
+
// ============================================
|
|
34
|
+
// Core UI hooks
|
|
35
|
+
declare function useIsMobile(): boolean;
|
|
36
|
+
|
|
37
|
+
// Project & Agency hooks
|
|
38
|
+
declare function useProject(projectId?: string): any;
|
|
39
|
+
declare function useAgency(agencyId?: string | null): any;
|
|
40
|
+
declare function useAutoSave(projectId: string, debounceMs?: number): any;
|
|
41
|
+
declare function usePhaseAccess(project: any, requiredPhase: number, projectId: string): void;
|
|
42
|
+
declare function useProjectAccess(projectId: string): any;
|
|
43
|
+
declare function useProjectMembers(projectId: string): any;
|
|
44
|
+
declare function useProjectSettings(projectId: string): any;
|
|
45
|
+
declare function useProjectShares(projectId: string): any;
|
|
46
|
+
declare function useShareAccess(shareToken?: string): any;
|
|
47
|
+
declare function useModuleUsage(agencyId: string): any;
|
|
48
|
+
|
|
49
|
+
// Phase 4 hooks
|
|
50
|
+
declare function usePhase2Navigation(pages: any[], onPageSelect: (id: string) => void): any;
|
|
51
|
+
declare function usePhase4Navigation(pages: any[], onPageSelect: (id: string) => void): any;
|
|
52
|
+
declare function useFeedbackValidation(): any;
|
|
53
|
+
|
|
54
|
+
// Phase 5 hooks
|
|
55
|
+
declare function useMaintenanceItems(projectId: string | undefined, agencyId?: string): any;
|
|
56
|
+
declare function useMeetingNotes(projectId: string): any;
|
|
57
|
+
declare function useTimeTracking(projectId: string): any;
|
|
58
|
+
declare function useChangelog(projectId: string): any;
|
|
59
|
+
declare function useDomainMonitoring(projectId: string): any;
|
|
60
|
+
declare function useUptimeMonitoring(projectId: string): any;
|
|
61
|
+
declare function useMonthlyReports(projectId: string): any;
|
|
62
|
+
declare function useImprovementSuggestions(projectId: string): any;
|
|
63
|
+
declare function useInternalNotes(projectId: string): any;
|
|
64
|
+
declare function useTaskOverview(projectId: string): any;
|
|
65
|
+
declare function useSiteAnalytics(projectId: string): any;
|
|
66
|
+
|
|
67
|
+
// Monitoring & Analysis hooks
|
|
68
|
+
declare function usePerformanceAnalysis(projectId: string): any;
|
|
69
|
+
declare function useSeoAudit(projectId: string): any;
|
|
70
|
+
|
|
71
|
+
// Notification hooks
|
|
72
|
+
declare function useNotifications(): any;
|
|
73
|
+
declare function usePushNotifications(): any;
|
|
74
|
+
|
|
75
|
+
// Session hooks
|
|
76
|
+
declare function useAnonymousSession(): any;
|
|
77
|
+
|
|
78
|
+
// Super Admin hooks
|
|
79
|
+
declare function useSuperAdminMetrics(): any;
|
|
80
|
+
declare function useAbuseIncidents(): any;
|
|
81
|
+
declare function useCostMetrics(): any;
|
|
82
|
+
declare const Tabs: ComponentType<any>;
|
|
83
|
+
declare const TabsContent: ComponentType<any>;
|
|
84
|
+
declare const TabsList: ComponentType<any>;
|
|
85
|
+
declare const TabsTrigger: ComponentType<any>;
|
|
86
|
+
declare const Checkbox: ComponentType<any>;
|
|
87
|
+
declare const Progress: ComponentType<any>;
|
|
88
|
+
declare const Avatar: ComponentType<any>;
|
|
89
|
+
declare const AvatarFallback: ComponentType<any>;
|
|
90
|
+
declare const AvatarImage: ComponentType<any>;
|
|
91
|
+
declare const DropdownMenuLabel: ComponentType<any>;
|
|
92
|
+
declare const DropdownMenuSeparator: ComponentType<any>;
|
|
93
|
+
declare const Popover: ComponentType<any>;
|
|
94
|
+
declare const PopoverContent: ComponentType<any>;
|
|
95
|
+
declare const PopoverTrigger: ComponentType<any>;
|
|
96
|
+
declare const Switch: ComponentType<any>;
|
|
97
|
+
declare const Table: ComponentType<any>;
|
|
98
|
+
declare const TableBody: ComponentType<any>;
|
|
99
|
+
declare const TableCell: ComponentType<any>;
|
|
100
|
+
declare const TableHead: ComponentType<any>;
|
|
101
|
+
declare const TableHeader: ComponentType<any>;
|
|
102
|
+
declare const TableRow: ComponentType<any>;
|
|
103
|
+
declare const Slider: ComponentType<any>;
|
|
104
|
+
declare const Alert: ComponentType<any>;
|
|
105
|
+
declare const AlertDescription: ComponentType<any>;
|
|
106
|
+
declare const AlertTitle: ComponentType<any>;
|
|
107
|
+
declare const RadioGroup: ComponentType<any>;
|
|
108
|
+
declare const RadioGroupItem: ComponentType<any>;
|
|
109
|
+
|
|
110
|
+
// Additional UI components
|
|
111
|
+
declare const Calendar: ComponentType<any>;
|
|
112
|
+
declare const Command: ComponentType<any>;
|
|
113
|
+
declare const CommandEmpty: ComponentType<any>;
|
|
114
|
+
declare const CommandGroup: ComponentType<any>;
|
|
115
|
+
declare const CommandInput: ComponentType<any>;
|
|
116
|
+
declare const CommandItem: ComponentType<any>;
|
|
117
|
+
declare const CommandList: ComponentType<any>;
|
|
118
|
+
|
|
119
|
+
// ============================================
|
|
120
|
+
// PAGE COMPONENTS
|
|
121
|
+
// ============================================
|
|
122
|
+
declare const Dashboard: ComponentType<any>;
|
|
123
|
+
declare const WizardPhase1New: ComponentType<any>;
|
|
124
|
+
declare const WizardPhase2New: ComponentType<any>;
|
|
125
|
+
declare const WizardPhaseOverview: ComponentType<any>;
|
|
126
|
+
declare const WizardPhase4New: ComponentType<any>;
|
|
127
|
+
declare const WizardPhase5New: ComponentType<any>;
|
|
128
|
+
declare const WizardBuildSpec: ComponentType<any>;
|
|
129
|
+
declare const FeedbackRoundManager: ComponentType<any>;
|
|
130
|
+
declare const CommentThreadPanel: ComponentType<any>;
|
|
131
|
+
declare const ScreenshotViewer: ComponentType<any>;
|
|
132
|
+
declare const PageBrowser: ComponentType<any>;
|
|
133
|
+
declare const ImageReviewPanel: ComponentType<any>;
|
|
134
|
+
declare const TextEditPanel: ComponentType<any>;
|
|
135
|
+
declare const DiffViewer: ComponentType<any>;
|
|
136
|
+
declare const FeedbackFilters: ComponentType<any>;
|
|
137
|
+
declare const ApprovalWorkflow: ComponentType<any>;
|
|
138
|
+
|
|
139
|
+
// ============================================
|
|
140
|
+
// PHASE 5 COMPONENTS
|
|
141
|
+
// ============================================
|
|
142
|
+
declare const KanbanBoard: ComponentType<any>;
|
|
143
|
+
declare const MaintenanceItemCard: ComponentType<any>;
|
|
144
|
+
declare const TimeTrackingPanel: ComponentType<any>;
|
|
145
|
+
declare const HourPackagesPanel: ComponentType<any>;
|
|
146
|
+
declare const ChangelogPanel: ComponentType<any>;
|
|
147
|
+
declare const DomainMonitoringPanel: ComponentType<any>;
|
|
148
|
+
declare const UptimeMonitoringPanel: ComponentType<any>;
|
|
149
|
+
declare const MonthlyReportPanel: ComponentType<any>;
|
|
150
|
+
declare const ImprovementSuggestionsPanel: ComponentType<any>;
|
|
151
|
+
declare const InboxView: ComponentType<any>;
|
|
152
|
+
declare const Phase5Sidebar: ComponentType<any>;
|
|
153
|
+
|
|
154
|
+
// ============================================
|
|
155
|
+
// BUILD SPEC COMPONENTS
|
|
156
|
+
// ============================================
|
|
157
|
+
declare const BuildSpecEditor: ComponentType<any>;
|
|
158
|
+
declare const ExportToolSelector: ComponentType<any>;
|
|
159
|
+
|
|
160
|
+
// Comment utilities
|
|
161
|
+
declare function uploadCommentAttachment(file: File, projectId: string, path?: string): Promise<any>;
|
|
162
|
+
declare function deleteCommentAttachment(url: string): Promise<void>;
|
|
163
|
+
declare function extractMentions(text: string): string[];
|
|
164
|
+
declare function formatMentions(text: string, members: any[]): string;
|
|
165
|
+
declare function uploadMaintenanceAttachment(file: File, projectId: string, itemId: string): Promise<any>;
|
|
166
|
+
declare function deleteMaintenanceAttachment(url: string): Promise<void>;
|
|
167
|
+
|
|
168
|
+
// Storage utilities
|
|
169
|
+
declare function uploadMedia(file: File, options: UploadOptions): Promise<UploadResult>;
|
|
170
|
+
declare function deleteMedia(url: string): Promise<void>;
|
|
171
|
+
declare function listSectionMedia(projectId: string, pageId: string, sectionId: string): Promise<any[]>;
|
|
172
|
+
declare function uploadScreenshot(file: File | Blob, projectId: string, pageId?: string): Promise<UploadResult>;
|
|
173
|
+
declare function formatFileSize(bytes: number): string;
|
|
174
|
+
interface UploadOptions {
|
|
175
|
+
bucket?: string;
|
|
176
|
+
path?: string;
|
|
177
|
+
projectId?: string;
|
|
178
|
+
}
|
|
179
|
+
interface UploadResult {
|
|
180
|
+
url: string;
|
|
181
|
+
path: string;
|
|
182
|
+
size: number;
|
|
183
|
+
type: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Localized content utilities
|
|
187
|
+
declare function getLocalizedValue(value: any, locale: string): string;
|
|
188
|
+
declare function setLocalizedValue(obj: any, key: string, value: string, locale: string): any;
|
|
189
|
+
declare function createLocalizedString(value: string, locale?: string): any;
|
|
190
|
+
|
|
191
|
+
// Permission utilities
|
|
192
|
+
declare function canEditProject(user: any, project: any, members?: any[]): boolean;
|
|
193
|
+
declare function hasAdminPrivileges(user: any): boolean;
|
|
194
|
+
declare function canManageTeam(user: any): boolean;
|
|
195
|
+
declare function canAccessPhase(user: any, project: any, phase: number): boolean;
|
|
196
|
+
|
|
197
|
+
// Module management utilities
|
|
198
|
+
declare function isModuleEnabled(project: any, module: string): boolean;
|
|
199
|
+
declare function isModuleVisible(project: any, module: string): boolean;
|
|
200
|
+
declare function isPhaseEnabled(project: any, phase: number): boolean;
|
|
201
|
+
declare function isPhaseVisible(project: any, phase: number): boolean;
|
|
202
|
+
declare function getFirstAccessiblePhase(project: any): number;
|
|
203
|
+
declare function getFirstVisiblePhase(project: any): number;
|
|
204
|
+
declare function getDefaultModules(project: any): string[];
|
|
205
|
+
declare function getPhaseModule(phase: number): string | null;
|
|
206
|
+
|
|
207
|
+
// Feature flags
|
|
208
|
+
declare function isFeatureEnabled(feature: string, agency?: any): boolean;
|
|
209
|
+
declare const FEATURE_FLAGS: Record<string, boolean>;
|
|
210
|
+
|
|
211
|
+
// Date filters
|
|
212
|
+
declare function formatDate(date: Date | string, format?: string): string;
|
|
213
|
+
declare function parseDate(dateString: string): Date;
|
|
214
|
+
declare function isToday(date: Date): boolean;
|
|
215
|
+
declare function isThisWeek(date: Date): boolean;
|
|
216
|
+
declare function isThisMonth(date: Date): boolean;
|
|
217
|
+
|
|
218
|
+
// Build spec utilities
|
|
219
|
+
declare function generateBuildSpec(project: any): any;
|
|
220
|
+
declare function exportBuildSpec(project: any, format: string): string;
|
|
221
|
+
|
|
222
|
+
// Prompt generator
|
|
223
|
+
declare function generatePrompt(project: any, tool: string): string;
|
|
224
|
+
declare const SUPPORTED_AI_TOOLS: string[];
|
|
225
|
+
|
|
226
|
+
// ============================================
|
|
227
|
+
// SERVICES
|
|
228
|
+
// ============================================
|
|
229
|
+
// AI services
|
|
230
|
+
declare function getLayoutSuggestions(project: any, pageId: string): Promise<any>;
|
|
231
|
+
declare function clearSuggestionsCache(): void;
|
|
232
|
+
declare function clearPageSuggestionsCache(pageId: string): void;
|
|
233
|
+
declare function getLayoutById(layoutId: string): any;
|
|
234
|
+
declare function mergeLayoutWithHints(layout: any, hints: any[]): any;
|
|
235
|
+
declare function getAllLayoutsForPage(pageType: string): any[];
|
|
236
|
+
|
|
237
|
+
declare function generateProjectOverview(project: any): Promise<any>;
|
|
238
|
+
|
|
239
|
+
declare function analyzeProjectIdea(idea: string): Promise<any>;
|
|
240
|
+
declare function generateDynamicQuestions(context: any): Promise<any>;
|
|
241
|
+
declare function createAIConversation(): any;
|
|
242
|
+
declare function updateConversationWithQuestions(conversation: any, questions: any[]): any;
|
|
243
|
+
|
|
244
|
+
declare function generateSiteStructure(project: any): Promise<any>;
|
|
245
|
+
declare function convertToPhase2Data(structure: any): any;
|
|
246
|
+
declare function needsStructureGeneration(project: any): boolean;
|
|
247
|
+
declare function mergeStructureWithExisting(structure: any, existing: any): any;
|
|
248
|
+
|
|
249
|
+
// Performance service
|
|
250
|
+
declare function savePerformanceReport(projectId: string, report: any): Promise<void>;
|
|
251
|
+
declare function getPerformanceReports(projectId: string): Promise<any[]>;
|
|
252
|
+
declare function getPerformanceUsage(agencyId: string): Promise<any>;
|
|
253
|
+
declare function analyzeUrl(url: string): Promise<any>;
|
|
254
|
+
declare function formatMs(ms: number): string;
|
|
255
|
+
declare function formatBytes(bytes: number): string;
|
|
256
|
+
declare function getScoreColor(score: number): string;
|
|
257
|
+
declare function getScoreBgColor(score: number): string;
|
|
258
|
+
|
|
259
|
+
// Screenshot service
|
|
260
|
+
declare function captureScreenshot(url: string, options?: any): Promise<any>;
|
|
261
|
+
declare function uploadPageScreenshot(projectId: string, pageId: string, screenshot: Blob): Promise<any>;
|
|
262
|
+
|
|
263
|
+
// SEO service
|
|
264
|
+
declare function runSeoAudit(url: string): Promise<any>;
|
|
265
|
+
declare function getSeoReports(projectId: string): Promise<any[]>;
|
|
266
|
+
declare function getSeoPageReports(projectId: string, pageUrl: string): Promise<any[]>;
|
|
267
|
+
|
|
268
|
+
// Stripe service
|
|
269
|
+
declare function createCheckoutSession(options: any): Promise<any>;
|
|
270
|
+
declare function createPortalSession(): Promise<any>;
|
|
271
|
+
declare function getSubscriptionStatus(customerId: string): Promise<any>;
|
|
272
|
+
|
|
273
|
+
// Text content service
|
|
274
|
+
declare function crawlPageTextContent(url: string, options?: any): Promise<any>;
|
|
275
|
+
declare function addLanguageContent(content: any, language: string): any;
|
|
276
|
+
declare function applyBlockEdit(content: any, blockId: string, newText: string): any;
|
|
277
|
+
declare function applyListEdit(content: any, listId: string, items: string[]): any;
|
|
278
|
+
declare function restoreBlockToOriginal(content: any, blockId: string): any;
|
|
279
|
+
declare function computeTextDiff(original: string, modified: string): any[];
|
|
280
|
+
declare function isBlockModified(content: any, blockId: string): boolean;
|
|
281
|
+
declare function getModifiedCount(content: any): number;
|
|
282
|
+
declare function getTotalBlockCount(content: any): number;
|
|
283
|
+
declare function getBlockHistory(content: any, blockId: string): any[];
|
|
284
|
+
declare function getRecentEdits(content: any): any[];
|
|
285
|
+
declare function exportTextChanges(content: any): any;
|
|
286
|
+
declare function getLanguageLabel(code: string): string;
|
|
287
|
+
declare const LANGUAGE_LABELS: Record<string, string>;
|
|
288
|
+
|
|
289
|
+
// Type exports for services
|
|
290
|
+
interface SectionHint {
|
|
291
|
+
sectionId: string;
|
|
292
|
+
hint: string;
|
|
293
|
+
}
|
|
294
|
+
interface LayoutRecommendation {
|
|
295
|
+
layoutId: string;
|
|
296
|
+
confidence: number;
|
|
297
|
+
reasoning: string;
|
|
298
|
+
}
|
|
299
|
+
interface LayoutSuggestionResult {
|
|
300
|
+
recommendations: LayoutRecommendation[];
|
|
301
|
+
hints: SectionHint[];
|
|
302
|
+
}
|
|
303
|
+
interface ProjectAnalysisResult {
|
|
304
|
+
category: string;
|
|
305
|
+
confidence: number;
|
|
306
|
+
suggestedPages: string[];
|
|
307
|
+
}
|
|
308
|
+
interface InitialQuestion {
|
|
309
|
+
id: string;
|
|
310
|
+
question: string;
|
|
311
|
+
type: string;
|
|
312
|
+
options?: string[];
|
|
313
|
+
}
|
|
314
|
+
interface QuestionContext {
|
|
315
|
+
projectCategory: string;
|
|
316
|
+
answers: Record<string, any>;
|
|
317
|
+
}
|
|
318
|
+
interface GenerateQuestionsResult {
|
|
319
|
+
questions: GeneratedQuestion[];
|
|
320
|
+
}
|
|
321
|
+
interface GeneratedQuestion {
|
|
322
|
+
id: string;
|
|
323
|
+
question: string;
|
|
324
|
+
type: string;
|
|
325
|
+
options?: string[];
|
|
326
|
+
required?: boolean;
|
|
327
|
+
}
|
|
328
|
+
interface SiteStructureResult {
|
|
329
|
+
pages: any[];
|
|
330
|
+
navigation: any;
|
|
331
|
+
}
|
|
332
|
+
interface CrawlProgress {
|
|
333
|
+
total: number;
|
|
334
|
+
completed: number;
|
|
335
|
+
currentUrl: string;
|
|
336
|
+
}
|
|
337
|
+
interface CrawlResult {
|
|
338
|
+
success: boolean;
|
|
339
|
+
content: any;
|
|
340
|
+
error?: string;
|
|
341
|
+
}
|
|
342
|
+
interface DiffPart {
|
|
343
|
+
value: string;
|
|
344
|
+
added?: boolean;
|
|
345
|
+
removed?: boolean;
|
|
346
|
+
}
|
|
347
|
+
interface ExportedChange {
|
|
348
|
+
blockId: string;
|
|
349
|
+
original: string;
|
|
350
|
+
modified: string;
|
|
351
|
+
}
|
|
352
|
+
interface TextChangesExport {
|
|
353
|
+
changes: ExportedChange[];
|
|
354
|
+
summary: {
|
|
355
|
+
totalChanges: number;
|
|
356
|
+
timestamp: string;
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
interface FramedAppProps {
|
|
361
|
+
/**
|
|
362
|
+
* Base path for all routes. Defaults to '/framed'.
|
|
363
|
+
* This should match your Next.js catch-all route path.
|
|
364
|
+
* Example: If you have `/app/framed/[[...slug]]/page.tsx`, use basename="/framed"
|
|
365
|
+
*/
|
|
366
|
+
basename?: string;
|
|
367
|
+
/**
|
|
368
|
+
* Supabase project URL. Can also be set via NEXT_PUBLIC_SUPABASE_URL env var.
|
|
369
|
+
*/
|
|
370
|
+
supabaseUrl?: string;
|
|
371
|
+
/**
|
|
372
|
+
* Supabase anon key. Can also be set via NEXT_PUBLIC_SUPABASE_ANON_KEY env var.
|
|
373
|
+
*/
|
|
374
|
+
supabaseKey?: string;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* FramedApp - Complete Framed application with routing.
|
|
378
|
+
*
|
|
379
|
+
* This component embeds React Router inside your Next.js app,
|
|
380
|
+
* providing all Framed pages (Dashboard, Phase 4, Phase 5, Build Spec).
|
|
381
|
+
*
|
|
382
|
+
* Usage with Next.js App Router:
|
|
383
|
+
*
|
|
384
|
+
* 1. Create a catch-all route at `/app/framed/[[...slug]]/page.tsx`
|
|
385
|
+
* 2. Import and render FramedApp with matching basename:
|
|
386
|
+
*
|
|
387
|
+
* ```tsx
|
|
388
|
+
* "use client";
|
|
389
|
+
* import { FramedApp } from '@framed-dev/react';
|
|
390
|
+
*
|
|
391
|
+
* export default function FramedPage() {
|
|
392
|
+
* return <FramedApp basename="/framed" />;
|
|
393
|
+
* }
|
|
394
|
+
* ```
|
|
395
|
+
*
|
|
396
|
+
* The [[...slug]] catch-all route ensures Next.js sends all /framed/* URLs
|
|
397
|
+
* to this page, and React Router handles the routing within.
|
|
398
|
+
*/
|
|
399
|
+
declare function FramedApp({ basename, supabaseUrl, supabaseKey, }: FramedAppProps): react_jsx_runtime.JSX.Element | null;
|
|
400
|
+
|
|
8
401
|
type WidgetVersion = 'latest' | 'v3' | string;
|
|
9
402
|
type WidgetSource = 'cdn' | 'bundled';
|
|
10
403
|
interface FramedProviderConfig extends FramedConfig {
|
|
11
404
|
widgetVersion?: WidgetVersion;
|
|
12
405
|
widgetSource?: WidgetSource;
|
|
13
406
|
}
|
|
407
|
+
interface SDKProject {
|
|
408
|
+
id: string;
|
|
409
|
+
name: string;
|
|
410
|
+
status: string;
|
|
411
|
+
project_type: string;
|
|
412
|
+
data?: Record<string, unknown>;
|
|
413
|
+
created_at?: string;
|
|
414
|
+
updated_at?: string;
|
|
415
|
+
}
|
|
14
416
|
interface FramedContextValue {
|
|
15
417
|
config: FramedProviderConfig;
|
|
16
418
|
projectId: string;
|
|
419
|
+
currentProject: SDKProject | null;
|
|
420
|
+
isProjectLoading: boolean;
|
|
421
|
+
projectError: string | null;
|
|
422
|
+
updateCurrentProject: (updates: Partial<SDKProject>) => Promise<void>;
|
|
17
423
|
isAuthenticated: boolean;
|
|
18
424
|
session: Session | null;
|
|
19
425
|
isAuthLoading: boolean;
|
|
@@ -37,7 +443,7 @@ interface FramedContextValue {
|
|
|
37
443
|
isWidgetReady: boolean;
|
|
38
444
|
}
|
|
39
445
|
interface FramedProviderProps {
|
|
40
|
-
config?: FramedProviderConfig
|
|
446
|
+
config?: Partial<FramedProviderConfig>;
|
|
41
447
|
children: ReactNode;
|
|
42
448
|
}
|
|
43
449
|
declare function FramedProvider({ config, children }: FramedProviderProps): react_jsx_runtime.JSX.Element;
|
|
@@ -51,6 +457,16 @@ declare function useFramedCallbacks(): WizardCallbacks;
|
|
|
51
457
|
* Hook to check if AI features are available.
|
|
52
458
|
*/
|
|
53
459
|
declare function useHasAIFeatures(): boolean;
|
|
460
|
+
/**
|
|
461
|
+
* Hook to access the current SDK project.
|
|
462
|
+
* Returns the auto-loaded/created project for this SDK install.
|
|
463
|
+
*/
|
|
464
|
+
declare function useCurrentProject(): {
|
|
465
|
+
project: SDKProject | null;
|
|
466
|
+
isLoading: boolean;
|
|
467
|
+
error: string | null;
|
|
468
|
+
updateProject: (updates: Partial<SDKProject>) => Promise<void>;
|
|
469
|
+
};
|
|
54
470
|
|
|
55
471
|
interface AuthContextValue {
|
|
56
472
|
isAuthenticated: boolean;
|
|
@@ -276,326 +692,6 @@ declare class SyncDataLayer implements WidgetDataLayer {
|
|
|
276
692
|
markTaskDone(taskId: string): Promise<void>;
|
|
277
693
|
}
|
|
278
694
|
|
|
279
|
-
/**
|
|
280
|
-
* Navigation hook that works without react-router-dom
|
|
281
|
-
* Uses window.location for navigation
|
|
282
|
-
*/
|
|
283
|
-
declare function useNavigate(): (path: string, options?: {
|
|
284
|
-
replace?: boolean;
|
|
285
|
-
}) => void;
|
|
286
|
-
/**
|
|
287
|
-
* Get URL params from current location
|
|
288
|
-
* Works without react-router-dom
|
|
289
|
-
*/
|
|
290
|
-
declare function useParams<T extends Record<string, string>>(): T;
|
|
291
|
-
/**
|
|
292
|
-
* Get current location info
|
|
293
|
-
* Works without react-router-dom
|
|
294
|
-
*/
|
|
295
|
-
declare function useLocation(): {
|
|
296
|
-
pathname: string;
|
|
297
|
-
search: string;
|
|
298
|
-
hash: string;
|
|
299
|
-
state: null;
|
|
300
|
-
};
|
|
301
|
-
/**
|
|
302
|
-
* Search params hook
|
|
303
|
-
* Works without react-router-dom
|
|
304
|
-
*/
|
|
305
|
-
declare function useSearchParams(): [URLSearchParams, (params: URLSearchParams) => void];
|
|
306
|
-
/**
|
|
307
|
-
* Link component that works without react-router-dom
|
|
308
|
-
* Renders a plain anchor tag
|
|
309
|
-
* Accepts either 'to' or 'href' for compatibility
|
|
310
|
-
*/
|
|
311
|
-
interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
312
|
-
to?: string;
|
|
313
|
-
href?: string;
|
|
314
|
-
replace?: boolean;
|
|
315
|
-
children: React.ReactNode;
|
|
316
|
-
}
|
|
317
|
-
declare function Link({ to, href, replace, children, onClick, ...props }: LinkProps): React.DetailedReactHTMLElement<{
|
|
318
|
-
id?: string | undefined | undefined;
|
|
319
|
-
type?: string | undefined | undefined;
|
|
320
|
-
slot?: string | undefined | undefined;
|
|
321
|
-
style?: React.CSSProperties | undefined;
|
|
322
|
-
title?: string | undefined | undefined;
|
|
323
|
-
content?: string | undefined | undefined;
|
|
324
|
-
dir?: string | undefined | undefined;
|
|
325
|
-
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
|
|
326
|
-
onSubmit?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
327
|
-
className?: string | undefined | undefined;
|
|
328
|
-
download?: any;
|
|
329
|
-
hrefLang?: string | undefined | undefined;
|
|
330
|
-
media?: string | undefined | undefined;
|
|
331
|
-
ping?: string | undefined | undefined;
|
|
332
|
-
target?: React.HTMLAttributeAnchorTarget | undefined;
|
|
333
|
-
referrerPolicy?: React.HTMLAttributeReferrerPolicy | undefined;
|
|
334
|
-
defaultChecked?: boolean | undefined | undefined;
|
|
335
|
-
defaultValue?: string | number | readonly string[] | undefined;
|
|
336
|
-
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
337
|
-
suppressHydrationWarning?: boolean | undefined | undefined;
|
|
338
|
-
accessKey?: string | undefined | undefined;
|
|
339
|
-
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
|
|
340
|
-
autoFocus?: boolean | undefined | undefined;
|
|
341
|
-
contentEditable?: (boolean | "false" | "true") | "inherit" | "plaintext-only" | undefined;
|
|
342
|
-
contextMenu?: string | undefined | undefined;
|
|
343
|
-
draggable?: (boolean | "false" | "true") | undefined;
|
|
344
|
-
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
345
|
-
hidden?: boolean | undefined | undefined;
|
|
346
|
-
lang?: string | undefined | undefined;
|
|
347
|
-
nonce?: string | undefined | undefined;
|
|
348
|
-
spellCheck?: (boolean | "false" | "true") | undefined;
|
|
349
|
-
tabIndex?: number | undefined | undefined;
|
|
350
|
-
translate?: "yes" | "no" | undefined | undefined;
|
|
351
|
-
radioGroup?: string | undefined | undefined;
|
|
352
|
-
role?: React.AriaRole | undefined;
|
|
353
|
-
about?: string | undefined | undefined;
|
|
354
|
-
datatype?: string | undefined | undefined;
|
|
355
|
-
inlist?: any;
|
|
356
|
-
prefix?: string | undefined | undefined;
|
|
357
|
-
property?: string | undefined | undefined;
|
|
358
|
-
rel?: string | undefined | undefined;
|
|
359
|
-
resource?: string | undefined | undefined;
|
|
360
|
-
rev?: string | undefined | undefined;
|
|
361
|
-
typeof?: string | undefined | undefined;
|
|
362
|
-
vocab?: string | undefined | undefined;
|
|
363
|
-
autoCorrect?: string | undefined | undefined;
|
|
364
|
-
autoSave?: string | undefined | undefined;
|
|
365
|
-
color?: string | undefined | undefined;
|
|
366
|
-
itemProp?: string | undefined | undefined;
|
|
367
|
-
itemScope?: boolean | undefined | undefined;
|
|
368
|
-
itemType?: string | undefined | undefined;
|
|
369
|
-
itemID?: string | undefined | undefined;
|
|
370
|
-
itemRef?: string | undefined | undefined;
|
|
371
|
-
results?: number | undefined | undefined;
|
|
372
|
-
security?: string | undefined | undefined;
|
|
373
|
-
unselectable?: "on" | "off" | undefined | undefined;
|
|
374
|
-
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
375
|
-
is?: string | undefined | undefined;
|
|
376
|
-
exportparts?: string | undefined | undefined;
|
|
377
|
-
part?: string | undefined | undefined;
|
|
378
|
-
"aria-activedescendant"?: string | undefined | undefined;
|
|
379
|
-
"aria-atomic"?: (boolean | "false" | "true") | undefined;
|
|
380
|
-
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
381
|
-
"aria-braillelabel"?: string | undefined | undefined;
|
|
382
|
-
"aria-brailleroledescription"?: string | undefined | undefined;
|
|
383
|
-
"aria-busy"?: (boolean | "false" | "true") | undefined;
|
|
384
|
-
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
385
|
-
"aria-colcount"?: number | undefined | undefined;
|
|
386
|
-
"aria-colindex"?: number | undefined | undefined;
|
|
387
|
-
"aria-colindextext"?: string | undefined | undefined;
|
|
388
|
-
"aria-colspan"?: number | undefined | undefined;
|
|
389
|
-
"aria-controls"?: string | undefined | undefined;
|
|
390
|
-
"aria-describedby"?: string | undefined | undefined;
|
|
391
|
-
"aria-description"?: string | undefined | undefined;
|
|
392
|
-
"aria-details"?: string | undefined | undefined;
|
|
393
|
-
"aria-disabled"?: (boolean | "false" | "true") | undefined;
|
|
394
|
-
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
|
|
395
|
-
"aria-errormessage"?: string | undefined | undefined;
|
|
396
|
-
"aria-expanded"?: (boolean | "false" | "true") | undefined;
|
|
397
|
-
"aria-flowto"?: string | undefined | undefined;
|
|
398
|
-
"aria-grabbed"?: (boolean | "false" | "true") | undefined;
|
|
399
|
-
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
|
|
400
|
-
"aria-hidden"?: (boolean | "false" | "true") | undefined;
|
|
401
|
-
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
|
|
402
|
-
"aria-keyshortcuts"?: string | undefined | undefined;
|
|
403
|
-
"aria-label"?: string | undefined | undefined;
|
|
404
|
-
"aria-labelledby"?: string | undefined | undefined;
|
|
405
|
-
"aria-level"?: number | undefined | undefined;
|
|
406
|
-
"aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
|
|
407
|
-
"aria-modal"?: (boolean | "false" | "true") | undefined;
|
|
408
|
-
"aria-multiline"?: (boolean | "false" | "true") | undefined;
|
|
409
|
-
"aria-multiselectable"?: (boolean | "false" | "true") | undefined;
|
|
410
|
-
"aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
|
|
411
|
-
"aria-owns"?: string | undefined | undefined;
|
|
412
|
-
"aria-placeholder"?: string | undefined | undefined;
|
|
413
|
-
"aria-posinset"?: number | undefined | undefined;
|
|
414
|
-
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
415
|
-
"aria-readonly"?: (boolean | "false" | "true") | undefined;
|
|
416
|
-
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
|
|
417
|
-
"aria-required"?: (boolean | "false" | "true") | undefined;
|
|
418
|
-
"aria-roledescription"?: string | undefined | undefined;
|
|
419
|
-
"aria-rowcount"?: number | undefined | undefined;
|
|
420
|
-
"aria-rowindex"?: number | undefined | undefined;
|
|
421
|
-
"aria-rowindextext"?: string | undefined | undefined;
|
|
422
|
-
"aria-rowspan"?: number | undefined | undefined;
|
|
423
|
-
"aria-selected"?: (boolean | "false" | "true") | undefined;
|
|
424
|
-
"aria-setsize"?: number | undefined | undefined;
|
|
425
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
|
|
426
|
-
"aria-valuemax"?: number | undefined | undefined;
|
|
427
|
-
"aria-valuemin"?: number | undefined | undefined;
|
|
428
|
-
"aria-valuenow"?: number | undefined | undefined;
|
|
429
|
-
"aria-valuetext"?: string | undefined | undefined;
|
|
430
|
-
dangerouslySetInnerHTML?: {
|
|
431
|
-
__html: string | TrustedHTML;
|
|
432
|
-
} | undefined | undefined;
|
|
433
|
-
onCopy?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
434
|
-
onCopyCapture?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
435
|
-
onCut?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
436
|
-
onCutCapture?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
437
|
-
onPaste?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
438
|
-
onPasteCapture?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
|
|
439
|
-
onCompositionEnd?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
440
|
-
onCompositionEndCapture?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
441
|
-
onCompositionStart?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
442
|
-
onCompositionStartCapture?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
443
|
-
onCompositionUpdate?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
444
|
-
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLAnchorElement> | undefined;
|
|
445
|
-
onFocus?: React.FocusEventHandler<HTMLAnchorElement> | undefined;
|
|
446
|
-
onFocusCapture?: React.FocusEventHandler<HTMLAnchorElement> | undefined;
|
|
447
|
-
onBlur?: React.FocusEventHandler<HTMLAnchorElement> | undefined;
|
|
448
|
-
onBlurCapture?: React.FocusEventHandler<HTMLAnchorElement> | undefined;
|
|
449
|
-
onChange?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
450
|
-
onChangeCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
451
|
-
onBeforeInput?: React.InputEventHandler<HTMLAnchorElement> | undefined;
|
|
452
|
-
onBeforeInputCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
453
|
-
onInput?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
454
|
-
onInputCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
455
|
-
onReset?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
456
|
-
onResetCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
457
|
-
onSubmitCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
458
|
-
onInvalid?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
459
|
-
onInvalidCapture?: React.FormEventHandler<HTMLAnchorElement> | undefined;
|
|
460
|
-
onLoad?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
461
|
-
onLoadCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
462
|
-
onError?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
463
|
-
onErrorCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
464
|
-
onKeyDown?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
465
|
-
onKeyDownCapture?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
466
|
-
onKeyPress?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
467
|
-
onKeyPressCapture?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
468
|
-
onKeyUp?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
469
|
-
onKeyUpCapture?: React.KeyboardEventHandler<HTMLAnchorElement> | undefined;
|
|
470
|
-
onAbort?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
471
|
-
onAbortCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
472
|
-
onCanPlay?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
473
|
-
onCanPlayCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
474
|
-
onCanPlayThrough?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
475
|
-
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
476
|
-
onDurationChange?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
477
|
-
onDurationChangeCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
478
|
-
onEmptied?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
479
|
-
onEmptiedCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
480
|
-
onEncrypted?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
481
|
-
onEncryptedCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
482
|
-
onEnded?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
483
|
-
onEndedCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
484
|
-
onLoadedData?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
485
|
-
onLoadedDataCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
486
|
-
onLoadedMetadata?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
487
|
-
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
488
|
-
onLoadStart?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
489
|
-
onLoadStartCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
490
|
-
onPause?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
491
|
-
onPauseCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
492
|
-
onPlay?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
493
|
-
onPlayCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
494
|
-
onPlaying?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
495
|
-
onPlayingCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
496
|
-
onProgress?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
497
|
-
onProgressCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
498
|
-
onRateChange?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
499
|
-
onRateChangeCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
500
|
-
onSeeked?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
501
|
-
onSeekedCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
502
|
-
onSeeking?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
503
|
-
onSeekingCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
504
|
-
onStalled?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
505
|
-
onStalledCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
506
|
-
onSuspend?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
507
|
-
onSuspendCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
508
|
-
onTimeUpdate?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
509
|
-
onTimeUpdateCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
510
|
-
onVolumeChange?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
511
|
-
onVolumeChangeCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
512
|
-
onWaiting?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
513
|
-
onWaitingCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
514
|
-
onAuxClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
515
|
-
onAuxClickCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
516
|
-
onClickCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
517
|
-
onContextMenu?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
518
|
-
onContextMenuCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
519
|
-
onDoubleClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
520
|
-
onDoubleClickCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
521
|
-
onDrag?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
522
|
-
onDragCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
523
|
-
onDragEnd?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
524
|
-
onDragEndCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
525
|
-
onDragEnter?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
526
|
-
onDragEnterCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
527
|
-
onDragExit?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
528
|
-
onDragExitCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
529
|
-
onDragLeave?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
530
|
-
onDragLeaveCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
531
|
-
onDragOver?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
532
|
-
onDragOverCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
533
|
-
onDragStart?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
534
|
-
onDragStartCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
535
|
-
onDrop?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
536
|
-
onDropCapture?: React.DragEventHandler<HTMLAnchorElement> | undefined;
|
|
537
|
-
onMouseDown?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
538
|
-
onMouseDownCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
539
|
-
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
540
|
-
onMouseLeave?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
541
|
-
onMouseMove?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
542
|
-
onMouseMoveCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
543
|
-
onMouseOut?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
544
|
-
onMouseOutCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
545
|
-
onMouseOver?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
546
|
-
onMouseOverCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
547
|
-
onMouseUp?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
548
|
-
onMouseUpCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
549
|
-
onSelect?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
550
|
-
onSelectCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
|
|
551
|
-
onTouchCancel?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
552
|
-
onTouchCancelCapture?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
553
|
-
onTouchEnd?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
554
|
-
onTouchEndCapture?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
555
|
-
onTouchMove?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
556
|
-
onTouchMoveCapture?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
557
|
-
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
558
|
-
onTouchStartCapture?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
559
|
-
onPointerDown?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
560
|
-
onPointerDownCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
561
|
-
onPointerMove?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
562
|
-
onPointerMoveCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
563
|
-
onPointerUp?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
564
|
-
onPointerUpCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
565
|
-
onPointerCancel?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
566
|
-
onPointerCancelCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
567
|
-
onPointerEnter?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
568
|
-
onPointerLeave?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
569
|
-
onPointerOver?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
570
|
-
onPointerOverCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
571
|
-
onPointerOut?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
572
|
-
onPointerOutCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
573
|
-
onGotPointerCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
574
|
-
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
575
|
-
onLostPointerCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
576
|
-
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLAnchorElement> | undefined;
|
|
577
|
-
onScroll?: React.UIEventHandler<HTMLAnchorElement> | undefined;
|
|
578
|
-
onScrollCapture?: React.UIEventHandler<HTMLAnchorElement> | undefined;
|
|
579
|
-
onWheel?: React.WheelEventHandler<HTMLAnchorElement> | undefined;
|
|
580
|
-
onWheelCapture?: React.WheelEventHandler<HTMLAnchorElement> | undefined;
|
|
581
|
-
onAnimationStart?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
582
|
-
onAnimationStartCapture?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
583
|
-
onAnimationEnd?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
584
|
-
onAnimationEndCapture?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
585
|
-
onAnimationIteration?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
586
|
-
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
|
|
587
|
-
onTransitionEnd?: React.TransitionEventHandler<HTMLAnchorElement> | undefined;
|
|
588
|
-
onTransitionEndCapture?: React.TransitionEventHandler<HTMLAnchorElement> | undefined;
|
|
589
|
-
href: string;
|
|
590
|
-
onClick: (e: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
591
|
-
}, HTMLElement>;
|
|
592
|
-
/**
|
|
593
|
-
* Navigate programmatically
|
|
594
|
-
*/
|
|
595
|
-
declare function navigate(path: string, options?: {
|
|
596
|
-
replace?: boolean;
|
|
597
|
-
}): void;
|
|
598
|
-
|
|
599
695
|
/**
|
|
600
696
|
* Supabase stub for widget-sdk
|
|
601
697
|
*
|
|
@@ -645,31 +741,21 @@ declare function clearSupabase(): void;
|
|
|
645
741
|
*/
|
|
646
742
|
declare const supabase: SupabaseClient$1<any, "public", "public", any, any>;
|
|
647
743
|
|
|
648
|
-
declare
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
* - Uptime monitoring
|
|
665
|
-
* - Domain & SSL monitoring
|
|
666
|
-
* - Performance analysis
|
|
667
|
-
* - Monthly reports
|
|
668
|
-
* - Changelog management
|
|
669
|
-
* - Improvement suggestions
|
|
670
|
-
*/
|
|
671
|
-
declare function FramedManage(): react_jsx_runtime.JSX.Element;
|
|
672
|
-
|
|
673
|
-
declare function FramedStarter(): react_jsx_runtime.JSX.Element;
|
|
744
|
+
declare const framedRoutes: {
|
|
745
|
+
readonly dashboard: "/framed";
|
|
746
|
+
readonly login: "/framed/login";
|
|
747
|
+
readonly project: (id: string) => string;
|
|
748
|
+
readonly phase1: (projectId: string) => string;
|
|
749
|
+
readonly phase2: (projectId: string) => string;
|
|
750
|
+
readonly phase3: (projectId: string) => string;
|
|
751
|
+
readonly phase4: (projectId: string) => string;
|
|
752
|
+
readonly phase5: (projectId: string) => string;
|
|
753
|
+
readonly build: (projectId: string) => string;
|
|
754
|
+
readonly review: (projectId: string) => string;
|
|
755
|
+
readonly manage: (projectId: string) => string;
|
|
756
|
+
readonly buildSpec: (projectId: string) => string;
|
|
757
|
+
readonly settings: "/framed/settings";
|
|
758
|
+
};
|
|
759
|
+
type FramedRoutes = typeof framedRoutes;
|
|
674
760
|
|
|
675
|
-
export { AuthProvider, type ContentMap, FeedbackWidget, type FeedbackWidgetProps, FramedAPIClient, type FramedAPIConfig,
|
|
761
|
+
export { Alert, AlertDescription, AlertTitle, ApprovalWorkflow, AuthProvider$1 as AuthProvider, Avatar, AvatarFallback, AvatarImage, BuildSpecEditor, Calendar, ChangelogPanel, Checkbox, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommentThreadPanel, type ContentMap, type CrawlProgress, type CrawlResult, Dashboard, type DiffPart, DiffViewer, DomainMonitoringPanel, DropdownMenuLabel, DropdownMenuSeparator, ExportToolSelector, type ExportedChange, FEATURE_FLAGS, FeedbackFilters, FeedbackRoundManager, FeedbackWidget, type FeedbackWidgetProps, FramedAPIClient, type FramedAPIConfig, FramedApp, type FramedAppProps, FramedProvider, type FramedProviderConfig, type FramedProviderProps, type FramedRoutes, type FrameworkInfo, type GenerateQuestionsResult, type GeneratedQuestion, HourPackagesPanel, ImageReviewPanel, ImprovementSuggestionsPanel, InboxView, type InitialQuestion, KanbanBoard, LANGUAGE_LABELS, type LayoutRecommendation, type LayoutSuggestionResult, LocalDataLayer, MaintenanceItemCard, MonthlyReportPanel, type NavigationItem, PageBrowser, Phase5Sidebar, Popover, PopoverContent, PopoverTrigger, Progress, type ProjectAnalysisResult, type PromptOptions, type QuestionContext, RadioGroup, RadioGroupItem, AuthProvider as SDKAuthProvider, type SDKProject, SUPPORTED_AI_TOOLS, ScreenshotViewer, type SectionHint, type SiteContext, type SitePageInfo, type SitePatterns, type SiteStructureResult, Slider, Switch, SyncDataLayer, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TasksReadyPanel, type TasksReadyPanelProps, type TasksResponse, type TextChangesExport, TextEditPanel, TimeTrackingPanel, type UploadOptions, type UploadResponse, type UploadResult, UptimeMonitoringPanel, type UseFramedTasksResult, type ValidationResult, WizardBuildSpec, WizardPhase1New, WizardPhase2New, WizardPhase4New, WizardPhase5New, WizardPhaseOverview, addLanguageContent, analyzeProjectIdea, analyzeUrl, applyBlockEdit, applyListEdit, canAccessPhase, canEditProject, canManageTeam, captureScreenshot, clearPageSuggestionsCache, clearSuggestionsCache, clearSupabase, computeTextDiff, convertToPhase2Data, copyPromptToClipboard, crawlPageTextContent, createAIConversation, createCheckoutSession, createLocalizedString, createPortalSession, deleteCommentAttachment, deleteMaintenanceAttachment, deleteMedia, exportBuildSpec, exportTextChanges, extractMentions, formatBytes, formatDate, formatFileSize, formatMentions, formatMs, framedRoutes, generateAIPrompt, generateBuildSpec, generateDynamicQuestions, generateProjectOverview, generatePrompt, generateSiteStructure, getAllLayoutsForPage, getBlockHistory, getDefaultModules, getFirstAccessiblePhase, getFirstVisiblePhase, getLanguageLabel, getLayoutById, getLayoutSuggestions, getLocalizedValue, getModifiedCount, getPerformanceReports, getPerformanceUsage, getPhaseModule, getRecentEdits, getSupabase as getSDKSupabase, getScoreBgColor, getScoreColor, getSeoPageReports, getSeoReports, getSubscriptionStatus, getSupabase$1 as getSupabase, getTotalBlockCount, hasAdminPrivileges, initSupabase as initSDKSupabase, initSupabase$1 as initSupabase, isBlockModified, isFeatureEnabled, isModuleEnabled, isModuleVisible, isPhaseEnabled, isPhaseVisible, isThisMonth, isThisWeek, isToday, listSectionMedia, mergeLayoutWithHints, mergeStructureWithExisting, needsStructureGeneration, parseDate, restoreBlockToOriginal, runSeoAudit, savePerformanceReport, scanSiteContext, supabase as sdkSupabase, setLocalizedValue, supabase$1 as supabase, updateConversationWithQuestions, uploadCommentAttachment, uploadMaintenanceAttachment, uploadMedia, uploadPageScreenshot, uploadScreenshot, useAbuseIncidents, useAgency, useAnonymousSession, useAuth$1 as useAuth, useAutoSave, useChangelog, useCostMetrics, useCurrentProject, useDomainMonitoring, useFeedbackValidation, useFramed, useFramedCallbacks, useFramedTasks, useHasAIFeatures, useImprovementSuggestions, useInternalNotes, useIsMobile, useMaintenanceItems, useMeetingNotes, useModuleUsage, useMonthlyReports, useNotifications, usePerformanceAnalysis, usePhase2Navigation, usePhase4Navigation, usePhaseAccess, useProject, useProjectAccess, useProjectMembers, useProjectSettings, useProjectShares, usePushNotifications, useAuth as useSDKAuth, useSeoAudit, useShareAccess, useSiteAnalytics, useSuperAdminMetrics, useTaskOverview, useTimeTracking, useUptimeMonitoring };
|