@clarlabs/ui 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
@@ -139,6 +139,28 @@ export declare type ButtonSize = 'sm' | 'md' | 'lg';
139
139
 
140
140
  export declare type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'outline' | 'ghost';
141
141
 
142
+ export declare function Calendar({ value, onChange, minDate, maxDate, events, highlightedDates, disabledDates, showWeekNumbers, firstDayOfWeek, variant, className, ...props }: CalendarProps): default_2.JSX.Element;
143
+
144
+ export declare interface CalendarEvent {
145
+ id: string;
146
+ date: Date;
147
+ title: string;
148
+ color?: string;
149
+ }
150
+
151
+ export declare interface CalendarProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'onChange'> {
152
+ value?: Date;
153
+ onChange?: (date: Date) => void;
154
+ minDate?: Date;
155
+ maxDate?: Date;
156
+ events?: CalendarEvent[];
157
+ highlightedDates?: Date[];
158
+ disabledDates?: Date[];
159
+ showWeekNumbers?: boolean;
160
+ firstDayOfWeek?: 0 | 1;
161
+ variant?: 'default' | 'minimal' | 'modern';
162
+ }
163
+
142
164
  export declare function Card({ children, title, subtitle, footer, image, hoverable, className, onClick }: CardProps): default_2.JSX.Element;
143
165
 
144
166
  export declare interface CardProps {
@@ -152,6 +174,32 @@ export declare interface CardProps {
152
174
  onClick?: () => void;
153
175
  }
154
176
 
177
+ export declare function Chat({ messages, onSendMessage, placeholder, disabled, showTimestamps, showAvatars, maxHeight, typingIndicator, userName, botName, className, ...props }: ChatProps): default_2.JSX.Element;
178
+
179
+ export declare interface ChatMessage {
180
+ id: string;
181
+ content: string;
182
+ sender: 'user' | 'bot' | 'system';
183
+ timestamp: Date;
184
+ avatar?: string;
185
+ senderName?: string;
186
+ isTyping?: boolean;
187
+ }
188
+
189
+ export declare interface ChatProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
190
+ messages: ChatMessage[];
191
+ onSendMessage?: (message: string) => void;
192
+ placeholder?: string;
193
+ disabled?: boolean;
194
+ showTimestamps?: boolean;
195
+ showAvatars?: boolean;
196
+ maxHeight?: string;
197
+ typingIndicator?: boolean;
198
+ userName?: string;
199
+ botName?: string;
200
+ enableMarkdown?: boolean;
201
+ }
202
+
155
203
  export declare function Checkbox({ label, indeterminate, className, ...props }: CheckboxProps): default_2.JSX.Element;
156
204
 
157
205
  export declare interface CheckboxProps extends Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'type'> {
@@ -329,13 +377,16 @@ export declare interface DataListProps {
329
377
 
330
378
  export declare type DataListSize = 'sm' | 'md' | 'lg';
331
379
 
332
- export declare function DatePicker({ value, onChange, minDate, maxDate, className, ...props }: DatePickerProps): default_2.JSX.Element;
380
+ export declare function DatePicker({ value, onChange, minDate, maxDate, placeholder, disabled, variant, className, ...props }: DatePickerProps): default_2.JSX.Element;
333
381
 
334
- export declare interface DatePickerProps extends Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'type' | 'value' | 'onChange'> {
382
+ export declare interface DatePickerProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'onChange'> {
335
383
  value?: Date;
336
384
  onChange?: (date: Date | null) => void;
337
385
  minDate?: Date;
338
386
  maxDate?: Date;
387
+ placeholder?: string;
388
+ disabled?: boolean;
389
+ variant?: 'default' | 'minimal' | 'modern';
339
390
  }
340
391
 
341
392
  export declare interface DateRange {
@@ -343,7 +394,7 @@ export declare interface DateRange {
343
394
  end: Date | null;
344
395
  }
345
396
 
346
- export declare function DateRangePicker({ value, onChange, minDate, maxDate, className }: DateRangePickerProps): default_2.JSX.Element;
397
+ export declare function DateRangePicker({ value, onChange, minDate, maxDate, className, placeholder, disabled, variant }: DateRangePickerProps): default_2.JSX.Element;
347
398
 
348
399
  export declare interface DateRangePickerProps {
349
400
  value?: DateRange;
@@ -351,6 +402,9 @@ export declare interface DateRangePickerProps {
351
402
  minDate?: Date;
352
403
  maxDate?: Date;
353
404
  className?: string;
405
+ placeholder?: string;
406
+ disabled?: boolean;
407
+ variant?: 'default' | 'minimal' | 'modern';
354
408
  }
355
409
 
356
410
  export declare function Divider({ orientation, variant, label, className }: DividerProps): default_2.JSX.Element;
@@ -404,6 +458,44 @@ export declare interface FilePickerProps {
404
458
 
405
459
  export declare type FileStatus = 'idle' | 'processing' | 'uploaded' | 'failed';
406
460
 
461
+ export declare function Footer({ variant, brandName, brandLogo, brandDescription, sections, socialLinks, copyright, showYear, bottomLinks, children, className, ...props }: FooterProps): default_2.JSX.Element;
462
+
463
+ export declare interface FooterLink {
464
+ label: string;
465
+ href: string;
466
+ external?: boolean;
467
+ }
468
+
469
+ export declare interface FooterProps extends Omit<default_2.HTMLAttributes<HTMLElement>, 'title'> {
470
+ /** Footer variant style */
471
+ variant?: FooterVariant;
472
+ /** Company or brand name */
473
+ brandName?: string;
474
+ /** Brand logo */
475
+ brandLogo?: default_2.ReactNode;
476
+ /** Brand description or tagline */
477
+ brandDescription?: string;
478
+ /** Footer sections with links */
479
+ sections?: FooterSection[];
480
+ /** Social media links */
481
+ socialLinks?: SocialLink[];
482
+ /** Copyright text */
483
+ copyright?: string;
484
+ /** Show current year in copyright */
485
+ showYear?: boolean;
486
+ /** Bottom links (Privacy, Terms, etc) */
487
+ bottomLinks?: FooterLink[];
488
+ /** Additional content */
489
+ children?: default_2.ReactNode;
490
+ }
491
+
492
+ export declare interface FooterSection {
493
+ title: string;
494
+ links: FooterLink[];
495
+ }
496
+
497
+ export declare type FooterVariant = 'default' | 'minimal' | 'centered' | 'stacked';
498
+
407
499
  export declare interface GalleryImage {
408
500
  /** Unique identifier */
409
501
  id: string;
@@ -543,6 +635,53 @@ export declare interface HeaderProps {
543
635
  className?: string;
544
636
  }
545
637
 
638
+ export declare function Hero({ variant, size, alignment, title, subtitle, backgroundImage, backgroundVideo, overlayOpacity, primaryAction, secondaryAction, children, image, imageAlt, imagePosition, className, style, ...props }: HeroProps): default_2.JSX.Element;
639
+
640
+ export declare type HeroAlignment = 'left' | 'center' | 'right';
641
+
642
+ export declare interface HeroProps extends Omit<default_2.HTMLAttributes<HTMLElement>, 'title'> {
643
+ /** Hero variant style */
644
+ variant?: HeroVariant;
645
+ /** Hero size */
646
+ size?: HeroSize;
647
+ /** Content alignment */
648
+ alignment?: HeroAlignment;
649
+ /** Hero title */
650
+ title?: default_2.ReactNode;
651
+ /** Hero subtitle or description */
652
+ subtitle?: default_2.ReactNode;
653
+ /** Background image URL */
654
+ backgroundImage?: string;
655
+ /** Background video URL */
656
+ backgroundVideo?: string;
657
+ /** Background overlay opacity (0-1) */
658
+ overlayOpacity?: number;
659
+ /** Primary action button */
660
+ primaryAction?: {
661
+ label: string;
662
+ onClick?: () => void;
663
+ href?: string;
664
+ };
665
+ /** Secondary action button */
666
+ secondaryAction?: {
667
+ label: string;
668
+ onClick?: () => void;
669
+ href?: string;
670
+ };
671
+ /** Additional content to render in the hero */
672
+ children?: default_2.ReactNode;
673
+ /** Image to display (for split variant) */
674
+ image?: string;
675
+ /** Image alt text */
676
+ imageAlt?: string;
677
+ /** Image position (for split variant) */
678
+ imagePosition?: 'left' | 'right';
679
+ }
680
+
681
+ export declare type HeroSize = 'small' | 'medium' | 'large' | 'fullscreen';
682
+
683
+ export declare type HeroVariant = 'default' | 'gradient' | 'image' | 'video' | 'split' | 'centered' | 'minimal';
684
+
546
685
  export declare function ImageGallery({ images, variant, size, initialIndex, showThumbnails, showCaptions, autoPlay, columns, gap, lightbox, className, onImageClick, onIndexChange, showArrows, showIndicators, infinite }: ImageGalleryProps): default_2.JSX.Element;
547
686
 
548
687
  export declare interface ImageGalleryProps {
@@ -611,6 +750,24 @@ export declare interface LabelProps extends default_2.LabelHTMLAttributes<HTMLLa
611
750
 
612
751
  export declare type LabelSize = 'sm' | 'md' | 'lg';
613
752
 
753
+ export declare interface Language {
754
+ code: string;
755
+ name: string;
756
+ nativeName: string;
757
+ flag: string;
758
+ }
759
+
760
+ export declare function LanguageSelect({ languages, defaultLanguage, onChange, disabled, showSearch, label, className, ...props }: LanguageSelectProps): default_2.JSX.Element;
761
+
762
+ export declare interface LanguageSelectProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'onChange'> {
763
+ languages?: Language[];
764
+ defaultLanguage?: string;
765
+ onChange?: (language: Language) => void;
766
+ disabled?: boolean;
767
+ showSearch?: boolean;
768
+ label?: string;
769
+ }
770
+
614
771
  export declare function List({ items, hoverable, dividers, className }: ListProps): default_2.JSX.Element;
615
772
 
616
773
  export declare interface ListItem {
@@ -906,6 +1063,12 @@ export declare function SkeletonText({ lines, ...props }: Omit<SkeletonProps, 'v
906
1063
 
907
1064
  export declare type SkeletonVariant = 'text' | 'circular' | 'rectangular' | 'rounded';
908
1065
 
1066
+ export declare interface SocialLink {
1067
+ platform: string;
1068
+ href: string;
1069
+ icon?: default_2.ReactNode;
1070
+ }
1071
+
909
1072
  export declare function Spacer({ size, axis, spacing, className }: SpacerProps): default_2.JSX.Element;
910
1073
 
911
1074
  export declare type SpacerAxis = 'horizontal' | 'vertical' | 'both';
@@ -1150,6 +1313,13 @@ export declare type TextareaSize = 'sm' | 'md' | 'lg';
1150
1313
 
1151
1314
  export declare type TextareaVariant = 'default' | 'success' | 'error';
1152
1315
 
1316
+ export declare function ThemeToggle({ defaultTheme, onThemeChange, className, ...props }: ThemeToggleProps): default_2.JSX.Element;
1317
+
1318
+ export declare interface ThemeToggleProps extends Omit<default_2.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
1319
+ defaultTheme?: 'light' | 'dark';
1320
+ onThemeChange?: (theme: 'light' | 'dark') => void;
1321
+ }
1322
+
1153
1323
  export declare function Timeline({ items, orientation, className }: TimelineProps): default_2.JSX.Element;
1154
1324
 
1155
1325
  export declare interface TimelineItem {