@konce-pt/angular 0.8.1 → 0.8.2
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 +75 -0
- package/README.md +18 -1
- package/charts/src/lib/llms.txt +6 -0
- package/fesm2022/konce-pt-angular-charts.mjs.map +1 -1
- package/fesm2022/konce-pt-angular-icons.mjs +25 -3
- package/fesm2022/konce-pt-angular-icons.mjs.map +1 -1
- package/fesm2022/konce-pt-angular.mjs +119 -46
- package/fesm2022/konce-pt-angular.mjs.map +1 -1
- package/package.json +8 -8
- package/src/lib/app-shell/llms.txt +6 -0
- package/src/lib/card/llms.txt +6 -0
- package/src/lib/icon/llms.txt +37 -9
- package/src/lib/menu/llms.txt +9 -1
- package/src/lib/paginator/llms.txt +5 -1
- package/types/konce-pt-angular-icons.d.ts +15 -2
- package/types/konce-pt-angular-icons.d.ts.map +1 -1
- package/types/konce-pt-angular.d.ts +87 -47
- package/types/konce-pt-angular.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@konce-pt/angular",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Open-source Angular 22 component library on Signals & Signal Forms — 70+ components, rich data table, zoneless, fully tokenized. Selektory kpt-*, klasy Kpt*.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "konce.pt",
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"tslib": "^2.3.0",
|
|
49
|
-
"@konce-pt/
|
|
50
|
-
"@konce-pt/
|
|
51
|
-
"@konce-pt/
|
|
52
|
-
"@konce-pt/
|
|
53
|
-
"@konce-pt/
|
|
54
|
-
"@konce-pt/
|
|
55
|
-
"@konce-pt/
|
|
49
|
+
"@konce-pt/i18n": "0.8.2",
|
|
50
|
+
"@konce-pt/table": "0.8.2",
|
|
51
|
+
"@konce-pt/chart": "0.8.2",
|
|
52
|
+
"@konce-pt/datetime": "0.8.2",
|
|
53
|
+
"@konce-pt/map": "0.8.2",
|
|
54
|
+
"@konce-pt/icons": "0.8.2",
|
|
55
|
+
"@konce-pt/roadmap": "0.8.2"
|
|
56
56
|
},
|
|
57
57
|
"module": "fesm2022/konce-pt-angular.mjs",
|
|
58
58
|
"typings": "types/konce-pt-angular.d.ts",
|
|
@@ -54,6 +54,12 @@ Keeping them apart means the desktop intent survives narrowing and widening the
|
|
|
54
54
|
The `kptShellNavToggle` button hits the right state on its own — do not write `navOpen.set(...)` by hand,
|
|
55
55
|
because on a narrow screen you would be setting the wrong model.
|
|
56
56
|
|
|
57
|
+
It also supplies `aria-expanded`, `aria-controls` and `aria-label`, and it puts them where a screen
|
|
58
|
+
reader can use them. On a native `<button>`/`<a>` host that is the host itself. On a wrapping
|
|
59
|
+
component such as `kpt-icon-button` the attributes go down to the inner `<button>` instead — placing
|
|
60
|
+
state attributes on a roleless wrapper would violate `aria-allowed-attr`. In that case the label
|
|
61
|
+
stays with the component (`ariaLabel`), which the directive does not overwrite.
|
|
62
|
+
|
|
57
63
|
## The menu content convention (needed only for the rail)
|
|
58
64
|
- `[kptNavLabel]` — the entry's text; in the rail it is hidden with the "visually hidden" technique, so the entry
|
|
59
65
|
keeps an accessible name for a screen reader.
|
package/src/lib/card/llms.txt
CHANGED
|
@@ -15,6 +15,12 @@ Import: `import { KptCard } from '@konce-pt/angular';`
|
|
|
15
15
|
- the default content → the card body
|
|
16
16
|
- an element carrying the `kptCardFooter` attribute (a direct child of `kpt-card`) → the footer
|
|
17
17
|
|
|
18
|
+
`kptCardFooter` must be a DIRECT child. Angular's content projection matches direct children only,
|
|
19
|
+
so a footer nested inside a `<form>` (or any other wrapper) inside the card is never projected into
|
|
20
|
+
the footer slot — it falls into the body instead, picking up the body's padding. Nothing warns about
|
|
21
|
+
it, and the footer's own styling still applies, which makes the symptom read as a spacing bug rather
|
|
22
|
+
than a placement one. Put the wrapper inside the footer, not the footer inside the wrapper.
|
|
23
|
+
|
|
18
24
|
## Reusable layout classes (media / profile)
|
|
19
25
|
- `kpt-card__media` — a full-width image (clipped to the radius; set `aspect-ratio`/`height` inline)
|
|
20
26
|
- `kpt-card__lead` — the header row (avatar + titles), with padding
|
package/src/lib/icon/llms.txt
CHANGED
|
@@ -7,22 +7,50 @@ the color from `currentColor`. Import: `import { KptIcon } from '@konce-pt/angul
|
|
|
7
7
|
`kpt-icon`
|
|
8
8
|
|
|
9
9
|
## Inputs
|
|
10
|
-
- `name`:
|
|
10
|
+
- `name`: string (required) — an icon name from the registry. Deliberately not a union of the
|
|
11
|
+
built-in names: once the Tabler set is registered there are 5130 legal names, so a closed
|
|
12
|
+
union would reject icons that work at runtime.
|
|
11
13
|
- `size`: string (optional, e.g. '1.25rem') — otherwise inherited from font-size
|
|
12
14
|
|
|
13
|
-
## Available names (built in)
|
|
14
|
-
menu, x, chevron-up, chevron-down, chevron-left, chevron-right, check, search
|
|
15
|
-
grip-vertical, info, alert-triangle, circle-check, circle-x, calendar, copy, link, code
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
## Available names (built in, no configuration)
|
|
16
|
+
menu, x, chevron-up, chevron-down, chevron-left, chevron-right, check, search
|
|
17
|
+
grip-vertical, info, alert-triangle, circle-check, circle-x, calendar, copy, link, code
|
|
18
|
+
bold, italic, underline, strikethrough, list, list-numbers, indent-increase
|
|
19
|
+
indent-decrease, clear-formatting, star, plus, upload, dots-vertical, photo, trash, pencil
|
|
20
|
+
eye, eye-off, minus, arrow-up, arrow-down, zoom-in, info-circle, phone, map-pin, world
|
|
21
|
+
clock, align-left, align-center, align-right, align-justified, palette, highlight
|
|
22
|
+
clipboard, clipboard-text, table, mail, share, external-link, crosshair
|
|
23
|
+
adjustments-horizontal, sun, moon, bell, settings, users, user-circle, logout, login
|
|
24
|
+
layout-dashboard, home, activity, cube, shopping-cart, currency-dollar, arrow-left
|
|
25
|
+
arrow-right, arrow-up-right, arrow-down-right, chart-bar, chart-line, filter, download
|
|
26
|
+
refresh, dots, brand-github, brand-google
|
|
27
|
+
|
|
28
|
+
These cover both what the components themselves draw and the staples of an application shell
|
|
29
|
+
(theme, notifications, account, navigation, KPI). A typical admin panel needs nothing else.
|
|
19
30
|
|
|
20
31
|
## The full set (5130 Tabler icons)
|
|
21
|
-
|
|
32
|
+
Two paths, and the difference is the bundle. `@konce-pt/angular/icons` exposes every icon as its own export,
|
|
33
|
+
so importing by name lets the bundler keep only what you used:
|
|
34
|
+
|
|
35
|
+
// Production: two icons reach the bundle.
|
|
36
|
+
import { LayoutDashboard, Rocket } from '@konce-pt/angular/icons';
|
|
37
|
+
import { provideKptIcons } from '@konce-pt/angular';
|
|
38
|
+
|
|
39
|
+
bootstrapApplication(App, { providers: [provideKptIcons([LayoutDashboard, Rocket])] });
|
|
22
40
|
|
|
41
|
+
// Prototype: every icon, about 1.2 MB.
|
|
23
42
|
import { provideKptTablerIcons } from '@konce-pt/angular/icons';
|
|
43
|
+
|
|
24
44
|
bootstrapApplication(App, { providers: [provideKptTablerIcons()] });
|
|
25
|
-
|
|
45
|
+
|
|
46
|
+
`provideKptIcons` lives in the core entry point on purpose: `@konce-pt/angular/icons` imports the whole set
|
|
47
|
+
statically, so a subset parameter there could not shrink anything. Passing the namespace object
|
|
48
|
+
(`import * as tabler`) also registers everything — a namespace handed to a function blocks static
|
|
49
|
+
analysis, so it is the explicit form of the prototype path, not a smaller one.
|
|
50
|
+
|
|
51
|
+
Export names are PascalCase because `kebab-case` is not a legal identifier and camelCase would
|
|
52
|
+
collide with keywords (`function`, `package`, `switch`). Each icon carries its own registry name,
|
|
53
|
+
so `BrandHtml5` registers as `brand-html5`.
|
|
26
54
|
|
|
27
55
|
You can also register your own through `KptIconRegistry.register({ name: 'inner svg' })` — the content is
|
|
28
56
|
sanitized down to an allowlist of SVG geometry (`path`/`circle`/`rect`/`g`/`line`/`polygon`/`polyline`/
|
package/src/lib/menu/llms.txt
CHANGED
|
@@ -5,7 +5,10 @@ Requires `import '@angular/cdk/overlay-prebuilt.css';`
|
|
|
5
5
|
Import: `import { KptMenu, KptMenuItem } from '@konce-pt/angular';`
|
|
6
6
|
|
|
7
7
|
## Inputs / outputs
|
|
8
|
-
- `items`: KptMenuItem[]
|
|
8
|
+
- `items`: readonly KptMenuItem[]
|
|
9
|
+
- `open`: model<boolean> (default false) — two-way; the panel's open state. Public so the
|
|
10
|
+
application can own it: closing the menu after navigation, or opening it from a keyboard
|
|
11
|
+
shortcut, cannot be expressed through `(selected)` alone.
|
|
9
12
|
- `selected`: output<KptMenuItem> — emitted only for regular entries (not for headers)
|
|
10
13
|
|
|
11
14
|
## KptMenuItem
|
|
@@ -44,3 +47,8 @@ descriptions and icons `--kpt-color-on-surface-muted`, `--kpt-font-size-xs`.
|
|
|
44
47
|
The panel is `role="menu"`, entries are `role="menuitem"` (native `<button>` elements — keyboard support with no
|
|
45
48
|
extra code). The header sits outside keyboard navigation. The badge value becomes part of the entry's accessible
|
|
46
49
|
name ("Notifications 4").
|
|
50
|
+
|
|
51
|
+
The trigger gets `aria-haspopup="menu"` and a live `aria-expanded`. They are placed on the
|
|
52
|
+
interactive control INSIDE the slot (the projected `<button>`/`<a>`), never on the
|
|
53
|
+
`.kpt-menu__trigger` wrapper — giving that wrapper a role would create a nested control and a second
|
|
54
|
+
tab stop, and state attributes on a roleless element violate `aria-allowed-attr`.
|
|
@@ -9,7 +9,11 @@ A paginator driven by signals. Import: `import { KptPaginator } from '@konce-pt/
|
|
|
9
9
|
- `length`: number (required) — the total number of items
|
|
10
10
|
- `pageSize`: model<number> (default 10) — two-way
|
|
11
11
|
- `pageIndex`: model<number> from 0 (default 0) — two-way
|
|
12
|
-
- `pageSizeOptions`: number[] (default [5,10,20,50])
|
|
12
|
+
- `pageSizeOptions`: readonly number[] (default [5,10,20,50])
|
|
13
|
+
|
|
14
|
+
The select always offers the current `pageSize` even when it is absent from this list: without
|
|
15
|
+
that, `pageSize={8}` against the defaults left no matching option, so the control displayed the
|
|
16
|
+
first entry while the table paged by eight.
|
|
13
17
|
|
|
14
18
|
## Example
|
|
15
19
|
<kpt-paginator [length]="total()" [(pageIndex)]="page" [(pageSize)]="size" />
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from '@konce-pt/icons/tabler';
|
|
2
2
|
import { EnvironmentProviders } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Rejestruje pełny zestaw Tabler Icons (5130) w `KptIconRegistry`, dzięki czemu
|
|
6
6
|
* `kpt-icon` może użyć dowolnej ikony po nazwie.
|
|
7
7
|
*
|
|
8
|
+
* Wciąga komplet (~1,2 MB), więc to ścieżka prototypowa. W produkcji zaimportuj ikony
|
|
9
|
+
* po nazwie i podaj je do `provideKptIcons([...])` z rdzenia `@konce-pt/angular` — tamta
|
|
10
|
+
* funkcja nie importuje pełnego zestawu, więc bundler zostawia wyłącznie użyte ikony.
|
|
11
|
+
*
|
|
8
12
|
* @example
|
|
9
|
-
* // main.ts
|
|
13
|
+
* // main.ts — prototyp: wszystkie ikony
|
|
10
14
|
* bootstrapApplication(App, {
|
|
11
15
|
* providers: [provideKptTablerIcons()],
|
|
12
16
|
* });
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // main.ts — produkcja: tylko to, czego używasz
|
|
20
|
+
* import { LayoutDashboard, Rocket } from '@konce-pt/angular/icons';
|
|
21
|
+
* import { provideKptIcons } from '@konce-pt/angular';
|
|
22
|
+
*
|
|
23
|
+
* bootstrapApplication(App, {
|
|
24
|
+
* providers: [provideKptIcons([LayoutDashboard, Rocket])],
|
|
25
|
+
* });
|
|
13
26
|
*/
|
|
14
27
|
declare function provideKptTablerIcons(): EnvironmentProviders;
|
|
15
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"konce-pt-angular-icons.d.ts","sources":["../../icons/src/provider.ts"],"mappings":";;;AAIA
|
|
1
|
+
{"version":3,"file":"konce-pt-angular-icons.d.ts","sources":["../../icons/src/provider.ts"],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,iBAAgB,qBAAqB,IAAI,oBAAoB;;;;","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken,
|
|
2
|
+
import { EnvironmentProviders, Signal, InjectionToken, TemplateRef, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as _angular_forms_signals from '@angular/forms/signals';
|
|
4
4
|
import { FormValueControl, WithOptionalFieldTree, ValidationError, FormCheckboxControl } from '@angular/forms/signals';
|
|
5
5
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
6
6
|
import { KptLocale, KptMessages, DeepPartial, KptI18nConfig } from '@konce-pt/i18n';
|
|
7
7
|
export { DeepPartial, KPT_MESSAGES_EN, KPT_MESSAGES_PL, KptI18nConfig, KptLocale, KptMessages } from '@konce-pt/i18n';
|
|
8
|
-
import { KptIconName } from '@konce-pt/icons';
|
|
9
|
-
export { KptIconName, renderKptIconSvg } from '@konce-pt/icons';
|
|
8
|
+
import { KptIconInput, KptIconName } from '@konce-pt/icons';
|
|
9
|
+
export { KptIconDef, KptIconInput, KptIconName, renderKptIconSvg } from '@konce-pt/icons';
|
|
10
10
|
import { KptDateSelectionMode, KptCalendarView, KptDayCell, KptGridCell, KptClockMark, KptDateRangeValue, KptDateRangeMode, KptMonthPanel, KptRangeDayCell } from '@konce-pt/datetime';
|
|
11
11
|
export { KptDateRangeValue } from '@konce-pt/datetime';
|
|
12
12
|
import { KptColumnFilter, KptColumnSummary } from '@konce-pt/table';
|
|
@@ -84,7 +84,7 @@ interface KptOption<T = unknown> {
|
|
|
84
84
|
* <kpt-button-group [formField]="f.period" [options]="periods" />
|
|
85
85
|
*/
|
|
86
86
|
declare class KptButtonGroup<T = unknown> implements FormValueControl<T> {
|
|
87
|
-
readonly options: _angular_core.InputSignal<KptOption<T>[]>;
|
|
87
|
+
readonly options: _angular_core.InputSignal<readonly KptOption<T>[]>;
|
|
88
88
|
readonly value: _angular_core.ModelSignal<T>;
|
|
89
89
|
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
90
90
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -202,7 +202,7 @@ interface KptMenuItem<T = unknown> {
|
|
|
202
202
|
danger?: boolean;
|
|
203
203
|
separator?: boolean;
|
|
204
204
|
/** Pozycje podrzędne (menubar / megamenu). */
|
|
205
|
-
items?: KptMenuItem<T>[];
|
|
205
|
+
items?: readonly KptMenuItem<T>[];
|
|
206
206
|
/** Adres odnośnika (menubar / megamenu). */
|
|
207
207
|
url?: string;
|
|
208
208
|
}
|
|
@@ -216,15 +216,22 @@ interface KptMenuItem<T = unknown> {
|
|
|
216
216
|
* </kpt-menu>
|
|
217
217
|
*/
|
|
218
218
|
declare class KptMenu<T = unknown> {
|
|
219
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
219
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
220
220
|
readonly selected: _angular_core.OutputEmitterRef<KptMenuItem<T>>;
|
|
221
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Czy panel jest otwarty (dwukierunkowe). Publiczne, bo aplikacja bywa właścicielem tego
|
|
223
|
+
* stanu — zamknięcie menu po nawigacji albo otwarcie go skrótem klawiaturowym nie da się
|
|
224
|
+
* wyrazić przez samo `(selected)`. Port React ma tu `open`/`defaultOpen`/`onOpenChange`.
|
|
225
|
+
*/
|
|
226
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
227
|
+
private readonly host;
|
|
222
228
|
protected readonly positions: ConnectedPosition[];
|
|
229
|
+
constructor();
|
|
223
230
|
protected toggle(): void;
|
|
224
231
|
protected close(): void;
|
|
225
232
|
protected pick(item: KptMenuItem<T>): void;
|
|
226
233
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptMenu<any>, never>;
|
|
227
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptMenu<any>, "kpt-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, ["*"], true, never>;
|
|
234
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptMenu<any>, "kpt-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "open": "openChange"; }, never, ["*"], true, never>;
|
|
228
235
|
}
|
|
229
236
|
|
|
230
237
|
/**
|
|
@@ -236,7 +243,7 @@ declare class KptMenu<T = unknown> {
|
|
|
236
243
|
*/
|
|
237
244
|
declare class KptSplitButton<T = unknown> {
|
|
238
245
|
readonly variant: _angular_core.InputSignal<KptButtonVariant>;
|
|
239
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
246
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
240
247
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
241
248
|
readonly primaryClick: _angular_core.OutputEmitterRef<void>;
|
|
242
249
|
readonly selected: _angular_core.OutputEmitterRef<KptMenuItem<T>>;
|
|
@@ -281,14 +288,16 @@ declare class KptIconRegistry {
|
|
|
281
288
|
/** Rośnie po każdej rejestracji — pozwala `kpt-icon` reagować na późne dodanie ikon. */
|
|
282
289
|
readonly version: _angular_core.Signal<number>;
|
|
283
290
|
/**
|
|
284
|
-
* Rejestruje (lub nadpisuje) ikony
|
|
291
|
+
* Rejestruje (lub nadpisuje) ikony. Przyjmuje listę definicji z subpathu Tablera
|
|
292
|
+
* (`[Rocket, LayoutDashboard]`), obiekt definicji (np. `import * as tabler`) albo
|
|
293
|
+
* mapę `{ nazwa: 'inner svg' }` — patrz [[KptIconInput]].
|
|
285
294
|
*
|
|
286
295
|
* Treść jest sanityzowana do allowlisty geometrii SVG (`path`/`circle`/`rect`/`g`/`line`/
|
|
287
296
|
* `polygon`/`polyline`/`ellipse` i ich atrybutów kształtu/stylu) — mimo to `register()` wolno
|
|
288
297
|
* wołać wyłącznie z treścią kontrolowaną przez developera (build-time), nigdy bezpośrednio
|
|
289
298
|
* z danych runtime/CMS/uploadu bez własnej walidacji domenowej wyżej w stosie.
|
|
290
299
|
*/
|
|
291
|
-
register(icons:
|
|
300
|
+
register(icons: KptIconInput): void;
|
|
292
301
|
/** Zwraca wewnętrzny SVG ikony lub undefined. */
|
|
293
302
|
get(name: string): string | undefined;
|
|
294
303
|
has(name: string): boolean;
|
|
@@ -296,6 +305,26 @@ declare class KptIconRegistry {
|
|
|
296
305
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<KptIconRegistry>;
|
|
297
306
|
}
|
|
298
307
|
|
|
308
|
+
/**
|
|
309
|
+
* Rejestruje wskazane ikony w [[KptIconRegistry]] — jedno wywołanie, jeden parametr.
|
|
310
|
+
*
|
|
311
|
+
* Stoi w rdzeniu, a nie w subpathu `@konce-pt/angular/icons`, i to jest cała różnica:
|
|
312
|
+
* tamten moduł importuje `KPT_TABLER_ICONS` statycznie, więc każde jego użycie wciąga
|
|
313
|
+
* komplet 5130 ikon (~1,2 MB). Tutaj dane przychodzą argumentem, czyli o zawartości bundla
|
|
314
|
+
* decyduje `import` w aplikacji — a ikony Tablera są osobnymi eksportami, więc bundler
|
|
315
|
+
* zostawia dokładnie te, po które sięgnięto.
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* // Produkcja: do bundla wchodzą dwie ikony.
|
|
319
|
+
* import { LayoutDashboard, Rocket } from '@konce-pt/icons/tabler';
|
|
320
|
+
* bootstrapApplication(App, { providers: [provideKptIcons([LayoutDashboard, Rocket])] });
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* // Własne ikony aplikacji, dotychczasowy kształt mapy.
|
|
324
|
+
* provideKptIcons({ logo: '<path d="…" />' });
|
|
325
|
+
*/
|
|
326
|
+
declare function provideKptIcons(icons: KptIconInput): EnvironmentProviders;
|
|
327
|
+
|
|
299
328
|
/** Nazwa breakpointa z tokenów `--kpt-breakpoint-*` (mobile-first). */
|
|
300
329
|
type KptBreakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
301
330
|
/** Progi breakpointów w pikselach — te same wartości, z których korzystają `@media` biblioteki. */
|
|
@@ -318,7 +347,7 @@ declare const KPT_BREAKPOINTS: Record<KptBreakpoint, number>;
|
|
|
318
347
|
* readonly isDesktop = this.breakpoints.up('lg');
|
|
319
348
|
*/
|
|
320
349
|
declare class KptBreakpointObserver {
|
|
321
|
-
private readonly
|
|
350
|
+
private readonly canObserve;
|
|
322
351
|
private readonly destroyRef;
|
|
323
352
|
private readonly cache;
|
|
324
353
|
/** Dowolne media query jako sygnał. */
|
|
@@ -630,7 +659,7 @@ declare class KptSwitch implements FormCheckboxControl {
|
|
|
630
659
|
*/
|
|
631
660
|
declare class KptSwitchGroup<T = unknown> implements FormValueControl<unknown> {
|
|
632
661
|
readonly value: _angular_core.ModelSignal<unknown>;
|
|
633
|
-
readonly options: _angular_core.InputSignal<KptOption<T>[]>;
|
|
662
|
+
readonly options: _angular_core.InputSignal<readonly KptOption<T>[]>;
|
|
634
663
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
635
664
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
636
665
|
readonly touched: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -660,7 +689,7 @@ declare class KptSwitchGroup<T = unknown> implements FormValueControl<unknown> {
|
|
|
660
689
|
*/
|
|
661
690
|
declare class KptRadioGroup<T = unknown> implements FormValueControl<T> {
|
|
662
691
|
readonly value: _angular_core.ModelSignal<T>;
|
|
663
|
-
readonly options: _angular_core.InputSignal<KptOption<T>[]>;
|
|
692
|
+
readonly options: _angular_core.InputSignal<readonly KptOption<T>[]>;
|
|
664
693
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
665
694
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
666
695
|
readonly touched: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -682,7 +711,7 @@ declare class KptRadioGroup<T = unknown> implements FormValueControl<T> {
|
|
|
682
711
|
* <kpt-select [formField]="f.tags" [options]="tags" multiple filter placeholder="Tagi…" />
|
|
683
712
|
*/
|
|
684
713
|
declare class KptSelect<T = unknown> implements FormValueControl<unknown>, KptFormFieldControl {
|
|
685
|
-
readonly options: _angular_core.InputSignal<KptOption<T>[]>;
|
|
714
|
+
readonly options: _angular_core.InputSignal<readonly KptOption<T>[]>;
|
|
686
715
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
687
716
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
688
717
|
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -706,7 +735,7 @@ declare class KptSelect<T = unknown> implements FormValueControl<unknown>, KptFo
|
|
|
706
735
|
constructor();
|
|
707
736
|
private readonly selectedValues;
|
|
708
737
|
protected readonly selectedOptions: _angular_core.Signal<KptOption<T>[]>;
|
|
709
|
-
protected readonly filteredOptions: _angular_core.Signal<KptOption<T>[]>;
|
|
738
|
+
protected readonly filteredOptions: _angular_core.Signal<readonly KptOption<T>[]>;
|
|
710
739
|
protected readonly singleLabel: _angular_core.Signal<string>;
|
|
711
740
|
/**
|
|
712
741
|
* Czy wybrano jakąkolwiek opcję. Publiczne — `kpt-form-field` czyta to przez
|
|
@@ -920,7 +949,7 @@ declare class KptTextarea implements FormValueControl<string> {
|
|
|
920
949
|
|
|
921
950
|
type KptRichTool = 'copy' | 'paste' | 'pasteText' | 'heading' | 'bold' | 'italic' | 'underline' | 'strike' | 'ul' | 'ol' | 'indent' | 'outdent' | 'foreColor' | 'backColor' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'link' | 'table' | 'clear' | 'html';
|
|
922
951
|
/** Pasek: płaska lista narzędzi lub grupy (sekcje rozdzielone separatorem). */
|
|
923
|
-
type KptRichToolbar = KptRichTool[] | KptRichTool[][];
|
|
952
|
+
type KptRichToolbar = readonly KptRichTool[] | readonly (readonly KptRichTool[])[];
|
|
924
953
|
/**
|
|
925
954
|
* Lekki edytor tekstu sformatowanego (contenteditable) z konfigurowalnym paskiem sekcji.
|
|
926
955
|
* Narzędzia: schowek (kopiuj / wklej / wklej bez formatowania), styl (nagłówki H1–H6 / paragraf),
|
|
@@ -1213,7 +1242,7 @@ declare class KptFileUpload implements FormValueControl<File[]> {
|
|
|
1213
1242
|
*/
|
|
1214
1243
|
declare class KptColorPicker implements FormValueControl<string> {
|
|
1215
1244
|
readonly value: _angular_core.ModelSignal<string>;
|
|
1216
|
-
readonly presets: _angular_core.InputSignal<string[]>;
|
|
1245
|
+
readonly presets: _angular_core.InputSignal<readonly string[]>;
|
|
1217
1246
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1218
1247
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1219
1248
|
readonly touched: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1450,7 +1479,7 @@ declare class KptInputMask implements FormValueControl<string> {
|
|
|
1450
1479
|
*/
|
|
1451
1480
|
declare class KptListbox<T = unknown> implements FormValueControl<T | T[] | null> {
|
|
1452
1481
|
readonly value: _angular_core.ModelSignal<T | T[] | null>;
|
|
1453
|
-
readonly options: _angular_core.InputSignal<KptOption<T>[]>;
|
|
1482
|
+
readonly options: _angular_core.InputSignal<readonly KptOption<T>[]>;
|
|
1454
1483
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1455
1484
|
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1456
1485
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1461,7 +1490,7 @@ declare class KptListbox<T = unknown> implements FormValueControl<T | T[] | null
|
|
|
1461
1490
|
readonly touch: _angular_core.OutputEmitterRef<void>;
|
|
1462
1491
|
protected readonly i18n: KptI18n;
|
|
1463
1492
|
protected readonly query: _angular_core.WritableSignal<string>;
|
|
1464
|
-
protected readonly visible: _angular_core.Signal<KptOption<T>[]>;
|
|
1493
|
+
protected readonly visible: _angular_core.Signal<readonly KptOption<T>[]>;
|
|
1465
1494
|
protected isSelected(v: T): boolean;
|
|
1466
1495
|
protected toggle(v: T): void;
|
|
1467
1496
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptListbox<any>, never>;
|
|
@@ -1685,9 +1714,11 @@ declare class KptAppShell {
|
|
|
1685
1714
|
* przycisk obsługuje desktop i wąski ekran. Bez tej dyrektywy aplikacja musiałaby sama
|
|
1686
1715
|
* wstrzyknąć `KptBreakpointObserver` i rozstrzygnąć, który z dwóch modeli przełączyć.
|
|
1687
1716
|
*
|
|
1688
|
-
* Atrybuty ARIA
|
|
1689
|
-
*
|
|
1690
|
-
* `
|
|
1717
|
+
* Atrybuty ARIA nigdy nie lądują na hoście komponentu opakowującego — na elemencie bez roli
|
|
1718
|
+
* naruszałyby `aria-allowed-attr`. Na natywnym `<button>`/`<a>` nakłada je wiązanie hosta;
|
|
1719
|
+
* gdy hostem jest komponent (np. `kpt-icon-button`), dyrektywa schodzi z nimi na jego
|
|
1720
|
+
* wewnętrzną kontrolkę. Etykietę w tym drugim przypadku podaje sam komponent (`ariaLabel`),
|
|
1721
|
+
* więc jej tutaj nie ruszamy, żeby nie nadpisać wyboru aplikacji.
|
|
1691
1722
|
*
|
|
1692
1723
|
* @example
|
|
1693
1724
|
* <button kptShellNavToggle type="button"><kpt-icon name="menu" /></button>
|
|
@@ -1698,10 +1729,12 @@ declare class KptShellNavToggle {
|
|
|
1698
1729
|
readonly label: _angular_core.InputSignal<string>;
|
|
1699
1730
|
protected readonly shell: KptAppShell;
|
|
1700
1731
|
private readonly i18n;
|
|
1732
|
+
private readonly host;
|
|
1701
1733
|
private readonly isNativeControl;
|
|
1702
1734
|
protected readonly ariaExpanded: _angular_core.Signal<string | null>;
|
|
1703
1735
|
protected readonly ariaControls: _angular_core.Signal<string | null>;
|
|
1704
1736
|
protected readonly ariaLabel: _angular_core.Signal<string | null>;
|
|
1737
|
+
constructor();
|
|
1705
1738
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptShellNavToggle, never>;
|
|
1706
1739
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KptShellNavToggle, "[kptShellNavToggle]", never, { "label": { "alias": "kptShellNavToggle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1707
1740
|
}
|
|
@@ -1777,7 +1810,7 @@ declare class KptAuth {
|
|
|
1777
1810
|
/** Układ: przesuwany panel promocyjny albo nieruchomy split-screen. */
|
|
1778
1811
|
readonly layout: _angular_core.InputSignal<KptAuthLayout>;
|
|
1779
1812
|
/** Dostawcy logowania zewnętrznego. */
|
|
1780
|
-
readonly providers: _angular_core.InputSignal<KptAuthProvider[]>;
|
|
1813
|
+
readonly providers: _angular_core.InputSignal<readonly KptAuthProvider[]>;
|
|
1781
1814
|
/** Układ przycisków dostawców: lista pełnej szerokości albo siatka ikon. */
|
|
1782
1815
|
readonly providerLayout: _angular_core.InputSignal<KptAuthProviderLayout>;
|
|
1783
1816
|
/** Pole „imię i nazwisko" w rejestracji. */
|
|
@@ -2011,7 +2044,7 @@ interface KptMeterItem {
|
|
|
2011
2044
|
* <kpt-meter-group [values]="[{label:'Użyte', value:70}, {label:'Wolne', value:30}]" />
|
|
2012
2045
|
*/
|
|
2013
2046
|
declare class KptMeterGroup {
|
|
2014
|
-
readonly values: _angular_core.InputSignal<KptMeterItem[]>;
|
|
2047
|
+
readonly values: _angular_core.InputSignal<readonly KptMeterItem[]>;
|
|
2015
2048
|
/** Suma odniesienia; domyślnie suma wartości (100%). */
|
|
2016
2049
|
readonly max: _angular_core.InputSignal<number | undefined>;
|
|
2017
2050
|
readonly showLegend: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -2037,7 +2070,7 @@ interface KptAvatarItem {
|
|
|
2037
2070
|
* <kpt-avatar-group [avatars]="team" [max]="4" />
|
|
2038
2071
|
*/
|
|
2039
2072
|
declare class KptAvatarGroup {
|
|
2040
|
-
readonly avatars: _angular_core.InputSignal<KptAvatarItem[]>;
|
|
2073
|
+
readonly avatars: _angular_core.InputSignal<readonly KptAvatarItem[]>;
|
|
2041
2074
|
readonly max: _angular_core.InputSignal<number>;
|
|
2042
2075
|
readonly size: _angular_core.InputSignal<KptAvatarSize>;
|
|
2043
2076
|
protected readonly shown: _angular_core.Signal<KptAvatarItem[]>;
|
|
@@ -2148,7 +2181,7 @@ interface KptBreadcrumbItem {
|
|
|
2148
2181
|
* <kpt-breadcrumb [items]="[{label:'Start',url:'/'},{label:'Ustawienia'}]" />
|
|
2149
2182
|
*/
|
|
2150
2183
|
declare class KptBreadcrumb {
|
|
2151
|
-
readonly items: _angular_core.InputSignal<KptBreadcrumbItem[]>;
|
|
2184
|
+
readonly items: _angular_core.InputSignal<readonly KptBreadcrumbItem[]>;
|
|
2152
2185
|
protected readonly i18n: KptI18n;
|
|
2153
2186
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptBreadcrumb, never>;
|
|
2154
2187
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptBreadcrumb, "kpt-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -2206,8 +2239,14 @@ declare class KptPaginator {
|
|
|
2206
2239
|
/** Indeks strony od 0 (dwukierunkowe). */
|
|
2207
2240
|
readonly pageIndex: _angular_core.ModelSignal<number>;
|
|
2208
2241
|
/** Dostępne rozmiary strony. */
|
|
2209
|
-
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
2242
|
+
readonly pageSizeOptions: _angular_core.InputSignal<readonly number[]>;
|
|
2210
2243
|
protected readonly i18n: KptI18n;
|
|
2244
|
+
/**
|
|
2245
|
+
* Opcje selecta: `pageSizeOptions` uzupełnione o bieżący `pageSize`. Bez tego rozmiar spoza
|
|
2246
|
+
* listy (np. `[pageSize]="8"` przy domyślnych opcjach) nie ma odpowiadającej opcji — select
|
|
2247
|
+
* pokazuje pierwszą pozycję i cicho kłamie o stanie, po którym tabela naprawdę stronicuje.
|
|
2248
|
+
*/
|
|
2249
|
+
protected readonly sizeOptions: _angular_core.Signal<readonly number[]>;
|
|
2211
2250
|
readonly totalPages: _angular_core.Signal<number>;
|
|
2212
2251
|
readonly rangeStart: _angular_core.Signal<number>;
|
|
2213
2252
|
readonly rangeEnd: _angular_core.Signal<number>;
|
|
@@ -2227,7 +2266,7 @@ type KptColumnEditType = 'text' | 'number' | 'date' | 'select' | 'multiselect';
|
|
|
2227
2266
|
interface KptColumnEdit {
|
|
2228
2267
|
type: KptColumnEditType;
|
|
2229
2268
|
/** Opcje dla `type: 'select'` / `'multiselect'`. */
|
|
2230
|
-
options?: KptOption<unknown>[];
|
|
2269
|
+
options?: readonly KptOption<unknown>[];
|
|
2231
2270
|
placeholder?: string;
|
|
2232
2271
|
/** Dla `type: 'number'`. */
|
|
2233
2272
|
min?: number;
|
|
@@ -2283,8 +2322,9 @@ interface KptTableLazyState {
|
|
|
2283
2322
|
* @example
|
|
2284
2323
|
* <kpt-data-table [columns]="cols" [data]="rows" filterable [pageSize]="10"
|
|
2285
2324
|
* selectable="multiple" rowKey="id" [(selection)]="picked">
|
|
2286
|
-
*
|
|
2287
|
-
*
|
|
2325
|
+
* <!-- Kontekst szablonu komórki: $implicit = wiersz, value = wartość pola. -->
|
|
2326
|
+
* <ng-template kptCell="status" let-row let-value="value">
|
|
2327
|
+
* <span class="badge" [title]="row.name">{{ value }}</span>
|
|
2288
2328
|
* </ng-template>
|
|
2289
2329
|
* </kpt-data-table>
|
|
2290
2330
|
*/
|
|
@@ -2296,7 +2336,7 @@ declare class KptDataTable<T = Record<string, unknown>> {
|
|
|
2296
2336
|
readonly filterRowPosition: _angular_core.InputSignal<"bottom" | "top">;
|
|
2297
2337
|
/** Rozmiar strony; 0 wyłącza paginację. */
|
|
2298
2338
|
readonly pageSize: _angular_core.InputSignal<number>;
|
|
2299
|
-
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
2339
|
+
readonly pageSizeOptions: _angular_core.InputSignal<readonly number[]>;
|
|
2300
2340
|
readonly selectable: _angular_core.InputSignal<"none" | "single" | "multiple">;
|
|
2301
2341
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2302
2342
|
/** Komunikat pustej tabeli; bez wartości używa i18n (`dataTable.empty`). */
|
|
@@ -2560,7 +2600,7 @@ interface KptTreeNode<T = unknown> {
|
|
|
2560
2600
|
label: string;
|
|
2561
2601
|
value?: T;
|
|
2562
2602
|
icon?: string;
|
|
2563
|
-
children?: KptTreeNode<T>[];
|
|
2603
|
+
children?: readonly KptTreeNode<T>[];
|
|
2564
2604
|
expanded?: boolean;
|
|
2565
2605
|
disabled?: boolean;
|
|
2566
2606
|
}
|
|
@@ -2571,7 +2611,7 @@ interface KptTreeNode<T = unknown> {
|
|
|
2571
2611
|
* <kpt-tree [nodes]="tree" selectable [(selected)]="node" (nodeClick)="open($event)" />
|
|
2572
2612
|
*/
|
|
2573
2613
|
declare class KptTree<T = unknown> {
|
|
2574
|
-
readonly nodes: _angular_core.InputSignal<KptTreeNode<T>[]>;
|
|
2614
|
+
readonly nodes: _angular_core.InputSignal<readonly KptTreeNode<T>[]>;
|
|
2575
2615
|
readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2576
2616
|
readonly selected: _angular_core.ModelSignal<KptTreeNode<T> | null>;
|
|
2577
2617
|
readonly nodeClick: _angular_core.OutputEmitterRef<KptTreeNode<T>>;
|
|
@@ -2600,7 +2640,7 @@ interface KptTimelineItem {
|
|
|
2600
2640
|
* <kpt-timeline [items]="[{title:'Utworzono', time:'10:00', variant:'success', icon:'check'}]" />
|
|
2601
2641
|
*/
|
|
2602
2642
|
declare class KptTimeline {
|
|
2603
|
-
readonly items: _angular_core.InputSignal<KptTimelineItem[]>;
|
|
2643
|
+
readonly items: _angular_core.InputSignal<readonly KptTimelineItem[]>;
|
|
2604
2644
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptTimeline, never>;
|
|
2605
2645
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptTimeline, "kpt-timeline", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2606
2646
|
}
|
|
@@ -2614,7 +2654,7 @@ declare class KptTimeline {
|
|
|
2614
2654
|
* </kpt-carousel>
|
|
2615
2655
|
*/
|
|
2616
2656
|
declare class KptCarousel<T = unknown> {
|
|
2617
|
-
readonly items: _angular_core.InputSignal<T[]>;
|
|
2657
|
+
readonly items: _angular_core.InputSignal<readonly T[]>;
|
|
2618
2658
|
readonly activeIndex: _angular_core.ModelSignal<number>;
|
|
2619
2659
|
protected readonly i18n: KptI18n;
|
|
2620
2660
|
protected readonly slideTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
@@ -2635,7 +2675,7 @@ declare class KptCarousel<T = unknown> {
|
|
|
2635
2675
|
* </kpt-data-view>
|
|
2636
2676
|
*/
|
|
2637
2677
|
declare class KptDataView<T = unknown> {
|
|
2638
|
-
readonly items: _angular_core.InputSignal<T[]>;
|
|
2678
|
+
readonly items: _angular_core.InputSignal<readonly T[]>;
|
|
2639
2679
|
readonly layout: _angular_core.ModelSignal<"list" | "grid">;
|
|
2640
2680
|
readonly pageSize: _angular_core.InputSignal<number>;
|
|
2641
2681
|
readonly paginated: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -2643,7 +2683,7 @@ declare class KptDataView<T = unknown> {
|
|
|
2643
2683
|
protected readonly itemTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
2644
2684
|
protected readonly pageIndex: _angular_core.ModelSignal<number>;
|
|
2645
2685
|
protected readonly showPager: _angular_core.Signal<boolean>;
|
|
2646
|
-
protected readonly pageItems: _angular_core.Signal<T[]>;
|
|
2686
|
+
protected readonly pageItems: _angular_core.Signal<readonly T[]>;
|
|
2647
2687
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KptDataView<any>, never>;
|
|
2648
2688
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KptDataView<any>, "kpt-data-view", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "pageIndex": "pageIndexChange"; }, ["itemTpl"], never, true, never>;
|
|
2649
2689
|
}
|
|
@@ -2708,7 +2748,7 @@ interface KptGalleriaItem {
|
|
|
2708
2748
|
* <kpt-galleria [items]="photos" [(activeIndex)]="idx" />
|
|
2709
2749
|
*/
|
|
2710
2750
|
declare class KptGalleria {
|
|
2711
|
-
readonly items: _angular_core.InputSignal<KptGalleriaItem[]>;
|
|
2751
|
+
readonly items: _angular_core.InputSignal<readonly KptGalleriaItem[]>;
|
|
2712
2752
|
readonly activeIndex: _angular_core.ModelSignal<number>;
|
|
2713
2753
|
readonly showThumbnails: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2714
2754
|
protected readonly i18n: KptI18n;
|
|
@@ -2889,7 +2929,7 @@ declare class KptPopover {
|
|
|
2889
2929
|
*/
|
|
2890
2930
|
declare class KptAutocomplete implements FormValueControl<string> {
|
|
2891
2931
|
readonly value: _angular_core.ModelSignal<string>;
|
|
2892
|
-
readonly options: _angular_core.InputSignal<string[]>;
|
|
2932
|
+
readonly options: _angular_core.InputSignal<readonly string[]>;
|
|
2893
2933
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
2894
2934
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2895
2935
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -2900,7 +2940,7 @@ declare class KptAutocomplete implements FormValueControl<string> {
|
|
|
2900
2940
|
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
2901
2941
|
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
2902
2942
|
protected readonly positions: ConnectedPosition[];
|
|
2903
|
-
protected readonly filtered: _angular_core.Signal<string[]>;
|
|
2943
|
+
protected readonly filtered: _angular_core.Signal<readonly string[]>;
|
|
2904
2944
|
protected onInput(event: Event): void;
|
|
2905
2945
|
protected onFocus(): void;
|
|
2906
2946
|
protected onBlur(): void;
|
|
@@ -2941,7 +2981,7 @@ declare class KptDrawer {
|
|
|
2941
2981
|
* </kpt-context-menu>
|
|
2942
2982
|
*/
|
|
2943
2983
|
declare class KptContextMenu<T = unknown> {
|
|
2944
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
2984
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
2945
2985
|
readonly selected: _angular_core.OutputEmitterRef<KptMenuItem<T>>;
|
|
2946
2986
|
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
2947
2987
|
protected readonly x: _angular_core.WritableSignal<number>;
|
|
@@ -2963,7 +3003,7 @@ declare class KptContextMenu<T = unknown> {
|
|
|
2963
3003
|
* <kpt-menubar [items]="items" (selected)="onSelect($event)" />
|
|
2964
3004
|
*/
|
|
2965
3005
|
declare class KptMenubar<T = unknown> {
|
|
2966
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
3006
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
2967
3007
|
readonly selected: _angular_core.OutputEmitterRef<KptMenuItem<T>>;
|
|
2968
3008
|
protected readonly openIndex: _angular_core.WritableSignal<number | null>;
|
|
2969
3009
|
protected readonly positions: ConnectedPosition[];
|
|
@@ -2985,11 +3025,11 @@ declare class KptMenubar<T = unknown> {
|
|
|
2985
3025
|
* <kpt-megamenu [items]="items" (selected)="onSelect($event)" />
|
|
2986
3026
|
*/
|
|
2987
3027
|
declare class KptMegamenu<T = unknown> {
|
|
2988
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
3028
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
2989
3029
|
readonly selected: _angular_core.OutputEmitterRef<KptMenuItem<T>>;
|
|
2990
3030
|
protected readonly openIndex: _angular_core.WritableSignal<number | null>;
|
|
2991
3031
|
protected readonly positions: ConnectedPosition[];
|
|
2992
|
-
protected activeColumns(): KptMenuItem<T>[];
|
|
3032
|
+
protected activeColumns(): readonly KptMenuItem<T>[];
|
|
2993
3033
|
protected toggle(i: number): void;
|
|
2994
3034
|
protected pick(link: KptMenuItem<T>): void;
|
|
2995
3035
|
protected closeAll(): void;
|
|
@@ -3069,7 +3109,7 @@ type KptSpeedDialDirection = 'up' | 'down' | 'left' | 'right';
|
|
|
3069
3109
|
* <kpt-speed-dial [items]="actions" direction="up" (selected)="onAction($event)" />
|
|
3070
3110
|
*/
|
|
3071
3111
|
declare class KptSpeedDial<T = unknown> {
|
|
3072
|
-
readonly items: _angular_core.InputSignal<KptMenuItem<T>[]>;
|
|
3112
|
+
readonly items: _angular_core.InputSignal<readonly KptMenuItem<T>[]>;
|
|
3073
3113
|
readonly direction: _angular_core.InputSignal<KptSpeedDialDirection>;
|
|
3074
3114
|
readonly icon: _angular_core.InputSignal<string>;
|
|
3075
3115
|
/** Etykieta a11y FAB (stan zamknięty); bez wartości używa i18n (`speedDial.actions`). */
|
|
@@ -3085,6 +3125,6 @@ declare class KptSpeedDial<T = unknown> {
|
|
|
3085
3125
|
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; }; }, { "selected": "selected"; }, never, never, true, never>;
|
|
3086
3126
|
}
|
|
3087
3127
|
|
|
3088
|
-
export { KPT_BREAKPOINTS, KPT_FORM_FIELD_CONTROL, KPT_I18N_CONFIG, KptAccordion, KptAccordionPanel, KptAlert, KptAppShell, KptAuth, KptAuthProviderDef, 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 };
|
|
3128
|
+
export { KPT_BREAKPOINTS, KPT_FORM_FIELD_CONTROL, KPT_I18N_CONFIG, KptAccordion, KptAccordionPanel, KptAlert, KptAppShell, KptAuth, KptAuthProviderDef, 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, provideKptIcons };
|
|
3089
3129
|
export type { KptAlertVariant, KptAuthLayout, KptAuthMode, KptAuthProvider, KptAuthProviderLayout, KptAuthResetValue, KptAuthSignInValue, KptAuthSignUpValue, KptAvatarItem, KptAvatarShape, KptAvatarSize, KptBadgeSize, KptBadgeVariant, KptBreadcrumbItem, KptBreakpoint, KptButtonSize, KptButtonVariant, KptCardVariant, KptCellEditEvent, KptChipVariant, KptColumn, KptColumnEdit, KptColumnEditType, KptConfirmOptions, KptConfirmRequest, KptDatepickerMode, KptDatepickerView, KptDividerOrientation, KptDrawerPosition, KptFormFieldControl, KptGalleriaItem, KptInputType, KptMenuItem, KptMeterItem, KptOption, KptProgressVariant, KptRichTool, KptRichToolbar, KptSidenavMode, KptSkeletonVariant, KptSliderValue, KptSpeedDialDirection, KptSplitterOrientation, KptTableLazyState, KptTimelineItem, KptToast, KptToastOptions, KptTooltipPosition, KptTreeNode };
|
|
3090
3130
|
//# sourceMappingURL=konce-pt-angular.d.ts.map
|