@konce-pt/angular 0.7.6 → 0.7.8
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/CHANGELOG.md +120 -0
- package/fesm2022/konce-pt-angular-charts.mjs +2 -2
- package/fesm2022/konce-pt-angular-charts.mjs.map +1 -1
- package/fesm2022/konce-pt-angular-map.mjs +51 -20
- package/fesm2022/konce-pt-angular-map.mjs.map +1 -1
- package/fesm2022/konce-pt-angular-roadmap.mjs +5 -5
- package/fesm2022/konce-pt-angular-roadmap.mjs.map +1 -1
- package/fesm2022/konce-pt-angular.mjs +1242 -605
- package/fesm2022/konce-pt-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/avatar/llms.txt +5 -0
- package/src/lib/avatar-group/llms.txt +3 -0
- package/src/lib/data-table/llms.txt +84 -4
- package/src/lib/date-range/llms.txt +8 -1
- package/src/lib/datepicker/llms.txt +32 -3
- package/src/lib/icon/llms.txt +4 -1
- package/src/lib/input-number/llms.txt +11 -6
- package/src/lib/knob/llms.txt +5 -2
- package/src/lib/rich-text/llms.txt +3 -0
- package/src/lib/select/llms.txt +5 -0
- package/src/lib/slider/llms.txt +6 -1
- package/types/konce-pt-angular-map.d.ts +2 -1
- package/types/konce-pt-angular-map.d.ts.map +1 -1
- package/types/konce-pt-angular.d.ts +240 -31
- package/types/konce-pt-angular.d.ts.map +1 -1
|
@@ -253,6 +253,8 @@ interface KptMessages {
|
|
|
253
253
|
dateRange: string;
|
|
254
254
|
min: string;
|
|
255
255
|
max: string;
|
|
256
|
+
/** Interpolacja: {column}. Aria-label edytowalnej komórki. */
|
|
257
|
+
editCell: string;
|
|
256
258
|
};
|
|
257
259
|
confirm: {
|
|
258
260
|
header: string;
|
|
@@ -281,6 +283,11 @@ interface KptMessages {
|
|
|
281
283
|
nextYear: string;
|
|
282
284
|
prevYears: string;
|
|
283
285
|
nextYears: string;
|
|
286
|
+
prevDecades: string;
|
|
287
|
+
nextDecades: string;
|
|
288
|
+
chooseMonth: string;
|
|
289
|
+
chooseYear: string;
|
|
290
|
+
chooseDecade: string;
|
|
284
291
|
calendar: string;
|
|
285
292
|
month: string;
|
|
286
293
|
time: string;
|
|
@@ -586,7 +593,14 @@ declare class KptIconRegistry {
|
|
|
586
593
|
private readonly _version;
|
|
587
594
|
/** Rośnie po każdej rejestracji — pozwala `kpt-icon` reagować na późne dodanie ikon. */
|
|
588
595
|
readonly version: _angular_core.Signal<number>;
|
|
589
|
-
/**
|
|
596
|
+
/**
|
|
597
|
+
* Rejestruje (lub nadpisuje) ikony: `{ nazwa: 'inner svg' }`.
|
|
598
|
+
*
|
|
599
|
+
* Treść jest sanityzowana do allowlisty geometrii SVG (`path`/`circle`/`rect`/`g`/`line`/
|
|
600
|
+
* `polygon`/`polyline`/`ellipse` i ich atrybutów kształtu/stylu) — mimo to `register()` wolno
|
|
601
|
+
* wołać wyłącznie z treścią kontrolowaną przez developera (build-time), nigdy bezpośrednio
|
|
602
|
+
* z danych runtime/CMS/uploadu bez własnej walidacji domenowej wyżej w stosie.
|
|
603
|
+
*/
|
|
590
604
|
register(icons: Record<string, string>): void;
|
|
591
605
|
/** Zwraca wewnętrzny SVG ikony lub undefined. */
|
|
592
606
|
get(name: string): string | undefined;
|
|
@@ -603,7 +617,7 @@ declare class KptIconRegistry {
|
|
|
603
617
|
*/
|
|
604
618
|
declare function renderKptIconSvg(inner: string | undefined, cssClass?: string): string;
|
|
605
619
|
|
|
606
|
-
type KptIconName = 'menu' | 'x' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'check' | 'search' | 'grip-vertical' | 'info' | 'alert-triangle' | 'circle-check' | 'circle-x' | 'calendar' | 'copy' | 'link' | 'code' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'list' | 'list-numbers' | 'clear-formatting' | 'star' | 'plus' | 'upload' | 'dots-vertical' | 'photo' | 'trash' | 'eye' | 'eye-off' | 'minus' | 'arrow-up' | 'arrow-down' | 'zoom-in' | 'info-circle' | 'phone' | 'map-pin' | 'world' | 'clock' | 'align-left' | 'align-center' | 'align-right' | 'align-justified' | 'palette' | 'highlight' | 'clipboard' | 'clipboard-text' | 'table' | 'pencil' | 'mail' | 'share' | 'external-link' | 'crosshair';
|
|
620
|
+
type KptIconName = 'menu' | 'x' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'check' | 'search' | 'grip-vertical' | 'info' | 'alert-triangle' | 'circle-check' | 'circle-x' | 'calendar' | 'copy' | 'link' | 'code' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'list' | 'list-numbers' | 'clear-formatting' | 'star' | 'plus' | 'upload' | 'dots-vertical' | 'photo' | 'trash' | 'eye' | 'eye-off' | 'minus' | 'arrow-up' | 'arrow-down' | 'zoom-in' | 'info-circle' | 'phone' | 'map-pin' | 'world' | 'clock' | 'align-left' | 'align-center' | 'align-right' | 'align-justified' | 'palette' | 'highlight' | 'clipboard' | 'clipboard-text' | 'table' | 'pencil' | 'mail' | 'share' | 'external-link' | 'crosshair' | 'adjustments-horizontal';
|
|
607
621
|
|
|
608
622
|
/** Nazwa breakpointa z tokenów `--kpt-breakpoint-*` (mobile-first). */
|
|
609
623
|
type KptBreakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
@@ -688,6 +702,11 @@ type KptAvatarShape = 'circle' | 'square';
|
|
|
688
702
|
/**
|
|
689
703
|
* Awatar — obraz, inicjały (z `name`) lub ikona.
|
|
690
704
|
*
|
|
705
|
+
* `name` trafia do natywnego `title` (podpowiedź spod kursora — inicjały same w sobie
|
|
706
|
+
* nie mówią, kto to jest). Bez `src` awatar dostaje dodatkowo `role="img"` i `aria-label`,
|
|
707
|
+
* a same inicjały są `aria-hidden`, żeby czytnik nie przeczytał „AK" litera po literze.
|
|
708
|
+
* Przy `src` etykietę niesie już `alt` obrazu — nie dublujemy jej.
|
|
709
|
+
*
|
|
691
710
|
* @example
|
|
692
711
|
* <kpt-avatar src="/u/anna.jpg" />
|
|
693
712
|
* <kpt-avatar name="Anna Kowalska" size="lg" />
|
|
@@ -994,10 +1013,15 @@ declare class KptSelect<T = unknown> implements FormValueControl<unknown>, KptFo
|
|
|
994
1013
|
readonly value: _angular_core.ModelSignal<unknown>;
|
|
995
1014
|
readonly touch: _angular_core.OutputEmitterRef<void>;
|
|
996
1015
|
protected readonly i18n: KptI18n;
|
|
997
|
-
|
|
1016
|
+
/**
|
|
1017
|
+
* Stan panelu (dwukierunkowy). Pozwala otworzyć listę z zewnątrz i — co ważniejsze — wiedzieć,
|
|
1018
|
+
* kiedy user skończył wybierać. `touch` się do tego nie nadaje: leci też z blur triggera.
|
|
1019
|
+
*/
|
|
1020
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
998
1021
|
protected readonly filterText: _angular_core.WritableSignal<string>;
|
|
999
1022
|
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
1000
1023
|
protected readonly positions: ConnectedPosition[];
|
|
1024
|
+
constructor();
|
|
1001
1025
|
private readonly selectedValues;
|
|
1002
1026
|
protected readonly selectedOptions: _angular_core.Signal<KptOption<T>[]>;
|
|
1003
1027
|
protected readonly filteredOptions: _angular_core.Signal<KptOption<T>[]>;
|
|
@@ -1016,7 +1040,7 @@ declare class KptSelect<T = unknown> implements FormValueControl<unknown>, KptFo
|
|
|
1016
1040
|
protected onTriggerKeydown(event: KeyboardEvent): void;
|
|
1017
1041
|
protected onPanelKeydown(event: KeyboardEvent): void;
|
|
1018
1042
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptSelect<any>, never>;
|
|
1019
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptSelect<any>, "kpt-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
1043
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptSelect<any>, "kpt-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; "open": "openChange"; }, never, never, true, never>;
|
|
1020
1044
|
}
|
|
1021
1045
|
|
|
1022
1046
|
interface DayCell$1 {
|
|
@@ -1027,24 +1051,33 @@ interface DayCell$1 {
|
|
|
1027
1051
|
selected: boolean;
|
|
1028
1052
|
disabled: boolean;
|
|
1029
1053
|
}
|
|
1054
|
+
/** Komórka siatki miesięcy/lat/dekad — niesie cel nawigacji (rok + ewentualny miesiąc). */
|
|
1030
1055
|
interface GridCell {
|
|
1031
1056
|
label: string;
|
|
1032
|
-
|
|
1057
|
+
y: number;
|
|
1058
|
+
m: number;
|
|
1033
1059
|
selected: boolean;
|
|
1060
|
+
/** Zawiera dzisiejszą datę — obrys jak „dziś" w siatce dni. */
|
|
1061
|
+
current: boolean;
|
|
1034
1062
|
disabled: boolean;
|
|
1035
1063
|
}
|
|
1036
1064
|
/** Granulacja wyboru. */
|
|
1037
1065
|
type KptDatepickerMode = 'date' | 'monthYear' | 'year' | 'month' | 'datetime' | 'time';
|
|
1066
|
+
/** Poziom panelu: dni → miesiące → lata → dekady. */
|
|
1067
|
+
type KptDatepickerView = 'day' | 'month' | 'year' | 'decade';
|
|
1038
1068
|
/**
|
|
1039
1069
|
* Wybór daty/godziny z własnym kalendarzem (CDK Overlay), Signal Forms.
|
|
1040
1070
|
* Granulacja przez `selectionMode`: data, miesiąc+rok, rok, miesiąc, data+godzina, sama godzina.
|
|
1071
|
+
* Panel jest stosem widoków dekady → lata → miesiące → dni: klik w komórkę schodzi poziom niżej,
|
|
1072
|
+
* klik w tytuł wchodzi poziom wyżej. Poziom startowy ustawia `startView` (data urodzenia:
|
|
1073
|
+
* `startView="decade"`); domyślnie startuje na poziomie, na którym tryb zatwierdza wartość.
|
|
1041
1074
|
* Godzina na tarczy zegara (dwa etapy: godziny → minuty), format 12/24h przez `hourFormat`.
|
|
1042
1075
|
* Format wartości zależy od trybu: 'RRRR-MM-DD' / 'RRRR-MM' / 'RRRR' / 'MM'
|
|
1043
1076
|
* / 'RRRR-MM-DDTHH:mm' (datetime) / 'HH:mm' (time). Czas przechowywany zawsze 24h.
|
|
1044
1077
|
* Wymaga stylów overlay CDK: `import '@angular/cdk/overlay-prebuilt.css';`
|
|
1045
1078
|
*
|
|
1046
1079
|
* @example
|
|
1047
|
-
* <kpt-datepicker [formField]="f.birthDate" minDate="1900-01-01" />
|
|
1080
|
+
* <kpt-datepicker [formField]="f.birthDate" startView="decade" minDate="1900-01-01" />
|
|
1048
1081
|
* <kpt-datepicker selectionMode="datetime" [hourFormat]="12" [(value)]="meetingAt" />
|
|
1049
1082
|
* <kpt-datepicker selectionMode="time" [(value)]="alarm" />
|
|
1050
1083
|
*/
|
|
@@ -1062,6 +1095,12 @@ declare class KptDatepicker implements FormValueControl<string> {
|
|
|
1062
1095
|
readonly displayFormat: _angular_core.InputSignal<"pl" | "iso">;
|
|
1063
1096
|
/** Granulacja wyboru. */
|
|
1064
1097
|
readonly selectionMode: _angular_core.InputSignal<KptDatepickerMode>;
|
|
1098
|
+
/**
|
|
1099
|
+
* Poziom, od którego otwiera się panel. `null` = poziom zatwierdzania danego trybu
|
|
1100
|
+
* (dni dla 'date'). Nie schodzi poniżej tego poziomu — `startView="day"` w trybie 'year'
|
|
1101
|
+
* nie ma sensu i jest podnoszony do 'year'.
|
|
1102
|
+
*/
|
|
1103
|
+
readonly startView: _angular_core.InputSignal<KptDatepickerView | null>;
|
|
1065
1104
|
/** Prezentacja miesiąca w trybie 'month': słownie ('long') lub liczbą ('number'). */
|
|
1066
1105
|
readonly monthDisplay: _angular_core.InputSignal<"number" | "long">;
|
|
1067
1106
|
/** Format godziny: 24 lub 12 (z AM/PM). */
|
|
@@ -1074,25 +1113,56 @@ declare class KptDatepicker implements FormValueControl<string> {
|
|
|
1074
1113
|
protected readonly i18n: KptI18n;
|
|
1075
1114
|
protected readonly weekdays: _angular_core.Signal<string[]>;
|
|
1076
1115
|
private readonly months;
|
|
1077
|
-
|
|
1116
|
+
/**
|
|
1117
|
+
* Stan kalendarza (dwukierunkowy). Pozwala otworzyć go z zewnątrz i — co ważniejsze — wiedzieć,
|
|
1118
|
+
* kiedy user skończył wybierać. `touch` się do tego nie nadaje: leci też z blur triggera.
|
|
1119
|
+
*/
|
|
1120
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
1078
1121
|
private readonly today;
|
|
1079
1122
|
private readonly view;
|
|
1123
|
+
/** Aktualny poziom stosu widoków panelu. */
|
|
1124
|
+
protected readonly panelView: _angular_core.WritableSignal<KptDatepickerView>;
|
|
1125
|
+
/** Poziom, na którym klik w komórkę zatwierdza wartość zamiast schodzić niżej. */
|
|
1126
|
+
protected readonly commitLevel: _angular_core.Signal<KptDatepickerView>;
|
|
1127
|
+
/** Tryb 'month' nie ma roku ani dekady — wartością jest samo 'MM'. */
|
|
1128
|
+
private readonly topLevel;
|
|
1129
|
+
private effectiveStartView;
|
|
1080
1130
|
protected readonly timeStr: _angular_core.WritableSignal<string>;
|
|
1081
1131
|
protected readonly dtView: _angular_core.WritableSignal<"calendar" | "clock">;
|
|
1082
1132
|
private readonly pendingDate;
|
|
1133
|
+
/** Tarcza zamiast siatek: tryb 'time' zawsze, 'datetime' po wejściu w pasek czasu. */
|
|
1134
|
+
protected readonly showClock: _angular_core.Signal<boolean>;
|
|
1135
|
+
protected readonly hasFooter: _angular_core.Signal<boolean>;
|
|
1083
1136
|
protected readonly positions: ConnectedPosition[];
|
|
1137
|
+
constructor();
|
|
1084
1138
|
protected readonly viewYear: _angular_core.Signal<number>;
|
|
1085
|
-
protected readonly
|
|
1086
|
-
|
|
1139
|
+
protected readonly monthName: _angular_core.Signal<string>;
|
|
1140
|
+
/** Początek dekady widocznej w siatce lat (1979 → 1970). */
|
|
1141
|
+
private readonly decadeStart;
|
|
1142
|
+
/** Początek strony dekad: 12 dekad, czyli 120 lat (1979 → 1920, strona 1920–2039). */
|
|
1143
|
+
private readonly centuryStart;
|
|
1087
1144
|
protected readonly yearRangeLabel: _angular_core.Signal<string>;
|
|
1145
|
+
protected readonly decadeRangeLabel: _angular_core.Signal<string>;
|
|
1146
|
+
/** Tryb 'month' nie ma po czym nawigować — siatka miesięcy jest kompletna. */
|
|
1147
|
+
protected readonly hasNav: _angular_core.Signal<boolean>;
|
|
1148
|
+
protected readonly navPrevLabel: _angular_core.Signal<string>;
|
|
1149
|
+
protected readonly navNextLabel: _angular_core.Signal<string>;
|
|
1150
|
+
/** Strzałka wstecz gasnie, gdy cała poprzednia strona wypada przed `minDate`. */
|
|
1151
|
+
protected readonly canPageBack: _angular_core.Signal<boolean>;
|
|
1152
|
+
protected readonly canPageForward: _angular_core.Signal<boolean>;
|
|
1088
1153
|
private formatTime;
|
|
1089
1154
|
/** Etykieta czasu na pasku trybu datetime (uwzględnia AM/PM). */
|
|
1090
1155
|
protected readonly timeBarLabel: _angular_core.Signal<string>;
|
|
1091
1156
|
protected readonly display: _angular_core.Signal<string>;
|
|
1092
1157
|
private readonly selectedDateIso;
|
|
1093
1158
|
protected readonly weeks: _angular_core.Signal<DayCell$1[][]>;
|
|
1159
|
+
/** Rok/miesiąc bieżącej wartości — zaznaczenie w siatkach wyższych poziomów. */
|
|
1160
|
+
private readonly selectedYM;
|
|
1094
1161
|
protected readonly monthCells: _angular_core.Signal<GridCell[]>;
|
|
1095
1162
|
protected readonly yearCells: _angular_core.Signal<GridCell[]>;
|
|
1163
|
+
protected readonly decadeCells: _angular_core.Signal<GridCell[]>;
|
|
1164
|
+
/** Komórki bieżącego poziomu — siatka miesięcy/lat/dekad ma jeden wspólny markup. */
|
|
1165
|
+
protected readonly levelCells: _angular_core.Signal<GridCell[]>;
|
|
1096
1166
|
private parseDate;
|
|
1097
1167
|
private parseTime;
|
|
1098
1168
|
private parseDateTime;
|
|
@@ -1103,19 +1173,24 @@ declare class KptDatepicker implements FormValueControl<string> {
|
|
|
1103
1173
|
protected toggleOpen(): void;
|
|
1104
1174
|
protected close(): void;
|
|
1105
1175
|
protected selectDay(cell: DayCell$1): void;
|
|
1176
|
+
/**
|
|
1177
|
+
* Klik w komórkę siatki: na poziomie zatwierdzania ustawia wartość i zamyka panel,
|
|
1178
|
+
* wyżej — przestawia widok i schodzi poziom niżej.
|
|
1179
|
+
*/
|
|
1106
1180
|
protected selectCell(cell: GridCell): void;
|
|
1181
|
+
private monthValue;
|
|
1182
|
+
/** Klik w tytuł — wejście poziom wyżej w stosie widoków. */
|
|
1183
|
+
protected goTo(level: KptDatepickerView): void;
|
|
1107
1184
|
protected openClock(): void;
|
|
1108
1185
|
protected backToCalendar(): void;
|
|
1109
1186
|
protected commit(): void;
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
protected
|
|
1113
|
-
protected
|
|
1114
|
-
protected prevYearPage(): void;
|
|
1115
|
-
protected nextYearPage(): void;
|
|
1187
|
+
/** Strzałki ‹ › — krok zależny od poziomu: miesiąc, rok, dekada, strona dekad. */
|
|
1188
|
+
private page;
|
|
1189
|
+
protected pagePrev(): void;
|
|
1190
|
+
protected pageNext(): void;
|
|
1116
1191
|
protected clear(event: Event): void;
|
|
1117
1192
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptDatepicker, never>;
|
|
1118
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDatepicker, "kpt-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "monthDisplay": { "alias": "monthDisplay"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
1193
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDatepicker, "kpt-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "monthDisplay": { "alias": "monthDisplay"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; "open": "openChange"; }, never, never, true, never>;
|
|
1119
1194
|
}
|
|
1120
1195
|
|
|
1121
1196
|
interface ClockMark {
|
|
@@ -1314,6 +1389,12 @@ declare class KptRichText implements FormValueControl<string> {
|
|
|
1314
1389
|
private cellBeforeGridCol;
|
|
1315
1390
|
protected canMerge(): boolean;
|
|
1316
1391
|
protected canSplit(): boolean;
|
|
1392
|
+
/**
|
|
1393
|
+
* Waliduje URL z narzędzia „link" (blocklista jest obchodzalna, np. `javascript:`).
|
|
1394
|
+
* Brak schematu → dopisz `https://` (spójne z zachowaniem `normalizeUrl` w mapie); `#`/`/`
|
|
1395
|
+
* przechodzą bez zmian; schemat spoza `SAFE_URL_SCHEME` → `null` (link nie zostaje wstawiony).
|
|
1396
|
+
*/
|
|
1397
|
+
private sanitizeUrl;
|
|
1317
1398
|
private sanitizeHtml;
|
|
1318
1399
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptRichText, never>;
|
|
1319
1400
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptRichText, "kpt-rich-text", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
@@ -1325,8 +1406,13 @@ type KptSliderValue = number | [number, number];
|
|
|
1325
1406
|
* Suwak wartości (slider) na Signal Forms.
|
|
1326
1407
|
* W trybie `range` udostępnia dwa uchwyty, a wartość jest parą `[min, max]`.
|
|
1327
1408
|
*
|
|
1409
|
+
* Pod `[formField]` zakres bierze się ze schematu (`min(path.volume, 0)`,
|
|
1410
|
+
* `max(path.volume, 100)`) — `[min]`/`[max]` obok `[formField]` to błąd kompilacji.
|
|
1411
|
+
* Tryb `range` (wartość `[number, number]`) łączy się więc tylko z `[(value)]`.
|
|
1412
|
+
*
|
|
1328
1413
|
* @example
|
|
1329
|
-
* <kpt-slider [formField]="f.volume" [
|
|
1414
|
+
* <kpt-slider [formField]="f.volume" [step]="5" showValue />
|
|
1415
|
+
* <kpt-slider [(value)]="volume" [min]="0" [max]="100" [step]="5" showValue />
|
|
1330
1416
|
* <kpt-slider range [(value)]="zakres" [min]="0" [max]="100" showValue />
|
|
1331
1417
|
*/
|
|
1332
1418
|
declare class KptSlider implements FormValueControl<KptSliderValue> {
|
|
@@ -1362,7 +1448,7 @@ declare class KptSlider implements FormValueControl<KptSliderValue> {
|
|
|
1362
1448
|
* Ocena gwiazdkami (rating) na Signal Forms.
|
|
1363
1449
|
*
|
|
1364
1450
|
* @example
|
|
1365
|
-
* <kpt-rating [formField]="f.score" [
|
|
1451
|
+
* <kpt-rating [formField]="f.score" [count]="5" />
|
|
1366
1452
|
* <kpt-rating [value]="4" readonly />
|
|
1367
1453
|
*/
|
|
1368
1454
|
declare class KptRating implements FormValueControl<number> {
|
|
@@ -1434,19 +1520,34 @@ interface DayCell {
|
|
|
1434
1520
|
day: number;
|
|
1435
1521
|
iso: string;
|
|
1436
1522
|
inMonth: boolean;
|
|
1523
|
+
today: boolean;
|
|
1437
1524
|
isStart: boolean;
|
|
1438
1525
|
isEnd: boolean;
|
|
1439
1526
|
inRange: boolean;
|
|
1527
|
+
/** Pasmo zakresu wychodzi z tej komórki w prawo / dochodzi z lewej — do zaokrągleń kapsuły. */
|
|
1528
|
+
rangeStart: boolean;
|
|
1529
|
+
rangeEnd: boolean;
|
|
1530
|
+
/** Pusty slot siatki: dni sąsiednich miesięcy przy wielu panelach (patrz `panels`). */
|
|
1531
|
+
blank: boolean;
|
|
1440
1532
|
disabled: boolean;
|
|
1441
1533
|
}
|
|
1534
|
+
/** Jeden miesiąc panelu kalendarza. */
|
|
1535
|
+
interface MonthPanel {
|
|
1536
|
+
key: string;
|
|
1537
|
+
label: string;
|
|
1538
|
+
weeks: DayCell[][];
|
|
1539
|
+
}
|
|
1442
1540
|
/**
|
|
1443
1541
|
* Wybór zakresu dat z kalendarzem (CDK Overlay), Signal Forms.
|
|
1444
1542
|
* `mode`: 'date' (domyślnie), 'datetime' (data+godzina, tarcza zegara), 'time' (sama godzina).
|
|
1543
|
+
* `visibleMonths` pokazuje kilka miesięcy obok siebie (typowo 2) — zakres podświetla się
|
|
1544
|
+
* ciągłym pasmem przez wszystkie panele.
|
|
1445
1545
|
* Wartość: `{ start, end }` — daty 'RRRR-MM-DD', datetime 'RRRR-MM-DDTHH:mm', godziny 'HH:mm'.
|
|
1446
1546
|
* Wymaga `import '@angular/cdk/overlay-prebuilt.css';`
|
|
1447
1547
|
*
|
|
1448
1548
|
* @example
|
|
1449
1549
|
* <kpt-date-range [formField]="f.period" />
|
|
1550
|
+
* <kpt-date-range [visibleMonths]="2" [(value)]="period" />
|
|
1450
1551
|
* <kpt-date-range mode="datetime" [hourFormat]="12" [(value)]="span" />
|
|
1451
1552
|
* <kpt-date-range mode="time" [(value)]="hours" />
|
|
1452
1553
|
*/
|
|
@@ -1462,6 +1563,8 @@ declare class KptDateRange implements FormValueControl<KptDateRangeValue> {
|
|
|
1462
1563
|
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
1463
1564
|
readonly displayFormat: _angular_core.InputSignal<"pl" | "iso">;
|
|
1464
1565
|
readonly mode: _angular_core.InputSignal<KptDateRangeMode>;
|
|
1566
|
+
/** Liczba miesięcy obok siebie (1–3; domyślnie 1). Ignorowana w trybie 'time'. */
|
|
1567
|
+
readonly visibleMonths: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1465
1568
|
readonly hourFormat: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1466
1569
|
readonly minuteStep: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1467
1570
|
protected readonly i18n: KptI18n;
|
|
@@ -1477,13 +1580,20 @@ declare class KptDateRange implements FormValueControl<KptDateRangeValue> {
|
|
|
1477
1580
|
private readonly startDate;
|
|
1478
1581
|
private readonly endDate;
|
|
1479
1582
|
protected readonly positions: ConnectedPosition[];
|
|
1480
|
-
protected readonly
|
|
1583
|
+
protected readonly panelCount: _angular_core.Signal<number>;
|
|
1584
|
+
protected readonly multi: _angular_core.Signal<boolean>;
|
|
1481
1585
|
private datePart;
|
|
1482
1586
|
private timePart;
|
|
1483
1587
|
private fmtDate;
|
|
1484
1588
|
private fmtTime;
|
|
1485
1589
|
protected readonly display: _angular_core.Signal<string>;
|
|
1486
|
-
|
|
1590
|
+
/**
|
|
1591
|
+
* Panele miesięcy. Przy kilku panelach dni sąsiednich miesięcy są wygaszane do pustych slotów:
|
|
1592
|
+
* inaczej ta sama data byłaby klikalna dwa razy (jako „wyszarzona" w jednym panelu i właściwa
|
|
1593
|
+
* w drugim) i pasmo zakresu malowałoby się w obu miejscach.
|
|
1594
|
+
*/
|
|
1595
|
+
protected readonly panels: _angular_core.Signal<MonthPanel[]>;
|
|
1596
|
+
private buildWeeks;
|
|
1487
1597
|
protected toggleOpen(): void;
|
|
1488
1598
|
protected close(): void;
|
|
1489
1599
|
protected selectDay(cell: DayCell): void;
|
|
@@ -1492,7 +1602,7 @@ declare class KptDateRange implements FormValueControl<KptDateRangeValue> {
|
|
|
1492
1602
|
protected nextMonth(): void;
|
|
1493
1603
|
protected clear(event: Event): void;
|
|
1494
1604
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptDateRange, never>;
|
|
1495
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDateRange, "kpt-date-range", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
1605
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDateRange, "kpt-date-range", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "visibleMonths": { "alias": "visibleMonths"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
1496
1606
|
}
|
|
1497
1607
|
|
|
1498
1608
|
/**
|
|
@@ -1500,8 +1610,13 @@ declare class KptDateRange implements FormValueControl<KptDateRangeValue> {
|
|
|
1500
1610
|
* `showButtons="false"` chowa strzałki — wariant do zakresów „od–do", gdzie krokowanie
|
|
1501
1611
|
* nie ma sensu, a pole ma wyglądać jak zwykłe `kpt-input` obok.
|
|
1502
1612
|
*
|
|
1613
|
+
* Pod `[formField]` granic NIE bindujemy w szablonie — `[min]`/`[max]` obok `[formField]`
|
|
1614
|
+
* to błąd kompilacji. Deklaruje je schemat (`min(path.qty, 0)`, `max(path.qty, 99)`),
|
|
1615
|
+
* a dyrektywa `FormField` sama wstrzykuje je w wejścia `min`/`max`.
|
|
1616
|
+
*
|
|
1503
1617
|
* @example
|
|
1504
|
-
* <kpt-input-number [formField]="f.qty" [
|
|
1618
|
+
* <kpt-input-number [formField]="f.qty" [step]="1" />
|
|
1619
|
+
* <kpt-input-number [(value)]="qty" [min]="0" [max]="99" suffix=" szt." />
|
|
1505
1620
|
* <kpt-input-number [formField]="f.priceFrom" [showButtons]="false" suffix=" zł" />
|
|
1506
1621
|
*/
|
|
1507
1622
|
declare class KptInputNumber implements FormValueControl<number | null> {
|
|
@@ -1666,8 +1781,12 @@ declare class KptListbox<T = unknown> implements FormValueControl<T | T[] | null
|
|
|
1666
1781
|
/**
|
|
1667
1782
|
* Pokrętło (knob) — wybór wartości po łuku, myszką lub strzałkami. Signal Forms.
|
|
1668
1783
|
*
|
|
1784
|
+
* Pod `[formField]` zakres bierze się ze schematu (`min(path.level, 0)`,
|
|
1785
|
+
* `max(path.level, 100)`) — `[min]`/`[max]` obok `[formField]` to błąd kompilacji.
|
|
1786
|
+
*
|
|
1669
1787
|
* @example
|
|
1670
|
-
* <kpt-knob [formField]="f.level" [
|
|
1788
|
+
* <kpt-knob [formField]="f.level" [step]="1" />
|
|
1789
|
+
* <kpt-knob [(value)]="level" [min]="0" [max]="100" [step]="1" />
|
|
1671
1790
|
*/
|
|
1672
1791
|
declare class KptKnob implements FormValueControl<number> {
|
|
1673
1792
|
private readonly host;
|
|
@@ -2234,6 +2353,18 @@ interface KptColumnFilter {
|
|
|
2234
2353
|
/** Krok dla `type: 'slider'` (domyślnie 1). */
|
|
2235
2354
|
step?: number;
|
|
2236
2355
|
}
|
|
2356
|
+
/** Rodzaj kontrolki edycji inline komórki. */
|
|
2357
|
+
type KptColumnEditType = 'text' | 'number' | 'date' | 'select' | 'multiselect';
|
|
2358
|
+
interface KptColumnEdit {
|
|
2359
|
+
type: KptColumnEditType;
|
|
2360
|
+
/** Opcje dla `type: 'select'` / `'multiselect'`. */
|
|
2361
|
+
options?: KptOption<unknown>[];
|
|
2362
|
+
placeholder?: string;
|
|
2363
|
+
/** Dla `type: 'number'`. */
|
|
2364
|
+
min?: number;
|
|
2365
|
+
max?: number;
|
|
2366
|
+
step?: number;
|
|
2367
|
+
}
|
|
2237
2368
|
interface KptColumn {
|
|
2238
2369
|
/** Nazwa pola w wierszu. */
|
|
2239
2370
|
field: string;
|
|
@@ -2249,6 +2380,18 @@ interface KptColumn {
|
|
|
2249
2380
|
frozen?: boolean;
|
|
2250
2381
|
/** Filtr kolumny w wierszu nagłówka (input/number/select/zakres dat). */
|
|
2251
2382
|
filter?: KptColumnFilter;
|
|
2383
|
+
/** Włącza edycję inline (klik w komórkę zamienia wartość na kontrolkę tego typu). */
|
|
2384
|
+
edit?: KptColumnEdit;
|
|
2385
|
+
}
|
|
2386
|
+
/** Zdarzenie po zatwierdzeniu edycji komórki. */
|
|
2387
|
+
interface KptCellEditEvent<T> {
|
|
2388
|
+
/** Wiersz sprzed zmiany. */
|
|
2389
|
+
row: T;
|
|
2390
|
+
field: string;
|
|
2391
|
+
/** Nowa wartość. */
|
|
2392
|
+
value: unknown;
|
|
2393
|
+
/** Wiersz po scaleniu ze zmienioną wartością — gotowe body PUT/PATCH. */
|
|
2394
|
+
updatedRow: T;
|
|
2252
2395
|
}
|
|
2253
2396
|
type SortDir = 'asc' | 'desc' | null;
|
|
2254
2397
|
/** Stan przekazywany w trybie lazy przy każdej zmianie sortowania/filtra/strony. */
|
|
@@ -2312,20 +2455,38 @@ declare class KptDataTable<T = Record<string, unknown>> {
|
|
|
2312
2455
|
readonly selection: _angular_core.ModelSignal<T[]>;
|
|
2313
2456
|
/** Rozwinięte wiersze (dwukierunkowo). */
|
|
2314
2457
|
readonly expandedRows: _angular_core.ModelSignal<T[]>;
|
|
2458
|
+
/**
|
|
2459
|
+
* Pola (`KptColumn.field`) aktualnie ukrytych kolumn (dwukierunkowo). Sam komponent nie
|
|
2460
|
+
* dostarcza UI do zarządzania tym stanem — to hak do podpięcia zewnętrznego przełącznika
|
|
2461
|
+
* kolumn (patrz przykład „Dostosowywanie kolumn" w playground).
|
|
2462
|
+
*/
|
|
2463
|
+
readonly hiddenFields: _angular_core.ModelSignal<readonly string[]>;
|
|
2315
2464
|
readonly rowClick: _angular_core.OutputEmitterRef<T>;
|
|
2316
2465
|
/** Emitowane w trybie lazy przy zmianie sortowania/filtra/strony. */
|
|
2317
2466
|
readonly lazyLoad: _angular_core.OutputEmitterRef<KptTableLazyState>;
|
|
2467
|
+
/** Emitowane po zatwierdzeniu edycji komórki (tylko gdy wartość faktycznie się zmieniła). */
|
|
2468
|
+
readonly cellEdit: _angular_core.OutputEmitterRef<KptCellEditEvent<T>>;
|
|
2318
2469
|
protected readonly i18n: KptI18n;
|
|
2319
2470
|
/** Komunikat pustej tabeli (input albo domyślny z i18n). */
|
|
2320
2471
|
protected readonly emptyText: _angular_core.Signal<string>;
|
|
2321
2472
|
/** Kolumny w bieżącej kolejności (po ewentualnym przestawieniu). */
|
|
2322
2473
|
protected readonly orderedColumns: _angular_core.WritableSignal<readonly KptColumn[]>;
|
|
2474
|
+
/** Kolumny w bieżącej kolejności, bez tych ukrytych przez `hiddenFields` — do renderowania i eksportu. */
|
|
2475
|
+
protected readonly visibleOrderedColumns: _angular_core.Signal<KptColumn[]>;
|
|
2323
2476
|
private readonly scrollEl;
|
|
2324
2477
|
protected readonly scrollTop: _angular_core.WritableSignal<number>;
|
|
2325
2478
|
protected readonly viewportHeight: _angular_core.WritableSignal<number>;
|
|
2326
2479
|
private readonly buffer;
|
|
2327
2480
|
private readonly theadEl;
|
|
2328
2481
|
protected readonly theadOffset: _angular_core.WritableSignal<number>;
|
|
2482
|
+
protected readonly editingCell: _angular_core.WritableSignal<{
|
|
2483
|
+
row: T;
|
|
2484
|
+
field: string;
|
|
2485
|
+
} | null>;
|
|
2486
|
+
protected readonly editingValue: _angular_core.WritableSignal<unknown>;
|
|
2487
|
+
/** Czy panel edytora overlayowego (date/select/multiselect) jest otwarty. */
|
|
2488
|
+
protected readonly editorPanelOpen: _angular_core.WritableSignal<boolean>;
|
|
2489
|
+
private readonly editorHost;
|
|
2329
2490
|
constructor();
|
|
2330
2491
|
protected onScroll(event: Event): void;
|
|
2331
2492
|
protected readonly virtualStart: _angular_core.Signal<number>;
|
|
@@ -2333,19 +2494,47 @@ declare class KptDataTable<T = Record<string, unknown>> {
|
|
|
2333
2494
|
protected readonly virtualRows: _angular_core.Signal<T[]>;
|
|
2334
2495
|
protected readonly topPad: _angular_core.Signal<number>;
|
|
2335
2496
|
protected readonly bottomPad: _angular_core.Signal<number>;
|
|
2336
|
-
|
|
2497
|
+
/**
|
|
2498
|
+
* Pole przeciąganej kolumny (nie indeks — przy ukrytych kolumnach `$index` z pętli
|
|
2499
|
+
* `visibleOrderedColumns()` nie odpowiada pozycji w pełnej `orderedColumns()`).
|
|
2500
|
+
*/
|
|
2501
|
+
protected readonly dragField: _angular_core.WritableSignal<string | null>;
|
|
2337
2502
|
/** Kolumna przeciągalna tylko gdy `reorderable` i nie jest zamrożona (frozen musi zostać wiodąca). */
|
|
2338
2503
|
protected isColDraggable(col: KptColumn): boolean;
|
|
2339
|
-
/** Liczba wiodących kolumn zamrożonych — poza nie wolno upuszczać ani ich przesuwać. */
|
|
2504
|
+
/** Liczba wiodących widocznych kolumn zamrożonych — poza nie wolno upuszczać ani ich przesuwać. */
|
|
2340
2505
|
private frozenLeadCount;
|
|
2341
|
-
protected onColDragStart(
|
|
2342
|
-
protected onColDragOver(
|
|
2343
|
-
protected onColDrop(
|
|
2506
|
+
protected onColDragStart(field: string, event: DragEvent): void;
|
|
2507
|
+
protected onColDragOver(field: string, event: DragEvent): void;
|
|
2508
|
+
protected onColDrop(field: string, event: DragEvent): void;
|
|
2344
2509
|
protected onColDragEnd(): void;
|
|
2345
2510
|
exportCsv(): void;
|
|
2346
2511
|
private readonly cellDefs;
|
|
2347
2512
|
private readonly cellMap;
|
|
2348
2513
|
protected cellTemplate(field: string): TemplateRef<unknown> | null;
|
|
2514
|
+
private readonly cellEditDefs;
|
|
2515
|
+
private readonly cellEditMap;
|
|
2516
|
+
protected cellEditTemplate(field: string): TemplateRef<unknown> | null;
|
|
2517
|
+
protected isEditable(col: KptColumn): boolean;
|
|
2518
|
+
protected isEditingCell(row: T, field: string): boolean;
|
|
2519
|
+
protected startEdit(row: T, col: KptColumn, event: Event): void;
|
|
2520
|
+
/**
|
|
2521
|
+
* Panel edytora zamknięty (wybór, klik poza, Esc) → zatwierdź. Celowo NIE wieszamy tego na
|
|
2522
|
+
* `touch`: ten leci też z blur triggera, czyli już przy naciśnięciu myszy na opcji w panelu —
|
|
2523
|
+
* edytor ginąłby, zanim kliknięcie zdąży wybrać wartość.
|
|
2524
|
+
*/
|
|
2525
|
+
protected onEditorPanelToggle(open: boolean): void;
|
|
2526
|
+
/**
|
|
2527
|
+
* Edytory bez overlaya (text/number, własne `kptCellEdit`) zatwierdza dopiero wyjście fokusu
|
|
2528
|
+
* **poza cały edytor**. Nie wystarczy `touch`/blur samej kontrolki: `kpt-input-number` ma
|
|
2529
|
+
* fokusowalne strzałki `+`/`-` obok pola (i dodatkowo emituje `touch` w `step_()`), więc każde
|
|
2530
|
+
* kliknięcie strzałki zamykałoby edycję, zanim zdąży zmienić wartość.
|
|
2531
|
+
*/
|
|
2532
|
+
protected onEditorFocusOut(event: FocusEvent): void;
|
|
2533
|
+
/** Zatwierdza bieżącą edycję — emituje `cellEdit` tylko gdy wartość faktycznie się zmieniła. */
|
|
2534
|
+
protected commitEdit(): void;
|
|
2535
|
+
/** Dla własnych szablonów (`kptCellEdit`): ustaw wartość i od razu zatwierdź. */
|
|
2536
|
+
protected readonly commitEditValue: (value: unknown) => void;
|
|
2537
|
+
protected cancelEdit(): void;
|
|
2349
2538
|
private readonly rowDetailDef;
|
|
2350
2539
|
protected readonly rowDetailTpl: _angular_core.Signal<TemplateRef<any> | null>;
|
|
2351
2540
|
/** Kolumna z przełącznikiem widoczna, gdy włączono `expandable` i podano szablon `kptRowDetail`. */
|
|
@@ -2405,7 +2594,7 @@ declare class KptDataTable<T = Record<string, unknown>> {
|
|
|
2405
2594
|
protected getValue(row: T, field: string): unknown;
|
|
2406
2595
|
protected trackRow: (row: T) => unknown;
|
|
2407
2596
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptDataTable<any>, never>;
|
|
2408
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDataTable<any>, "kpt-data-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterRowPosition": { "alias": "filterRowPosition"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "multiExpand": { "alias": "multiExpand"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "expandedRows": { "alias": "expandedRows"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "expandedRows": "expandedRowsChange"; "rowClick": "rowClick"; "lazyLoad": "lazyLoad"; }, ["cellDefs", "rowDetailDef"],
|
|
2597
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDataTable<any>, "kpt-data-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterRowPosition": { "alias": "filterRowPosition"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "multiExpand": { "alias": "multiExpand"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "expandedRows": { "alias": "expandedRows"; "required": false; "isSignal": true; }; "hiddenFields": { "alias": "hiddenFields"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "expandedRows": "expandedRowsChange"; "hiddenFields": "hiddenFieldsChange"; "rowClick": "rowClick"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["cellDefs", "cellEditDefs", "rowDetailDef"], ["[kptPaginatorActions]"], true, never>;
|
|
2409
2598
|
}
|
|
2410
2599
|
|
|
2411
2600
|
/**
|
|
@@ -2427,6 +2616,26 @@ declare class KptCellDef {
|
|
|
2427
2616
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KptCellDef, "ng-template[kptCell]", never, { "kptCell": { "alias": "kptCell"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2428
2617
|
}
|
|
2429
2618
|
|
|
2619
|
+
/**
|
|
2620
|
+
* Własny szablon edytora komórki dla kolumny `kpt-data-table` (gdy wbudowane typy
|
|
2621
|
+
* `KptColumnEdit.type` nie wystarczają). Kontekst: `$implicit` = bieżąca wartość edycji,
|
|
2622
|
+
* `row` = wiersz, `commit(value)` = zatwierdź wartość i zamknij edytor, `cancel()` = odrzuć.
|
|
2623
|
+
*
|
|
2624
|
+
* @example
|
|
2625
|
+
* <kpt-data-table [columns]="cols" [data]="rows">
|
|
2626
|
+
* <ng-template kptCellEdit="team" let-value let-commit="commit">
|
|
2627
|
+
* <my-custom-picker [value]="value" (valueChange)="commit($event)" />
|
|
2628
|
+
* </ng-template>
|
|
2629
|
+
* </kpt-data-table>
|
|
2630
|
+
*/
|
|
2631
|
+
declare class KptCellEditDef {
|
|
2632
|
+
/** Nazwa pola kolumny, dla której obowiązuje szablon edytora. */
|
|
2633
|
+
readonly kptCellEdit: _angular_core.InputSignal<string>;
|
|
2634
|
+
readonly template: TemplateRef<any>;
|
|
2635
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptCellEditDef, never>;
|
|
2636
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KptCellEditDef, "ng-template[kptCellEdit]", never, { "kptCellEdit": { "alias": "kptCellEdit"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2430
2639
|
/**
|
|
2431
2640
|
* Szablon rozwijanego wiersza (row detail) dla `kpt-data-table`. Renderowany pod
|
|
2432
2641
|
* wierszem po rozwinięciu. Kontekst: `$implicit` = wiersz. Wymaga `expandable`.
|
|
@@ -2972,6 +3181,6 @@ declare class KptSpeedDial<T = unknown> {
|
|
|
2972
3181
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptSpeedDial<any>, "kpt-speed-dial", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
|
|
2973
3182
|
}
|
|
2974
3183
|
|
|
2975
|
-
export { KPT_BREAKPOINTS, KPT_FORM_FIELD_CONTROL, KPT_I18N_CONFIG, KPT_MESSAGES_EN, KPT_MESSAGES_PL, KptAccordion, KptAccordionPanel, KptAlert, KptAppShell, KptAutocomplete, KptAvatar, KptAvatarGroup, KptBadge, KptBottomSheet, KptBreadcrumb, KptBreakpointObserver, KptButton, KptButtonGroup, KptCard, KptCarousel, KptCellDef, KptCheckbox, KptChip, KptChipsInput, KptClock, KptColorPicker, KptConfirmContainer, KptConfirmService, KptContextMenu, KptDataTable, KptDataView, KptDateRange, KptDatepicker, KptDialog, KptDivider, KptDrawer, KptEmpty, KptFab, KptFieldset, KptFileUpload, KptFormField, KptGalleria, KptI18n, KptIcon, KptIconButton, KptIconRegistry, KptImage, KptInput, KptInputMask, KptInputNumber, KptInputOtp, KptKnob, KptListbox, KptMegamenu, KptMenu, KptMenubar, KptMeterGroup, KptOrderList, KptPaginator, KptPanel, KptPassword, KptPickList, KptPopover, KptProgress, KptRadioGroup, KptRating, KptRichText, KptRowDetailDef, KptScrollTop, KptSelect, KptShellNavToggle, KptSidenav, KptSkeleton, KptSlider, KptSpeedDial, KptSpinner, KptSplitButton, KptSplitter, KptStep, KptStepper, KptSwitch, KptSwitchGroup, KptTab, KptTabs, KptTextarea, KptTimeline, KptToastContainer, KptToastService, KptToolbar, KptTooltip, KptTree, provideKptI18n, renderKptIconSvg };
|
|
2976
|
-
export type { DeepPartial, KptAlertVariant, KptAvatarItem, KptAvatarShape, KptAvatarSize, KptBadgeSize, KptBadgeVariant, KptBreadcrumbItem, KptBreakpoint, KptButtonSize, KptButtonVariant, KptCardVariant, KptChipVariant, KptColumn, KptConfirmOptions, KptConfirmRequest, KptDateRangeValue, KptDividerOrientation, KptDrawerPosition, KptFormFieldControl, KptGalleriaItem, KptI18nConfig, KptIconName, KptInputType, KptLocale, KptMenuItem, KptMessages, KptMeterItem, KptOption, KptProgressVariant, KptRichTool, KptRichToolbar, KptSidenavMode, KptSkeletonVariant, KptSliderValue, KptSpeedDialDirection, KptSplitterOrientation, KptTableLazyState, KptTimelineItem, KptToast, KptToastOptions, KptTooltipPosition, KptTreeNode };
|
|
3184
|
+
export { KPT_BREAKPOINTS, KPT_FORM_FIELD_CONTROL, KPT_I18N_CONFIG, KPT_MESSAGES_EN, KPT_MESSAGES_PL, KptAccordion, KptAccordionPanel, KptAlert, KptAppShell, KptAutocomplete, KptAvatar, KptAvatarGroup, KptBadge, KptBottomSheet, KptBreadcrumb, KptBreakpointObserver, KptButton, KptButtonGroup, KptCard, KptCarousel, KptCellDef, KptCellEditDef, KptCheckbox, KptChip, KptChipsInput, KptClock, KptColorPicker, KptConfirmContainer, KptConfirmService, KptContextMenu, KptDataTable, KptDataView, KptDateRange, KptDatepicker, KptDialog, KptDivider, KptDrawer, KptEmpty, KptFab, KptFieldset, KptFileUpload, KptFormField, KptGalleria, KptI18n, KptIcon, KptIconButton, KptIconRegistry, KptImage, KptInput, KptInputMask, KptInputNumber, KptInputOtp, KptKnob, KptListbox, KptMegamenu, KptMenu, KptMenubar, KptMeterGroup, KptOrderList, KptPaginator, KptPanel, KptPassword, KptPickList, KptPopover, KptProgress, KptRadioGroup, KptRating, KptRichText, KptRowDetailDef, KptScrollTop, KptSelect, KptShellNavToggle, KptSidenav, KptSkeleton, KptSlider, KptSpeedDial, KptSpinner, KptSplitButton, KptSplitter, KptStep, KptStepper, KptSwitch, KptSwitchGroup, KptTab, KptTabs, KptTextarea, KptTimeline, KptToastContainer, KptToastService, KptToolbar, KptTooltip, KptTree, provideKptI18n, renderKptIconSvg };
|
|
3185
|
+
export type { DeepPartial, KptAlertVariant, KptAvatarItem, KptAvatarShape, KptAvatarSize, KptBadgeSize, KptBadgeVariant, KptBreadcrumbItem, KptBreakpoint, KptButtonSize, KptButtonVariant, KptCardVariant, KptCellEditEvent, KptChipVariant, KptColumn, KptColumnEdit, KptColumnEditType, KptConfirmOptions, KptConfirmRequest, KptDateRangeValue, KptDatepickerMode, KptDatepickerView, KptDividerOrientation, KptDrawerPosition, KptFormFieldControl, KptGalleriaItem, KptI18nConfig, KptIconName, KptInputType, KptLocale, KptMenuItem, KptMessages, KptMeterItem, KptOption, KptProgressVariant, KptRichTool, KptRichToolbar, KptSidenavMode, KptSkeletonVariant, KptSliderValue, KptSpeedDialDirection, KptSplitterOrientation, KptTableLazyState, KptTimelineItem, KptToast, KptToastOptions, KptTooltipPosition, KptTreeNode };
|
|
2977
3186
|
//# sourceMappingURL=konce-pt-angular.d.ts.map
|