sa2kit 1.6.5 → 1.6.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.
Files changed (39) hide show
  1. package/dist/auth/index.d.mts +11 -1
  2. package/dist/auth/index.d.ts +11 -1
  3. package/dist/auth/index.js +9 -0
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/auth/index.mjs +9 -1
  6. package/dist/auth/index.mjs.map +1 -1
  7. package/dist/calendar/index.d.mts +497 -611
  8. package/dist/calendar/index.d.ts +497 -611
  9. package/dist/calendar/index.js +4104 -4088
  10. package/dist/calendar/index.js.map +1 -1
  11. package/dist/calendar/index.mjs +4092 -4075
  12. package/dist/calendar/index.mjs.map +1 -1
  13. package/dist/calendar/routes/index.js +21 -21
  14. package/dist/calendar/routes/index.mjs +1 -1
  15. package/dist/calendar/server.d.mts +3 -8
  16. package/dist/calendar/server.d.ts +3 -8
  17. package/dist/calendar/server.js +14 -14
  18. package/dist/calendar/server.js.map +1 -1
  19. package/dist/calendar/server.mjs +3 -3
  20. package/dist/calendar/server.mjs.map +1 -1
  21. package/dist/{chunk-OCIJT5VO.mjs → chunk-6WXOA4BE.mjs} +3 -7
  22. package/dist/chunk-6WXOA4BE.mjs.map +1 -0
  23. package/dist/{chunk-FJU3NA6B.js → chunk-AXP7KROR.js} +3 -7
  24. package/dist/chunk-AXP7KROR.js.map +1 -0
  25. package/dist/{chunk-NRYHBGU6.js → chunk-IEA55H3G.js} +5 -5
  26. package/dist/chunk-IEA55H3G.js.map +1 -0
  27. package/dist/{chunk-KFDEOLDH.mjs → chunk-R2F4BXUU.mjs} +5 -5
  28. package/dist/chunk-R2F4BXUU.mjs.map +1 -0
  29. package/dist/index.d.mts +197 -99
  30. package/dist/index.d.ts +197 -99
  31. package/dist/index.js +929 -445
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +857 -382
  34. package/dist/index.mjs.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/chunk-FJU3NA6B.js.map +0 -1
  37. package/dist/chunk-KFDEOLDH.mjs.map +0 -1
  38. package/dist/chunk-NRYHBGU6.js.map +0 -1
  39. package/dist/chunk-OCIJT5VO.mjs.map +0 -1
package/dist/index.d.ts CHANGED
@@ -177,7 +177,7 @@ declare const badgeVariants: (props?: ({
177
177
  } & class_variance_authority_types.ClassProp) | undefined) => string;
178
178
  interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
179
179
  }
180
- declare function Badge$1({ className, variant, ...props }: BadgeProps): React$1.JSX.Element;
180
+ declare function Badge({ className, variant, ...props }: BadgeProps): React$1.JSX.Element;
181
181
 
182
182
  declare const Input: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
183
183
 
@@ -300,9 +300,77 @@ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
300
300
  declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
301
301
  declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
302
302
 
303
+ declare const Avatar: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
303
304
  declare const AvatarImage: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React$1.RefAttributes<HTMLImageElement>, "ref"> & React$1.RefAttributes<HTMLImageElement>>;
304
305
  declare const AvatarFallback: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
305
306
 
307
+ /** 基础网格项接口 */
308
+ interface GridItem {
309
+ id: string;
310
+ [key: string]: any;
311
+ }
312
+ /** 网格列数配置 */
313
+ interface GridColumns {
314
+ /** 小屏幕列数 (640px+) */
315
+ sm?: number;
316
+ /** 中等屏幕列数 (768px+) */
317
+ md?: number;
318
+ /** 大屏幕列数 (1024px+) */
319
+ lg?: number;
320
+ /** 超大屏幕列数 (1280px+) */
321
+ xl?: number;
322
+ }
323
+ /** 网格间距类型 */
324
+ type GridGap = 'sm' | 'md' | 'lg' | 'xl';
325
+ /** 通用网格组件 Props */
326
+ interface GridProps<T extends GridItem> {
327
+ /** 数据项数组 */
328
+ items: T[];
329
+ /** 渲染函数 */
330
+ renderItem: (item: T, index: number) => React__default.ReactNode;
331
+ /** 网格列数配置 */
332
+ columns?: GridColumns;
333
+ /** 间距配置 */
334
+ gap?: GridGap;
335
+ /** 额外的容器类名 */
336
+ className?: string;
337
+ /** 容器样式 */
338
+ style?: React__default.CSSProperties;
339
+ }
340
+ /** 通用网格组件 */
341
+ declare function Grid<T extends GridItem>({ items, renderItem, columns, gap, className, style }: GridProps<T>): React__default.JSX.Element;
342
+
343
+ interface SearchBoxProps {
344
+ searchQuery: string;
345
+ onSearchChange: (query: string) => void;
346
+ placeholder?: string;
347
+ size?: 'small' | 'medium' | 'large';
348
+ }
349
+ declare const SearchBox: React__default.FC<SearchBoxProps>;
350
+
351
+ interface TimelineItem {
352
+ date: string;
353
+ title: string;
354
+ description: string;
355
+ }
356
+ interface TimelineConfig {
357
+ items: TimelineItem[];
358
+ }
359
+ interface TimelineProps {
360
+ items?: TimelineItem[];
361
+ }
362
+ declare const Timeline: React__default.FC<TimelineProps>;
363
+
364
+ interface Ball {
365
+ x: number;
366
+ y: number;
367
+ vx: number;
368
+ vy: number;
369
+ radius: number;
370
+ color: string;
371
+ text?: string;
372
+ isDragging?: boolean;
373
+ }
306
374
  interface CollisionBallsConfig {
307
375
  balls: {
308
376
  id: string;
@@ -318,15 +386,63 @@ interface CollisionBallsProps {
318
386
  }
319
387
  declare const CollisionBalls: React__default.FC<CollisionBallsProps>;
320
388
 
321
- interface TimelineItem {
322
- date: string;
323
- title: string;
324
- description: string;
389
+ interface OrderableItem {
390
+ id: number;
391
+ [key: string]: any;
325
392
  }
326
- interface TimelineProps {
327
- items?: TimelineItem[];
393
+ interface OrderManagerOperations<T extends OrderableItem> {
394
+ loadItems: () => Promise<T[]>;
395
+ moveItemUp: (id: number) => Promise<void>;
396
+ moveItemDown: (id: number) => Promise<void>;
397
+ updateItemOrder: (orders: {
398
+ id: number;
399
+ order: number;
400
+ }[]) => Promise<void>;
401
+ }
402
+ interface GenericOrderManagerProps<T extends OrderableItem> {
403
+ operations: OrderManagerOperations<T>;
404
+ renderItem: (item: T, index: number, isFirst: boolean, isLast: boolean) => React__default.ReactNode;
405
+ className?: string;
406
+ title?: string;
407
+ description?: string;
408
+ onOrderChanged?: () => void;
409
+ emptyMessage?: string;
410
+ loadingMessage?: string;
328
411
  }
329
- declare const Timeline: React__default.FC<TimelineProps>;
412
+ declare function GenericOrderManager<T extends OrderableItem>({ operations, renderItem, className, title, description, onOrderChanged, emptyMessage, loadingMessage }: GenericOrderManagerProps<T>): React__default.JSX.Element;
413
+
414
+ interface BackButtonProps {
415
+ href?: string;
416
+ className?: string;
417
+ }
418
+ declare const BackButton: React__default.FC<BackButtonProps>;
419
+
420
+ interface FilterOption<T> {
421
+ value: T;
422
+ label: string;
423
+ icon: string;
424
+ activeColor: {
425
+ bg: string;
426
+ shadow: string;
427
+ };
428
+ count?: number;
429
+ showCount?: boolean;
430
+ }
431
+ interface FilterButtonGroupProps<T> {
432
+ label: string;
433
+ value: T;
434
+ options: FilterOption<T>[];
435
+ onChange: (value: T) => void;
436
+ className?: string;
437
+ }
438
+ declare function FilterButtonGroup<T extends string>({ label, value, options, onChange, className }: FilterButtonGroupProps<T>): React__default.JSX.Element;
439
+
440
+ interface SearchResultHintProps {
441
+ searchQuery: string;
442
+ resultCount: number;
443
+ className?: string;
444
+ }
445
+ declare function SearchResultHint({ searchQuery, resultCount, className }: SearchResultHintProps): React__default.JSX.Element | null;
330
446
 
331
447
  interface SocialLink {
332
448
  type: string;
@@ -341,10 +457,10 @@ interface ProfileData {
341
457
  contacts?: Record<string, string>;
342
458
  socialLinks?: SocialLink[];
343
459
  customContent?: ReactNode;
344
- badges?: Badge[];
460
+ badges?: ProfileBadge[];
345
461
  stats?: Stat[];
346
462
  }
347
- interface Badge {
463
+ interface ProfileBadge {
348
464
  label: string;
349
465
  type?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
350
466
  icon?: ReactNode;
@@ -358,47 +474,19 @@ interface Stat {
358
474
  interface ProfileButtonProps {
359
475
  data?: ProfileData;
360
476
  buttonText?: string;
361
- buttonClassName?: string;
477
+ variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
478
+ size?: 'default' | 'sm' | 'lg' | 'icon';
479
+ className?: string;
362
480
  modalTheme?: 'light' | 'dark' | 'blue';
363
481
  }
364
482
  /**
365
483
  * 个人信息按钮组件,点击后显示个人信息弹窗
366
484
  */
367
485
  declare const ProfileButton: React__default.FC<ProfileButtonProps>;
368
- /**
369
- * 示例用法:
370
- *
371
- * import ProfileButton from '@/utils/popWindow/selfInfo';
372
- *
373
- * // 使用默认数据
374
- * <ProfileButton />
375
- *
376
- * // 使用自定义数据
377
- * <ProfileButton
378
- * data={customData}
379
- * buttonText="查看我的资料"
380
- * modalTheme="blue"
381
- * />
382
- *
383
- * // 自定义按钮样式
384
- * <ProfileButton buttonClassName="myCustomButton" />
385
- */
386
486
 
387
- interface ModalProps {
487
+ interface ProfileModalProps {
388
488
  isOpen: boolean;
389
489
  onClose: () => void;
390
- title?: string;
391
- width?: number | string;
392
- height?: number | string;
393
- maskClosable?: boolean;
394
- showCloseButton?: boolean;
395
- className?: string;
396
- contentClassName?: string;
397
- zIndex?: number;
398
- children: React__default.ReactNode;
399
- }
400
-
401
- interface ProfileModalProps extends Omit<ModalProps, 'title' | 'children'> {
402
490
  data: ProfileData;
403
491
  showAvatar?: boolean;
404
492
  showContacts?: boolean;
@@ -409,6 +497,7 @@ interface ProfileModalProps extends Omit<ModalProps, 'title' | 'children'> {
409
497
  onSocialLinkClick?: (url: string, type: string) => void;
410
498
  onContactClick?: (type: string, value: string) => void;
411
499
  themeName?: 'light' | 'dark' | 'blue';
500
+ className?: string;
412
501
  children?: React__default.ReactNode;
413
502
  }
414
503
  declare const ProfileModal: React__default.FC<ProfileModalProps>;
@@ -425,6 +514,70 @@ interface AutoOpenModalProps {
425
514
  */
426
515
  declare const AutoOpenModal: React__default.FC<AutoOpenModalProps>;
427
516
 
517
+ interface EnhancedAvatarProps {
518
+ src?: string;
519
+ name?: string;
520
+ size?: 'small' | 'medium' | 'large' | number;
521
+ mood?: 'online' | 'offline' | 'away';
522
+ statusText?: string;
523
+ onClick?: () => void;
524
+ className?: string;
525
+ }
526
+ declare const EnhancedAvatar: React__default.FC<EnhancedAvatarProps>;
527
+
528
+ interface AboutProps {
529
+ timelineConfig: TimelineConfig;
530
+ collisionBallsConfig: CollisionBallsConfig;
531
+ }
532
+ declare const About: React__default.FC<AboutProps>;
533
+
534
+ declare const Contact: React__default.FC;
535
+
536
+ interface HomeConfig {
537
+ title: string;
538
+ subtitle: string;
539
+ buttons: Array<{
540
+ text: string;
541
+ link: string;
542
+ }>;
543
+ imageSrc: string;
544
+ }
545
+ interface HomeProps {
546
+ homeConfig: HomeConfig;
547
+ className?: string;
548
+ }
549
+ declare const Home: React__default.FC<HomeProps>;
550
+
551
+ interface ExperimentCardProps {
552
+ href: string;
553
+ title: string;
554
+ description: string;
555
+ tags: string[];
556
+ category: 'utility' | 'leisure';
557
+ isCompleted?: boolean;
558
+ updatedAt?: string;
559
+ createdAt?: string;
560
+ className?: string;
561
+ }
562
+ declare const ExperimentCard: React__default.FC<ExperimentCardProps>;
563
+
564
+ interface Project {
565
+ id: string;
566
+ title: string;
567
+ description: string;
568
+ image: string;
569
+ link?: string;
570
+ tags: string[];
571
+ }
572
+ interface ProjectsConfig {
573
+ projects: Project[];
574
+ }
575
+ interface ProjectCarouselProps {
576
+ projects: Project[];
577
+ className?: string;
578
+ }
579
+ declare const ProjectCarousel: React__default.FC<ProjectCarouselProps>;
580
+
428
581
  type NavigationDirection = 'horizontal' | 'vertical';
429
582
  type NavigationPosition = 'top' | 'bottom' | 'left' | 'right';
430
583
  interface NavigationItem {
@@ -513,61 +666,6 @@ interface FloatingMenuProps {
513
666
  }
514
667
  declare const FloatingMenu: React__default.FC<FloatingMenuProps>;
515
668
 
516
- /** 基础网格项接口 */
517
- interface GridItem {
518
- id: string;
519
- [key: string]: any;
520
- }
521
- /** 网格列数配置 */
522
- interface GridColumns {
523
- /** 小屏幕列数 (640px+) */
524
- sm?: number;
525
- /** 中等屏幕列数 (768px+) */
526
- md?: number;
527
- /** 大屏幕列数 (1024px+) */
528
- lg?: number;
529
- /** 超大屏幕列数 (1280px+) */
530
- xl?: number;
531
- }
532
- /** 网格间距类型 */
533
- type GridGap = 'sm' | 'md' | 'lg' | 'xl';
534
- /** 构建网格列数类名 */
535
- declare function buildGridColsClasses(columns: GridColumns): string;
536
- /** 获取间距类名 */
537
- declare function getGapClassName(gap: GridGap): string;
538
- /** 通用网格组件 Props */
539
- interface GridProps<T extends GridItem> {
540
- /** 数据项数组 */
541
- items: T[];
542
- /** 渲染函数 */
543
- renderItem: (item: T, index: number) => React__default.ReactNode;
544
- /** 网格列数配置 */
545
- columns?: GridColumns;
546
- /** 间距配置 */
547
- gap?: GridGap;
548
- /** 额外的容器类名 */
549
- className?: string;
550
- /** 容器样式 */
551
- style?: React__default.CSSProperties;
552
- }
553
- /** 通用网格组件 */
554
- declare function Grid<T extends GridItem>({ items, renderItem, columns, gap, className, style }: GridProps<T>): React__default.JSX.Element;
555
-
556
- interface SearchBoxProps {
557
- searchQuery: string;
558
- onSearchChange: (query: string) => void;
559
- placeholder?: string;
560
- size?: 'small' | 'medium' | 'large';
561
- }
562
- declare function SearchBox({ searchQuery, onSearchChange, placeholder, size }: SearchBoxProps): React__default.JSX.Element;
563
-
564
- interface AvatarProps {
565
- src?: string;
566
- size?: 'small' | 'medium' | 'large';
567
- mood?: 'online' | 'offline' | 'away';
568
- statusText?: string;
569
- onClick?: () => void;
570
- }
571
- declare const Avatar: React__default.FC<AvatarProps>;
669
+ declare const FloatingMenuExample: React__default.FC;
572
670
 
573
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AutoOpenModal, Avatar, AvatarFallback, AvatarImage, type BackgroundRemovalOptions, type BackgroundRemovalState, BackgroundRemover, Badge$1 as Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CollisionBalls, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FloatingMenu, Grid, type GridColumns, type GridGap, type GridItem, type GridProps, Input, Label, Navigation, NavigationItemComponent as NavigationItem, NavigationToggle, type OCROptions, type OCRResult, OCRScanner, type OCRState, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ProfileButton, ProfileModal, Progress, ScrollArea, ScrollBar, SearchBox, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SentimentAnalyzer, type SentimentOptions, type SentimentResult, type SentimentState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SmartAssistant, Tabs, TabsContent, TabsList, TabsTrigger, type TextGenerationOptions, type TextGenerationState, Textarea, Timeline, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buildGridColsClasses, buttonVariants, getGapClassName, useBackgroundRemoval, useOCR, useSentimentAnalysis, useTextGeneration };
671
+ export { About, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AutoOpenModal, type AutoOpenModalProps, Avatar, AvatarFallback, AvatarImage, BackButton, type BackButtonProps, type BackgroundRemovalOptions, type BackgroundRemovalState, BackgroundRemover, Badge, type BadgeProps, type Ball, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CollisionBalls, type CollisionBallsConfig, Contact, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EnhancedAvatar, type EnhancedAvatarProps, ExperimentCard, type ExperimentCardProps, FilterButtonGroup, type FilterButtonGroupProps, type FilterOption, FloatingMenu, FloatingMenuExample, GenericOrderManager, type GenericOrderManagerProps, Grid, type GridColumns, type GridGap, type GridItem, type GridProps, Home, type HomeConfig, Input, Label, Navigation, type NavigationConfig, type NavigationDirection, NavigationItemComponent as NavigationItem, type NavigationPosition, type NavigationProps, NavigationToggle, type OCROptions, type OCRResult, OCRScanner, type OCRState, type OrderManagerOperations, type OrderableItem, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type ProfileBadge, ProfileButton, type ProfileButtonProps, type ProfileData, ProfileModal, type ProfileModalProps, Progress, type Project, ProjectCarousel, type ProjectsConfig, ScrollArea, ScrollBar, SearchBox, SearchResultHint, type SearchResultHintProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SentimentAnalyzer, type SentimentOptions, type SentimentResult, type SentimentState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SmartAssistant, type SocialLink, type Stat, Tabs, TabsContent, TabsList, TabsTrigger, type TextGenerationOptions, type TextGenerationState, Textarea, Timeline, type TimelineConfig, type TimelineItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, useBackgroundRemoval, useOCR, useSentimentAnalysis, useTextGeneration };