Skip to content

feat(vc-scheduler): calendar/scheduler organism#258

Merged
maksimzinchuk merged 2 commits into
mainfrom
feat/vc-scheduler-clean
Jul 20, 2026
Merged

feat(vc-scheduler): calendar/scheduler organism#258
maksimzinchuk merged 2 commits into
mainfrom
feat/vc-scheduler-clean

Conversation

@maksimzinchuk

Copy link
Copy Markdown
Collaborator

Overview

Adds VcScheduler — a calendar/scheduler organism (timeline/time-grid views,
viewport and time-scale composables) with stories, docs, and unit + a11y tests.

Reconstructed from the original stacked PR #256, which was auto-closed when its
base branch (docs/framework-accuracy-audit, merged in #255) was deleted. This
branch is the same two commits cherry-picked cleanly onto main, so the diff is
just the scheduler component (no accuracy-audit changes leaking back in).

Add VcScheduler — a calendar organism for planning date-bound periods
(promotions, pricelist windows, campaigns).

Views
- Month grid: all-day events as lane-packed bars with a "+N more" overflow
  popover, timed events as chips; first-run empty hint.
- Vertical time-grid Timeline (day/week) with side-by-side overlap lanes, an
  all-day strip, and a current-time line on today.
- Mobile agenda (day-grouped list), auto-swapped for the Month grid on phones.

Editing
- Built-in quick-create popover, event editor modal, and quick-info popover;
  drag-to-move / drag-to-resize / click- and drag-to-create. An "emit" mode
  hands the create/edit/delete flow to the host instead.
- Destructive actions are gated: a confirm for one-off deletes and a
  This event / All events scope prompt for recurring ones.

Recurrence (rrule)
- iCal-style model: masters + exception dates + per-occurrence overrides,
  expanded per view window; human-readable summaries in the quick-info popover.
- Expansion runs in a UTC-naive frame so all-day / near-midnight series keep
  their weekday and day across time zones.

Color & a11y
- Deterministic auto-coloring from the title (nothing stored); bar ink is
  chosen per fill by WCAG luminance, and past events render as a pale tint with
  dark text so they stay AA-legible.

Also
- Loading state: a view-shaped skeleton on first load and an overlay on refresh.
- i18n (en/de), stories, unit + axe tests, and docs.
- Rename VcDropdownPanel to VcPopover (the scheduler's popovers build on it).
docs:lint validates `::storybook id="..."` embeds against the published storybook
(vc-shell-storybook.govirto.com), which still serves the pre-rename component, so
`overlay-vcpopover--*` reads as unknown until the storybook redeploys post-merge.
Remove the two embeds to keep the check green; the prose, props and examples remain.
@github-actions

Copy link
Copy Markdown

📦 Preview published for commit 9ee8dfb

Install the preview with dist-tag:

npm install @vc-shell/framework@pr-258

Or pin to the exact commit:

npm install @vc-shell/framework@2.1.0-pr258.9ee8dfb

Published packages (dist-tag pr-258, version 2.1.0-pr258.9ee8dfb):

  • @vc-shell/framework
  • @vc-shell/api-client-generator
  • @vc-shell/create-vc-app
  • @vc-shell/config-generator
  • @vc-shell/migrate
  • @vc-shell/ts-config
  • @vc-shell/mf-config
  • @vc-shell/mf-host
  • @vc-shell/mf-module
  • @vc-shell/vc-app-skill

@maksimzinchuk
maksimzinchuk merged commit 694fdf6 into main Jul 20, 2026
10 checks passed
@maksimzinchuk
maksimzinchuk deleted the feat/vc-scheduler-clean branch July 20, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant