@life-cockpit/angular-ui-kit 1.4.0 → 1.5.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.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Life Cockpit Design System - Angular UI component library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -208,6 +208,26 @@ interface NavigationItem {
208
208
  * Children are displayed beneath it with the label as a group title.
209
209
  */
210
210
  isSection?: boolean;
211
+ /**
212
+ * Optional action button displayed on the right side of the item.
213
+ * Emits `itemAction` when clicked (e.g. to open a modal or context menu).
214
+ */
215
+ action?: {
216
+ /** Icon name from lc-icons library (e.g., 'plus', 'ellipsis-horizontal') */
217
+ icon: string;
218
+ /** Accessible label for the action button */
219
+ ariaLabel?: string;
220
+ };
221
+ /**
222
+ * Optional badge displayed on the right side of the item (e.g. count).
223
+ * Rendered as a small pill badge.
224
+ */
225
+ badge?: {
226
+ /** Text or number to display inside the badge */
227
+ value: string | number;
228
+ /** Badge color variant */
229
+ variant?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
230
+ };
211
231
  }
212
232
 
213
233
  /**
@@ -310,7 +330,7 @@ declare class CardComponent {
310
330
  * Badge color variant.
311
331
  * @default 'default'
312
332
  */
313
- badgeVariant: _angular_core.InputSignal<"error" | "primary" | "warning" | "default" | "success">;
333
+ badgeVariant: _angular_core.InputSignal<"default" | "primary" | "success" | "warning" | "error">;
314
334
  /**
315
335
  * Visual variant of the card
316
336
  * - elevated: Box shadow (default)
@@ -902,7 +922,7 @@ declare class TypographyComponent {
902
922
  * Text color using semantic color tokens
903
923
  * @default 'primary'
904
924
  */
905
- color: _angular_core.InputSignal<"error" | "primary" | "secondary" | "warning" | "info" | "success" | "disabled">;
925
+ color: _angular_core.InputSignal<"primary" | "success" | "warning" | "error" | "info" | "secondary" | "disabled">;
906
926
  /**
907
927
  * Font weight
908
928
  * @default 'regular'
@@ -3100,6 +3120,10 @@ declare class SidenavComponent {
3100
3120
  * Event emitted when a navigation item is clicked
3101
3121
  */
3102
3122
  readonly itemClicked: EventEmitter<NavigationItem>;
3123
+ /**
3124
+ * Event emitted when an item's action button is clicked
3125
+ */
3126
+ readonly itemAction: EventEmitter<NavigationItem>;
3103
3127
  /**
3104
3128
  * Computed CSS classes for the sidenav
3105
3129
  */
@@ -3122,6 +3146,10 @@ declare class SidenavComponent {
3122
3146
  * Handle navigation item click
3123
3147
  */
3124
3148
  handleItemClick(item: NavigationItem): void;
3149
+ /**
3150
+ * Handle action button click on a navigation item
3151
+ */
3152
+ handleItemAction(event: Event, item: NavigationItem): void;
3125
3153
  /**
3126
3154
  * Check if an item is active
3127
3155
  */
@@ -3143,7 +3171,7 @@ declare class SidenavComponent {
3143
3171
  */
3144
3172
  handleKeydown(event: KeyboardEvent): void;
3145
3173
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidenavComponent, never>;
3146
- 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"; }, never, ["*"], true, 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>;
3147
3175
  }
3148
3176
 
3149
3177
  type TabOrientation = 'horizontal' | 'vertical';
@@ -6272,7 +6300,7 @@ declare class ConfirmDialogComponent {
6272
6300
  /** Resolved icon color */
6273
6301
  protected iconColor: _angular_core.Signal<"var(--color-error-default, #ef4444)" | "var(--color-warning-default, #f59e0b)" | "var(--color-primary-600, #2563eb)">;
6274
6302
  /** Confirm button variant */
6275
- protected confirmButtonVariant: _angular_core.Signal<"primary" | "danger" | "warning">;
6303
+ protected confirmButtonVariant: _angular_core.Signal<"primary" | "warning" | "danger">;
6276
6304
  /** Whether confirm is allowed (text match check) */
6277
6305
  protected confirmAllowed: _angular_core.Signal<boolean>;
6278
6306
  constructor();