@lesterarte/sefin-ui 0.0.29 → 0.0.31

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.29",
3
+ "version": "0.0.31",
4
4
  "description": "Sefin Design System - A comprehensive Angular UI library based on Atomic Design and design tokens",
5
5
  "keywords": [
6
6
  "angular",
@@ -19,7 +19,8 @@
19
19
  "peerDependencies": {
20
20
  "@angular/common": "^21.0.0",
21
21
  "@angular/core": "^21.0.0",
22
- "@angular/forms": "^21.0.0"
22
+ "@angular/forms": "^21.0.0",
23
+ "@angular/router": "^21.0.0"
23
24
  },
24
25
  "dependencies": {
25
26
  "lucide": "^0.562.0",
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Injector, AfterViewInit, OnChanges, ElementRef, SimpleChanges, OnInit, OnDestroy, ChangeDetectorRef, NgZone, TemplateRef } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
4
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
5
+ import { Router } from '@angular/router';
5
6
 
6
7
  /**
7
8
  * Color design tokens as TypeScript constants
@@ -950,9 +951,10 @@ declare class TypographyComponent {
950
951
  color: TypographyColor;
951
952
  lineHeight?: TypographyLineHeight;
952
953
  class: string;
954
+ text: string;
953
955
  get typographyClasses(): string;
954
956
  static ɵfac: i0.ɵɵFactoryDeclaration<TypographyComponent, never>;
955
- 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; }; }, {}, never, ["*", "*", "*", "*", "*", "*", "*", "*"], true, never>;
957
+ 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, never, true, never>;
956
958
  }
957
959
 
958
960
  type DividerOrientation = 'horizontal' | 'vertical';
@@ -2042,7 +2044,69 @@ declare class TableComponent implements OnInit, OnChanges {
2042
2044
  static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "sefin-table", never, { "columns": { "alias": "columns"; "required": false; }; "data": { "alias": "data"; "required": false; }; "trackByKey": { "alias": "trackByKey"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "density": { "alias": "density"; "required": false; }; "striped": { "alias": "striped"; "required": false; }; "hover": { "alias": "hover"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "serverSide": { "alias": "serverSide"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "headerActionsTemplate": { "alias": "headerActionsTemplate"; "required": false; }; "emptyIconTemplate": { "alias": "emptyIconTemplate"; "required": false; }; }, { "rowClicked": "rowClicked"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; "sortChanged": "sortChanged"; }, never, ["[actions]", "[actions]"], true, never>;
2043
2045
  }
2044
2046
 
2047
+ /**
2048
+ * Sidebar navigation item interface
2049
+ */
2050
+ interface NavItem {
2051
+ /** Label text for the navigation item */
2052
+ label: string;
2053
+ /** Route path for navigation */
2054
+ route?: string;
2055
+ /** Icon name from lucide icons */
2056
+ icon?: string;
2057
+ /** Child navigation items */
2058
+ children?: NavItem[];
2059
+ /** Whether the item is expanded (for items with children) */
2060
+ expanded?: boolean;
2061
+ }
2062
+
2063
+ declare class SidebarComponent implements OnInit, OnDestroy {
2064
+ private router;
2065
+ private cdr;
2066
+ private sanitizer;
2067
+ /** Navigation items array */
2068
+ navItems: NavItem[];
2069
+ /** Mobile mode flag */
2070
+ isMobile: boolean;
2071
+ /** Sidebar open state (for mobile) */
2072
+ isOpen: boolean;
2073
+ /** Sidebar collapsed state (for desktop) */
2074
+ isCollapsed: boolean;
2075
+ /** Header title text */
2076
+ headerTitle: string;
2077
+ /** Header subtitle text */
2078
+ headerSubtitle: string;
2079
+ /** Header icon name */
2080
+ headerIcon: string;
2081
+ /** Footer version text */
2082
+ footerVersion: string;
2083
+ /** Show footer */
2084
+ showFooter: boolean;
2085
+ /** Toggle collapse event */
2086
+ toggleCollapse: EventEmitter<void>;
2087
+ currentRoute: string;
2088
+ private routerSubscription?;
2089
+ readonly primaryColor = "#55C3D8";
2090
+ readonly textColor = "#383838";
2091
+ constructor(router: Router, cdr: ChangeDetectorRef, sanitizer: DomSanitizer);
2092
+ ngOnInit(): void;
2093
+ ngOnDestroy(): void;
2094
+ updateExpandedStates(): void;
2095
+ hasActiveChild(item: NavItem, currentRoute: string): boolean;
2096
+ toggleExpand(item: NavItem): void;
2097
+ isActive(route: string): boolean;
2098
+ navigate(route: string): void;
2099
+ hasChildren(item: NavItem): boolean;
2100
+ handleToggleCollapse(): void;
2101
+ /**
2102
+ * Get SVG icon as SafeHtml based on icon name
2103
+ */
2104
+ getIconSvg(iconName: string, size?: number): SafeHtml;
2105
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
2106
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "sefin-sidebar", never, { "navItems": { "alias": "navItems"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "headerTitle": { "alias": "headerTitle"; "required": false; }; "headerSubtitle": { "alias": "headerSubtitle"; "required": false; }; "headerIcon": { "alias": "headerIcon"; "required": false; }; "footerVersion": { "alias": "footerVersion"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; }, { "toggleCollapse": "toggleCollapse"; }, never, never, true, never>;
2107
+ }
2108
+
2045
2109
  declare const STYLES_PATH = "./styles/index.scss";
2046
2110
 
2047
- export { AccordionItemComponent, AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, COLOR_TOKENS, CardComponent, CheckboxComponent, ChipComponent, ContainerComponent, DARK_THEME, DESIGN_TOKENS, DatepickerComponent, DividerComponent, FabButtonComponent, FormFieldComponent, IconButtonComponent, IconComponent, ImageComponent, LIGHT_THEME, LinkComponent, PaginationComponent, ProgressBarComponent, RadioComponent, RateComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpacerComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TabComponent, TableComponent, TagComponent, TextFieldComponent, TextareaComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent, buildDisplayedColumns };
2048
- export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, BreadcrumbItem, BreadcrumbSeparator, BreadcrumbSize, ButtonGroupOption, ButtonGroupSize, ButtonGroupVariant, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, ContainerSize, ContainerVariant, CustomTheme, DateFormat, DatePickerMode, DateRange, DividerOrientation, DividerVariant, FabSize, FormFieldSize, FormFieldType, FormFieldVariant, IconSize, ImageFit, ImageLoading, ImageRounded, InputSize, LinkSize, LinkVariant, PageChangeEvent, PaginationSize, PaginationVariant, ProgressBarSize, ProgressBarVariant, RateIcon, RateSize, SelectOption, SelectionMode, ShadowToken, SortChangeEvent, SortDirection, SpacerOrientation, SpacerSize, SpacingToken, SpinnerSize, SpinnerVariant, TabSize, TabVariant, TableColumn, TableColumnAlign, TableColumnType, TableDensity, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, TextareaSize, TextareaVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };
2111
+ export { AccordionItemComponent, AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, COLOR_TOKENS, CardComponent, CheckboxComponent, ChipComponent, ContainerComponent, DARK_THEME, DESIGN_TOKENS, DatepickerComponent, DividerComponent, FabButtonComponent, FormFieldComponent, IconButtonComponent, IconComponent, ImageComponent, LIGHT_THEME, LinkComponent, PaginationComponent, ProgressBarComponent, RadioComponent, RateComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SidebarComponent, SpacerComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TabComponent, TableComponent, TagComponent, TextFieldComponent, TextareaComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent, buildDisplayedColumns };
2112
+ export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, BreadcrumbItem, BreadcrumbSeparator, BreadcrumbSize, ButtonGroupOption, ButtonGroupSize, ButtonGroupVariant, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, ContainerSize, ContainerVariant, CustomTheme, DateFormat, DatePickerMode, DateRange, DividerOrientation, DividerVariant, FabSize, FormFieldSize, FormFieldType, FormFieldVariant, IconSize, ImageFit, ImageLoading, ImageRounded, InputSize, LinkSize, LinkVariant, NavItem, PageChangeEvent, PaginationSize, PaginationVariant, ProgressBarSize, ProgressBarVariant, RateIcon, RateSize, SelectOption, SelectionMode, ShadowToken, SortChangeEvent, SortDirection, SpacerOrientation, SpacerSize, SpacingToken, SpinnerSize, SpinnerVariant, TabSize, TabVariant, TableColumn, TableColumnAlign, TableColumnType, TableDensity, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, TextareaSize, TextareaVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };