@tekus/design-system 5.31.0 → 5.32.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/fesm2022/tekus-design-system-components-color-picker.mjs +1028 -0
- package/fesm2022/tekus-design-system-components-color-picker.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-date-picker.mjs +269 -204
- package/fesm2022/tekus-design-system-components-date-picker.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-icon.mjs +119 -7
- package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-table.mjs +38 -6
- package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-time-picker.mjs +443 -0
- package/fesm2022/tekus-design-system-components-time-picker.mjs.map +1 -0
- package/fesm2022/tekus-design-system-utils-wcag-contrast.mjs +97 -0
- package/fesm2022/tekus-design-system-utils-wcag-contrast.mjs.map +1 -0
- package/package.json +13 -1
- package/types/tekus-design-system-components-color-picker.d.ts +356 -0
- package/types/tekus-design-system-components-date-picker.d.ts +191 -141
- package/types/tekus-design-system-components-icon.d.ts +10 -1
- package/types/tekus-design-system-components-table.d.ts +26 -1
- package/types/tekus-design-system-components-time-picker.d.ts +203 -0
- package/types/tekus-design-system-utils-wcag-contrast.d.ts +55 -0
|
@@ -1,268 +1,318 @@
|
|
|
1
|
-
import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
|
|
2
1
|
import * as _angular_core from '@angular/core';
|
|
3
2
|
import { OnInit } from '@angular/core';
|
|
4
|
-
import { ControlValueAccessor, NgControl, FormControl } from '@angular/forms';
|
|
3
|
+
import { ControlValueAccessor, Validator, NgControl, FormControl, ValidationErrors } from '@angular/forms';
|
|
5
4
|
|
|
6
5
|
type DateValue = Date | [Date, Date] | null;
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @description
|
|
8
|
+
* Wrapper around PrimeNG's DatePicker with support for single-date, date-range,
|
|
9
|
+
* and combined date+time modes. Implements `ControlValueAccessor` and `Validator`
|
|
10
|
+
* so it works transparently with reactive forms (`[formControl]`, `[control]`)
|
|
11
|
+
* and template-driven forms (`[(ngModel)]`). A signal model (`[(modelValue)]`)
|
|
12
|
+
* is also available for standalone usage without Angular forms.
|
|
13
|
+
*
|
|
14
|
+
* For time-only selection use `tk-time-picker` instead.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <!-- Date range with reactive form -->
|
|
18
|
+
* <tk-date-picker
|
|
19
|
+
* [control]="form.controls.stayRange"
|
|
20
|
+
* selectionMode="range"
|
|
21
|
+
* labelText="Stay dates"
|
|
22
|
+
* [showClear]="true">
|
|
23
|
+
* </tk-date-picker>
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <!-- Combined date + time -->
|
|
27
|
+
* <tk-date-picker
|
|
28
|
+
* [showTime]="true"
|
|
29
|
+
* hourFormat="24"
|
|
30
|
+
* [(modelValue)]="appointmentDateTime"
|
|
31
|
+
* labelText="Appointment">
|
|
32
|
+
* </tk-date-picker>
|
|
33
|
+
*/
|
|
34
|
+
declare class DatePickerComponent implements OnInit, ControlValueAccessor, Validator {
|
|
35
|
+
/** @internal */
|
|
9
36
|
readonly ngControl: NgControl | null;
|
|
37
|
+
/** @internal */
|
|
10
38
|
private readonly destroyRef;
|
|
11
39
|
constructor();
|
|
12
40
|
/**
|
|
13
|
-
* @property {InputSignal<'date' | 'time' | 'both'>} variant
|
|
14
41
|
* @description
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
42
|
+
* Marks the field as required. When `true`, the component returns a
|
|
43
|
+
* `{ required: true }` validation error when no date is selected.
|
|
44
|
+
*
|
|
45
|
+
* @default false
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <tk-date-picker [required]="true" errorMessage="Date is required" />
|
|
20
49
|
*/
|
|
21
|
-
|
|
50
|
+
required: _angular_core.InputSignal<boolean>;
|
|
22
51
|
/**
|
|
23
|
-
* @property {InputSignal<'single' | 'range'>} selectionMode
|
|
24
52
|
* @description
|
|
25
|
-
*
|
|
26
|
-
* - `'single'
|
|
27
|
-
* - `'range'
|
|
53
|
+
* Selection behaviour for the date calendar.
|
|
54
|
+
* - `'single'` — one date.
|
|
55
|
+
* - `'range'` — a pair of dates `[start, end]`.
|
|
56
|
+
*
|
|
28
57
|
* @default 'range'
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* <tk-date-picker selectionMode="single" />
|
|
29
61
|
*/
|
|
30
62
|
selectionMode: _angular_core.InputSignal<"single" | "range">;
|
|
31
63
|
/**
|
|
32
|
-
* @property {InputSignal<boolean>} readonlyInput
|
|
33
64
|
* @description
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*/
|
|
37
|
-
readonlyInput: _angular_core.InputSignal<boolean>;
|
|
38
|
-
/**
|
|
39
|
-
* @property {InputSignal<boolean>} showClear
|
|
40
|
-
* @description
|
|
41
|
-
* Displays a clear button that resets the datepicker value.
|
|
65
|
+
* Shows a clear (×) button that resets the value to `null`.
|
|
66
|
+
*
|
|
42
67
|
* @default true
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* <tk-date-picker [showClear]="false" />
|
|
43
71
|
*/
|
|
44
72
|
showClear: _angular_core.InputSignal<boolean>;
|
|
45
73
|
/**
|
|
46
|
-
* @property {InputSignal<boolean>} showIcon
|
|
47
74
|
* @description
|
|
48
|
-
* Shows the calendar
|
|
75
|
+
* Shows the calendar icon inside the input field.
|
|
76
|
+
* When `false`, the overlay can only be opened by clicking the input itself.
|
|
77
|
+
*
|
|
49
78
|
* @default true
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* <tk-date-picker [showIcon]="false" />
|
|
50
82
|
*/
|
|
51
83
|
showIcon: _angular_core.InputSignal<boolean>;
|
|
52
84
|
/**
|
|
53
|
-
* @property {InputSignal<string>} dateFormat
|
|
54
85
|
* @description
|
|
55
|
-
*
|
|
86
|
+
* Date display format forwarded to PrimeNG (e.g. `'dd/mm/yy'`, `'yy-mm-dd'`).
|
|
87
|
+
*
|
|
56
88
|
* @default 'dd/mm/yy'
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* <tk-date-picker dateFormat="yy-mm-dd" />
|
|
57
92
|
*/
|
|
58
93
|
dateFormat: _angular_core.InputSignal<string>;
|
|
59
94
|
/**
|
|
60
|
-
* @
|
|
61
|
-
* @description
|
|
62
|
-
* Format used by PrimeNG for displaying times.
|
|
63
|
-
* @default 'HH:mm'
|
|
64
|
-
*/
|
|
65
|
-
timeFormat: _angular_core.InputSignal<string>;
|
|
66
|
-
/**
|
|
67
|
-
* @property {InputSignal<number>} stepHour
|
|
68
|
-
* @description
|
|
69
|
-
* Hours to skip when clicking up/down.
|
|
95
|
+
* @description Hour increment/decrement step for the time spinner (used when `showTime=true`).
|
|
70
96
|
* @default 1
|
|
71
97
|
*/
|
|
72
98
|
stepHour: _angular_core.InputSignal<number>;
|
|
73
99
|
/**
|
|
74
|
-
* @
|
|
75
|
-
* @description
|
|
76
|
-
* Minutes to skip when clicking up/down.
|
|
100
|
+
* @description Minute increment/decrement step for the time spinner (used when `showTime=true`).
|
|
77
101
|
* @default 1
|
|
78
102
|
*/
|
|
79
103
|
stepMinute: _angular_core.InputSignal<number>;
|
|
80
104
|
/**
|
|
81
|
-
* @
|
|
82
|
-
* @description
|
|
83
|
-
* Seconds to skip when clicking up/down.
|
|
105
|
+
* @description Second increment/decrement step for the time spinner (used when `showTime=true`).
|
|
84
106
|
* @default 1
|
|
85
107
|
*/
|
|
86
108
|
stepSecond: _angular_core.InputSignal<number>;
|
|
87
109
|
/**
|
|
88
|
-
* @property {InputSignal<boolean>} showSeconds
|
|
89
110
|
* @description
|
|
90
|
-
* Whether to show seconds in the time
|
|
91
|
-
* Only
|
|
111
|
+
* Whether to show the seconds segment in the time spinner.
|
|
112
|
+
* Only active when `showTime=true` and `hourFormat="24"`.
|
|
113
|
+
*
|
|
92
114
|
* @default false
|
|
93
115
|
*/
|
|
94
116
|
showSeconds: _angular_core.InputSignal<boolean>;
|
|
95
117
|
/**
|
|
96
|
-
* @property {InputSignal<boolean>} disabled
|
|
97
118
|
* @description
|
|
98
|
-
*
|
|
119
|
+
* Disables the entire component. Can also be controlled through the bound
|
|
120
|
+
* form control via `control.disable()` / `control.enable()`.
|
|
121
|
+
*
|
|
99
122
|
* @default false
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* <tk-date-picker [disabled]="isReadonly()" />
|
|
100
126
|
*/
|
|
101
127
|
disabled: _angular_core.InputSignal<boolean>;
|
|
102
128
|
/**
|
|
103
|
-
* @property {InputSignal<boolean>} inline
|
|
104
129
|
* @description
|
|
105
|
-
*
|
|
130
|
+
* Renders the calendar inline (always visible) instead of in a dropdown overlay.
|
|
131
|
+
*
|
|
106
132
|
* @default false
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* <tk-date-picker [inline]="true" selectionMode="single" />
|
|
107
136
|
*/
|
|
108
137
|
inline: _angular_core.InputSignal<boolean>;
|
|
109
138
|
/**
|
|
110
|
-
* @property {InputSignal<boolean>} showTime
|
|
111
139
|
* @description
|
|
112
|
-
*
|
|
140
|
+
* Adds a time spinner alongside the date calendar.
|
|
141
|
+
*
|
|
113
142
|
* @default false
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* <tk-date-picker [showTime]="true" hourFormat="24" />
|
|
114
146
|
*/
|
|
115
147
|
showTime: _angular_core.InputSignal<boolean>;
|
|
116
148
|
/**
|
|
117
|
-
* @property {InputSignal<'12' | '24'>} hourFormat
|
|
118
149
|
* @description
|
|
119
|
-
*
|
|
150
|
+
* Hour format for the time spinner (only relevant when `showTime=true`).
|
|
151
|
+
* - `'24'` — 0–23 hours.
|
|
152
|
+
* - `'12'` — 1–12 hours with AM/PM toggle.
|
|
153
|
+
*
|
|
120
154
|
* @default '24'
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* <tk-date-picker [showTime]="true" hourFormat="12" />
|
|
121
158
|
*/
|
|
122
159
|
hourFormat: _angular_core.InputSignal<"12" | "24">;
|
|
123
160
|
/**
|
|
124
|
-
* @property {InputSignal<string | HTMLElement | null | undefined>} appendTo
|
|
125
161
|
* @description
|
|
126
|
-
* Target element to
|
|
127
|
-
*
|
|
162
|
+
* Target element or CSS selector to which the overlay panel is appended.
|
|
163
|
+
* Use `'body'` to escape `overflow:hidden` parent containers (e.g. modals).
|
|
164
|
+
*
|
|
165
|
+
* @default 'body'
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* <tk-date-picker appendTo="body" />
|
|
128
169
|
*/
|
|
129
170
|
appendTo: _angular_core.InputSignal<string | HTMLElement | null | undefined>;
|
|
130
171
|
/**
|
|
131
|
-
* @
|
|
132
|
-
* @description
|
|
133
|
-
* Base z-index value for the overlay.
|
|
172
|
+
* @description Base z-index applied to the overlay panel.
|
|
134
173
|
* @default 10000
|
|
135
174
|
*/
|
|
136
175
|
baseZIndex: _angular_core.InputSignal<number>;
|
|
137
176
|
/**
|
|
138
|
-
* @property {InputSignal<Date | null>} maxDate
|
|
139
177
|
* @description
|
|
140
|
-
*
|
|
178
|
+
* Latest selectable date. Enforced both by PrimeNG (disables calendar days)
|
|
179
|
+
* and by Angular form validation.
|
|
180
|
+
*
|
|
141
181
|
* @default null
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* <tk-date-picker [maxDate]="today" errorMessage="Date cannot be in the future" />
|
|
142
185
|
*/
|
|
143
186
|
maxDate: _angular_core.InputSignal<Date | null>;
|
|
144
187
|
/**
|
|
145
|
-
* @property {InputSignal<Date | null>} minDate
|
|
146
188
|
* @description
|
|
147
|
-
*
|
|
189
|
+
* Earliest selectable date. Enforced both by PrimeNG (disables calendar days)
|
|
190
|
+
* and by Angular form validation.
|
|
191
|
+
*
|
|
148
192
|
* @default null
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* <tk-date-picker [minDate]="today" errorMessage="Date must be today or later" />
|
|
149
196
|
*/
|
|
150
197
|
minDate: _angular_core.InputSignal<Date | null>;
|
|
151
198
|
/**
|
|
152
|
-
* @
|
|
153
|
-
* @
|
|
154
|
-
*
|
|
199
|
+
* @description Floating label text shown above the input field.
|
|
200
|
+
* @default 'Select a date'
|
|
201
|
+
* @example
|
|
202
|
+
* <tk-date-picker labelText="Check-in date" />
|
|
155
203
|
*/
|
|
156
204
|
labelText: _angular_core.InputSignal<string>;
|
|
157
205
|
/**
|
|
158
|
-
* @property {InputSignal<FormControl>} control
|
|
159
206
|
* @description
|
|
160
|
-
*
|
|
161
|
-
*
|
|
207
|
+
* Validation error message rendered beneath the field when the bound control
|
|
208
|
+
* is invalid and the field has been dirtied or touched.
|
|
209
|
+
*
|
|
210
|
+
* @default null
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* <tk-date-picker [minDate]="minDate" errorMessage="Date is required" />
|
|
214
|
+
*/
|
|
215
|
+
errorMessage: _angular_core.InputSignal<string | null>;
|
|
216
|
+
/**
|
|
217
|
+
* @description
|
|
218
|
+
* Optional external `FormControl` to bind when not using the standard
|
|
219
|
+
* `formControl` / `formControlName` / `ngModel` directives.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* <tk-date-picker [control]="form.controls.startDate" />
|
|
162
223
|
*/
|
|
163
224
|
control: _angular_core.InputSignal<FormControl<any> | undefined>;
|
|
164
225
|
/**
|
|
165
|
-
* @property {ModelSignal<DateValue>} modelValue
|
|
166
226
|
* @description
|
|
167
|
-
*
|
|
227
|
+
* Two-way signal binding for the selected value.
|
|
228
|
+
* Accepts `Date` (single), `[Date, Date]` (range), or `null` (cleared).
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* <tk-date-picker [(modelValue)]="selectedDate" />
|
|
168
232
|
*/
|
|
169
233
|
modelValue: _angular_core.ModelSignal<DateValue>;
|
|
170
234
|
/**
|
|
171
|
-
* @property {OutputRef<DateValue>} handleSelect
|
|
172
235
|
* @description
|
|
173
|
-
*
|
|
236
|
+
* Emits the selected value whenever a complete selection is made.
|
|
237
|
+
* In range mode, fires only when both start and end dates are chosen.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* <tk-date-picker (handleSelect)="onDateSelected($event)" />
|
|
174
241
|
*/
|
|
175
242
|
handleSelect: _angular_core.OutputEmitterRef<DateValue>;
|
|
176
243
|
/**
|
|
177
|
-
* @
|
|
178
|
-
* @
|
|
179
|
-
*
|
|
244
|
+
* @description Emits when the user clears the field via the clear button.
|
|
245
|
+
* @example
|
|
246
|
+
* <tk-date-picker (handleClear)="onCleared()" />
|
|
180
247
|
*/
|
|
181
248
|
handleClear: _angular_core.OutputEmitterRef<void>;
|
|
182
|
-
/**
|
|
183
|
-
* @property {WritableSignal<boolean>} disabledStatus
|
|
184
|
-
* @description
|
|
185
|
-
* Internal signal to track disabled state.
|
|
186
|
-
*/
|
|
249
|
+
/** @internal */
|
|
187
250
|
disabledStatus: _angular_core.WritableSignal<boolean>;
|
|
188
|
-
/**
|
|
189
|
-
* @property {Signal<boolean>} effectiveDisabled
|
|
190
|
-
* @description
|
|
191
|
-
* Returns true if either the [disabled] input is true OR the FormControl is disabled.
|
|
192
|
-
*/
|
|
251
|
+
/** @internal */
|
|
193
252
|
effectiveDisabled: _angular_core.Signal<boolean>;
|
|
194
|
-
/**
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
*/
|
|
253
|
+
/** @internal */
|
|
254
|
+
effectiveMinDate: _angular_core.Signal<Date | null>;
|
|
255
|
+
/** @internal */
|
|
256
|
+
effectiveMaxDate: _angular_core.Signal<Date | null>;
|
|
257
|
+
/** @internal */
|
|
200
258
|
effectiveSelectionMode: _angular_core.Signal<"single" | "range">;
|
|
201
|
-
/**
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
* Returns the user-provided dateFormat or timeFormat based on the variant.
|
|
205
|
-
*/
|
|
259
|
+
/** @internal */
|
|
260
|
+
effectiveHourFormat: _angular_core.Signal<"12" | "24">;
|
|
261
|
+
/** @internal */
|
|
206
262
|
effectiveDateFormat: _angular_core.Signal<string>;
|
|
207
|
-
/**
|
|
208
|
-
* @property {Signal<boolean>} effectiveShowSeconds
|
|
209
|
-
* @description
|
|
210
|
-
* Returns whether seconds should be shown, restricted to 24h format.
|
|
211
|
-
*/
|
|
263
|
+
/** @internal */
|
|
212
264
|
effectiveShowSeconds: _angular_core.Signal<boolean>;
|
|
213
|
-
/**
|
|
214
|
-
* @property {Signal<boolean>} effectiveShowTime
|
|
215
|
-
* @description
|
|
216
|
-
* Returns whether the time picker should be shown.
|
|
217
|
-
*/
|
|
265
|
+
/** @internal */
|
|
218
266
|
effectiveShowTime: _angular_core.Signal<boolean>;
|
|
267
|
+
/** @internal */
|
|
268
|
+
private readonly internalControl;
|
|
219
269
|
/**
|
|
220
|
-
* @property {Signal<FormControl>} effectiveControl
|
|
221
270
|
* @description
|
|
222
|
-
*
|
|
271
|
+
* Memoised signal returning the active `FormControl` in priority order:
|
|
272
|
+
* `NgControl` (reactive forms) → `control` input → internal fallback control.
|
|
223
273
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
private isWriting;
|
|
274
|
+
readonly effectiveControl: _angular_core.Signal<FormControl<any>>;
|
|
275
|
+
/** @internal Unique DOM id used for `inputId` / `for` binding on every instance. */
|
|
276
|
+
readonly uid: string;
|
|
277
|
+
/** @internal */ onChange: (value: DateValue) => void;
|
|
278
|
+
/** @internal */ onTouched: () => void;
|
|
279
|
+
/** @internal */ onValidatorChange: () => void;
|
|
280
|
+
/** @internal */ private lastValue;
|
|
281
|
+
/** @internal */ private readonly boundValidate;
|
|
282
|
+
/** @inheritdoc */
|
|
234
283
|
ngOnInit(): void;
|
|
284
|
+
/** @inheritdoc */
|
|
235
285
|
writeValue(value: DateValue): void;
|
|
286
|
+
/** @inheritdoc */
|
|
236
287
|
registerOnChange(fn: (value: DateValue) => void): void;
|
|
288
|
+
/** @inheritdoc */
|
|
237
289
|
registerOnTouched(fn: () => void): void;
|
|
290
|
+
/** @inheritdoc */
|
|
291
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
292
|
+
/** @inheritdoc */
|
|
293
|
+
validate(): ValidationErrors | null;
|
|
294
|
+
private validateBounds;
|
|
295
|
+
/** @inheritdoc */
|
|
238
296
|
setDisabledState(isDisabled: boolean): void;
|
|
239
|
-
/**
|
|
240
|
-
* @method onModelChange
|
|
241
|
-
* @description
|
|
242
|
-
* Called when the PrimeNG DatePicker template updates the value.
|
|
243
|
-
*/
|
|
297
|
+
/** @description Central change handler for PrimeNG's `ngModelChange`. */
|
|
244
298
|
onModelChange(value: DateValue): void;
|
|
299
|
+
/** @description Marks the control as touched when the user leaves the field. */
|
|
300
|
+
onBlur(): void;
|
|
245
301
|
/**
|
|
246
|
-
* @
|
|
247
|
-
*
|
|
248
|
-
* @
|
|
249
|
-
*
|
|
250
|
-
|
|
251
|
-
private applyTimeCascading;
|
|
252
|
-
/**
|
|
253
|
-
* @method onBlur
|
|
254
|
-
* @description
|
|
255
|
-
* Triggered when the component loses focus.
|
|
302
|
+
* @description Programmatically clears the selected value, resetting it to `null`.
|
|
303
|
+
*
|
|
304
|
+
* @example
|
|
305
|
+
* <tk-date-picker #picker />
|
|
306
|
+
* <button (click)="picker.clear()">Reset</button>
|
|
256
307
|
*/
|
|
257
|
-
|
|
308
|
+
clear(): void;
|
|
258
309
|
/**
|
|
259
|
-
* @method clear
|
|
260
310
|
* @description
|
|
261
|
-
*
|
|
311
|
+
* Adjusts hours or minutes when the spinner rolls over a unit boundary.
|
|
262
312
|
*/
|
|
263
|
-
|
|
313
|
+
private applyTimeCascading;
|
|
264
314
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
|
|
265
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "tk-date-picker", never, { "
|
|
315
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "tk-date-picker", never, { "required": { "alias": "required"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "stepHour": { "alias": "stepHour"; "required": false; "isSignal": true; }; "stepMinute": { "alias": "stepMinute"; "required": false; "isSignal": true; }; "stepSecond": { "alias": "stepSecond"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; }, { "modelValue": "modelValueChange"; "handleSelect": "handleSelect"; "handleClear": "handleClear"; }, never, never, true, never>;
|
|
266
316
|
}
|
|
267
317
|
|
|
268
318
|
export { DatePickerComponent };
|
|
@@ -82,9 +82,18 @@ declare class IconComponent {
|
|
|
82
82
|
/**
|
|
83
83
|
* Gets the key style for the icon based on the current styleIcon model.
|
|
84
84
|
*
|
|
85
|
-
|
|
85
|
+
* @returns 'light' | 'regular' | 'solid' | null
|
|
86
86
|
*/
|
|
87
87
|
getKeyStyle(): 'light' | 'regular' | 'solid' | null;
|
|
88
|
+
/**
|
|
89
|
+
* Converts a kebab-case icon name to the FontAwesome camelCase key (e.g. 'arrow-right' → 'faArrowRight').
|
|
90
|
+
*/
|
|
91
|
+
private toFaKey;
|
|
92
|
+
/**
|
|
93
|
+
* Fallback loader for any FA icon not registered in the catalog.
|
|
94
|
+
* Dynamically imports the icon by name from the appropriate FA pro package.
|
|
95
|
+
*/
|
|
96
|
+
private loadIconFaFallback;
|
|
88
97
|
/**
|
|
89
98
|
* Loads a custom icon from the IconCatalog.
|
|
90
99
|
* Sanitize the SVG content and apply the appropriate color.
|
|
@@ -4,7 +4,7 @@ import { TagSeverity } from '@tekus/design-system/components/tag';
|
|
|
4
4
|
import { SortEvent } from 'primeng/api';
|
|
5
5
|
import { TkAction } from '@tekus/design-system/components/action-group';
|
|
6
6
|
|
|
7
|
-
type TableColumnType = 'text' | 'tag' | 'actions' | 'selection' | 'checkbox' | 'action-group' | 'connection-status';
|
|
7
|
+
type TableColumnType = 'text' | 'tag' | 'actions' | 'selection' | 'checkbox' | 'action-group' | 'connection-status' | 'image';
|
|
8
8
|
interface TableColumn<T = unknown> {
|
|
9
9
|
field?: string;
|
|
10
10
|
header: string;
|
|
@@ -25,6 +25,11 @@ interface TableColumn<T = unknown> {
|
|
|
25
25
|
action: (row: T) => void;
|
|
26
26
|
}>;
|
|
27
27
|
actionGroupMaxVisible?: number;
|
|
28
|
+
imageAlt?: (row: T) => string;
|
|
29
|
+
imageWidth?: string;
|
|
30
|
+
imageHeight?: string;
|
|
31
|
+
imageFallback?: string;
|
|
32
|
+
imageAction?: (row: T) => void;
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
declare class TableComponent<T = unknown> {
|
|
@@ -193,6 +198,26 @@ declare class TableComponent<T = unknown> {
|
|
|
193
198
|
* Handles primitives directly and avoids [object Object] for complex types.
|
|
194
199
|
*/
|
|
195
200
|
private cellToString;
|
|
201
|
+
/**
|
|
202
|
+
* @method handleImageClick
|
|
203
|
+
* @description
|
|
204
|
+
* Handles click events on image-type cells.
|
|
205
|
+
* Stops row selection propagation and invokes the column's imageAction callback when defined.
|
|
206
|
+
* No-op when imageAction is not set, preserving default row-click behavior.
|
|
207
|
+
* @param event {Event} - The native click event.
|
|
208
|
+
* @param col {TableColumn<T>} - The column definition that may carry an imageAction.
|
|
209
|
+
* @param row {T} - The data row associated with the clicked image.
|
|
210
|
+
*/
|
|
211
|
+
handleImageClick(event: Event, col: TableColumn<T>, row: T): void;
|
|
212
|
+
/**
|
|
213
|
+
* @method onImageError
|
|
214
|
+
* @description
|
|
215
|
+
* Handles image load errors by replacing the broken src with a fallback URL.
|
|
216
|
+
* Called from the template's (error) binding on image-type columns.
|
|
217
|
+
* @param event {Event} - The native error event from the <img> element.
|
|
218
|
+
* @param fallback {string | undefined} - Optional URL to use as replacement src.
|
|
219
|
+
*/
|
|
220
|
+
onImageError(event: Event, fallback?: string): void;
|
|
196
221
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
197
222
|
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>;
|
|
198
223
|
}
|