@tekus/design-system 5.33.1 → 5.35.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 (52) hide show
  1. package/fesm2022/tekus-design-system-components-action-group.mjs +1 -1
  2. package/fesm2022/tekus-design-system-components-action-group.mjs.map +1 -1
  3. package/fesm2022/tekus-design-system-components-button.mjs +24 -3
  4. package/fesm2022/tekus-design-system-components-button.mjs.map +1 -1
  5. package/fesm2022/tekus-design-system-components-card.mjs +1 -1
  6. package/fesm2022/tekus-design-system-components-card.mjs.map +1 -1
  7. package/fesm2022/tekus-design-system-components-carousel.mjs +209 -0
  8. package/fesm2022/tekus-design-system-components-carousel.mjs.map +1 -0
  9. package/fesm2022/tekus-design-system-components-chip.mjs +51 -0
  10. package/fesm2022/tekus-design-system-components-chip.mjs.map +1 -0
  11. package/fesm2022/tekus-design-system-components-color-picker.mjs +1 -1
  12. package/fesm2022/tekus-design-system-components-color-picker.mjs.map +1 -1
  13. package/fesm2022/tekus-design-system-components-drawer.mjs +14 -4
  14. package/fesm2022/tekus-design-system-components-drawer.mjs.map +1 -1
  15. package/fesm2022/tekus-design-system-components-dropdown.mjs +1 -1
  16. package/fesm2022/tekus-design-system-components-dropdown.mjs.map +1 -1
  17. package/fesm2022/tekus-design-system-components-fallback-view.mjs +1 -1
  18. package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -1
  19. package/fesm2022/tekus-design-system-components-icon.mjs +2 -2
  20. package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -1
  21. package/fesm2022/tekus-design-system-components-modal.mjs +2 -2
  22. package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
  23. package/fesm2022/tekus-design-system-components-multiselect.mjs +13 -3
  24. package/fesm2022/tekus-design-system-components-multiselect.mjs.map +1 -1
  25. package/fesm2022/tekus-design-system-components-process-steps.mjs +111 -0
  26. package/fesm2022/tekus-design-system-components-process-steps.mjs.map +1 -0
  27. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs +1 -1
  28. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs.map +1 -1
  29. package/fesm2022/tekus-design-system-components-stepper.mjs +1 -1
  30. package/fesm2022/tekus-design-system-components-stepper.mjs.map +1 -1
  31. package/fesm2022/tekus-design-system-components-table.mjs +74 -6
  32. package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
  33. package/fesm2022/tekus-design-system-components-toast.mjs +1 -1
  34. package/fesm2022/tekus-design-system-components-toast.mjs.map +1 -1
  35. package/fesm2022/tekus-design-system-components-toolbar.mjs +367 -111
  36. package/fesm2022/tekus-design-system-components-toolbar.mjs.map +1 -1
  37. package/fesm2022/tekus-design-system-components-topbar.mjs +1 -1
  38. package/fesm2022/tekus-design-system-components-topbar.mjs.map +1 -1
  39. package/fesm2022/tekus-design-system-core-types.mjs +29 -0
  40. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
  41. package/fesm2022/tekus-design-system-core.mjs +29 -0
  42. package/fesm2022/tekus-design-system-core.mjs.map +1 -1
  43. package/package.json +13 -1
  44. package/types/tekus-design-system-components-button.d.ts +20 -1
  45. package/types/tekus-design-system-components-carousel.d.ts +196 -0
  46. package/types/tekus-design-system-components-chip.d.ts +36 -0
  47. package/types/tekus-design-system-components-drawer.d.ts +14 -3
  48. package/types/tekus-design-system-components-modal.d.ts +1 -1
  49. package/types/tekus-design-system-components-multiselect.d.ts +11 -1
  50. package/types/tekus-design-system-components-process-steps.d.ts +57 -0
  51. package/types/tekus-design-system-components-table.d.ts +6 -2
  52. package/types/tekus-design-system-components-toolbar.d.ts +185 -98
@@ -0,0 +1,57 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type StepState = 'waiting' | 'active' | 'done' | 'error' | 'warning';
4
+ interface ProcessStep {
5
+ label: string;
6
+ state: StepState;
7
+ }
8
+ /**
9
+ * Overall result of the process:
10
+ * - `progress`: shows the spinner header and the step list.
11
+ * - `success` | `error` | `warning`: replaces the progress view with a
12
+ * final result message (used once polling finishes).
13
+ */
14
+ type ProcessStepsStatus = 'progress' | 'success' | 'error' | 'warning';
15
+
16
+ declare class ProcessStepsComponent {
17
+ readonly steps: _angular_core.InputSignal<ProcessStep[]>;
18
+ readonly title: _angular_core.InputSignal<string>;
19
+ readonly description: _angular_core.InputSignal<string | undefined>;
20
+ readonly icon: _angular_core.InputSignal<string>;
21
+ readonly status: _angular_core.InputSignal<ProcessStepsStatus>;
22
+ /** Specific problems to list inside the result message box (ignored when `status` is `success`). */
23
+ readonly errors: _angular_core.InputSignal<string[]>;
24
+ /** Seconds until the countdown finishes; omit to disable it. */
25
+ readonly countdownSeconds: _angular_core.InputSignal<number | undefined>;
26
+ /**
27
+ * Countdown text; `{seconds}` is replaced with the seconds left. Defaults to a "closing"
28
+ * message, but the countdown isn't only for closing — override it to match what
29
+ * `(countdownFinished)` actually does.
30
+ */
31
+ readonly countdownLabel: _angular_core.InputSignal<string>;
32
+ /** Emitted once when the countdown reaches zero — the consumer decides what happens next (close a modal, show a toast, etc.). */
33
+ readonly countdownFinished: _angular_core.OutputEmitterRef<void>;
34
+ /** Seconds left in the countdown, or `undefined` while it's disabled. */
35
+ readonly remainingSeconds: _angular_core.WritableSignal<number | undefined>;
36
+ constructor();
37
+ /** Starts (or disables) the countdown whenever `status`/`countdownSeconds` change. */
38
+ private runCountdown;
39
+ /** Decrements `remainingSeconds` by one and emits `countdownFinished` once it bottoms out. */
40
+ private tickCountdown;
41
+ /**
42
+ * Accessible suffix announced per step since state is otherwise
43
+ * conveyed only through color/icon.
44
+ */
45
+ stepStatusLabel(state: StepState): string;
46
+ readonly resultIcon: _angular_core.Signal<string>;
47
+ readonly resultColor: _angular_core.Signal<"warning" | "success" | "danger">;
48
+ /** Severity for the message box wrapping `description`/`errors` (success has no box). */
49
+ readonly resultMessageSeverity: _angular_core.Signal<"error" | "warn">;
50
+ /** `countdownLabel` with `{seconds}` filled in, or `undefined` while the countdown is disabled. */
51
+ readonly countdownText: _angular_core.Signal<string | undefined>;
52
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProcessStepsComponent, never>;
53
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProcessStepsComponent, "tk-process-steps", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "countdownSeconds": { "alias": "countdownSeconds"; "required": false; "isSignal": true; }; "countdownLabel": { "alias": "countdownLabel"; "required": false; "isSignal": true; }; }, { "countdownFinished": "countdownFinished"; }, never, never, true, never>;
54
+ }
55
+
56
+ export { ProcessStepsComponent };
57
+ export type { ProcessStep, ProcessStepsStatus, StepState };
@@ -97,7 +97,11 @@ declare class TableComponent<T = unknown> {
97
97
  /** Tracks which column's filter overlay is currently open */
98
98
  readonly activeFilterColumn: _angular_core.WritableSignal<string | null>;
99
99
  /** Stores the selected filter value per column field (null = no filter) */
100
- readonly columnFilters: _angular_core.WritableSignal<Record<string, string | null>>;
100
+ readonly columnFilters: _angular_core.ModelSignal<Record<string, string | null>>;
101
+ /** Two-way bindable signal for the active sort field */
102
+ readonly sortField: _angular_core.ModelSignal<string | null>;
103
+ /** Two-way bindable signal for the active sort order (1 for asc, -1 for desc) */
104
+ readonly sortOrder: _angular_core.ModelSignal<1 | -1 | null>;
101
105
  /** Position of the filter overlay (fixed, relative to viewport) */
102
106
  readonly filterOverlayPosition: _angular_core.WritableSignal<{
103
107
  top: number;
@@ -221,7 +225,7 @@ declare class TableComponent<T = unknown> {
221
225
  */
222
226
  onImageError(event: Event, fallback?: string): void;
223
227
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
224
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "tk-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; }, never, never, true, never>;
228
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "tk-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "columnFilters": { "alias": "columnFilters"; "required": false; "isSignal": true; }; "sortField": { "alias": "sortField"; "required": false; "isSignal": true; }; "sortOrder": { "alias": "sortOrder"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "columnFilters": "columnFiltersChange"; "sortField": "sortFieldChange"; "sortOrder": "sortOrderChange"; }, never, never, true, never>;
225
229
  }
226
230
 
227
231
  export { TableComponent };
@@ -1,156 +1,243 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { MenuItem } from 'primeng/api';
3
+ import { Popover } from 'primeng/popover';
4
+ import { TkAction } from '@tekus/design-system/components/action-group';
5
+ import { MultiSelectOption } from '@tekus/design-system/components/multiselect';
6
+ import { ButtonSeverity, Variant } from '@tekus/design-system/components/button';
7
+
8
+ /**
9
+ * Configuration for a toolbar filter item.
10
+ */
11
+ interface TkToolbarFilterConfig {
12
+ key: string;
13
+ label: string;
14
+ options: MultiSelectOption[];
15
+ }
16
+ /**
17
+ * Definition for toolbar selection or mass actions.
18
+ */
19
+ interface TkToolbarAction {
20
+ icon?: string;
21
+ label: string;
22
+ action: () => void;
23
+ disabled?: boolean;
24
+ severity?: ButtonSeverity;
25
+ variant?: Variant;
26
+ }
2
27
 
3
28
  declare class ToolbarComponent {
29
+ private readonly breakpointObserver;
30
+ /** Responsive flag using BreakpointObserver */
31
+ isMobile: _angular_core.Signal<boolean>;
4
32
  /**
5
- * @property {ModelSignal<string>} searchModel
6
- * @description
7
33
  * Two-way bindable signal for the search input value.
8
- * Supports [(searchModel)]="variable" syntax for two-way binding.
9
- * @default ''
10
34
  */
11
35
  searchModel: _angular_core.ModelSignal<string>;
12
36
  /**
13
- * @property {ModelSignal<Record<string, string> | null>} filterModel
14
- * @description
15
- * Two-way bindable signal for the filter select value.
16
- * Supports [(filterModel)]="variable" syntax for two-way binding.
17
- * @default null
37
+ * Label/placeholder text displayed inside the search input.
38
+ * @default 'Buscar'
18
39
  */
19
- filterModel: _angular_core.ModelSignal<Record<string, string> | null>;
40
+ searchFloatLabel: _angular_core.InputSignal<string>;
20
41
  /**
21
- * @property {WritableSignal<boolean>} showSearchInput
22
- * @description
23
- * Controls the visibility of the search input. Toggles when the search button is clicked.
24
- * @default false
42
+ * Controls the visibility of the search input field.
43
+ * @default true
44
+ */
45
+ searchVisible: _angular_core.InputSignal<boolean>;
46
+ /**
47
+ * Two-way bindable signal for the layout view toggle ('table' or 'cards').
48
+ * @default 'table'
25
49
  */
26
- showSearchInput: _angular_core.WritableSignal<boolean>;
50
+ view: _angular_core.ModelSignal<"table" | "cards">;
27
51
  /**
28
- * @property {WritableSignal<boolean>} showFilterSelect
29
- * @description
30
- * Controls the visibility of the filter select. Toggles when the filter button is clicked.
52
+ * Controls the visibility of the layout view toggle button.
31
53
  * @default false
32
54
  */
33
- showFilterSelect: _angular_core.WritableSignal<boolean>;
34
- /**
35
- * @property {InputSignal<Array<{ label: string; value: string }>>} filterOptions
36
- * @description
37
- * Array of options available in the filter select dropdown.
38
- * Each option is an object with `label` (displayed text) and `value` (internal identifier).
39
- *
40
- * @default
41
- * [
42
- * { label: 'Option 1', value: 'option1' },
43
- * { label: 'Option 2', value: 'option2' },
44
- * { label: 'Option 3', value: 'option3' }
45
- * ]
46
- */
47
- filterOptions: _angular_core.InputSignal<{
48
- label: string;
49
- value: string;
50
- }[]>;
55
+ viewToggleVisible: _angular_core.InputSignal<boolean>;
51
56
  /**
52
- * @property {InputSignal<string>} filterOptionLabel
53
- * @description
54
- * Property name used to display the label in the select dropdown options.
55
- * This corresponds to the key in each option object that contains the display text.
56
- *
57
- * @default 'label'
57
+ * Dynamic list of filters and their available selection options.
58
+ * @default []
58
59
  */
60
+ filters: _angular_core.InputSignal<TkToolbarFilterConfig[]>;
61
+ /** Backwards compatibility: Writable model signal for the selected option in a single filter select (deprecated) */
62
+ filterModel: _angular_core.ModelSignal<Record<string, string> | null>;
63
+ /** Backwards compatibility: Input for dropdown options (deprecated) */
64
+ filterOptions: _angular_core.InputSignal<any[]>;
65
+ /** Backwards compatibility: Input for the option label key (deprecated) */
59
66
  filterOptionLabel: _angular_core.InputSignal<string>;
67
+ /** Backwards compatibility: Input for the label of the single select dropdown (deprecated) */
68
+ filterFloatLabel: _angular_core.InputSignal<string>;
69
+ /** Backwards compatibility: Controls whether filter button is shown (deprecated) */
70
+ filterVisible: _angular_core.InputSignal<boolean>;
60
71
  /**
61
- * @property {InputSignal<string>} filterFloatLabel
62
- * @description
63
- * Label text displayed above the filter select input using the FloatLabel wrapper.
64
- * This is the placeholder/label that floats when the select is focused or has a value.
65
- *
66
- * @default 'Filtrar'
72
+ * Two-way bindable signal for currently selected filter values.
73
+ * Format: { [filterKey]: MultiSelectOption[] }
74
+ * @default {}
67
75
  */
68
- filterFloatLabel: _angular_core.InputSignal<string>;
76
+ filterValues: _angular_core.ModelSignal<Record<string, MultiSelectOption[]>>;
69
77
  /**
70
- * @property {InputSignal<string>} searchFloatLabel
71
- * @description
72
- * Label text displayed above the search input using the FloatLabel wrapper.
73
- * This is the placeholder/label that floats when the search input is focused or has a value.
74
- *
75
- * @default 'Buscar'
78
+ * Label/text for the clear button.
79
+ * @default 'Limpiar'
76
80
  */
77
- searchFloatLabel: _angular_core.InputSignal<string>;
81
+ clearLabel: _angular_core.InputSignal<string>;
78
82
  /**
79
- * @property {InputSignal<boolean>} searchVisible
80
- * @description
81
- * Controls the visibility of the search button.
82
- * @default true
83
+ * Label/text for the delete action button.
84
+ * @default 'Eliminar'
83
85
  */
84
- searchVisible: _angular_core.InputSignal<boolean>;
86
+ deleteLabel: _angular_core.InputSignal<string>;
85
87
  /**
86
- * @property {InputSignal<boolean>} filterVisible
87
- * @description
88
- * Controls the visibility of the filter button.
89
- * @default true
88
+ * Label/text for the filters header.
89
+ * @default 'Filtros'
90
90
  */
91
- filterVisible: _angular_core.InputSignal<boolean>;
91
+ filterLabel: _angular_core.InputSignal<string>;
92
+ /** Label for selected item singular form (e.g. 'seleccionado') */
93
+ selectedLabel: _angular_core.InputSignal<string>;
94
+ /** Label for selected item plural form (e.g. 'seleccionados') */
95
+ selectedPluralLabel: _angular_core.InputSignal<string>;
96
+ /** Label/text for the apply button in overlays (e.g. 'Aplicar') */
97
+ applyLabel: _angular_core.InputSignal<string>;
98
+ /** Tooltip text for the reload action button (e.g. 'Actualizar') */
99
+ reloadTooltip: _angular_core.InputSignal<string>;
100
+ /** Tooltip text for the sort action button (e.g. 'Ordenar') */
101
+ sortTooltip: _angular_core.InputSignal<string>;
102
+ /** Tooltip text for view cards layout button (e.g. 'Vista tarjeta') */
103
+ viewCardsTooltip: _angular_core.InputSignal<string>;
104
+ /** Tooltip text for view table layout button (e.g. 'Vista tabla') */
105
+ viewTableTooltip: _angular_core.InputSignal<string>;
106
+ /**
107
+ * Available list of sorting options.
108
+ * @default []
109
+ */
110
+ sortOptions: _angular_core.InputSignal<{
111
+ label: string;
112
+ value: string;
113
+ }[]>;
114
+ /**
115
+ * Label/text for the sorting header.
116
+ * @default 'Ordenar por'
117
+ */
118
+ sortLabel: _angular_core.InputSignal<string>;
119
+ /**
120
+ * Two-way bindable signal for the active sort option value.
121
+ * @default null
122
+ */
123
+ sortValue: _angular_core.ModelSignal<string | null>;
92
124
  /**
93
- * @property {InputSignal<boolean>} reloadVisible
94
- * @description
95
125
  * Controls the visibility of the reload button.
96
126
  * @default false
97
127
  */
98
128
  reloadVisible: _angular_core.InputSignal<boolean>;
99
129
  /**
100
- * @property {InputSignal<number | null>} reloadInterval
101
- * @description
102
130
  * Sets the interval for automatic reload in milliseconds.
103
131
  * If null, automatic reload is disabled.
104
132
  * @default null
105
133
  */
106
134
  reloadInterval: _angular_core.InputSignal<number | null>;
107
135
  /**
108
- * @property {InputSignal<boolean>} loading
109
- * @description
110
136
  * Controls the loading state of the reload button, triggering a rotation animation.
111
137
  * @default false
112
138
  */
113
139
  loading: _angular_core.InputSignal<boolean>;
114
140
  /**
115
- * @property {OutputEmitter<void>} reload
116
- * @description
117
- * Emits an event when the reload button is clicked or the automatic interval is reached.
141
+ * Secondary or mass actions collapsed into the tk-action-group dropdown.
142
+ * @default []
118
143
  */
119
- reload: _angular_core.OutputEmitterRef<void>;
144
+ globalActions: _angular_core.InputSignal<TkAction[]>;
120
145
  /**
121
- * @method constructor
122
- * @description
123
- * Initializes the automatic reload logic using a declarative RxJS approach.
146
+ * Number of items selected in the list.
147
+ * @default 0
124
148
  */
125
- constructor();
149
+ selectionCount: _angular_core.InputSignal<number>;
150
+ /**
151
+ * Two-way bindable signal for checking/unchecking the select-all checkbox.
152
+ * @default false
153
+ */
154
+ allSelected: _angular_core.ModelSignal<boolean>;
126
155
  /**
127
- * @method toggleSearchInput
128
- * @description
129
- * Toggles the visibility of the search input field.
156
+ * Two-way bindable signal for the indeterminate state of the select-all checkbox.
157
+ * @default false
130
158
  */
131
- toggleSearchInput(): void;
159
+ indeterminate: _angular_core.ModelSignal<boolean>;
132
160
  /**
133
- * @method toggleFilterSelect
134
- * @description
135
- * Toggles the visibility of the filter select dropdown.
161
+ * Actions available when one or more items are selected.
162
+ * @default []
136
163
  */
137
- toggleFilterSelect(): void;
164
+ selectionActions: _angular_core.InputSignal<TkToolbarAction[]>;
138
165
  /**
139
- * @method onSelectedOption
140
- * @description
141
- * Handles filter select changes and updates the filterModel signal.
142
- *
143
- * @param value - Selected option value from tk-select
166
+ * Maximum number of selection action buttons visible directly before grouping the rest.
167
+ * @default 1
144
168
  */
145
- onSelectedOption(value: Record<string, string> | null): void;
169
+ maxVisibleSelectionActions: _angular_core.InputSignal<number>;
146
170
  /**
147
- * @method onReload
148
- * @description
149
- * Emits the reload event.
171
+ * Emits an event when the reload button is clicked or the automatic interval is reached.
150
172
  */
173
+ reload: _angular_core.OutputEmitterRef<void>;
174
+ /**
175
+ * Emits when filters are applied.
176
+ */
177
+ appliedFilters: _angular_core.OutputEmitterRef<Record<string, MultiSelectOption[]>>;
178
+ /**
179
+ * Emits when sorting changes.
180
+ */
181
+ appliedSort: _angular_core.OutputEmitterRef<string | null>;
182
+ /** Temporary filter values held before the user clicks "Aplicar" */
183
+ tempFilterValues: _angular_core.WritableSignal<Record<string, MultiSelectOption[]>>;
184
+ /** Temporary sort value held before the user clicks "Aplicar" in mobile drawer */
185
+ tempSortValue: _angular_core.WritableSignal<string | null>;
186
+ /** Controls visibility of mobile drawers */
187
+ showFilterDrawer: _angular_core.WritableSignal<boolean>;
188
+ showSortDrawer: _angular_core.WritableSignal<boolean>;
189
+ filterPopover: _angular_core.Signal<Popover | undefined>;
190
+ sortPopover: _angular_core.Signal<Popover | undefined>;
191
+ /** Computes whether any filters are currently active */
192
+ hasActiveFilters: _angular_core.Signal<boolean>;
193
+ /** Computes whether sorting is active */
194
+ hasActiveSort: _angular_core.Signal<boolean>;
195
+ /** Reload button visibility: only visible if reload is allowed AND filters or sorting is active */
196
+ shouldShowReload: _angular_core.Signal<boolean>;
197
+ /** Computes the final filters configuration, adapting old filterOptions format to the new filters schema */
198
+ derivedFilters: _angular_core.Signal<TkToolbarFilterConfig[]>;
199
+ /** Active chips representing individual filter selections */
200
+ activeChips: _angular_core.Signal<{
201
+ filterKey: string;
202
+ code: string;
203
+ label: string;
204
+ }[]>;
205
+ /** Visibility of the active filters bar (below tools) */
206
+ shouldShowActiveFiltersBar: _angular_core.Signal<boolean>;
207
+ /** Visible selection actions as buttons */
208
+ visibleSelectionActions: _angular_core.Signal<TkToolbarAction[]>;
209
+ /** Overflow selection actions as menu items for dropdown */
210
+ overflowSelectionActions: _angular_core.Signal<MenuItem[]>;
211
+ constructor();
212
+ /** Toggles filters overlay and initializes temporary state */
213
+ openFilters(event: Event): void;
214
+ /** Updates temporary filter values for a specific filter key */
215
+ onTempFilterChange(key: string, value: MultiSelectOption[]): void;
216
+ /** Saves temporary filter selections and triggers apply */
217
+ applyFilters(): void;
218
+ /** Clears temporary filters inside popover/drawer */
219
+ clearTempFilters(): void;
220
+ /** Clears all applied filters */
221
+ clearAllFilters(): void;
222
+ /** Removes a single filter chip */
223
+ removeChip(chip: {
224
+ filterKey: string;
225
+ code: string;
226
+ }): void;
227
+ /** Toggles sorting overlay */
228
+ openSort(event: Event): void;
229
+ /** Selects a sort option (toggles if already selected) and hides overlay */
230
+ selectSortOption(value: string, isMobileDrawer?: boolean): void;
231
+ /** Toggles temporary sorting selection on mobile drawer */
232
+ toggleSortOptionMobile(value: string): void;
233
+ /** Applies selected sorting on mobile */
234
+ applySortMobile(): void;
235
+ /** Toggle layout view */
236
+ toggleView(): void;
151
237
  onReload(): void;
152
238
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToolbarComponent, never>;
153
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToolbarComponent, "tk-toolbar", never, { "searchModel": { "alias": "searchModel"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "filterOptions": { "alias": "filterOptions"; "required": false; "isSignal": true; }; "filterOptionLabel": { "alias": "filterOptionLabel"; "required": false; "isSignal": true; }; "filterFloatLabel": { "alias": "filterFloatLabel"; "required": false; "isSignal": true; }; "searchFloatLabel": { "alias": "searchFloatLabel"; "required": false; "isSignal": true; }; "searchVisible": { "alias": "searchVisible"; "required": false; "isSignal": true; }; "filterVisible": { "alias": "filterVisible"; "required": false; "isSignal": true; }; "reloadVisible": { "alias": "reloadVisible"; "required": false; "isSignal": true; }; "reloadInterval": { "alias": "reloadInterval"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "searchModel": "searchModelChange"; "filterModel": "filterModelChange"; "reload": "reload"; }, never, never, true, never>;
239
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToolbarComponent, "tk-toolbar", never, { "searchModel": { "alias": "searchModel"; "required": false; "isSignal": true; }; "searchFloatLabel": { "alias": "searchFloatLabel"; "required": false; "isSignal": true; }; "searchVisible": { "alias": "searchVisible"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "viewToggleVisible": { "alias": "viewToggleVisible"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "filterOptions": { "alias": "filterOptions"; "required": false; "isSignal": true; }; "filterOptionLabel": { "alias": "filterOptionLabel"; "required": false; "isSignal": true; }; "filterFloatLabel": { "alias": "filterFloatLabel"; "required": false; "isSignal": true; }; "filterVisible": { "alias": "filterVisible"; "required": false; "isSignal": true; }; "filterValues": { "alias": "filterValues"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "deleteLabel": { "alias": "deleteLabel"; "required": false; "isSignal": true; }; "filterLabel": { "alias": "filterLabel"; "required": false; "isSignal": true; }; "selectedLabel": { "alias": "selectedLabel"; "required": false; "isSignal": true; }; "selectedPluralLabel": { "alias": "selectedPluralLabel"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "reloadTooltip": { "alias": "reloadTooltip"; "required": false; "isSignal": true; }; "sortTooltip": { "alias": "sortTooltip"; "required": false; "isSignal": true; }; "viewCardsTooltip": { "alias": "viewCardsTooltip"; "required": false; "isSignal": true; }; "viewTableTooltip": { "alias": "viewTableTooltip"; "required": false; "isSignal": true; }; "sortOptions": { "alias": "sortOptions"; "required": false; "isSignal": true; }; "sortLabel": { "alias": "sortLabel"; "required": false; "isSignal": true; }; "sortValue": { "alias": "sortValue"; "required": false; "isSignal": true; }; "reloadVisible": { "alias": "reloadVisible"; "required": false; "isSignal": true; }; "reloadInterval": { "alias": "reloadInterval"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "globalActions": { "alias": "globalActions"; "required": false; "isSignal": true; }; "selectionCount": { "alias": "selectionCount"; "required": false; "isSignal": true; }; "allSelected": { "alias": "allSelected"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "selectionActions": { "alias": "selectionActions"; "required": false; "isSignal": true; }; "maxVisibleSelectionActions": { "alias": "maxVisibleSelectionActions"; "required": false; "isSignal": true; }; }, { "searchModel": "searchModelChange"; "view": "viewChange"; "filterModel": "filterModelChange"; "filterValues": "filterValuesChange"; "sortValue": "sortValueChange"; "allSelected": "allSelectedChange"; "indeterminate": "indeterminateChange"; "reload": "reload"; "appliedFilters": "appliedFilters"; "appliedSort": "appliedSort"; }, never, never, true, never>;
154
240
  }
155
241
 
156
242
  export { ToolbarComponent };
243
+ export type { TkToolbarAction, TkToolbarFilterConfig };