Quickstart

Install a ScheduleSpark package and mount the first framework-free UI component.

Quickstart

Install the package you need:

npm install @schedulespark/calendar @schedulespark/rrule
npm install @schedulespark/date-picker
npm install @schedulespark/time-picker
npm install @schedulespark/observability

Mount a browser component into an existing DOM node:

import { createDatePicker } from "@schedulespark/date-picker";
import "@schedulespark/date-picker/styles.css";

const host = document.querySelector("#date-picker");

if (!(host instanceof HTMLElement)) {
  throw new Error("Missing #date-picker host");
}

const picker = createDatePicker({
  label: "Start date",
  value: "2026-07-04",
  onChange: (value) => {
    console.log(value);
  }
});

picker.mount(host);

Every browser package is framework-free. Use the same package in Vanilla, React, Angular, or Vue by mounting it after the host element exists and destroying it when the host component unmounts.