Repository navigation
Releases
Releases · a-dev/vue-event-creator
v2.1.0
2.1.0
A visual redesign of the calendar and event cards, with the interaction changes
below. Props, callbacks, event data, locale keys, CSS entry point, and package
exports are unchanged. Two things need attention on upgrade: one palette
variable was renamed to fix a misspelling published in 2.0.0, and the Vue peer
range now requires 3.5.
Added
--vec-radius-panel(28px) and--vec-radius-control(16px) configure the
corner shapes of panels and controls. See the README for the shape and its
fallback.- Time inputs and action buttons have a 44px minimum target, each time field
carries its own label, and the component's controls show a visible
:focus-visibleoutline. prefers-reduced-motion: reduceis honored.
Changed
engines.nodemoves from>=22.12.0to>=24.0.0. The Vite 8 / Vitest 5
toolchain requires it. Installing on Node 22 now produces anEBADENGINE
warning; the published ES module itself is unchanged.- The palette variable
--vec-color-tertiatyis renamed to
--vec-color-tertiary. The misspelling was published in 2.0.0 earlier the
same day and is corrected rather than carried forward. Palette values are
unchanged. Anyone who overrode the old name in that window updates the
spelling; no other variable changed. - The Vue peer range narrows from
^3.xto^3.5.0. The calendar
disclosure usesuseId(), added in Vue 3.5, so 3.0-3.4 no longer work. The
support matrix already documented 3.5 as the minimum; the manifest now
matches it instead of resolving to a version that fails at runtime. - On screens narrower than 768px the calendar is an inline disclosure below a
labeled toggle button instead of an off-canvas panel sliding over the page,
so it no longer covers an open event editor. Collapsed dates leave the
keyboard tab order, and the toggle exposesaria-controlsand its state. - The demo application was rewritten around the scheduling use case.
Fixed
- The event editor's default-time button aligns to the right based on the width
of its own time-controls row rather than the width of the viewport. - The connector dot between consecutive scheduled days is centered on the day
and is no longer drawn at the start of a calendar week, where it pointed at
the previous row.
v2.0.0
2.0.0
A breaking release. See MIGRATION.md for the upgrade guide.
Breaking
- ESM only. The CommonJS and UMD builds are gone; the package publishes a
single ES module through anexportsmap.require('vue-event-creator')and
<script>tag usage are no longer supported. - The stylesheet moved to
vue-event-creator/style.css. The v1 paths
(dist/styles.css, which never existed, anddist/vue-event-creator.css) are
not part of the public surface. Deep imports intodistare unsupported. - Types are generated and published. The hand-written
src/index.d.tsis
replaced by declarations emitted from a typed entry. Callback and event types
are generic over the consumer'sdatashape instead ofFunction/object/
any. Internal state types are no longer exported. setI18nandsetDayJsLangare removed. Locale is set through the
languageprop, which is now reactive and scoped to the instance.editEventFnreceives the event being edited instead of being called with
no arguments.editEventFnandremoveEventFnreport failure by rejecting. A resolved
{ error }value from those two callbacks is no longer treated as a failure;
onlysaveEventFnaccepts that shape.saveEventFnmust return the dates it was given. A saved event whose
dates differ from the submitted ones is reported as an error instead of being
applied.- Loaded events are validated.
getEventsFnresults containing an invalid
date, an event finishing before it starts, or two events sharing a calendar
date show the load error rather than rendering a partly wrong calendar. - Event cards are keyed by
data-vec-event-id, replacing the document-wide
vec-es-id-<date>elementid. - Days and the responsive switcher are
<button>elements, not clickable
<div>s. All buttons declaretype="button". - Node.js 24.0 or newer is required for tooling, and Vue
^3.xis the
declared peer range. Node 22 is not supported.
Fixed
- An event id of
0is treated as a saved id instead of an unsaved draft. - Two calendars mounted at once no longer share a locale, steal each other's
focus, or scroll each other's event cards. firstDateandmonthsOnPagechanges rebuild the calendar;defaultTimeand
languagechanges apply without a remount.- Failed loads show a retry alert instead of leaving the loader spinning; save,
edit, and remove failures are shown on the card instead of only being logged. - A callback in flight is no longer invoked twice for one user action.
- Document click listeners are registered through a lifecycle-aware composable
and removed on unmount. - Consumer-supplied events and data objects are never mutated.
Added
MIGRATION.md, a rewrittenREADME.md, and documented Node/browser support,
time-zone semantics, overlap constraints, and the release process.- Keyboard operation of the calendar, with accessible names and states on days,
the switcher, and the time inputs. - A release pipeline: pull-request CI, a tag-driven release workflow publishing
with npm provenance, scheduled Firefox/WebKit E2E runs, and a
release:checkgate that also runs fromprepublishOnly. - Playwright E2E journeys against both the demo app and the packed package.
Changed
- Rebuilt on Vite 8, Vitest 5 (Node and Chromium browser projects), oxlint, and
oxfmt. ESLint and Prettier are removed.