@konce-pt/angular 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -0
- package/dist/README.md +57 -0
- package/dist/fesm2022/konce-pt-angular.mjs +695 -165
- package/dist/fesm2022/konce-pt-angular.mjs.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/lib/confirm/llms.txt +4 -0
- package/dist/src/lib/data-table/llms.txt +6 -1
- package/dist/src/lib/date-range/llms.txt +5 -1
- package/dist/src/lib/datepicker/llms.txt +6 -0
- package/dist/src/lib/i18n/llms.txt +35 -0
- package/dist/src/lib/paginator/llms.txt +4 -0
- package/dist/src/lib/rich-text/llms.txt +5 -0
- package/dist/src/lib/select/llms.txt +4 -0
- package/dist/types/konce-pt-angular.d.ts +336 -14
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@konce-pt/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
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",
|
|
@@ -11,6 +11,10 @@ Import: `import { KptConfirmService, KptConfirmContainer } from '@konce-pt/angul
|
|
|
11
11
|
- `message`: string (wymagane); `header?`: string
|
|
12
12
|
- `acceptLabel?`/`rejectLabel?`: string; `variant?`: 'filled' | 'danger'; `icon?`: string
|
|
13
13
|
|
|
14
|
+
## i18n
|
|
15
|
+
Domyślne etykiety (nagłówek, Potwierdź, Anuluj) z i18n (namespace `confirm`); pola opcji mają priorytet.
|
|
16
|
+
Domyślnie EN; konfiguracja przez `provideKptI18n` — patrz `i18n/llms.txt`.
|
|
17
|
+
|
|
14
18
|
## Przykład
|
|
15
19
|
const ok = await this.confirm.confirm({
|
|
16
20
|
message: 'Usunąć rekord?', variant: 'danger', acceptLabel: 'Usuń', icon: 'alert-triangle',
|
|
@@ -32,7 +32,7 @@ Filtry `select`/`dateRange` wymagają `import '@angular/cdk/overlay-prebuilt.css
|
|
|
32
32
|
- `pageSizeOptions`: number[] (domyślnie [5,10,20,50])
|
|
33
33
|
- `selectable`: 'none' | 'single' | 'multiple'
|
|
34
34
|
- `loading`: boolean — wiersz „Ładowanie…"
|
|
35
|
-
- `emptyMessage`: string (
|
|
35
|
+
- `emptyMessage`: string — bez wartości używa i18n (`dataTable.empty`); input ma priorytet
|
|
36
36
|
- `rowKey`: string | null — pole identyfikujące wiersz (dla zaznaczania); bez niego porównanie po referencji
|
|
37
37
|
- `reorderable`: boolean — przestawianie kolumn przeciągnij-i-upuść (natywny HTML5 DnD); kolumny `frozen` są wyłączone z przenoszenia (pozostają wiodące) i nie można upuszczać innych kolumn przed nie
|
|
38
38
|
- `exportable`: boolean — przycisk „Eksport CSV" w toolbarze
|
|
@@ -82,6 +82,11 @@ Niezależne od `selectable` (można łączyć z zaznaczaniem). Nieaktywne przy `
|
|
|
82
82
|
- Zaznaczanie 'multiple': nagłówkowy checkbox zaznacza/odznacza bieżącą stronę.
|
|
83
83
|
- Sticky header, stany pusty/ładowanie, wyrównanie i szerokości per kolumna.
|
|
84
84
|
|
|
85
|
+
## i18n
|
|
86
|
+
Etykiety toolbaru/stanów/aria (Szukaj, Eksport CSV, Ładowanie, Brak danych, zaznaczanie, filtry kolumn:
|
|
87
|
+
Filtr/Filtr min/Filtr max z `{column}`, Wszystkie, min, max, Zakres dat) pochodzą z i18n (namespace `dataTable`).
|
|
88
|
+
Domyślnie EN; konfiguracja przez `provideKptI18n` — patrz `i18n/llms.txt`.
|
|
89
|
+
|
|
85
90
|
## Tokeny
|
|
86
91
|
`--kpt-table-{bg,fg,border,radius,header-bg,header-fg,row-hover,row-selected,cell-padding}`.
|
|
87
92
|
Rozwijany wiersz: `--kpt-table-detail-bg` (fallback: surface-variant → row-hover).
|
|
@@ -11,7 +11,7 @@ Wymaga `import '@angular/cdk/overlay-prebuilt.css';`
|
|
|
11
11
|
- `mode`: 'date' | 'datetime' | 'time' (domyślnie 'date')
|
|
12
12
|
- `hourFormat`: 12 | 24 (domyślnie 24) — tarcza z AM/PM lub 24h; czas zawsze 24h w wartości
|
|
13
13
|
- `minuteStep`: number (domyślnie 1) — snap minut na tarczy
|
|
14
|
-
- `placeholder`: string (
|
|
14
|
+
- `placeholder`: string — bez wartości używa i18n (`dateRange.placeholder`); input ma priorytet
|
|
15
15
|
- `displayFormat`: 'pl' | 'iso' (domyślnie 'pl') — format wyświetlania start/end
|
|
16
16
|
- `disabled`/`invalid`/`touched`: boolean; `touch`: output
|
|
17
17
|
|
|
@@ -25,5 +25,9 @@ Tryby datetime/time: przełącznik „Od / Koniec" + tarcza zegara, zatwierdzeni
|
|
|
25
25
|
|
|
26
26
|
period = signal<KptDateRangeValue>({ start: '', end: '' });
|
|
27
27
|
|
|
28
|
+
## i18n
|
|
29
|
+
Nazwy dni/miesięcy z `Intl` wg locale; etykiety („Od/Koniec", nawigacja, „Gotowe", placeholder) z i18n
|
|
30
|
+
(namespace `dateRange` + `datepicker`/`common`). Domyślnie EN — patrz `i18n/llms.txt`.
|
|
31
|
+
|
|
28
32
|
## Tokeny
|
|
29
33
|
Pole `--kpt-form-field-*`; kalendarz `--kpt-color-surface-raised`, zakres `--kpt-color-primary`.
|
|
@@ -25,5 +25,11 @@ Import: `import { KptDatepicker } from '@konce-pt/angular';`
|
|
|
25
25
|
- `disabled`/`invalid`/`touched`: boolean; output `touch`.
|
|
26
26
|
- Panel: nawigacja (‹ ›) miesięcy/lat/dekad wg trybu; tarcza zegara z „Gotowe"; przycisk czyszczenia (×).
|
|
27
27
|
|
|
28
|
+
## i18n
|
|
29
|
+
Nazwy dni tygodnia i miesięcy są wyliczane z `Intl` wg aktywnego locale i18n (nie ze słownika).
|
|
30
|
+
Etykiety nawigacji/aria i „Gotowe" z i18n (namespace `datepicker` + `common`). Domyślnie EN;
|
|
31
|
+
konfiguracja przez `provideKptI18n` — patrz `i18n/llms.txt`. Uwaga: `displayFormat` ('pl'/'iso')
|
|
32
|
+
steruje wyłącznie formatem daty i jest niezależny od języka etykiet.
|
|
33
|
+
|
|
28
34
|
## Tokeny
|
|
29
35
|
`--kpt-form-field-{bg,text,border,border-focus,border-error,radius}`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# i18n (provideKptI18n / KptI18n)
|
|
2
|
+
|
|
3
|
+
Tłumaczenia etykiet komponentów. Języki bazowe: EN (domyślny), PL. Oparte o sygnały (zoneless-friendly), bez zależności zewnętrznych.
|
|
4
|
+
Import: `import { provideKptI18n, KptI18n } from '@konce-pt/angular';`
|
|
5
|
+
|
|
6
|
+
## Konfiguracja (provider)
|
|
7
|
+
- `provideKptI18n({ locale?, messages? }): EnvironmentProviders` — w `bootstrapApplication`.
|
|
8
|
+
- `locale`: 'en' | 'pl' | dowolny string (domyślnie 'en').
|
|
9
|
+
- `messages`: `Record<locale, DeepPartial<KptMessages>>` — rejestruje nowy język lub nadpisuje istniejący (deep-merge, brakujące klucze → EN).
|
|
10
|
+
|
|
11
|
+
## Serwis KptI18n (providedIn: 'root')
|
|
12
|
+
- `locale: Signal<KptLocale>` — bieżący język.
|
|
13
|
+
- `setLocale(locale)` — zmiana w runtime (reaktywna dla wszystkich komponentów).
|
|
14
|
+
- `registerMessages(locale, patch)` — dodaje/nadpisuje słownik w runtime.
|
|
15
|
+
- `t(key, params?)` — tłumaczy klucz w notacji kropkowej (`'paginator.range'`) z interpolacją `{name}`.
|
|
16
|
+
|
|
17
|
+
## Dodanie własnego języka (jeden plik JSON)
|
|
18
|
+
import de from './i18n/de.json'; // kształt = interfejs KptMessages
|
|
19
|
+
provideKptI18n({ locale: 'de', messages: { de } });
|
|
20
|
+
// runtime: inject(KptI18n).registerMessages('de', de); inject(KptI18n).setLocale('de');
|
|
21
|
+
|
|
22
|
+
## Przełączanie języka w runtime
|
|
23
|
+
const i18n = inject(KptI18n);
|
|
24
|
+
i18n.setLocale('pl');
|
|
25
|
+
|
|
26
|
+
## Kontrakt kluczy (KptMessages)
|
|
27
|
+
Namespace'y: `common` (close/remove/previous/next/clear/done/all), `paginator` (rowsPerPage/range/prevPage/nextPage),
|
|
28
|
+
`select`, `listbox`, `dataView`, `dataTable`, `confirm`, `fileUpload`, `chipsInput`, `dateRange`, `datepicker`,
|
|
29
|
+
`pickList`, `orderList`, `inputNumber`, `password`, `spinner`, `speedDial`, `scrollTop`, `splitButton`, `panel`,
|
|
30
|
+
`breadcrumb`, `richText`. Interpolacje: `paginator.range` ({start},{end},{total}), `dataTable.filter*` ({column}),
|
|
31
|
+
`richText.styleHeading` ({level}). Nazwy dni/miesięcy w kalendarzach są wyliczane z `Intl` wg locale (nie ze słownika).
|
|
32
|
+
|
|
33
|
+
## Uwaga
|
|
34
|
+
Pojedyncze etykiety można też nadpisać per-komponent przez odpowiedni `input()` (np. `emptyMessage`, `acceptLabel`) —
|
|
35
|
+
input ma priorytet nad słownikiem i18n.
|
|
@@ -16,3 +16,7 @@ Paginator sterowany sygnałami. Import: `import { KptPaginator } from '@konce-pt
|
|
|
16
16
|
|
|
17
17
|
Pokazuje „X–Y z Z", wybór rozmiaru strony oraz przyciski poprzednia/następna.
|
|
18
18
|
Przy zmianie długości/rozmiaru samoczynnie koryguje `pageIndex` (effect).
|
|
19
|
+
|
|
20
|
+
## i18n
|
|
21
|
+
Etykiety („Wierszy:", separator zakresu, aria stron) pochodzą z i18n (namespace `paginator`).
|
|
22
|
+
Domyślny język EN; przełączenie/nadpisanie przez `provideKptI18n` — patrz `i18n/llms.txt`.
|
|
@@ -30,6 +30,11 @@ Import: `import { KptRichText, KptRichTool, KptRichToolbar } from '@konce-pt/ang
|
|
|
30
30
|
<kpt-rich-text [formField]="f.body" /> <!-- pełny pasek -->
|
|
31
31
|
<kpt-rich-text [(value)]="v" [toolbar]="[['bold','italic'],['ul','ol'],['link']]" />
|
|
32
32
|
|
|
33
|
+
## i18n
|
|
34
|
+
Wszystkie etykiety (aria narzędzi, style „Normalny/Nagłówek N", prompt linku, menu kontekstowe tabeli,
|
|
35
|
+
popover obramowania, „Własny…") pochodzą z i18n (namespace `richText`, w tym `richText.menu.*`,
|
|
36
|
+
`richText.border.*`). Domyślnie EN — patrz `i18n/llms.txt`.
|
|
37
|
+
|
|
33
38
|
## Uwagi
|
|
34
39
|
Formatowanie przez document.execCommand; aktywne narzędzia podświetlane (queryCommandState).
|
|
35
40
|
Wklejanie (natywne i przyciskami) jest sanityzowane (allowlista tagów/stylów; usuwa script/on*/javascript:).
|
|
@@ -18,5 +18,9 @@ Wymaga stylów overlay CDK w aplikacji: `import '@angular/cdk/overlay-prebuilt.c
|
|
|
18
18
|
- `disabled`/`invalid`/`touched`: boolean; output `touch`.
|
|
19
19
|
- Klawiatura: Enter/↓ otwiera, ↑/↓ nawigacja, Enter wybiera, Esc zamyka.
|
|
20
20
|
|
|
21
|
+
## i18n
|
|
22
|
+
Etykiety „Szukaj…", „Brak wyników" i aria usuwania chipa z i18n (namespace `select`).
|
|
23
|
+
Domyślnie EN; konfiguracja przez `provideKptI18n` — patrz `i18n/llms.txt`.
|
|
24
|
+
|
|
21
25
|
## Tokeny
|
|
22
26
|
`--kpt-form-field-{bg,text,border,border-hover,border-focus,border-error,radius}`.
|