@tekus/design-system 5.26.0 → 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.
- package/assets/tokens/tk-foundations.json +167 -80
- package/fesm2022/tekus-design-system-components-badge.mjs +3 -1
- package/fesm2022/tekus-design-system-components-badge.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-button.mjs +2 -2
- package/fesm2022/tekus-design-system-components-button.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-card.mjs +2 -2
- package/fesm2022/tekus-design-system-components-card.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-date-picker.mjs +2 -2
- package/fesm2022/tekus-design-system-components-date-picker.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-drawer.mjs +2 -2
- package/fesm2022/tekus-design-system-components-drawer.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-fallback-view.mjs +2 -2
- package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-input-number.mjs +2 -2
- package/fesm2022/tekus-design-system-components-input-number.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-input-text.mjs +2 -2
- package/fesm2022/tekus-design-system-components-input-text.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-menu.mjs +151 -0
- package/fesm2022/tekus-design-system-components-menu.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-modal.mjs +2 -2
- package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-multiselect.mjs +2 -2
- package/fesm2022/tekus-design-system-components-multiselect.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-pagination.mjs +2 -2
- package/fesm2022/tekus-design-system-components-pagination.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-panel-menu.mjs +54 -0
- package/fesm2022/tekus-design-system-components-panel-menu.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-panel.mjs +38 -5
- package/fesm2022/tekus-design-system-components-panel.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-select.mjs +2 -2
- package/fesm2022/tekus-design-system-components-select.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-sidebar-layout.mjs +179 -0
- package/fesm2022/tekus-design-system-components-sidebar-layout.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-table.mjs +2 -2
- package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-textarea.mjs +2 -2
- package/fesm2022/tekus-design-system-components-textarea.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-topbar.mjs +2 -2
- package/fesm2022/tekus-design-system-components-topbar.mjs.map +1 -1
- package/fesm2022/tekus-design-system-core-types.mjs +69 -7
- package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
- package/fesm2022/tekus-design-system-core.mjs +69 -7
- package/fesm2022/tekus-design-system-core.mjs.map +1 -1
- package/package.json +13 -1
- package/styles/variables.css +38 -25
- package/types/tekus-design-system-components-badge.d.ts +4 -3
- package/types/tekus-design-system-components-menu.d.ts +71 -0
- package/types/tekus-design-system-components-panel-menu.d.ts +20 -0
- package/types/tekus-design-system-components-panel.d.ts +35 -2
- package/types/tekus-design-system-components-sidebar-layout.d.ts +96 -0
package/styles/variables.css
CHANGED
|
@@ -23,6 +23,17 @@
|
|
|
23
23
|
--tk-color-base-surface-900: #222324;
|
|
24
24
|
--tk-color-base-surface-950: #191a1b;
|
|
25
25
|
--tk-color-base-surface-1000: #000000;
|
|
26
|
+
--tk-color-base-accent-50: #edfcf9;
|
|
27
|
+
--tk-color-base-accent-100: #d4f7f0;
|
|
28
|
+
--tk-color-base-accent-200: #acecdf;
|
|
29
|
+
--tk-color-base-accent-300: #8ee1d0;
|
|
30
|
+
--tk-color-base-accent-400: #7dd8c6;
|
|
31
|
+
--tk-color-base-accent-500: #6ad0bc;
|
|
32
|
+
--tk-color-base-accent-600: #3bc4a9;
|
|
33
|
+
--tk-color-base-accent-700: #2b9c85;
|
|
34
|
+
--tk-color-base-accent-800: #1d7261;
|
|
35
|
+
--tk-color-base-accent-900: #114a3f;
|
|
36
|
+
--tk-color-base-accent-950: #0a2e27;
|
|
26
37
|
--tk-color-base-red-50: #feede8;
|
|
27
38
|
--tk-color-base-red-100: #ffddd4;
|
|
28
39
|
--tk-color-base-red-200: #fbc2b4;
|
|
@@ -82,16 +93,21 @@
|
|
|
82
93
|
--tk-color-background-soft: var(--tk-color-base-surface-100);
|
|
83
94
|
--tk-color-background-medium: var(--tk-color-base-surface-300);
|
|
84
95
|
--tk-color-background-inverse: var(--tk-color-base-surface-950);
|
|
96
|
+
--tk-color-background-strong: var(--tk-color-base-surface-500);
|
|
97
|
+
--tk-color-background-bold: var(--tk-color-base-surface-700);
|
|
85
98
|
--tk-color-text-default: var(--tk-color-base-surface-950);
|
|
86
99
|
--tk-color-text-muted: var(--tk-color-base-surface-500);
|
|
87
|
-
--tk-color-text-inverted: #ffffff;
|
|
88
|
-
--tk-color-text-inverse: var(--tk-color-base-surface-0);
|
|
89
100
|
--tk-color-text-subtle: var(--tk-color-base-surface-600);
|
|
90
101
|
--tk-color-text-surface: var(--tk-color-base-surface-400);
|
|
102
|
+
--tk-color-text-inverse: var(--tk-color-base-surface-0);
|
|
103
|
+
--tk-color-text-inverted: var(--tk-color-base-surface-0);
|
|
91
104
|
--tk-color-transparent: #ffffff00;
|
|
92
|
-
--tk-color-
|
|
93
|
-
--tk-color-
|
|
94
|
-
--tk-color-
|
|
105
|
+
--tk-color-primary-default: var(--tk-color-base-primary-500);
|
|
106
|
+
--tk-color-primary-muted: var(--tk-color-base-primary-100);
|
|
107
|
+
--tk-color-primary-strong: var(--tk-color-base-primary-700);
|
|
108
|
+
--tk-color-accent-default: var(--tk-color-base-accent-500);
|
|
109
|
+
--tk-color-accent-muted: var(--tk-color-base-accent-100);
|
|
110
|
+
--tk-color-accent-strong: var(--tk-color-base-accent-700);
|
|
95
111
|
--tk-color-feedback-danger-default: var(--tk-color-base-red-500);
|
|
96
112
|
--tk-color-feedback-danger-muted: var(--tk-color-base-red-100);
|
|
97
113
|
--tk-color-feedback-danger-strong: var(--tk-color-base-red-700);
|
|
@@ -105,6 +121,9 @@
|
|
|
105
121
|
--tk-color-feedback-info-muted: var(--tk-color-base-sky-100);
|
|
106
122
|
--tk-color-feedback-info-strong: var(--tk-color-base-sky-700);
|
|
107
123
|
--tk-color-border-default: var(--tk-color-base-surface-400);
|
|
124
|
+
--tk-color-border-subtle: var(--tk-color-base-surface-200);
|
|
125
|
+
--tk-color-border-strong: var(--tk-color-base-surface-600);
|
|
126
|
+
--tk-color-border-focus: var(--tk-color-primary-default);
|
|
108
127
|
--tk-spacing-base-0: 0rem;
|
|
109
128
|
--tk-spacing-base-25: 0.25rem;
|
|
110
129
|
--tk-spacing-base-50: 0.5rem;
|
|
@@ -118,23 +137,16 @@
|
|
|
118
137
|
--tk-spacing-base-400: 4rem;
|
|
119
138
|
--tk-spacing-base-500: 5rem;
|
|
120
139
|
--tk-spacing-base-600: 6rem;
|
|
121
|
-
--tk-spacing-base-700: 2rem;
|
|
122
140
|
--tk-spacing-base-800: 8rem;
|
|
123
|
-
--tk-spacing-
|
|
124
|
-
--tk-spacing-
|
|
125
|
-
--tk-spacing-
|
|
126
|
-
--tk-spacing-
|
|
127
|
-
--tk-spacing-
|
|
128
|
-
--tk-spacing-
|
|
129
|
-
--tk-spacing-paddingX-xl: var(--tk-spacing-base-150);
|
|
130
|
-
--tk-spacing-paddingY-none: var(--tk-spacing-base-0);
|
|
131
|
-
--tk-spacing-paddingY-xs: var(--tk-spacing-base-25);
|
|
132
|
-
--tk-spacing-paddingY-s: var(--tk-spacing-base-50);
|
|
133
|
-
--tk-spacing-paddingY-m: var(--tk-spacing-base-100);
|
|
134
|
-
--tk-spacing-paddingY-l: var(--tk-spacing-base-125);
|
|
135
|
-
--tk-spacing-paddingY-xl: var(--tk-spacing-base-150);
|
|
141
|
+
--tk-spacing-padding-none: var(--tk-spacing-base-0);
|
|
142
|
+
--tk-spacing-padding-xs: var(--tk-spacing-base-25);
|
|
143
|
+
--tk-spacing-padding-s: var(--tk-spacing-base-50);
|
|
144
|
+
--tk-spacing-padding-m: var(--tk-spacing-base-100);
|
|
145
|
+
--tk-spacing-padding-l: var(--tk-spacing-base-125);
|
|
146
|
+
--tk-spacing-padding-xl: var(--tk-spacing-base-150);
|
|
136
147
|
--tk-spacing-gap-none: var(--tk-spacing-base-0);
|
|
137
|
-
--tk-spacing-gap-
|
|
148
|
+
--tk-spacing-gap-xs: var(--tk-spacing-base-25);
|
|
149
|
+
--tk-spacing-gap-s: var(--tk-spacing-base-50);
|
|
138
150
|
--tk-spacing-gap-m: var(--tk-spacing-base-100);
|
|
139
151
|
--tk-spacing-gap-l: var(--tk-spacing-base-150);
|
|
140
152
|
--tk-spacing-gap-xl: var(--tk-spacing-base-250);
|
|
@@ -151,15 +163,15 @@
|
|
|
151
163
|
--tk-font-size-base-175: 1.75rem;
|
|
152
164
|
--tk-font-size-base-200: 2rem;
|
|
153
165
|
--tk-font-size-base-250: 2.5rem;
|
|
154
|
-
--tk-font-size-paragraph-m: var(--tk-font-size-base-100);
|
|
155
166
|
--tk-font-size-paragraph-s: var(--tk-font-size-base-88);
|
|
167
|
+
--tk-font-size-paragraph-m: var(--tk-font-size-base-100);
|
|
156
168
|
--tk-font-size-paragraph-l: var(--tk-font-size-base-113);
|
|
157
|
-
--tk-font-size-headers-l: var(--tk-font-size-base-200);
|
|
158
|
-
--tk-font-size-headers-m: var(--tk-font-size-base-150);
|
|
159
169
|
--tk-font-size-headers-s: var(--tk-font-size-base-113);
|
|
170
|
+
--tk-font-size-headers-m: var(--tk-font-size-base-150);
|
|
171
|
+
--tk-font-size-headers-l: var(--tk-font-size-base-200);
|
|
160
172
|
--tk-font-size-headers-xl: var(--tk-font-size-base-250);
|
|
161
|
-
--tk-font-size-legal-m: var(--tk-font-size-base-75);
|
|
162
173
|
--tk-font-size-legal-s: var(--tk-font-size-base-63);
|
|
174
|
+
--tk-font-size-legal-m: var(--tk-font-size-base-75);
|
|
163
175
|
--tk-size-base-0: 0rem;
|
|
164
176
|
--tk-size-base-50: 0.5rem;
|
|
165
177
|
--tk-size-base-100: 1rem;
|
|
@@ -172,9 +184,10 @@
|
|
|
172
184
|
--tk-size-base-4000: 40rem;
|
|
173
185
|
--tk-size-base-4500: 45rem;
|
|
174
186
|
--tk-size-base-6400: 64rem;
|
|
175
|
-
--tk-borderRadius-m: 1rem;
|
|
176
187
|
--tk-borderRadius-null: 0rem;
|
|
188
|
+
--tk-borderRadius-xs: 0.25rem;
|
|
177
189
|
--tk-borderRadius-s: 0.5rem;
|
|
190
|
+
--tk-borderRadius-m: 1rem;
|
|
178
191
|
--tk-borderRadius-l: 1.5rem;
|
|
179
192
|
--tk-borderRadius-full: 62.4375rem;
|
|
180
193
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
|
|
3
|
-
type BadgeSeverity = 'secondary' | 'primary' | 'contrast';
|
|
3
|
+
type BadgeSeverity = 'secondary' | 'primary' | 'contrast' | 'danger';
|
|
4
4
|
/**
|
|
5
5
|
* @component BadgeComponent
|
|
6
6
|
* @description
|
|
@@ -9,13 +9,14 @@ type BadgeSeverity = 'secondary' | 'primary' | 'contrast';
|
|
|
9
9
|
*
|
|
10
10
|
* This component supports:
|
|
11
11
|
* - `value`: The text content to be displayed in the badge
|
|
12
|
-
* - `severity`: The color scheme of the badge. Options: `'primary' | 'secondary' | 'contrast'`
|
|
12
|
+
* - `severity`: The color scheme of the badge. Options: `'primary' | 'secondary' | 'contrast' | 'danger'`
|
|
13
13
|
* - Automatically maps severity values to PrimeNG's badge styles
|
|
14
14
|
*
|
|
15
15
|
* @usage
|
|
16
16
|
* ### Basic Usage
|
|
17
17
|
* ```html
|
|
18
18
|
* <tk-badge value="5" severity="primary"></tk-badge>
|
|
19
|
+
* ```
|
|
19
20
|
* */
|
|
20
21
|
declare class BadgeComponent {
|
|
21
22
|
/** The text content to be displayed in the badge. */
|
|
@@ -29,7 +30,7 @@ declare class BadgeComponent {
|
|
|
29
30
|
* Computed property that maps the custom `BadgeSeverity` to the underlying PrimeNG `severity`.
|
|
30
31
|
* Returns `undefined` for 'primary' as it uses the default style, and maps others accordingly.
|
|
31
32
|
*/
|
|
32
|
-
primeSeverity: _angular_core.Signal<"secondary" | "contrast" | "success">;
|
|
33
|
+
primeSeverity: _angular_core.Signal<"secondary" | "contrast" | "danger" | "success">;
|
|
33
34
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
34
35
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "tk-badge", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
35
36
|
}
|
|
@@ -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
|
|
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,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 };
|