@framed-dev/react 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { FramedConfig, Session, WidgetDataLayer, SupabaseClient, FramedApiClient, WizardCallbacks, Task, LimitStatus, WidgetFeatures, AuthConfig, FeedbackComment, TaskStatus, SyncResult } from '@framed-dev/core';
2
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';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { ReactNode } from 'react';
5
- export { AILayoutSelector, AISuggestionBox, AISuggestionState, AdditionalFeaturesPicker, AreaAnnotationOverlay, CMSPicker, ChatModal, ChatModalProps, ColorPicker, DevicePreviewPanel, DynamicWireframe, ElementSelector, ElementSelectorProps, EmptySectionState, ExportModal, ExportModalProps, FeedbackDrawer, FeedbackDrawerProps, FontPicker, IntegrationsPicker, LanguagePicker, LayoutPreviewCard, LivePreviewPanel, LivePreviewPanelProps, LocalizedContent, LocalizedInput, LogoUploader, MiniWireframe, MobileWireframe, MultiSelectOverlay, PageSelector, PremiumInput, PremiumTextarea, QuestionCard, QuickInput, QuickInputProps, ReferenceLinks, RegionSelectOverlay, RichTextEditor, RichTextEditorProps, RichTextEditorRef, SUPPORTED_LANGUAGES, SectionAccordion, SectionAccordionItem, SectionEditor, SectionProgress, StyleKeywordPicker, TechnicalPicker, TextEditOverlay, TextEditOverlayProps, Toast, Toolbar, ToolbarProps, Widget, WidgetProps, getLanguageInfo, getPrimaryValue, isLocalizedComplete } from '@framed/widget-core';
4
+ import React, { ReactNode } from 'react';
5
+ import { SupabaseClient as SupabaseClient$1 } from '@supabase/supabase-js';
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';
6
7
 
7
8
  type WidgetVersion = 'latest' | 'v3' | string;
8
9
  type WidgetSource = 'cdn' | 'bundled';
@@ -36,7 +37,7 @@ interface FramedContextValue {
36
37
  isWidgetReady: boolean;
37
38
  }
38
39
  interface FramedProviderProps {
39
- config: FramedProviderConfig;
40
+ config?: FramedProviderConfig;
40
41
  children: ReactNode;
41
42
  }
42
43
  declare function FramedProvider({ config, children }: FramedProviderProps): react_jsx_runtime.JSX.Element;
@@ -60,7 +61,7 @@ interface AuthContextValue {
60
61
  logout: () => void;
61
62
  }
62
63
  interface AuthProviderProps {
63
- config: AuthConfig;
64
+ config?: AuthConfig;
64
65
  projectId: string;
65
66
  apiKey?: string;
66
67
  supabaseUrl?: string;
@@ -275,6 +276,375 @@ declare class SyncDataLayer implements WidgetDataLayer {
275
276
  markTaskDone(taskId: string): Promise<void>;
276
277
  }
277
278
 
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
+ /**
600
+ * Supabase stub for widget-sdk
601
+ *
602
+ * This provides a compatibility layer for components that expect Supabase.
603
+ * In SDK mode, we use the FramedAPIClient instead of direct Supabase access.
604
+ *
605
+ * For components that absolutely need Supabase (e.g., real-time subscriptions),
606
+ * users can initialize their own Supabase instance using initSupabase().
607
+ */
608
+
609
+ /**
610
+ * Get the current Supabase client instance
611
+ * Returns null if not initialized
612
+ */
613
+ declare function getSupabase(): SupabaseClient$1 | null;
614
+ /**
615
+ * Initialize Supabase with user's own credentials
616
+ * This is optional - most SDK features work without it
617
+ *
618
+ * @param url - Supabase project URL
619
+ * @param key - Supabase anon key
620
+ * @returns The Supabase client instance
621
+ */
622
+ declare function initSupabase(url: string, key: string): SupabaseClient$1;
623
+ /**
624
+ * Clear the Supabase instance
625
+ * Useful for cleanup or switching projects
626
+ */
627
+ declare function clearSupabase(): void;
628
+ /**
629
+ * Supabase client proxy
630
+ *
631
+ * When Supabase is not initialized, this returns safe no-op functions
632
+ * that log warnings and return empty results.
633
+ *
634
+ * When Supabase is initialized, it forwards all calls to the real client.
635
+ *
636
+ * @example
637
+ * // Without initialization - logs warning, returns empty results
638
+ * const { data } = await supabase.from('tasks').select('*')
639
+ * // data = null, warning logged
640
+ *
641
+ * // With initialization - works normally
642
+ * initSupabase(url, key)
643
+ * const { data } = await supabase.from('tasks').select('*')
644
+ * // data = actual results
645
+ */
646
+ declare const supabase: SupabaseClient$1<any, "public", "public", any, any>;
647
+
278
648
  declare function FramedDashboard(): react_jsx_runtime.JSX.Element;
279
649
 
280
650
  declare function FramedLogin(): react_jsx_runtime.JSX.Element;
@@ -300,4 +670,6 @@ declare function FramedBuild(): react_jsx_runtime.JSX.Element;
300
670
  */
301
671
  declare function FramedManage(): react_jsx_runtime.JSX.Element;
302
672
 
303
- export { AuthProvider, type ContentMap, FeedbackWidget, type FeedbackWidgetProps, FramedAPIClient, type FramedAPIConfig, FramedBuild, FramedDashboard, FramedLogin, FramedManage, FramedProvider, type FramedProviderConfig, type FramedProviderProps, FramedReview, type FrameworkInfo, LocalDataLayer, type NavigationItem, type PromptOptions, type SiteContext, type SitePageInfo, type SitePatterns, SyncDataLayer, TasksReadyPanel, type TasksReadyPanelProps, type TasksResponse, type UploadResponse, type UseFramedTasksResult, type ValidationResult, copyPromptToClipboard, generateAIPrompt, scanSiteContext, useAuth, useFramed, useFramedCallbacks, useFramedTasks, useHasAIFeatures };
673
+ declare function FramedStarter(): react_jsx_runtime.JSX.Element;
674
+
675
+ export { AuthProvider, type ContentMap, FeedbackWidget, type FeedbackWidgetProps, FramedAPIClient, type FramedAPIConfig, FramedBuild, FramedDashboard, FramedLogin, FramedManage, FramedProvider, type FramedProviderConfig, type FramedProviderProps, FramedReview, FramedStarter, type FrameworkInfo, Link, type LinkProps, LocalDataLayer, type NavigationItem, type PromptOptions, type SiteContext, type SitePageInfo, type SitePatterns, SyncDataLayer, TasksReadyPanel, type TasksReadyPanelProps, type TasksResponse, type UploadResponse, type UseFramedTasksResult, type ValidationResult, clearSupabase, copyPromptToClipboard, generateAIPrompt, getSupabase, initSupabase as initSupabaseClient, navigate, scanSiteContext, supabase, useAuth, useFramed, useFramedCallbacks, useFramedTasks, useHasAIFeatures, useLocation, useNavigate, useParams, useSearchParams };