@lesterarte/sefin-ui 0.0.30 → 0.0.33

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.33",
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,79 @@ 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
+ /** Toggle open event (for mobile) */
2088
+ toggleOpen: EventEmitter<void>;
2089
+ /** Close event (for mobile) */
2090
+ close: EventEmitter<void>;
2091
+ currentRoute: string;
2092
+ private routerSubscription?;
2093
+ private mediaQueryHandler?;
2094
+ private mediaQuery?;
2095
+ readonly primaryColor = "#55C3D8";
2096
+ readonly textColor = "#383838";
2097
+ constructor(router: Router, cdr: ChangeDetectorRef, sanitizer: DomSanitizer);
2098
+ ngOnInit(): void;
2099
+ ngOnDestroy(): void;
2100
+ updateExpandedStates(): void;
2101
+ hasActiveChild(item: NavItem, currentRoute: string): boolean;
2102
+ toggleExpand(item: NavItem): void;
2103
+ isActive(route: string): boolean;
2104
+ navigate(route: string): void;
2105
+ hasChildren(item: NavItem): boolean;
2106
+ handleToggleCollapse(): void;
2107
+ handleToggleOpen(): void;
2108
+ handleClose(): void;
2109
+ handleOverlayClick(): void;
2110
+ handleEscapeKey(event: KeyboardEvent): void;
2111
+ /**
2112
+ * Get SVG icon as SafeHtml based on icon name
2113
+ */
2114
+ getIconSvg(iconName: string, size?: number): SafeHtml;
2115
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
2116
+ 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"; "toggleOpen": "toggleOpen"; "close": "close"; }, never, never, true, never>;
2117
+ }
2118
+
2046
2119
  declare const STYLES_PATH = "./styles/index.scss";
2047
2120
 
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 };
2121
+ 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 };
2122
+ 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 };