Skip to content

v2.0.0

Choose a tag to compare

@afonsojramos afonsojramos released this 29 Jun 12:26
· 15 commits to main since this release
6b3979c

super-calendar is now a render-agnostic calendar, published as three packages under the @super-calendar scope.

Breaking changes

The library is split from a single package into three:

  • @super-calendar/core — render-agnostic logic: date math, event layout, recurrence expansion, time-zone conversion, the selection model, and neutral theme tokens. Build fully custom UI on top of it.
  • @super-calendar/native — the React Native renderer (gesture- and Reanimated-driven, virtualized), with a ./picker subpath export.
  • @super-calendar/dom — a new react-dom renderer, with no React Native dependency.

The DOM and native renderers both build on @super-calendar/core and are kept at prop-level parity. All three are published to npm at 2.0.0.

Features

  • Split into the @super-calendar/{core,native,dom} pnpm monorepo (a3b061c)
  • Align the time-grid hour-axis label across renderers (877d2f9)
  • Fill event boxes with whole title lines before the time (66fbb7a)
  • core: own BusinessHours, closedHourBands and groupEventsByDay; clamp the drag range to the day (c439837)
  • dom: new react-dom renderer — render events in MonthView and MonthList (381961b)
  • dom: business hours, timeslots, cell press/create and drag parity in TimeGrid (181f162)
  • dom: add the Agenda schedule view (4159841)
  • dom: add a Calendar wrapper that switches view by mode (9eb45d3)
  • dom: gate day-cell keyboard navigation behind a prop (161133d)
  • dom: make empty time-grid columns pointer-only for creation (dd09196)
  • native: render a month title and weekday header in the grid (2bf8e94)
  • native: give the month pager a shared title and container sizing (b694b7b)
  • native: taller event rows, and contain web tab focus in the month list (290ee42)
  • native: roomier default row for the schedule view (2d77b74)
  • native: add an all-day gutter label (7aeb2a0)
  • native: add showDragHandle to toggle the resize grip (5343c66)
  • native: export getViewDays for custom toolbars (b725bee)
  • native: left-align month event cells to match dom (b4a011e)

Bug fixes

  • Order month and list day events all-day first across renderers (6c0a248)
  • Align default hour height and time-line threshold across renderers (e99b025)
  • Cap the range pill at the endpoint circles instead of the cell edge (fdc3cae)
  • dom: spread multi-day all-day events and harden TimeGrid pointer handling (f2528c9)
  • dom: guard month overflow, align moreLabel, stabilize keys and memoize list data (29c4a0b)
  • dom: activate cells at the live scroll position and set real all-day continues flags (a897a09)
  • dom: stop seven-column grids from overflowing (4aa303f)
  • dom: open the month list on the anchor month, not a past month (6b3979c)
  • native: preserve the time-grid scroll position across page switches (29dfa97)
  • native: block user horizontal scroll paging on the web grids (ab37ca3)
  • native: show picker tap feedback on the day badge, not the cell (275f199)
  • native: drop the day-cell hover highlight in the events calendar (157af70)
  • native: size the time grid to its container width (9eca0fc)
  • native: correct web time-grid tab focus and programmatic paging (4b2314b)
  • native: restyle and vertically center the time-grid day header (6569753, e1a2e66)
  • native: drop the day-cell grid in the events-free month picker (465ab52)
  • native: don't tint blank placeholder cells with the weekend background (988691d)
  • native: tune drag-activation holds — 300ms create, 500ms move/select (48ee633)
  • native: set pointerEvents via style instead of the deprecated prop (b4aab52)