@lesterarte/sefin-ui 0.0.3 → 0.0.5

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter } from '@angular/core';
2
+ import { EventEmitter, Injector, AfterViewInit, OnChanges, ElementRef, SimpleChanges, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
 
5
5
  /**
@@ -437,6 +437,129 @@ declare const BRAND_THEME: {
437
437
 
438
438
  type Theme = 'light' | 'dark' | 'brand';
439
439
 
440
+ /**
441
+ * Shared types and interfaces
442
+ */
443
+ type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
444
+ type ButtonSize = 'sm' | 'md' | 'lg';
445
+ type InputSize = 'sm' | 'md' | 'lg';
446
+ type CardVariant = 'default' | 'elevated' | 'outlined';
447
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';
448
+ type TypographySize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
449
+ type TypographyWeight = 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
450
+ type TypographyColor = 'text' | 'text-secondary' | 'text-disabled' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';
451
+ type TypographyLineHeight = 'tight' | 'normal' | 'relaxed';
452
+ interface BaseComponent {
453
+ disabled?: boolean;
454
+ class?: string;
455
+ }
456
+ /**
457
+ * Theme color configuration
458
+ */
459
+ interface ThemeColors {
460
+ primary: string;
461
+ 'primary-dark'?: string;
462
+ 'primary-light'?: string;
463
+ secondary: string;
464
+ 'secondary-dark'?: string;
465
+ 'secondary-light'?: string;
466
+ background: string;
467
+ 'background-elevated'?: string;
468
+ surface: string;
469
+ 'surface-hover'?: string;
470
+ text: string;
471
+ 'text-secondary'?: string;
472
+ 'text-disabled'?: string;
473
+ border: string;
474
+ 'border-focus'?: string;
475
+ success?: string;
476
+ warning?: string;
477
+ error?: string;
478
+ info?: string;
479
+ [key: string]: string | undefined;
480
+ }
481
+ /**
482
+ * Custom theme configuration interface
483
+ * Allows users to create their own themes with custom colors, typography, spacing, etc.
484
+ * Supports both single theme and light/dark variants.
485
+ */
486
+ interface CustomTheme {
487
+ name: string;
488
+ colors: ThemeColors;
489
+ /**
490
+ * Optional light and dark variants for the theme
491
+ * If provided, allows switching between light and dark modes
492
+ */
493
+ variants?: {
494
+ light?: ThemeColors;
495
+ dark?: ThemeColors;
496
+ };
497
+ typography?: {
498
+ fontFamily?: {
499
+ base?: string;
500
+ mono?: string;
501
+ [key: string]: string | undefined;
502
+ };
503
+ fontSize?: {
504
+ xs?: string;
505
+ sm?: string;
506
+ base?: string;
507
+ lg?: string;
508
+ xl?: string;
509
+ '2xl'?: string;
510
+ '3xl'?: string;
511
+ '4xl'?: string;
512
+ '5xl'?: string;
513
+ [key: string]: string | undefined;
514
+ };
515
+ fontWeight?: {
516
+ light?: number;
517
+ normal?: number;
518
+ medium?: number;
519
+ semibold?: number;
520
+ bold?: number;
521
+ [key: string]: number | undefined;
522
+ };
523
+ lineHeight?: {
524
+ tight?: number;
525
+ normal?: number;
526
+ relaxed?: number;
527
+ [key: string]: number | undefined;
528
+ };
529
+ };
530
+ spacing?: {
531
+ xs?: string;
532
+ sm?: string;
533
+ md?: string;
534
+ lg?: string;
535
+ xl?: string;
536
+ '2xl'?: string;
537
+ '3xl'?: string;
538
+ '4xl'?: string;
539
+ '5xl'?: string;
540
+ [key: string]: string | undefined;
541
+ };
542
+ borderRadius?: {
543
+ none?: string;
544
+ sm?: string;
545
+ md?: string;
546
+ lg?: string;
547
+ xl?: string;
548
+ '2xl'?: string;
549
+ full?: string;
550
+ [key: string]: string | undefined;
551
+ };
552
+ shadow?: {
553
+ none?: string;
554
+ sm?: string;
555
+ md?: string;
556
+ lg?: string;
557
+ xl?: string;
558
+ '2xl'?: string;
559
+ [key: string]: string | undefined;
560
+ };
561
+ }
562
+
440
563
  /**
441
564
  * Theme loader utility
442
565
  * Generates CSS variables from design tokens
@@ -444,35 +567,80 @@ type Theme = 'light' | 'dark' | 'brand';
444
567
  declare class ThemeLoader {
445
568
  /**
446
569
  * Load a theme and apply it to the document root
570
+ * @param themeName - Predefined theme name ('light', 'dark', 'brand') or a CustomTheme object
571
+ * @param variant - Optional variant ('light' or 'dark') for CustomTheme with variants support
447
572
  */
448
- static loadTheme(themeName?: Theme): void;
573
+ static loadTheme(themeName?: Theme | CustomTheme, variant?: 'light' | 'dark'): void;
574
+ /**
575
+ * Load a custom theme variant (light or dark)
576
+ * @param customTheme - CustomTheme object with variants support
577
+ * @param variant - Variant to load ('light' or 'dark')
578
+ */
579
+ static loadThemeVariant(customTheme: CustomTheme, variant: 'light' | 'dark'): void;
449
580
  /**
450
581
  * Get theme configuration by name
451
582
  */
452
583
  private static getTheme;
453
584
  /**
454
585
  * Get all CSS variables as a string (useful for SSR or static generation)
586
+ * @param themeName - Predefined theme name ('light', 'dark', 'brand') or a CustomTheme object
587
+ * @param variant - Optional variant ('light' or 'dark') for CustomTheme with variants support
455
588
  */
456
- static getThemeCSS(themeName?: Theme): string;
589
+ static getThemeCSS(themeName?: Theme | CustomTheme, variant?: 'light' | 'dark'): string;
457
590
  }
458
591
 
459
- /**
460
- * Shared types and interfaces
461
- */
462
- type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
463
- type ButtonSize = 'sm' | 'md' | 'lg';
464
- type InputSize = 'sm' | 'md' | 'lg';
465
- type CardVariant = 'default' | 'elevated' | 'outlined';
466
- interface BaseComponent {
467
- disabled?: boolean;
468
- class?: string;
592
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
593
+ declare class AvatarComponent {
594
+ /** Avatar size. Options: 'xs' | 'sm' | 'md' | 'lg' | 'xl' */
595
+ size: AvatarSize;
596
+ /** Image source URL */
597
+ src?: string;
598
+ /** Alt text for the image */
599
+ alt: string;
600
+ /** Initials to display when no image is provided */
601
+ initials?: string;
602
+ /** Whether to show a border/ring around the avatar */
603
+ bordered: boolean;
604
+ /** Additional CSS classes */
605
+ class: string;
606
+ get avatarClasses(): string;
607
+ get displayInitials(): string;
608
+ onImageError(event: Event): void;
609
+ static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
610
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "sefin-avatar", never, { "size": { "alias": "size"; "required": false; }; "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "initials": { "alias": "initials"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
611
+ }
612
+
613
+ type BadgeVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';
614
+ type BadgeSize = 'sm' | 'md' | 'lg';
615
+ declare class BadgeComponent {
616
+ /** Badge variant style. Options: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' */
617
+ variant: BadgeVariant;
618
+ /** Badge size. Options: 'sm' | 'md' | 'lg' */
619
+ size: BadgeSize;
620
+ /** Whether the badge should be displayed as a dot (no text) */
621
+ dot: boolean;
622
+ /** Maximum number to show before displaying as "+N" */
623
+ max?: number;
624
+ /** Badge value (number or text) */
625
+ value?: number | string;
626
+ /** Additional CSS classes */
627
+ class: string;
628
+ get badgeClasses(): string;
629
+ get displayValue(): string;
630
+ static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
631
+ static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "sefin-badge", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; "max": { "alias": "max"; "required": false; }; "value": { "alias": "value"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
469
632
  }
470
633
 
471
634
  declare class ButtonComponent {
635
+ /** Button variant style. Options: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' */
472
636
  variant: ButtonVariant;
637
+ /** Button size. Options: 'sm' | 'md' | 'lg' */
473
638
  size: ButtonSize;
639
+ /** Whether the button is disabled */
474
640
  disabled: boolean;
641
+ /** Button type. Options: 'button' | 'submit' | 'reset' */
475
642
  type: 'button' | 'submit' | 'reset';
643
+ /** Additional CSS classes */
476
644
  class: string;
477
645
  clicked: EventEmitter<MouseEvent>;
478
646
  onClick(event: MouseEvent): void;
@@ -481,125 +649,508 @@ declare class ButtonComponent {
481
649
  static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sefin-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
482
650
  }
483
651
 
652
+ type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
484
653
  declare class IconComponent {
485
- name: string;
486
- size: 'sm' | 'md' | 'lg';
654
+ private injector;
655
+ private sanitizer;
656
+ constructor(injector: Injector);
657
+ /** Icon name from Lucide Angular (e.g., 'home', 'search', 'user') */
658
+ name?: string;
659
+ /** Icon size. Options: 'xs' | 'sm' | 'md' | 'lg' | 'xl' */
660
+ size: IconSize;
661
+ /** Custom color for the icon */
662
+ color?: string;
663
+ /** Whether the icon should be rotated 180 degrees */
664
+ rotate: boolean;
665
+ /** Whether the icon should be flipped horizontally */
666
+ flipH: boolean;
667
+ /** Whether the icon should be flipped vertically */
668
+ flipV: boolean;
669
+ /** Additional CSS classes */
487
670
  class: string;
488
671
  get iconClasses(): string;
672
+ get sizeValue(): number;
673
+ get lucideIconName(): string | undefined;
674
+ get iconSvgHtml(): any;
675
+ private escapeHtml;
676
+ private getTransform;
489
677
  static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
490
- static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "sefin-icon", never, { "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
678
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "sefin-icon", never, { "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "flipH": { "alias": "flipH"; "required": false; }; "flipV": { "alias": "flipV"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
491
679
  }
492
680
 
493
- declare class InputComponent implements ControlValueAccessor {
494
- type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
495
- placeholder: string;
681
+ /**
682
+ * Lucide Icon Map
683
+ * Maps icon names to Lucide Angular components
684
+ * This allows us to use Lucide icons internally while maintaining our API
685
+ */
686
+ declare const LUCIDE_ICON_MAP: Record<string, () => Promise<{
687
+ default: any;
688
+ }>>;
689
+ /**
690
+ * Get Lucide icon component by name
691
+ */
692
+ declare function getLucideIcon(name: string): (() => Promise<{
693
+ default: any;
694
+ }>) | null;
695
+ /**
696
+ * Check if an icon name has a Lucide mapping
697
+ */
698
+ declare function hasLucideIcon(name: string): boolean;
699
+
700
+ declare class IconButtonComponent {
701
+ /** Button variant style. Options: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' */
702
+ variant: ButtonVariant;
703
+ /** Button size. Options: 'sm' | 'md' | 'lg' */
704
+ size: ButtonSize;
705
+ /** Whether the button is disabled */
706
+ disabled: boolean;
707
+ /** Button type. Options: 'button' | 'submit' | 'reset' */
708
+ type: 'button' | 'submit' | 'reset';
709
+ /** Additional CSS classes */
710
+ class: string;
711
+ /** Accessibility label for the button */
712
+ ariaLabel: string;
713
+ /** Whether the button should be rounded (circular) */
714
+ rounded: boolean;
715
+ clicked: EventEmitter<MouseEvent>;
716
+ onClick(event: MouseEvent): void;
717
+ get buttonClasses(): string;
718
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
719
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "sefin-icon-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
720
+ }
721
+
722
+ type FabSize = 'sm' | 'md' | 'lg';
723
+ declare class FabButtonComponent {
724
+ /** Button variant style. Options: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' */
725
+ variant: ButtonVariant;
726
+ /** FAB size. Options: 'sm' | 'md' | 'lg' */
727
+ size: FabSize;
728
+ /** Whether the button is disabled */
729
+ disabled: boolean;
730
+ /** Button type. Options: 'button' | 'submit' | 'reset' */
731
+ type: 'button' | 'submit' | 'reset';
732
+ /** Additional CSS classes */
733
+ class: string;
734
+ /** Accessibility label for the button */
735
+ ariaLabel: string;
736
+ clicked: EventEmitter<MouseEvent>;
737
+ onClick(event: MouseEvent): void;
738
+ get buttonClasses(): string;
739
+ static ɵfac: i0.ɵɵFactoryDeclaration<FabButtonComponent, never>;
740
+ static ɵcmp: i0.ɵɵComponentDeclaration<FabButtonComponent, "sefin-fab-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
741
+ }
742
+
743
+ type ChipVariant = 'default' | 'primary' | 'secondary' | 'outline' | 'ghost';
744
+ type ChipSize = 'sm' | 'md' | 'lg';
745
+ declare class ChipComponent {
746
+ /** Chip variant style. Options: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' */
747
+ variant: ChipVariant;
748
+ /** Chip size. Options: 'sm' | 'md' | 'lg' */
749
+ size: ChipSize;
750
+ /** Whether the chip is disabled */
751
+ disabled: boolean;
752
+ /** Whether the chip can be removed (shows remove button) */
753
+ removable: boolean;
754
+ /** Whether the chip is selected (for selectable chips) */
755
+ selected: boolean;
756
+ /** Additional CSS classes */
757
+ class: string;
758
+ removed: EventEmitter<MouseEvent>;
759
+ clicked: EventEmitter<MouseEvent>;
760
+ onRemove(event: MouseEvent): void;
761
+ onClick(event: MouseEvent): void;
762
+ get chipClasses(): string;
763
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChipComponent, never>;
764
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChipComponent, "sefin-chip", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "removed": "removed"; "clicked": "clicked"; }, never, ["*"], true, never>;
765
+ }
766
+
767
+ type TagVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
768
+ type TagSize = 'sm' | 'md' | 'lg';
769
+ declare class TagComponent {
770
+ /** Tag variant style. Options: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info' */
771
+ variant: TagVariant;
772
+ /** Tag size. Options: 'sm' | 'md' | 'lg' */
773
+ size: TagSize;
774
+ /** Whether the tag can be removed (shows remove button) */
775
+ removable: boolean;
776
+ /** Whether the tag is disabled */
777
+ disabled: boolean;
778
+ /** Additional CSS classes */
779
+ class: string;
780
+ /** Event emitted when the tag is removed */
781
+ removed: EventEmitter<MouseEvent>;
782
+ onRemove(event: MouseEvent): void;
783
+ get tagClasses(): string;
784
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, never>;
785
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "sefin-tag", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "removed": "removed"; }, never, ["*"], true, never>;
786
+ }
787
+
788
+ type LinkVariant = 'default' | 'primary' | 'secondary' | 'underline';
789
+ type LinkSize = 'sm' | 'md' | 'lg';
790
+ declare class LinkComponent {
791
+ /** Link variant style. Options: 'default' | 'primary' | 'secondary' | 'underline' */
792
+ variant: LinkVariant;
793
+ /** Link size. Options: 'sm' | 'md' | 'lg' */
794
+ size: LinkSize;
795
+ /** Whether the link is disabled */
796
+ disabled: boolean;
797
+ /** Link URL */
798
+ href?: string;
799
+ /** Link target attribute (e.g., '_blank') */
800
+ target?: string;
801
+ /** Link rel attribute */
802
+ rel?: string;
803
+ /** Additional CSS classes */
804
+ class: string;
805
+ /** Whether to show underline */
806
+ underline: boolean;
807
+ get linkClasses(): string;
808
+ onClick(event: Event): void;
809
+ static ɵfac: i0.ɵɵFactoryDeclaration<LinkComponent, never>;
810
+ static ɵcmp: i0.ɵɵComponentDeclaration<LinkComponent, "sefin-link", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "rel": { "alias": "rel"; "required": false; }; "class": { "alias": "class"; "required": false; }; "underline": { "alias": "underline"; "required": false; }; }, {}, never, ["*"], true, never>;
811
+ }
812
+
813
+ declare class StackComponent {
814
+ direction: 'row' | 'column';
815
+ spacing: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
816
+ align: 'start' | 'center' | 'end' | 'stretch';
817
+ justify: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
818
+ wrap: boolean;
819
+ class: string;
820
+ get stackClasses(): string;
821
+ get spacingValue(): string;
822
+ get stackStyles(): {
823
+ [key: string]: string;
824
+ };
825
+ static ɵfac: i0.ɵɵFactoryDeclaration<StackComponent, never>;
826
+ static ɵcmp: i0.ɵɵComponentDeclaration<StackComponent, "sefin-stack", never, { "direction": { "alias": "direction"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
827
+ }
828
+
829
+ declare class CheckboxComponent implements ControlValueAccessor, AfterViewInit, OnChanges {
830
+ checkboxInput?: ElementRef<HTMLInputElement>;
496
831
  size: InputSize;
497
832
  disabled: boolean;
498
- required: boolean;
499
- readonly: boolean;
833
+ indeterminate: boolean;
500
834
  class: string;
501
- id: string;
502
- blur: EventEmitter<FocusEvent>;
503
- focus: EventEmitter<FocusEvent>;
504
- value: string;
835
+ label: string;
836
+ name: string;
837
+ value: boolean;
838
+ valueChange: EventEmitter<boolean>;
839
+ checkedChange: EventEmitter<boolean>;
505
840
  private onChange;
506
841
  private onTouched;
507
- onInput(event: Event): void;
508
- onBlur(event: FocusEvent): void;
509
- onFocus(event: FocusEvent): void;
510
- writeValue(value: string): void;
511
- registerOnChange(fn: (value: string) => void): void;
842
+ ngAfterViewInit(): void;
843
+ ngOnChanges(changes: SimpleChanges): void;
844
+ onCheckboxChange(event: Event): void;
845
+ writeValue(value: boolean): void;
846
+ registerOnChange(fn: (value: boolean) => void): void;
512
847
  registerOnTouched(fn: () => void): void;
513
848
  setDisabledState(isDisabled: boolean): void;
514
- get inputClasses(): string;
515
- static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
516
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sefin-input", never, { "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "class": { "alias": "class"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "blur": "blur"; "focus": "focus"; }, never, never, true, never>;
849
+ get wrapperClasses(): string;
850
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
851
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "sefin-checkbox", never, { "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "class": { "alias": "class"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
517
852
  }
518
853
 
519
- declare class FormFieldComponent {
520
- label: string;
521
- hint: string;
522
- error: string;
523
- required: boolean;
854
+ declare class RadioComponent implements ControlValueAccessor {
855
+ radioInput?: ElementRef<HTMLInputElement>;
856
+ size: InputSize;
524
857
  disabled: boolean;
525
- inputId: string;
526
- inputType: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
527
- placeholder: string;
528
- size: 'sm' | 'md' | 'lg';
529
- static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
530
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "sefin-form-field", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "inputType": { "alias": "inputType"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
858
+ class: string;
859
+ label: string;
860
+ name: string;
861
+ value: string | number;
862
+ checked: boolean;
863
+ valueChange: EventEmitter<string | number>;
864
+ checkedChange: EventEmitter<boolean>;
865
+ private onChange;
866
+ private onTouched;
867
+ onRadioChange(event: Event): void;
868
+ writeValue(value: string | number): void;
869
+ registerOnChange(fn: (value: string | number) => void): void;
870
+ registerOnTouched(fn: () => void): void;
871
+ setDisabledState(isDisabled: boolean): void;
872
+ get wrapperClasses(): string;
873
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioComponent, never>;
874
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioComponent, "sefin-radio", never, { "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "valueChange": "valueChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
531
875
  }
532
876
 
533
- interface DropdownOption {
877
+ interface SelectOption {
878
+ value: string | number;
534
879
  label: string;
535
- value: any;
536
880
  disabled?: boolean;
537
881
  }
538
- declare class DropdownComponent {
539
- options: DropdownOption[];
882
+ declare class SelectComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {
883
+ containerRef?: ElementRef<HTMLDivElement>;
884
+ dropdownRef?: ElementRef<HTMLDivElement>;
885
+ buttonRef?: ElementRef<HTMLButtonElement>;
886
+ options: SelectOption[];
540
887
  placeholder: string;
541
888
  disabled: boolean;
542
- size: 'sm' | 'md' | 'lg';
543
- selectionChange: EventEmitter<any>;
889
+ size: InputSize;
890
+ class: string;
891
+ value: string | number | null;
892
+ valueChange: EventEmitter<string | number>;
893
+ optionSelected: EventEmitter<SelectOption>;
544
894
  isOpen: boolean;
545
- selectedOption: DropdownOption | null;
546
- toggle(): void;
547
- selectOption(option: DropdownOption): void;
548
- get displayText(): string;
549
- static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
550
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "sefin-dropdown", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
895
+ selectedIndex: number;
896
+ private onChange;
897
+ private onTouched;
898
+ ngOnInit(): void;
899
+ ngOnChanges(changes: SimpleChanges): void;
900
+ ngOnDestroy(): void;
901
+ onClickOutside(event: MouseEvent): void;
902
+ onEscapeKey(event: Event): void;
903
+ toggleDropdown(): void;
904
+ openDropdown(): void;
905
+ closeDropdown(): void;
906
+ selectOption(option: SelectOption): void;
907
+ onKeyDown(event: KeyboardEvent): void;
908
+ private updateSelectedIndex;
909
+ private scrollToSelected;
910
+ getSelectedLabel(): string;
911
+ writeValue(value: string | number | null): void;
912
+ registerOnChange(fn: (value: string | number | null) => void): void;
913
+ registerOnTouched(fn: () => void): void;
914
+ setDisabledState(isDisabled: boolean): void;
915
+ get buttonClasses(): string;
916
+ get containerClasses(): string;
917
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
918
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "sefin-select", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "optionSelected": "optionSelected"; }, never, never, true, never>;
919
+ }
920
+
921
+ declare class SwitchComponent implements ControlValueAccessor {
922
+ size: InputSize;
923
+ disabled: boolean;
924
+ class: string;
925
+ label: string;
926
+ name: string;
927
+ value: boolean;
928
+ valueChange: EventEmitter<boolean>;
929
+ checkedChange: EventEmitter<boolean>;
930
+ private onChange;
931
+ private onTouched;
932
+ onSwitchChange(event: Event): void;
933
+ writeValue(value: boolean): void;
934
+ registerOnChange(fn: (value: boolean) => void): void;
935
+ registerOnTouched(fn: () => void): void;
936
+ setDisabledState(isDisabled: boolean): void;
937
+ get wrapperClasses(): string;
938
+ static ɵfac: i0.ɵɵFactoryDeclaration<SwitchComponent, never>;
939
+ static ɵcmp: i0.ɵɵComponentDeclaration<SwitchComponent, "sefin-switch", never, { "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
940
+ }
941
+
942
+ declare class TypographyComponent {
943
+ variant: TypographyVariant;
944
+ size?: TypographySize;
945
+ weight?: TypographyWeight;
946
+ color: TypographyColor;
947
+ lineHeight?: TypographyLineHeight;
948
+ class: string;
949
+ text?: string;
950
+ get typographyClasses(): string;
951
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypographyComponent, never>;
952
+ static ɵcmp: i0.ɵɵComponentDeclaration<TypographyComponent, "sefin-typography", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "weight": { "alias": "weight"; "required": false; }; "color": { "alias": "color"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "class": { "alias": "class"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["*", "*", "*", "*", "*", "*", "*", "*"], true, never>;
953
+ }
954
+
955
+ type DividerOrientation = 'horizontal' | 'vertical';
956
+ type DividerVariant = 'solid' | 'dashed' | 'dotted';
957
+ declare class DividerComponent {
958
+ /** Divider orientation. Options: 'horizontal' | 'vertical' */
959
+ orientation: DividerOrientation;
960
+ /** Divider variant style. Options: 'solid' | 'dashed' | 'dotted' */
961
+ variant: DividerVariant;
962
+ /** Spacing around the divider (margin) */
963
+ spacing: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
964
+ /** Thickness of the divider */
965
+ thickness: 'thin' | 'medium' | 'thick';
966
+ /** Additional CSS classes */
967
+ class: string;
968
+ get dividerClasses(): string;
969
+ static ɵfac: i0.ɵɵFactoryDeclaration<DividerComponent, never>;
970
+ static ɵcmp: i0.ɵɵComponentDeclaration<DividerComponent, "sefin-divider", never, { "orientation": { "alias": "orientation"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "thickness": { "alias": "thickness"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
551
971
  }
552
972
 
553
- declare class CardComponent {
554
- variant: CardVariant;
973
+ type SpinnerSize = 'sm' | 'md' | 'lg';
974
+ type SpinnerVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'default';
975
+ declare class SpinnerComponent {
976
+ /** Spinner size. Options: 'sm' | 'md' | 'lg' */
977
+ size: SpinnerSize;
978
+ /** Spinner variant color. Options: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'default' */
979
+ variant: SpinnerVariant;
980
+ /** Whether the spinner should be displayed inline (smaller margins) */
981
+ inline: boolean;
982
+ /** Additional CSS classes */
555
983
  class: string;
556
- get cardClasses(): string;
557
- static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
558
- static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "sefin-card", never, { "variant": { "alias": "variant"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
984
+ get spinnerClasses(): string;
985
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, never>;
986
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "sefin-spinner", never, { "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
559
987
  }
560
988
 
561
- declare class HeaderComponent {
562
- title: string;
563
- logo: string;
564
- showUserMenu: boolean;
565
- userName: string;
566
- logoClick: EventEmitter<void>;
567
- menuClick: EventEmitter<void>;
568
- userMenuClick: EventEmitter<void>;
569
- static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
570
- static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "sefin-header", never, { "title": { "alias": "title"; "required": false; }; "logo": { "alias": "logo"; "required": false; }; "showUserMenu": { "alias": "showUserMenu"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; }, { "logoClick": "logoClick"; "menuClick": "menuClick"; "userMenuClick": "userMenuClick"; }, never, never, true, never>;
989
+ type ProgressBarVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'error';
990
+ type ProgressBarSize = 'sm' | 'md' | 'lg';
991
+ declare class ProgressBarComponent {
992
+ /** Progress value (0-100) */
993
+ value: number;
994
+ /** Progress bar variant color. Options: 'primary' | 'secondary' | 'success' | 'warning' | 'error' */
995
+ variant: ProgressBarVariant;
996
+ /** Progress bar size. Options: 'sm' | 'md' | 'lg' */
997
+ size: ProgressBarSize;
998
+ /** Whether to show the progress percentage label */
999
+ showLabel: boolean;
1000
+ /** Whether the progress bar is in indeterminate state (animated) */
1001
+ indeterminate: boolean;
1002
+ /** Additional CSS classes */
1003
+ class: string;
1004
+ get progressBarClasses(): string;
1005
+ get clampedValue(): number;
1006
+ get percentageText(): string;
1007
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
1008
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProgressBarComponent, "sefin-progress-bar", never, { "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
571
1009
  }
572
1010
 
573
- interface LoginCredentials {
574
- email: string;
575
- password: string;
1011
+ type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
1012
+ type TooltipTrigger = 'hover' | 'click' | 'focus';
1013
+ declare class TooltipComponent implements AfterViewInit, OnDestroy {
1014
+ private cdr;
1015
+ /** Tooltip text content */
1016
+ text: string;
1017
+ /** Tooltip position. Options: 'top' | 'bottom' | 'left' | 'right' */
1018
+ position: TooltipPosition;
1019
+ /** Trigger event. Options: 'hover' | 'click' | 'focus' */
1020
+ trigger: TooltipTrigger;
1021
+ /** Delay before showing tooltip (in milliseconds) */
1022
+ delay: number;
1023
+ /** Whether the tooltip is disabled */
1024
+ disabled: boolean;
1025
+ /** Additional CSS classes */
1026
+ class: string;
1027
+ tooltipContent: ElementRef<HTMLDivElement>;
1028
+ tooltipTrigger: ElementRef<HTMLDivElement>;
1029
+ isVisible: boolean;
1030
+ private showTimeout?;
1031
+ private hideTimeout?;
1032
+ constructor(cdr: ChangeDetectorRef);
1033
+ ngAfterViewInit(): void;
1034
+ ngOnDestroy(): void;
1035
+ onMouseEnter(event: Event): void;
1036
+ onMouseLeave(event: Event): void;
1037
+ onClick(event: Event): void;
1038
+ onFocus(event: Event): void;
1039
+ onBlur(event: Event): void;
1040
+ show(): void;
1041
+ hide(): void;
1042
+ toggle(): void;
1043
+ private clearTimeouts;
1044
+ private handleOutsideClick;
1045
+ get tooltipClasses(): string;
1046
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
1047
+ static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "sefin-tooltip", never, { "text": { "alias": "text"; "required": false; }; "position": { "alias": "position"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
1048
+ }
1049
+
1050
+ type AlertVariant = 'success' | 'warning' | 'error' | 'info' | 'default';
1051
+ type AlertSize = 'sm' | 'md' | 'lg';
1052
+ declare class AlertComponent {
1053
+ /** Alert variant style. Options: 'success' | 'warning' | 'error' | 'info' | 'default' */
1054
+ variant: AlertVariant;
1055
+ /** Alert size. Options: 'sm' | 'md' | 'lg' */
1056
+ size: AlertSize;
1057
+ /** Alert title (optional) */
1058
+ title?: string;
1059
+ /** Whether the alert can be dismissed (shows close button) */
1060
+ dismissible: boolean;
1061
+ /** Whether to show an icon */
1062
+ showIcon: boolean;
1063
+ /** Whether the alert is visible */
1064
+ visible: boolean;
1065
+ /** Additional CSS classes */
1066
+ class: string;
1067
+ /** Event emitted when the alert is dismissed */
1068
+ dismissed: EventEmitter<void>;
1069
+ onDismiss(): void;
1070
+ get alertClasses(): string;
1071
+ get iconClass(): string;
1072
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
1073
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "sefin-alert", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "title": { "alias": "title"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "dismissed": "dismissed"; }, never, ["*"], true, never>;
576
1074
  }
577
- declare class LoginFormComponent {
578
- email: string;
579
- password: string;
580
- error: string;
581
- submit: EventEmitter<LoginCredentials>;
582
- onSubmit(): void;
583
- static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormComponent, never>;
584
- static ɵcmp: i0.ɵɵComponentDeclaration<LoginFormComponent, "sefin-login-form", never, {}, { "submit": "submit"; }, never, never, true, never>;
1075
+
1076
+ type ToastVariant = 'success' | 'warning' | 'error' | 'info' | 'default';
1077
+ type ToastPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center';
1078
+ declare class ToastComponent implements OnInit, OnDestroy {
1079
+ private cdr;
1080
+ /** Toast variant style. Options: 'success' | 'warning' | 'error' | 'info' | 'default' */
1081
+ variant: ToastVariant;
1082
+ /** Toast position. Options: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center' */
1083
+ position: ToastPosition;
1084
+ /** Toast title (optional) */
1085
+ title?: string;
1086
+ /** Toast message */
1087
+ message: string;
1088
+ /** Duration in milliseconds before auto-dismiss (0 = no auto-dismiss) */
1089
+ duration: number;
1090
+ /** Whether to show an icon */
1091
+ showIcon: boolean;
1092
+ /** Whether the toast can be dismissed manually */
1093
+ dismissible: boolean;
1094
+ /** Additional CSS classes */
1095
+ class: string;
1096
+ /** Event emitted when the toast is dismissed */
1097
+ dismissed: EventEmitter<void>;
1098
+ isVisible: boolean;
1099
+ isExiting: boolean;
1100
+ private dismissTimeout?;
1101
+ constructor(cdr: ChangeDetectorRef);
1102
+ ngOnInit(): void;
1103
+ ngOnDestroy(): void;
1104
+ dismiss(): void;
1105
+ get toastClasses(): string;
1106
+ get iconClass(): string;
1107
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastComponent, never>;
1108
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToastComponent, "sefin-toast", never, { "variant": { "alias": "variant"; "required": false; }; "position": { "alias": "position"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "dismissed": "dismissed"; }, never, ["*"], true, never>;
585
1109
  }
586
1110
 
587
- interface ToolbarAction {
1111
+ interface AutocompleteOption {
1112
+ value: string | number;
588
1113
  label: string;
589
- icon?: string;
590
- variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
591
- action: () => void;
1114
+ disabled?: boolean;
592
1115
  }
593
- declare class ToolbarComponent {
594
- title: string;
595
- actions: ToolbarAction[];
596
- actionClick: EventEmitter<ToolbarAction>;
597
- onActionClick(action: ToolbarAction): void;
598
- static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
599
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "sefin-toolbar", never, { "title": { "alias": "title"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionClick": "actionClick"; }, never, never, true, never>;
1116
+ declare class AutocompleteComponent implements OnInit, OnDestroy, OnChanges {
1117
+ inputRef?: ElementRef<HTMLInputElement>;
1118
+ dropdownRef?: ElementRef<HTMLDivElement>;
1119
+ containerRef?: ElementRef<HTMLDivElement>;
1120
+ options: AutocompleteOption[];
1121
+ placeholder: string;
1122
+ disabled: boolean;
1123
+ size: InputSize;
1124
+ class: string;
1125
+ value: string | number | null;
1126
+ minChars: number;
1127
+ maxResults: number;
1128
+ valueChange: EventEmitter<string | number>;
1129
+ optionSelected: EventEmitter<AutocompleteOption>;
1130
+ inputChange: EventEmitter<string>;
1131
+ searchText: string;
1132
+ filteredOptions: AutocompleteOption[];
1133
+ isOpen: boolean;
1134
+ selectedIndex: number;
1135
+ ngOnInit(): void;
1136
+ ngOnChanges(changes: SimpleChanges): void;
1137
+ ngOnDestroy(): void;
1138
+ onClickOutside(event: MouseEvent): void;
1139
+ onInputChange(value: string): void;
1140
+ filterOptions(): void;
1141
+ selectOption(option: AutocompleteOption): void;
1142
+ onInputFocus(): void;
1143
+ onInputBlur(): void;
1144
+ onKeyDown(event: KeyboardEvent): void;
1145
+ private scrollToSelected;
1146
+ clearValue(): void;
1147
+ get inputClasses(): string;
1148
+ get containerClasses(): string;
1149
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
1150
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "sefin-autocomplete", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; }; "value": { "alias": "value"; "required": false; }; "minChars": { "alias": "minChars"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; }, { "valueChange": "valueChange"; "optionSelected": "optionSelected"; "inputChange": "inputChange"; }, never, never, true, never>;
600
1151
  }
601
1152
 
602
1153
  declare const STYLES_PATH = "./styles/index.scss";
603
1154
 
604
- export { BORDER_RADIUS_TOKENS, BRAND_THEME, ButtonComponent, COLOR_TOKENS, CardComponent, DARK_THEME, DESIGN_TOKENS, DropdownComponent, FormFieldComponent, HeaderComponent, IconComponent, InputComponent, LIGHT_THEME, LoginFormComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, TYPOGRAPHY_TOKENS, ThemeLoader, ToolbarComponent };
605
- export type { BaseComponent, BorderRadiusToken, ButtonSize, ButtonVariant, CardVariant, ColorShade, ColorTokenName, DropdownOption, InputSize, LoginCredentials, ShadowToken, SpacingToken, Theme, ToolbarAction, TypographyToken };
1155
+ export { AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, ButtonComponent, COLOR_TOKENS, CheckboxComponent, ChipComponent, DARK_THEME, DESIGN_TOKENS, DividerComponent, FabButtonComponent, IconButtonComponent, IconComponent, LIGHT_THEME, LUCIDE_ICON_MAP, LinkComponent, ProgressBarComponent, RadioComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TagComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent, getLucideIcon, hasLucideIcon };
1156
+ export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, CustomTheme, DividerOrientation, DividerVariant, FabSize, IconSize, InputSize, LinkSize, LinkVariant, ProgressBarSize, ProgressBarVariant, SelectOption, ShadowToken, SpacingToken, SpinnerSize, SpinnerVariant, TagSize, TagVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };