@tekus/design-system 5.25.1 → 5.27.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.
Files changed (79) hide show
  1. package/assets/readme-images/tk-card-default.svg +32 -0
  2. package/assets/readme-images/tk-card-horizontal.svg +22 -0
  3. package/assets/readme-images/tk-card-layouts.svg +58 -0
  4. package/assets/readme-images/tk-card-list-selected.svg +102 -0
  5. package/assets/readme-images/tk-card-list.svg +70 -0
  6. package/assets/readme-images/tk-card-simple-versions.svg +46 -0
  7. package/assets/readme-images/tk-card.svg +32 -0
  8. package/assets/readme-images/tk-progress-bar-sizes.svg +28 -0
  9. package/assets/readme-images/tk-progress-bar.svg +13 -0
  10. package/assets/readme-images/tk-status-bar-severity.svg +15 -0
  11. package/assets/readme-images/tk-status-bar.svg +9 -0
  12. package/assets/readme-images/tk-toast-action.svg +17 -0
  13. package/assets/readme-images/tk-toast.svg +38 -0
  14. package/assets/tokens/tk-foundations.json +167 -80
  15. package/fesm2022/tekus-design-system-components-badge.mjs +3 -1
  16. package/fesm2022/tekus-design-system-components-badge.mjs.map +1 -1
  17. package/fesm2022/tekus-design-system-components-button.mjs +14 -3
  18. package/fesm2022/tekus-design-system-components-button.mjs.map +1 -1
  19. package/fesm2022/tekus-design-system-components-card-list.mjs +61 -0
  20. package/fesm2022/tekus-design-system-components-card-list.mjs.map +1 -0
  21. package/fesm2022/tekus-design-system-components-card.mjs +126 -0
  22. package/fesm2022/tekus-design-system-components-card.mjs.map +1 -0
  23. package/fesm2022/tekus-design-system-components-date-picker.mjs +2 -2
  24. package/fesm2022/tekus-design-system-components-date-picker.mjs.map +1 -1
  25. package/fesm2022/tekus-design-system-components-drawer.mjs +2 -2
  26. package/fesm2022/tekus-design-system-components-drawer.mjs.map +1 -1
  27. package/fesm2022/tekus-design-system-components-fallback-view.mjs +2 -2
  28. package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -1
  29. package/fesm2022/tekus-design-system-components-input-number.mjs +2 -2
  30. package/fesm2022/tekus-design-system-components-input-number.mjs.map +1 -1
  31. package/fesm2022/tekus-design-system-components-input-text.mjs +2 -2
  32. package/fesm2022/tekus-design-system-components-input-text.mjs.map +1 -1
  33. package/fesm2022/tekus-design-system-components-menu.mjs +151 -0
  34. package/fesm2022/tekus-design-system-components-menu.mjs.map +1 -0
  35. package/fesm2022/tekus-design-system-components-modal.mjs +2 -2
  36. package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
  37. package/fesm2022/tekus-design-system-components-multiselect.mjs +2 -2
  38. package/fesm2022/tekus-design-system-components-multiselect.mjs.map +1 -1
  39. package/fesm2022/tekus-design-system-components-pagination.mjs +2 -2
  40. package/fesm2022/tekus-design-system-components-pagination.mjs.map +1 -1
  41. package/fesm2022/tekus-design-system-components-panel-menu.mjs +54 -0
  42. package/fesm2022/tekus-design-system-components-panel-menu.mjs.map +1 -0
  43. package/fesm2022/tekus-design-system-components-panel.mjs +38 -5
  44. package/fesm2022/tekus-design-system-components-panel.mjs.map +1 -1
  45. package/fesm2022/tekus-design-system-components-progress-bar.mjs +55 -0
  46. package/fesm2022/tekus-design-system-components-progress-bar.mjs.map +1 -0
  47. package/fesm2022/tekus-design-system-components-select.mjs +2 -2
  48. package/fesm2022/tekus-design-system-components-select.mjs.map +1 -1
  49. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs +179 -0
  50. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs.map +1 -0
  51. package/fesm2022/tekus-design-system-components-status-bar.mjs +52 -0
  52. package/fesm2022/tekus-design-system-components-status-bar.mjs.map +1 -0
  53. package/fesm2022/tekus-design-system-components-table.mjs +2 -2
  54. package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
  55. package/fesm2022/tekus-design-system-components-textarea.mjs +2 -2
  56. package/fesm2022/tekus-design-system-components-textarea.mjs.map +1 -1
  57. package/fesm2022/tekus-design-system-components-toast.mjs +47 -0
  58. package/fesm2022/tekus-design-system-components-toast.mjs.map +1 -0
  59. package/fesm2022/tekus-design-system-components-toolbar.mjs +1 -1
  60. package/fesm2022/tekus-design-system-components-toolbar.mjs.map +1 -1
  61. package/fesm2022/tekus-design-system-components-topbar.mjs +2 -2
  62. package/fesm2022/tekus-design-system-components-topbar.mjs.map +1 -1
  63. package/fesm2022/tekus-design-system-core-types.mjs +109 -6
  64. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
  65. package/fesm2022/tekus-design-system-core.mjs +109 -6
  66. package/fesm2022/tekus-design-system-core.mjs.map +1 -1
  67. package/package.json +33 -1
  68. package/styles/variables.css +38 -25
  69. package/types/tekus-design-system-components-badge.d.ts +4 -3
  70. package/types/tekus-design-system-components-button.d.ts +12 -1
  71. package/types/tekus-design-system-components-card-list.d.ts +63 -0
  72. package/types/tekus-design-system-components-card.d.ts +95 -0
  73. package/types/tekus-design-system-components-menu.d.ts +71 -0
  74. package/types/tekus-design-system-components-panel-menu.d.ts +20 -0
  75. package/types/tekus-design-system-components-panel.d.ts +35 -2
  76. package/types/tekus-design-system-components-progress-bar.d.ts +43 -0
  77. package/types/tekus-design-system-components-sidebar-layout.d.ts +96 -0
  78. package/types/tekus-design-system-components-status-bar.d.ts +42 -0
  79. package/types/tekus-design-system-components-toast.d.ts +27 -0
@@ -115,6 +115,17 @@ declare class ButtonComponent {
115
115
  * @default `undefined`
116
116
  */
117
117
  tooltipText: _angular_core.InputSignal<string | undefined>;
118
+ /**
119
+ * @property {'small' | 'large' | undefined} size
120
+ * @description
121
+ * Defines the size of the button.
122
+ * - `'small'`: Small button.
123
+ * - `'large'`: Large button.
124
+ * - `undefined`: Default size.
125
+ *
126
+ * @default `undefined`
127
+ */
128
+ size: _angular_core.InputSignal<"small" | "large" | undefined>;
118
129
  /**
119
130
  * @method onButtonClick
120
131
  * @description
@@ -123,7 +134,7 @@ declare class ButtonComponent {
123
134
  */
124
135
  onButtonClick(): void;
125
136
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
126
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "tk-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
137
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "tk-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
127
138
  }
128
139
 
129
140
  export { ButtonComponent };
@@ -0,0 +1,63 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TkCardAction, TkCardInfoElement } from '@tekus/design-system/components/card';
3
+
4
+ /**
5
+ * Interface representing an item in the CardList.
6
+ * Contains all necessary properties to render a TkCard.
7
+ */
8
+ interface TkCardListItem {
9
+ /** Unique identifier for the item (required for selection) */
10
+ id: string;
11
+ /** Primary title of the card */
12
+ title: string;
13
+ /** Optional icon to display next to the title */
14
+ titleIcon?: string;
15
+ /** Optional secondary description */
16
+ description?: string;
17
+ /** Optional image URL or source */
18
+ image?: string;
19
+ /** Optional ID or primary badge text displayed in the header */
20
+ badgeText?: string;
21
+ /** Optional secondary metadata text displayed next to the badge */
22
+ secondaryBadgeText?: string;
23
+ /** List of actions associated with the card */
24
+ actions?: TkCardAction[];
25
+ /** Dynamic list of informational elements (tags, progress bars, etc.) */
26
+ infoElements?: TkCardInfoElement[];
27
+ /** Whether this specific item can be selected. If not provided, list's selectable defaults apply. */
28
+ selectable?: boolean;
29
+ }
30
+
31
+ /**
32
+ * @component CardListComponent
33
+ * @description
34
+ * High-level component used to display a grid of cards with responsive behavioral breakpoints.
35
+ * Supports individual item selection and consistent spacing.
36
+ */
37
+ declare class CardListComponent {
38
+ /** The list of items to display in the grid. Required. */
39
+ items: _angular_core.InputSignal<TkCardListItem[]>;
40
+ /** Whether the list supports global item selection (checkboxes). */
41
+ selectable: _angular_core.InputSignal<boolean>;
42
+ /** Two-way signal for the current selection of item IDs. */
43
+ selectedIds: _angular_core.ModelSignal<string[]>;
44
+ /**
45
+ * Helper method to determine if an individual item is currently selected.
46
+ */
47
+ isItemSelected(id: string): boolean;
48
+ /**
49
+ * Helper method to determine if a card should be marked as selected in the template.
50
+ * Only returns true if the item is explicitly selectable and its ID is in the selected list.
51
+ */
52
+ isCardSelected(item: TkCardListItem): boolean;
53
+ /**
54
+ * Handler for individual card selection change events.
55
+ * Updates the global selectedIds model accordingly.
56
+ */
57
+ onItemSelected(id: string, selected: boolean): void;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardListComponent, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardListComponent, "tk-card-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "selectedIds": "selectedIdsChange"; }, never, never, true, never>;
60
+ }
61
+
62
+ export { CardListComponent };
63
+ export type { TkCardListItem };
@@ -0,0 +1,95 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { MenuItem } from 'primeng/api';
3
+
4
+ interface TkCardAction {
5
+ id: string;
6
+ label: string;
7
+ icon?: string;
8
+ handler: () => void;
9
+ severity?: 'primary' | 'secondary' | 'danger' | 'success' | 'warn' | 'info';
10
+ disabled?: boolean;
11
+ }
12
+ type TkCardInfoElementType = 'string' | 'chip' | 'tag' | 'button' | 'icon' | 'progress-bar' | 'status-bar';
13
+ interface TkCardInfoElement {
14
+ type: TkCardInfoElementType;
15
+ label?: string;
16
+ barLabel?: string;
17
+ icon?: string;
18
+ value?: number;
19
+ severity?: 'primary' | 'secondary' | 'danger' | 'success' | 'warn' | 'info';
20
+ handler?: () => void;
21
+ }
22
+ type TkCardLayout = 'vertical' | 'horizontal';
23
+
24
+ /**
25
+ * @component CardComponent
26
+ * @description
27
+ * Flexible card component used to display grouped content with multiple layout options.
28
+ * Supports vertical and horizontal orientations, optional images, headers with selection,
29
+ * and dynamic action buttons (with overflow menu support).
30
+ *
31
+ * It utilizes Angular 21 Signals for efficient state management and reactivity.
32
+ *
33
+ * @usage
34
+ * ```html
35
+ * <tk-card
36
+ * title="My Document"
37
+ * description="Upload in progress..."
38
+ * layout="horizontal"
39
+ * [actions]="myActions"
40
+ * [infoElements]="[{ type: 'progress-bar', value: 75 }]">
41
+ * </tk-card>
42
+ * ```
43
+ */
44
+ declare class CardComponent {
45
+ /** The primary title of the card. Required. */
46
+ title: _angular_core.InputSignal<string>;
47
+ /** Optional icon to display next to the title. */
48
+ titleIcon: _angular_core.InputSignal<string | undefined>;
49
+ /** Optional secondary description. */
50
+ description: _angular_core.InputSignal<string | undefined>;
51
+ /** Optional image URL or source. */
52
+ image: _angular_core.InputSignal<string | undefined>;
53
+ /** Whether to show the image section. If true and no URL is provided, a placeholder is shown. */
54
+ showImage: _angular_core.InputSignal<boolean>;
55
+ /** Layout orientation: 'vertical' (default) or 'horizontal'. */
56
+ layout: _angular_core.InputSignal<TkCardLayout>;
57
+ /** Whether the card shows a checkbox for selection. */
58
+ selectable: _angular_core.InputSignal<boolean>;
59
+ /** Two-way signal for the selection state. */
60
+ selected: _angular_core.ModelSignal<boolean>;
61
+ /** Optional ID or primary badge text displayed in the header. */
62
+ badgeText: _angular_core.InputSignal<string | undefined>;
63
+ /** Optional secondary metadata text (e.g. file size) displayed next to the badge. */
64
+ secondaryBadgeText: _angular_core.InputSignal<string | undefined>;
65
+ /** List of actions associated with the card. */
66
+ actions: _angular_core.InputSignal<TkCardAction[]>;
67
+ /** Dynamic list of informational elements (tags, progress bars, etc.). */
68
+ infoElements: _angular_core.InputSignal<TkCardInfoElement[]>;
69
+ /**
70
+ * Computed logic for handling actions.
71
+ * If there are > 3 actions, they are all moved to an overflow menu.
72
+ * Otherwise, they are displayed as individual buttons.
73
+ */
74
+ hasOverflowActions: _angular_core.Signal<boolean>;
75
+ /** Actions to be displayed directly as buttons. */
76
+ visibleActions: _angular_core.Signal<TkCardAction[]>;
77
+ /**
78
+ * Actions to be displayed in the overflow menu.
79
+ * Maps TkCardAction to PrimeNG MenuItem format.
80
+ */
81
+ menuItems: _angular_core.Signal<MenuItem[]>;
82
+ /**
83
+ * Maps card severity to button severity.
84
+ */
85
+ getButtonSeverity(severity?: string): 'primary' | 'secondary' | 'danger';
86
+ /**
87
+ * Maps card severity to status bar severity.
88
+ */
89
+ getStatusBarSeverity(severity?: string): 'primary' | 'secondary' | 'success' | 'error';
90
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
91
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "tk-card", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "titleIcon": { "alias": "titleIcon"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "showImage": { "alias": "showImage"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "secondaryBadgeText": { "alias": "secondaryBadgeText"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "infoElements": { "alias": "infoElements"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; }, never, never, true, never>;
92
+ }
93
+
94
+ export { CardComponent };
95
+ export type { TkCardAction, TkCardInfoElement, TkCardInfoElementType, TkCardLayout };
@@ -0,0 +1,71 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Menu } from 'primeng/menu';
3
+ import { MenuItem } from 'primeng/api';
4
+
5
+ declare class MenuComponent {
6
+ /**
7
+ * Reference to the PrimeNG Menu component instance.
8
+ */
9
+ pMenu: _angular_core.Signal<Menu | undefined>;
10
+ /**
11
+ * An array of menu items to display.
12
+ */
13
+ model: _angular_core.InputSignal<MenuItem[]>;
14
+ /**
15
+ * Whether the menu is a popup.
16
+ */
17
+ popup: _angular_core.InputSignal<boolean>;
18
+ /**
19
+ * Target element to attach the overlay.
20
+ */
21
+ appendTo: _angular_core.InputSignal<string | HTMLElement | undefined>;
22
+ /**
23
+ * The visual variant of the menu.
24
+ * 'default' (light background) or 'inverse' (dark background).
25
+ */
26
+ variant: _angular_core.InputSignal<"default" | "inverse">;
27
+ /**
28
+ * Additional style class for the menu.
29
+ */
30
+ styleClass: _angular_core.InputSignal<string>;
31
+ /**
32
+ * Event emitted when a menu item is clicked.
33
+ */
34
+ itemClick: _angular_core.OutputEmitterRef<{
35
+ event: Event;
36
+ item: MenuItem;
37
+ }>;
38
+ /**
39
+ * Set of expanded item labels or IDs.
40
+ */
41
+ expandedItems: _angular_core.WritableSignal<Set<string>>;
42
+ /**
43
+ * Currently selected item ID or label.
44
+ */
45
+ selectedId: _angular_core.WritableSignal<string | null>;
46
+ /**
47
+ * Computed visible model for PrimeNG menu.
48
+ * It flattens the input model to support interactive sub-menus in a flat list.
49
+ */
50
+ visibleModel: _angular_core.Signal<MenuItem[]>;
51
+ /**
52
+ * Handles the click event on a menu item.
53
+ */
54
+ handleItemClick(event: Event, item: MenuItem): void;
55
+ /**
56
+ * Checks if an item is currently selected.
57
+ */
58
+ isSelected(item: MenuItem): boolean;
59
+ /**
60
+ * Checks if an item is currently expanded.
61
+ */
62
+ isExpanded(item: MenuItem): boolean;
63
+ /**
64
+ * Toggles the menu visibility for popup mode.
65
+ */
66
+ toggle(event: Event): void;
67
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
68
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "tk-menu", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "popup": { "alias": "popup"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
69
+ }
70
+
71
+ export { MenuComponent };
@@ -0,0 +1,20 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { MenuItem } from 'primeng/api';
3
+
4
+ declare class PanelMenuComponent {
5
+ model: _angular_core.InputSignal<MenuItem[]>;
6
+ variant: _angular_core.InputSignal<"default" | "inverse">;
7
+ multiple: _angular_core.InputSignal<boolean>;
8
+ styleClass: _angular_core.InputSignal<string>;
9
+ itemClick: _angular_core.OutputEmitterRef<{
10
+ event: Event;
11
+ item: MenuItem;
12
+ }>;
13
+ selectedItem: _angular_core.WritableSignal<MenuItem | null>;
14
+ onItemClick(event: Event, item: MenuItem): void;
15
+ isSelected(item: MenuItem): boolean;
16
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelMenuComponent, never>;
17
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PanelMenuComponent, "tk-panel-menu", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
18
+ }
19
+
20
+ export { PanelMenuComponent };
@@ -1,4 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { BadgeSeverity } from '@tekus/design-system/components/badge';
2
3
 
3
4
  /**
4
5
  * @component PanelComponent
@@ -28,6 +29,38 @@ declare class PanelComponent {
28
29
  * @default undefined
29
30
  */
30
31
  header: _angular_core.InputSignal<string | undefined>;
32
+ /**
33
+ * @property {string | number} badge
34
+ * @description
35
+ * Optional badge value to display in the header.
36
+ *
37
+ * @default undefined
38
+ */
39
+ badge: _angular_core.InputSignal<string | number | undefined>;
40
+ /**
41
+ * @property {BadgeSeverity} badgeSeverity
42
+ * @description
43
+ * Severity of the badge.
44
+ *
45
+ * @default 'danger'
46
+ */
47
+ badgeSeverity: _angular_core.InputSignal<BadgeSeverity>;
48
+ /**
49
+ * @property {string} helpIcon
50
+ * @description
51
+ * The name of the icon to display for information/help.
52
+ *
53
+ * @default 'circle-question'
54
+ */
55
+ helpIcon: _angular_core.InputSignal<string>;
56
+ /**
57
+ * @property {string} helpText
58
+ * @description
59
+ * Optional help text to display as a tooltip on a help icon in the header.
60
+ *
61
+ * @default undefined
62
+ */
63
+ helpText: _angular_core.InputSignal<string | undefined>;
31
64
  /**
32
65
  * @property {boolean} toggleable
33
66
  * @description
@@ -68,10 +101,10 @@ declare class PanelComponent {
68
101
  * @param event - The toggle event from PrimeNG panel
69
102
  */
70
103
  handleToggle(event: {
71
- collapsed: boolean | undefined;
104
+ collapsed?: boolean;
72
105
  }): void;
73
106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelComponent, never>;
74
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PanelComponent, "tk-panel", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "toggled": "toggled"; }, never, ["*"], true, never>;
107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PanelComponent, "tk-panel", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeSeverity": { "alias": "badgeSeverity"; "required": false; "isSignal": true; }; "helpIcon": { "alias": "helpIcon"; "required": false; "isSignal": true; }; "helpText": { "alias": "helpText"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "toggled": "toggled"; }, never, ["*"], true, never>;
75
108
  }
76
109
 
77
110
  export { PanelComponent };
@@ -0,0 +1,43 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type ProgressBarSize = 'small' | 'medium' | 'large';
4
+ /**
5
+ * @component ProgressBarComponent
6
+ * @description
7
+ * A component used to display the progress of a task.
8
+ * It wraps PrimeNG's `p-progressbar` component with custom styling and behavior.
9
+ *
10
+ * This component supports:
11
+ * - `value`: The progress value (0-100)
12
+ * - `showValue`: Whether to display the value text (only for medium/large)
13
+ * - `size`: The size of the progress bar ('small', 'medium', 'large')
14
+ *
15
+ * @usage
16
+ * ### Basic Usage
17
+ * ```html
18
+ * <tk-progress-bar [value]="50" size="medium"></tk-progress-bar>
19
+ * ```
20
+ */
21
+ declare class ProgressBarComponent {
22
+ /** The progress value (0-100). */
23
+ value: _angular_core.InputSignal<number>;
24
+ /**
25
+ * Whether to display the progress value percentage.
26
+ * Only applicable for 'medium' or 'large' sizes.
27
+ * @default true
28
+ */
29
+ showValue: _angular_core.InputSignal<boolean>;
30
+ /**
31
+ * The size of the progress bar.
32
+ * - 'small': Thin bar, no percentage text.
33
+ * - 'medium': Regular bar, percentage text on left.
34
+ * - 'large': Thick bar, percentage text on left.
35
+ * @default 'medium'
36
+ */
37
+ size: _angular_core.InputSignal<ProgressBarSize>;
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressBarComponent, "tk-progress-bar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
40
+ }
41
+
42
+ export { ProgressBarComponent };
43
+ export type { ProgressBarSize };
@@ -0,0 +1,96 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy } from '@angular/core';
3
+ import * as rxjs from 'rxjs';
4
+ import { MenuItem } from 'primeng/api';
5
+
6
+ declare class SidebarLayoutComponent implements OnInit, OnDestroy {
7
+ private readonly sidebarService;
8
+ private readonly breakpointObserver;
9
+ private readonly cdr;
10
+ private readonly subscription;
11
+ /**
12
+ * Breakpoint constants
13
+ */
14
+ private readonly TABLET_BREAKPOINT;
15
+ private readonly MOBILE_BREAKPOINT;
16
+ /**
17
+ * Optional manual control of the collapsed state.
18
+ * If provided, it overrides the service state.
19
+ */
20
+ isCollapsed: i0.InputSignal<boolean | undefined>;
21
+ /**
22
+ * Emitted when the collapsed state changes.
23
+ */
24
+ collapsedChange: i0.OutputEmitterRef<boolean>;
25
+ /**
26
+ * Internal state of the sidebar.
27
+ */
28
+ collapsed: boolean;
29
+ /**
30
+ * Responsive states
31
+ */
32
+ isTablet: boolean;
33
+ isMobile: boolean;
34
+ ngOnInit(): void;
35
+ ngOnDestroy(): void;
36
+ /**
37
+ * Determines if the sidebar is currently collapsed.
38
+ */
39
+ get displayCollapsed(): boolean;
40
+ /**
41
+ * Toggles the sidebar state.
42
+ */
43
+ toggleSidebar(): void;
44
+ /**
45
+ * Closes the sidebar explicitly.
46
+ */
47
+ closeSidebar(): void;
48
+ /**
49
+ * Handles clicks in the sidebar content to auto-close on mobile.
50
+ * Using HostListener to avoid template accessibility linting on non-interactive aside.
51
+ */
52
+ handleSidebarContentClick(event: MouseEvent): void;
53
+ /**
54
+ * Handles backdrop clicks to close the drawer.
55
+ */
56
+ handleBackdropClick(): void;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarLayoutComponent, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidebarLayoutComponent, "tk-sidebar-layout", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; }, { "collapsedChange": "collapsedChange"; }, never, ["[sidebar-content]", "[header-actions]", "*"], true, never>;
59
+ }
60
+
61
+ declare class SidebarService {
62
+ private readonly collapsedSubject;
63
+ /**
64
+ * Observable to track the collapsed state of the sidebar.
65
+ */
66
+ isCollapsed$: rxjs.Observable<boolean>;
67
+ /**
68
+ * Toggles the collapsed state of the sidebar.
69
+ */
70
+ toggle(): void;
71
+ /**
72
+ * Explicitly sets the collapsed state of the sidebar.
73
+ * @param value True to collapse, false to expand.
74
+ */
75
+ setCollapsed(value: boolean): void;
76
+ /**
77
+ * Gets the current collapsed state.
78
+ */
79
+ get isCollapsed(): boolean;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarService, never>;
81
+ static ɵprov: i0.ɵɵInjectableDeclaration<SidebarService>;
82
+ }
83
+
84
+ /**
85
+ * NavItem extends PrimeNG's MenuItem to provide a consistent interface
86
+ * for the SidebarLayout navigation.
87
+ */
88
+ interface NavItem extends MenuItem {
89
+ label?: string;
90
+ icon?: string;
91
+ routerLink?: string;
92
+ items?: NavItem[];
93
+ }
94
+
95
+ export { SidebarLayoutComponent, SidebarService };
96
+ export type { NavItem };
@@ -0,0 +1,42 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type StatusBarSeverity = 'primary' | 'secondary' | 'success' | 'error';
4
+ type StatusBarSize = 'medium' | 'large';
5
+ /**
6
+ * @component StatusBarComponent
7
+ * @description
8
+ * A component used to display a static status bar with a label.
9
+ *
10
+ * This component supports:
11
+ * - `label`: The message to display on the left.
12
+ * - `severity`: The color scheme of the status bar ('primary' | 'secondary' | 'success' | 'error').
13
+ * - `size`: The size of the status bar ('medium' | 'large').
14
+ *
15
+ * @usage
16
+ * ```html
17
+ * <tk-status-bar label="1/99" severity="success" size="medium"></tk-status-bar>
18
+ * ```
19
+ */
20
+ declare class StatusBarComponent {
21
+ /** The message to display on the left. */
22
+ label: _angular_core.InputSignal<string>;
23
+ /**
24
+ * The severity level of the status bar, which determines its color.
25
+ * @default 'primary'
26
+ */
27
+ severity: _angular_core.InputSignal<StatusBarSeverity>;
28
+ /**
29
+ * The size of the status bar.
30
+ * - 'medium': Height 18px.
31
+ * - 'large': Height 32px.
32
+ * @default 'medium'
33
+ */
34
+ size: _angular_core.InputSignal<StatusBarSize>;
35
+ /** The message to display in the center of the visual bar. */
36
+ barLabel: _angular_core.InputSignal<string>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusBarComponent, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBarComponent, "tk-status-bar", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "barLabel": { "alias": "barLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
39
+ }
40
+
41
+ export { StatusBarComponent };
42
+ export type { StatusBarSeverity, StatusBarSize };
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ interface TkToastAction {
4
+ label: string;
5
+ handler: () => void;
6
+ }
7
+ /**
8
+ * @component ToastComponent
9
+ * @description
10
+ * Custom wrapper around PrimeNG's Toast component to adhere to our Design System.
11
+ * Supports \`info\`, \`success\`, and \`error\` severities.
12
+ * Includes support for a custom action button on the left for \`info\` severity.
13
+ *
14
+ * To use this, add \`<tk-toast></tk-toast>\` in the root of your application, and then
15
+ * inject \`MessageService\` from \`primeng/api\` to trigger notifications.
16
+ */
17
+ declare class ToastComponent {
18
+ /**
19
+ * Helper function to get the appropriate icon for a given severity.
20
+ */
21
+ getIconForSeverity(severity: string | undefined): string;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToastComponent, "tk-toast", never, {}, {}, never, never, true, never>;
24
+ }
25
+
26
+ export { ToastComponent };
27
+ export type { TkToastAction };