@lesterarte/sefin-ui 0.0.30 → 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.30",
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
@@ -2043,7 +2044,69 @@ declare class TableComponent implements OnInit, OnChanges {
2043
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>;
2044
2045
  }
2045
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
+
2046
2109
  declare const STYLES_PATH = "./styles/index.scss";
2047
2110
 
2048
- 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 };
2049
- 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 };