{"_id":"@bpdm/scheduler","_rev":"3-2b8804c43b68bf1a5be523584e353d17","name":"@bpdm/scheduler","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@bpdm/scheduler","version":"0.1.0","keywords":["scheduler","calendar","react","design-system","events","typescript"],"author":{"url":"https://bpdm.dev","name":"bpdm"},"license":"MIT","_id":"@bpdm/scheduler@0.1.0","maintainers":[{"name":"bpdm9","email":"bpdm.tech@gmail.com"}],"homepage":"https://ui.bpdm.dev","bugs":{"url":"https://github.com/bpdm-hq/bpdm-ui/issues"},"dist":{"shasum":"afb3d6a30e64e6cb7221cf255a96f4c7693c8dc4","tarball":"https://registry.npmjs.org/@bpdm/scheduler/-/scheduler-0.1.0.tgz","fileCount":10,"integrity":"sha512-vQ/J8BTOzg+18SX1ITTnD2f0JedsYmwbASVWGpXxVa3c2acmC4UoD/YXSDL+rrddtYpCEBksoYYxaEnFOAUo/g==","signatures":[{"sig":"MEUCIQCf1WehlxT1G3doPnfPh272mZnk+lAlGgXQXosH5IsMDQIgY3ftSKbbNLMG7eZCGvF0ZHwLWRZKWjPOSCBy/WYyMAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317122},"main":"./dist/index.cjs","type":"module","_from":"file:bpdm-scheduler-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./styles.css":"./dist/styles.css"},"scripts":{"lint":"eslint .","size":"size-limit","test":"vitest run","build":"tsup && node scripts/add-use-client.mjs && cp src/scheduler.css dist/styles.css","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bpdm9","email":"bpdm.tech@gmail.com"},"_resolved":"/private/var/folders/s0/stnx6rcx6g1dnfdfb_qr2hlr0000gn/T/02306a021ccfef2524929997af76c82c/bpdm-scheduler-0.1.0.tgz","_integrity":"sha512-vQ/J8BTOzg+18SX1ITTnD2f0JedsYmwbASVWGpXxVa3c2acmC4UoD/YXSDL+rrddtYpCEBksoYYxaEnFOAUo/g==","repository":{"url":"git+https://github.com/bpdm-hq/bpdm-ui.git","type":"git","directory":"packages/scheduler"},"_npmVersion":"10.8.2","description":"React scheduler/calendar for the bpdm design system — day, week and month views over one shared headless core. Typed, themeable, accessible.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.19.0","dependencies":{"@bpdm/scheduler-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","globals":"^17.6.0","react-dom":"^19.2.7","@eslint/js":"^10.0.1","size-limit":"^12.1.0","typescript":"^6.0.3","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","typescript-eslint":"^8.61.1","@bpdm/scheduler-core":"0.1.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1","@size-limit/preset-small-lib":"^12.1.0"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_0.1.0_1785347560149_0.0876616625786375","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bpdm/scheduler","version":"0.2.0","keywords":["scheduler","calendar","react","design-system","events","typescript"],"author":{"url":"https://bpdm.dev","name":"bpdm"},"license":"MIT","_id":"@bpdm/scheduler@0.2.0","maintainers":[{"name":"bpdm9","email":"bpdm.tech@gmail.com"}],"homepage":"https://ui.bpdm.dev","bugs":{"url":"https://github.com/bpdm-hq/bpdm-ui/issues"},"dist":{"shasum":"8d1558bdff0c36114a948ab298634dfa576b60b7","tarball":"https://registry.npmjs.org/@bpdm/scheduler/-/scheduler-0.2.0.tgz","fileCount":9,"integrity":"sha512-A2mHJBrCPGLrEkxz+mZeMqrctSnZ/P8LPfodE6sWzIYJejfcX1e5ulk6jScxMxsM2YmxzFzYFaZSXtmyF0PINw==","signatures":[{"sig":"MEYCIQCTjnMRlJQPrQVjjrX2g7j/ACWsAVsn1sm7ebeBALQb4QIhAIOQ+7pEtWdORd+/pl9o1+tV7emq5NweXYUbb+kjTFZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356029},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./styles.css":"./dist/styles.css"},"gitHead":"d8740386dc8e1e648ef58bbb58fee8ec2531c72c","scripts":{"lint":"eslint .","size":"size-limit","test":"vitest run","build":"tsup && node scripts/add-use-client.mjs && cp src/scheduler.css dist/styles.css","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build"},"_npmUser":{"name":"bpdm9","email":"bpdm.tech@gmail.com"},"repository":{"url":"git+https://github.com/bpdm-hq/bpdm-ui.git","type":"git","directory":"packages/scheduler"},"_npmVersion":"10.9.8","description":"React scheduler/calendar for the bpdm design system — day, week and month views over one shared headless core. Typed, themeable, accessible.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.23.1","dependencies":{"@bpdm/scheduler-core":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","globals":"^17.6.0","react-dom":"^19.2.7","@eslint/js":"^10.0.1","size-limit":"^12.1.0","typescript":"^6.0.3","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","typescript-eslint":"^8.61.1","@bpdm/scheduler-core":"workspace:*","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1","@size-limit/preset-small-lib":"^12.1.0"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_0.2.0_1785512396779_0.6313354636398945","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bpdm/scheduler","version":"0.2.1","description":"React scheduler/calendar for the bpdm design system — day, week and month views over one shared headless core. Typed, themeable, accessible.","type":"module","license":"MIT","author":{"name":"bpdm","url":"https://bpdm.dev"},"homepage":"https://ui.bpdm.dev","repository":{"type":"git","url":"git+https://github.com/bpdm-hq/bpdm-ui.git","directory":"packages/scheduler"},"keywords":["scheduler","calendar","react","design-system","events","typescript"],"sideEffects":["*.css"],"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./styles.css":"./dist/styles.css"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"dependencies":{"@bpdm/scheduler-core":"0.1.0"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19"},"devDependencies":{"@eslint/js":"^10.0.1","@size-limit/preset-small-lib":"^12.1.0","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","eslint":"^10.5.0","eslint-plugin-react-hooks":"^7.1.1","globals":"^17.6.0","jsdom":"^29.1.1","react":"^19.2.7","react-dom":"^19.2.7","size-limit":"^12.1.0","tsup":"^8.5.1","typescript":"^6.0.3","typescript-eslint":"^8.61.1","vitest":"^4.1.9","@bpdm/scheduler-core":"0.1.0"},"scripts":{"build":"tsup && node scripts/add-use-client.mjs && cp src/scheduler.css dist/styles.css","typecheck":"tsc --noEmit","test":"vitest run","size":"size-limit","lint":"eslint ."},"_id":"@bpdm/scheduler@0.2.1","bugs":{"url":"https://github.com/bpdm-hq/bpdm-ui/issues"},"_integrity":"sha512-CU1TWru+9bF+Fl+a8JmGUY2935+r0qavEmlxqH1guuA5V2uFf96ObOeY4lNNZUJsS4o1VYuAJhxV+Onn12tYlQ==","_resolved":"/private/var/folders/s0/stnx6rcx6g1dnfdfb_qr2hlr0000gn/T/31032257945466e7d41ffc819b4c000d/bpdm-scheduler-0.2.1.tgz","_from":"file:bpdm-scheduler-0.2.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-CU1TWru+9bF+Fl+a8JmGUY2935+r0qavEmlxqH1guuA5V2uFf96ObOeY4lNNZUJsS4o1VYuAJhxV+Onn12tYlQ==","shasum":"2011ff8cd7a4211a77539aafe0806f6b06dff1d7","tarball":"https://registry.npmjs.org/@bpdm/scheduler/-/scheduler-0.2.1.tgz","fileCount":10,"unpackedSize":357041,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHg8HvMPlKknw95TgzikkUhJJlLlppyS+aPtd9txarglAiEA5JuW00lLRRkp/tX/pwVjyIT4dHjcaFHWPVCi1KO3lnQ="}]},"_npmUser":{"name":"bpdm9","email":"bpdm.tech@gmail.com"},"directories":{},"maintainers":[{"name":"bpdm9","email":"bpdm.tech@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scheduler_0.2.1_1785679031965_0.9651559909291021"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T17:52:39.960Z","modified":"2026-08-02T13:57:12.284Z","0.1.0":"2026-07-29T17:52:40.309Z","0.2.0":"2026-07-31T15:39:56.935Z","0.2.1":"2026-08-02T13:57:12.106Z"},"bugs":{"url":"https://github.com/bpdm-hq/bpdm-ui/issues"},"author":{"name":"bpdm","url":"https://bpdm.dev"},"license":"MIT","homepage":"https://ui.bpdm.dev","keywords":["scheduler","calendar","react","design-system","events","typescript"],"repository":{"type":"git","url":"git+https://github.com/bpdm-hq/bpdm-ui.git","directory":"packages/scheduler"},"description":"React scheduler/calendar for the bpdm design system — day, week and month views over one shared headless core. Typed, themeable, accessible.","maintainers":[{"name":"bpdm9","email":"bpdm.tech@gmail.com"}],"readme":"# @bpdm/scheduler\n\nA themeable, accessible **React scheduler / calendar** component — day, week, work-week,\nmonth, timeline, agenda and year views, event overlap layout, client- or server-side\ndata, and full internationalization. Built on the framework-agnostic\n[`@bpdm/scheduler-core`](https://www.npmjs.com/package/@bpdm/scheduler-core).\n\n[![npm version](https://img.shields.io/npm/v/@bpdm/scheduler.svg)](https://www.npmjs.com/package/@bpdm/scheduler)\n[![license](https://img.shields.io/npm/l/@bpdm/scheduler.svg)](./LICENSE)\n\n> Part of the **bpdm design system** — it reads the same design tokens as the rest of\n> [bpdm/ui](https://github.com/bpdm-hq/bpdm-ui), so it themes with your app out of the box.\n\n---\n\n## Features\n\n- **Every view** — `day`, `week`, `workWeek`, `month`, `timeline`, `agenda`, `year`, switchable from the toolbar.\n- **Event layout** — overlapping events are packed into side-by-side columns automatically.\n- **Client or server data** — pass `events` for in-memory data, or a `dataSource` that fetches only the visible range from your backend.\n- **Internationalized** — every string is overridable via `messages`, with `locale`-aware date formatting; RTL-friendly.\n- **Configurable grid** — day start/end hours, initial scroll position, week start day, and a scrollable max height.\n- **Interaction hooks** — `onEventClick`, slot selection and event creation, or bring your own dialog.\n- **Themeable & accessible** — semantic CSS variables, keyboard support, and `prefers-reduced-motion` respected.\n- **SSR-friendly** — inject `now` for deterministic server rendering.\n\n## Install\n\n```bash\nnpm install @bpdm/scheduler\n```\n\n`react` and `react-dom` (18 or 19) are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Scheduler, type CalendarEvent } from \"@bpdm/scheduler\";\nimport \"@bpdm/scheduler/styles.css\";\n\nconst events: CalendarEvent[] = [\n  { id: \"1\", title: \"Standup\", start: new Date(\"2026-01-05T09:00\"), end: new Date(\"2026-01-05T09:30\") },\n  { id: \"2\", title: \"Design review\", start: new Date(\"2026-01-05T14:00\"), end: new Date(\"2026-01-05T15:00\") },\n];\n\nexport function App() {\n  return <Scheduler events={events} defaultView=\"week\" weekStartsOn={1} />;\n}\n```\n\nFor server data, pass a `dataSource` instead of `events` — the scheduler requests only\nthe range each view needs.\n\n## License\n\nMIT © [bpdm](https://github.com/bpdm-hq/bpdm-ui)\n","readmeFilename":"README.md"}