@bimetal/calendar-core
v0.35.0
Published
Calendar domain core: view geometry (grid, segmentation, layout, collision, axis), recurrence, rules, and the calendar config + domain model. Builds on @bimetal/temporal temporal primitives.
Maintainers
Readme
@bimetal/calendar-core
Der Kalender-Domänen-Kernel. Wo @bimetal/temporal den domain-neutralen Zeit-Kernel
liefert (CalendarDateTime, TimeRange, das branded Month/Weekday-Vokabular,
DST-sichere Arithmetik), fügt dieses Paket alles hinzu, was einen Kalender ausmacht: das
CalendarEvent-Modell, Grids, Segmentierung/Layout, Move/Resize-Mathematik und Recurrence-Expansion —
reine Funktionen über immutable Strukturen, kein DOM, kein Framework.
calendar-core re-exportiert @bimetal/temporal vollständig, sodass ein Calendar-Konsument Zeit-Kernel
und Domäne aus einem Import bekommt. Die einzige @bimetal-Dependency ist core; das hält das Fundament
domain-neutral (auch table-data/gantt-data bauen auf core, ohne die Calendar-Typen zu erben).
Installation
npm install @bimetal/calendar-coreWas das Paket liefert
| Gruppe | Exporte |
|--------|---------|
| Zeit-Kernel (re-exportiert) | alles aus @bimetal/temporal — CalendarDateTime, TimeRange, createDateTime, Month/Weekday, addDays, … |
| Domain-Typen | CalendarEvent, Resource, RecurrenceRule, EventInstance, EventStatus, ViewType/BuiltInViewType |
| Grids | monthGrid, weekGrid, calendarWeekNumber, visibleRange (daySlots ist intern) |
| Segmentierung & Layout | segmentAllDay, layoutAllDay |
| Interactions | computeMoveRange, computeTimedMoveRange, computeResizeRange, computeTimedResizeRange |
| Recurrence | expandRecurrence + recurrence-instance-Helper (withRecurrenceInstanceMetadata, …) |
| Domänen-Modell | getDomain, CalendarBaseDomain, SchedulingDomain |
Architektur
Kernel unten (core), Domäne hier, darüber calendar-data (Event-Sourcing) → calendar-headless
(Controller) → Framework-Bindings. Tiefe: doc/architecture/02b-calendar-core.md.
