@konce-pt/datetime
v0.11.1
Published
Calendar and clock core for Koncept UI date controls — day/month/year/decade grids, ranges, dial marks. Framework-free TypeScript, zero runtime dependencies.
Maintainers
Readme
@konce-pt/datetime
Rdzeń kalendarza i zegara dla kontrolek daty Koncept UI. Czysty TypeScript, zero zależności runtime, bez wiązania z frameworkiem — siatki dni, miesięcy, lat i dekad, pasma zakresów oraz znaczniki tarczy zegara.
Zwykle nie instalujesz go samodzielnie: @konce-pt/react używa go pod KptDatepicker,
KptDateRange i KptClock. Sięgnij po niego wprost, gdy budujesz własną kontrolkę daty
na tym samym zachowaniu.
npm i @konce-pt/datetimeimport { buildDayGrid, pickRangeDay, formatDate } from '@konce-pt/datetime';
// Sześć pełnych tygodni od poniedziałku — panel nie zmienia wysokości przy przewijaniu.
const weeks = buildDayGrid({
page: { y: 2026, m: 8 },
selectedIso: '2026-09-10',
todayIso: '2026-09-06',
minDate: '2026-09-01',
});
// Protokół klikania zakresu: start → koniec → od nowa, z normalizacją kolejności.
pickRangeDay({ start: '2026-09-10', end: '' }, '2026-09-05');
// { start: '2026-09-05', end: '2026-09-10' }
formatDate('2026-09-06', 'pl'); // '06.09.2026'Wartości to stringi, nie Date
Każdy format jest tekstowy: 'RRRR-MM-DD', 'RRRR-MM', 'RRRR', 'MM', 'RRRR-MM-DDTHH:mm',
'HH:mm'. To one trafiają do formularza i na serwer, i nie niosą strefy, którą kalendarz mógłby
zgubić. Date służy wyłącznie do arytmetyki lokalnej — toIso() czyta datę lokalną, bo
toISOString() przesunąłby dzień o offset strefy.
API
- Daty i godziny —
pad,toIso,parseDate,parseTime,parseDateTime,datePart,timePart,formatDate,formatTime,from12h - Stos widoków —
KPT_CALENDAR_LEVELS,commitLevelFor,topLevelFor,resolveStartView,initialPage,pageBy,canPageBack,canPageForward,buildDayGrid,buildMonthCells,buildYearCells,buildDecadeCells,selectedYearMonth,isYearDisabled,isMonthYearDisabled,decadeStart,centuryStart - Zakresy —
buildRangeGrid,pickRangeDay,clampVisibleMonths - Tarcza zegara —
hourMarks,minuteMarks,hourFromAngle,minuteFromAngle,handAngle,handIsInner,markPosition
Pełny opis: llms.txt (EN)
i llms-pl.txt (PL).
Testy
pnpm --filter @konce-pt/datetime exec node --test "src/**/*.test.ts"Licencja
MIT © konce.pt
