@life-cockpit/angular-ui-kit 1.5.0 → 1.6.0

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": "@life-cockpit/angular-ui-kit",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Life Cockpit Design System - Angular UI component library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2853,6 +2853,12 @@ declare class HeaderComponent {
2853
2853
  * Logo image source URL
2854
2854
  */
2855
2855
  logo: string;
2856
+ /**
2857
+ * Whether to show the logo in the header.
2858
+ * Set to false when the sidenav owns the logo (sidebar-first layout).
2859
+ * @default true
2860
+ */
2861
+ showLogo: boolean;
2856
2862
  /**
2857
2863
  * Optional title to display next to logo
2858
2864
  */
@@ -2960,7 +2966,7 @@ declare class HeaderComponent {
2960
2966
  */
2961
2967
  onMenuItemClick(item: MenuItem): void;
2962
2968
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeaderComponent, never>;
2963
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeaderComponent, "lc-header", never, { "theme": { "alias": "theme"; "required": false; }; "logo": { "alias": "logo"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "userEmail": { "alias": "userEmail"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "showHamburger": { "alias": "showHamburger"; "required": false; }; "showThemeButton": { "alias": "showThemeButton"; "required": false; }; "contextName": { "alias": "contextName"; "required": false; }; "contextLabel": { "alias": "contextLabel"; "required": false; }; "menuSize": { "alias": "menuSize"; "required": false; }; "showProfileMenuItem": { "alias": "showProfileMenuItem"; "required": false; }; }, { "hamburgerClick": "hamburgerClick"; "themeToggleClick": "themeToggleClick"; "logoutClick": "logoutClick"; "profileClick": "profileClick"; "contextClick": "contextClick"; }, never, never, true, never>;
2969
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeaderComponent, "lc-header", never, { "theme": { "alias": "theme"; "required": false; }; "logo": { "alias": "logo"; "required": false; }; "showLogo": { "alias": "showLogo"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "userEmail": { "alias": "userEmail"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "showHamburger": { "alias": "showHamburger"; "required": false; }; "showThemeButton": { "alias": "showThemeButton"; "required": false; }; "contextName": { "alias": "contextName"; "required": false; }; "contextLabel": { "alias": "contextLabel"; "required": false; }; "menuSize": { "alias": "menuSize"; "required": false; }; "showProfileMenuItem": { "alias": "showProfileMenuItem"; "required": false; }; }, { "hamburgerClick": "hamburgerClick"; "themeToggleClick": "themeToggleClick"; "logoutClick": "logoutClick"; "profileClick": "profileClick"; "contextClick": "contextClick"; }, never, never, true, never>;
2964
2970
  }
2965
2971
 
2966
2972
  type PaginationSize = 'sm' | 'md' | 'lg';
@@ -3045,13 +3051,23 @@ type SidenavMode = 'drawer' | 'docked';
3045
3051
  * (closed)="isOpen = false" (itemClicked)="navigate($event)" />
3046
3052
  * ```
3047
3053
  */
3048
- declare class SidenavComponent {
3054
+ declare class SidenavComponent implements OnInit, OnDestroy {
3049
3055
  /** Whether the sidenav is collapsed to icon-only rail */
3050
3056
  collapsed: _angular_core.WritableSignal<boolean>;
3057
+ /** Whether to show the logo at the top of the sidenav */
3058
+ showLogo: _angular_core.WritableSignal<boolean>;
3051
3059
  /** Whether the sidenav is open */
3052
3060
  isOpen: _angular_core.WritableSignal<boolean>;
3053
3061
  /** Display mode: 'drawer' (overlay) or 'docked' (persistent sidebar) */
3054
3062
  mode: _angular_core.WritableSignal<SidenavMode>;
3063
+ /** Mobile breakpoint in pixels. Below this width, docked mode switches to drawer. */
3064
+ mobileBreakpoint: _angular_core.WritableSignal<number>;
3065
+ /** Whether the viewport is below the mobile breakpoint */
3066
+ isMobile: _angular_core.WritableSignal<boolean>;
3067
+ /** Effective mode: switches docked → drawer on mobile */
3068
+ effectiveMode: _angular_core.Signal<SidenavMode>;
3069
+ private mediaQuery;
3070
+ private mediaHandler;
3055
3071
  /** Position of the sidenav (left or right) */
3056
3072
  position: _angular_core.WritableSignal<SidenavPosition>;
3057
3073
  /** Width of the sidenav drawer */
@@ -3106,6 +3122,14 @@ declare class SidenavComponent {
3106
3122
  * Input setter for collapsed
3107
3123
  */
3108
3124
  set collapsedInput(value: boolean);
3125
+ /**
3126
+ * Input setter for showLogo
3127
+ */
3128
+ set showLogoInput(value: boolean);
3129
+ /**
3130
+ * Input setter for mobileBreakpoint
3131
+ */
3132
+ set mobileBreakpointInput(value: number);
3109
3133
  /** Theme variant for the sidenav */
3110
3134
  themeMode: _angular_core.WritableSignal<"light" | "dark" | "auto">;
3111
3135
  /**
@@ -3124,6 +3148,10 @@ declare class SidenavComponent {
3124
3148
  * Event emitted when an item's action button is clicked
3125
3149
  */
3126
3150
  readonly itemAction: EventEmitter<NavigationItem>;
3151
+ ngOnInit(): void;
3152
+ ngOnDestroy(): void;
3153
+ private setupMediaQuery;
3154
+ private teardownMediaQuery;
3127
3155
  /**
3128
3156
  * Computed CSS classes for the sidenav
3129
3157
  */
@@ -3159,7 +3187,8 @@ declare class SidenavComponent {
3159
3187
  */
3160
3188
  hasActiveChild(item: NavigationItem): boolean;
3161
3189
  /**
3162
- * Toggle expansion of a parent item
3190
+ * Toggle expansion of a parent item.
3191
+ * If the sidenav is collapsed, expand it first.
3163
3192
  */
3164
3193
  toggleExpanded(item: NavigationItem): void;
3165
3194
  /**
@@ -3171,7 +3200,7 @@ declare class SidenavComponent {
3171
3200
  */
3172
3201
  handleKeydown(event: KeyboardEvent): void;
3173
3202
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidenavComponent, never>;
3174
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidenavComponent, "lc-sidenav", never, { "isOpenInput": { "alias": "isOpenInput"; "required": false; }; "modeInput": { "alias": "modeInput"; "required": false; }; "positionInput": { "alias": "positionInput"; "required": false; }; "widthInput": { "alias": "widthInput"; "required": false; }; "ariaLabelInput": { "alias": "ariaLabelInput"; "required": false; }; "hasOverlayInput": { "alias": "hasOverlayInput"; "required": false; }; "itemsInput": { "alias": "itemsInput"; "required": false; }; "activeRouteInput": { "alias": "activeRouteInput"; "required": false; }; "collapsedInput": { "alias": "collapsedInput"; "required": false; }; "themeInput": { "alias": "theme"; "required": false; }; }, { "closed": "closed"; "itemClicked": "itemClicked"; "itemAction": "itemAction"; }, never, ["*"], true, never>;
3203
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidenavComponent, "lc-sidenav", never, { "isOpenInput": { "alias": "isOpenInput"; "required": false; }; "modeInput": { "alias": "modeInput"; "required": false; }; "positionInput": { "alias": "positionInput"; "required": false; }; "widthInput": { "alias": "widthInput"; "required": false; }; "ariaLabelInput": { "alias": "ariaLabelInput"; "required": false; }; "hasOverlayInput": { "alias": "hasOverlayInput"; "required": false; }; "itemsInput": { "alias": "itemsInput"; "required": false; }; "activeRouteInput": { "alias": "activeRouteInput"; "required": false; }; "collapsedInput": { "alias": "collapsedInput"; "required": false; }; "showLogoInput": { "alias": "showLogoInput"; "required": false; }; "mobileBreakpointInput": { "alias": "mobileBreakpointInput"; "required": false; }; "themeInput": { "alias": "theme"; "required": false; }; }, { "closed": "closed"; "itemClicked": "itemClicked"; "itemAction": "itemAction"; }, never, ["*"], true, never>;
3175
3204
  }
3176
3205
 
3177
3206
  type TabOrientation = 'horizontal' | 'vertical';