@lesterarte/sefin-ui 0.0.6-dev.0 → 0.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lesterarte/sefin-ui",
3
- "version": "0.0.6-dev.0",
3
+ "version": "0.0.7",
4
4
  "description": "Sefin Design System - A comprehensive Angular UI library based on Atomic Design and design tokens",
5
5
  "keywords": [
6
6
  "angular",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "lucide": "^0.562.0",
26
- "lucide-angular": "^0.562.0",
27
26
  "tslib": "^2.3.0"
28
27
  },
29
28
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Injector, AfterViewInit, OnChanges, ElementRef, SimpleChanges, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
3
- import { ControlValueAccessor } from '@angular/forms';
3
+ import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
4
 
5
5
  /**
6
6
  * Color design tokens as TypeScript constants
@@ -606,6 +606,7 @@ declare class AvatarComponent {
606
606
  get avatarClasses(): string;
607
607
  get displayInitials(): string;
608
608
  onImageError(event: Event): void;
609
+ get iconSize(): 'xs' | 'sm' | 'md' | 'lg' | 'xl';
609
610
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
610
611
  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
  }
@@ -678,25 +679,6 @@ declare class IconComponent {
678
679
  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>;
679
680
  }
680
681
 
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
682
  declare class IconButtonComponent {
701
683
  /** Button variant style. Options: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' */
702
684
  variant: ButtonVariant;
@@ -771,6 +753,8 @@ declare class TagComponent {
771
753
  variant: TagVariant;
772
754
  /** Tag size. Options: 'sm' | 'md' | 'lg' */
773
755
  size: TagSize;
756
+ /** Icon name to display before the tag content */
757
+ icon?: string;
774
758
  /** Whether the tag can be removed (shows remove button) */
775
759
  removable: boolean;
776
760
  /** Whether the tag is disabled */
@@ -781,8 +765,9 @@ declare class TagComponent {
781
765
  removed: EventEmitter<MouseEvent>;
782
766
  onRemove(event: MouseEvent): void;
783
767
  get tagClasses(): string;
768
+ get iconSize(): 'xs' | 'sm' | 'md';
784
769
  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>;
770
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "sefin-tag", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "removed": "removed"; }, never, ["*"], true, never>;
786
771
  }
787
772
 
788
773
  type LinkVariant = 'default' | 'primary' | 'secondary' | 'underline';
@@ -826,6 +811,22 @@ declare class StackComponent {
826
811
  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
812
  }
828
813
 
814
+ type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
815
+ type ContainerVariant = 'default' | 'fluid' | 'fixed';
816
+ declare class ContainerComponent {
817
+ /** Container size. Options: 'sm' | 'md' | 'lg' | 'xl' | 'full' */
818
+ size: ContainerSize;
819
+ /** Container variant. Options: 'default' | 'fluid' | 'fixed' */
820
+ variant: ContainerVariant;
821
+ /** Whether the container has padding */
822
+ padding: boolean;
823
+ /** Additional CSS classes */
824
+ class: string;
825
+ get containerClasses(): string;
826
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContainerComponent, never>;
827
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContainerComponent, "sefin-container", never, { "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
828
+ }
829
+
829
830
  declare class CheckboxComponent implements ControlValueAccessor, AfterViewInit, OnChanges {
830
831
  checkboxInput?: ElementRef<HTMLInputElement>;
831
832
  size: InputSize;
@@ -1068,7 +1069,9 @@ declare class AlertComponent {
1068
1069
  dismissed: EventEmitter<void>;
1069
1070
  onDismiss(): void;
1070
1071
  get alertClasses(): string;
1071
- get iconClass(): string;
1072
+ get iconName(): string;
1073
+ get iconSize(): 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1074
+ get iconColor(): string;
1072
1075
  static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
1073
1076
  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>;
1074
1077
  }
@@ -1097,17 +1100,107 @@ declare class ToastComponent implements OnInit, OnDestroy {
1097
1100
  dismissed: EventEmitter<void>;
1098
1101
  isVisible: boolean;
1099
1102
  isExiting: boolean;
1103
+ isPaused: boolean;
1100
1104
  private dismissTimeout?;
1105
+ private remainingTime;
1106
+ private startTime;
1101
1107
  constructor(cdr: ChangeDetectorRef);
1102
1108
  ngOnInit(): void;
1103
1109
  ngOnDestroy(): void;
1110
+ private startTimer;
1111
+ private clearTimer;
1112
+ pauseTimer(): void;
1113
+ resumeTimer(): void;
1104
1114
  dismiss(): void;
1105
1115
  get toastClasses(): string;
1106
- get iconClass(): string;
1116
+ get iconName(): string;
1107
1117
  static ɵfac: i0.ɵɵFactoryDeclaration<ToastComponent, never>;
1108
1118
  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>;
1109
1119
  }
1110
1120
 
1121
+ type TextFieldVariant = 'outlined' | 'filled' | 'standard';
1122
+ type TextFieldSize = 'sm' | 'md' | 'lg';
1123
+ type TextFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
1124
+ declare class TextFieldComponent implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy {
1125
+ inputRef?: ElementRef<HTMLInputElement>;
1126
+ /** TextField variant style. Options: 'outlined' | 'filled' | 'standard' */
1127
+ variant: TextFieldVariant;
1128
+ /** TextField size. Options: 'sm' | 'md' | 'lg' */
1129
+ size: TextFieldSize;
1130
+ /** Input type. Options: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' */
1131
+ type: TextFieldType;
1132
+ /** Placeholder text */
1133
+ placeholder: string;
1134
+ /** Helper text shown below the input */
1135
+ hint: string;
1136
+ /** Error message to display */
1137
+ errorMessage: string;
1138
+ /** Whether the field is required */
1139
+ required: boolean;
1140
+ /** Whether the field is disabled */
1141
+ disabled: boolean;
1142
+ /** Whether the field is readonly */
1143
+ readonly: boolean;
1144
+ /** Maximum length of the input */
1145
+ maxLength?: number;
1146
+ /** Minimum length of the input */
1147
+ minLength?: number;
1148
+ /** Pattern for validation (regex string) */
1149
+ pattern?: string;
1150
+ /** Leading icon name */
1151
+ leadingIcon?: string;
1152
+ /** Trailing icon name */
1153
+ trailingIcon?: string;
1154
+ /** Whether to show character counter */
1155
+ showCounter: boolean;
1156
+ /** Autocomplete attribute */
1157
+ autocomplete?: string;
1158
+ /** Input name attribute */
1159
+ name: string;
1160
+ /** Input id attribute */
1161
+ id: string;
1162
+ /** Additional CSS classes */
1163
+ class: string;
1164
+ /** Custom validation function */
1165
+ customValidator?: (value: string) => string | null;
1166
+ /** Event emitted when the value changes */
1167
+ valueChange: EventEmitter<string>;
1168
+ /** Event emitted when the input is focused */
1169
+ focused: EventEmitter<FocusEvent>;
1170
+ /** Event emitted when the input is blurred */
1171
+ blurred: EventEmitter<FocusEvent>;
1172
+ /** Event emitted when trailing icon is clicked */
1173
+ trailingIconClick: EventEmitter<MouseEvent>;
1174
+ value: string;
1175
+ isFocused: boolean;
1176
+ hasError: boolean;
1177
+ internalErrorMessage: string;
1178
+ private onChange;
1179
+ private onTouched;
1180
+ private destroy$;
1181
+ private control?;
1182
+ ngOnInit(): void;
1183
+ ngAfterViewInit(): void;
1184
+ ngOnDestroy(): void;
1185
+ private generateIdIfNeeded;
1186
+ onInput(event: Event): void;
1187
+ onFocus(event: FocusEvent): void;
1188
+ onBlur(event: FocusEvent): void;
1189
+ onTrailingIconClick(event: MouseEvent): void;
1190
+ private validateField;
1191
+ get displayError(): boolean;
1192
+ get displayErrorMessage(): string;
1193
+ get characterCount(): number;
1194
+ get textFieldClasses(): string;
1195
+ writeValue(value: string): void;
1196
+ registerOnChange(fn: (value: string) => void): void;
1197
+ registerOnTouched(fn: () => void): void;
1198
+ setDisabledState(isDisabled: boolean): void;
1199
+ validate(control: AbstractControl): ValidationErrors | null;
1200
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextFieldComponent, never>;
1201
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextFieldComponent, "sefin-textfield", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; "customValidator": { "alias": "customValidator"; "required": false; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; "trailingIconClick": "trailingIconClick"; }, never, never, true, never>;
1202
+ }
1203
+
1111
1204
  interface AutocompleteOption {
1112
1205
  value: string | number;
1113
1206
  label: string;
@@ -1152,5 +1245,5 @@ declare class AutocompleteComponent implements OnInit, OnDestroy, OnChanges {
1152
1245
 
1153
1246
  declare const STYLES_PATH = "./styles/index.scss";
1154
1247
 
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 };
1248
+ export { AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, ButtonComponent, COLOR_TOKENS, CheckboxComponent, ChipComponent, ContainerComponent, DARK_THEME, DESIGN_TOKENS, DividerComponent, FabButtonComponent, IconButtonComponent, IconComponent, LIGHT_THEME, LinkComponent, ProgressBarComponent, RadioComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TagComponent, TextFieldComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent };
1249
+ export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, ContainerSize, ContainerVariant, CustomTheme, DividerOrientation, DividerVariant, FabSize, IconSize, InputSize, LinkSize, LinkVariant, ProgressBarSize, ProgressBarVariant, SelectOption, ShadowToken, SpacingToken, SpinnerSize, SpinnerVariant, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };