{"_id":"@digitalcrafted/vue-scheduler","_rev":"6-e4b5c4e3379b76db564fd76c00ec22fe","name":"@digitalcrafted/vue-scheduler","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@digitalcrafted/vue-scheduler","version":"0.1.0","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","_id":"@digitalcrafted/vue-scheduler@0.1.0","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"dist":{"shasum":"e93c0b6f1b8d82eadc93a4c86e370b95bee21493","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.1.0.tgz","fileCount":6,"integrity":"sha512-8j1g8NjWPuaHx6ZHw222L6Ap3Y6fpZQ1jxBZEJG/3erQ4z/0jMebUKVkBhI7KvRtYk+ofioUs4bXSW+C79XMNQ==","signatures":[{"sig":"MEUCIEB7F4kuDYe23aCtAh3OAzbSC8qeGV5X04557b+L2lm1AiEAx5dZNtpaEd9C9nAEQimrejpLlFV2rwaBXgjoIujUHyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96159},"main":"dist/vue-scheduler.umd.js","type":"module","style":"dist/vue-scheduler.css","types":"dist/index.d.ts","module":"dist/vue-scheduler.es.js","scripts":{"dev":"vite build --watch","build":"vite build","type-check":"vue-tsc --noEmit"},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"_npmVersion":"10.9.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","postcss":"^8.4.38","vue-tsc":"^2.0.6","typescript":"^5.4.5","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","vite-plugin-dts":"^3.9.1","@vitejs/plugin-vue":"^5.0.4"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-scheduler_0.1.0_1761992635771_0.514320863425618","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@digitalcrafted/vue-scheduler","version":"0.1.1","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","_id":"@digitalcrafted/vue-scheduler@0.1.1","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"dist":{"shasum":"7262289f15a99b94cd78afe800395600f90b3f4a","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.1.1.tgz","fileCount":6,"integrity":"sha512-pXmR+IhZSGc3RqlnkRFg+VXFi/gck2L2PrIrjwxHpaXSzNyPa06/lrbuj1LPyceKPaUu1nygHU6vzFGKNZWtPA==","signatures":[{"sig":"MEYCIQCXs+UrvlVWVySTQRb4+a4OY9l3UBm1qYpfzOHmUavVBQIhALadHj2OwmzRROAyI+dynkQrpTVnuwnnlK7+QO/28gv7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91394},"main":"dist/vue-scheduler.umd.js","type":"module","style":"dist/vue-scheduler.css","types":"dist/index.d.ts","module":"dist/vue-scheduler.es.js","gitHead":"060723b06fe602394de5c7453089ed1022c9fd47","scripts":{"dev":"vite build --watch","build":"vite build","type-check":"vue-tsc --noEmit"},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"_npmVersion":"10.9.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","postcss":"^8.4.38","vue-tsc":"^2.0.6","typescript":"^5.4.5","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","vite-plugin-dts":"^3.9.1","@vitejs/plugin-vue":"^5.0.4"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-scheduler_0.1.1_1761993730590_0.47827826513144944","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@digitalcrafted/vue-scheduler","version":"0.1.2","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","_id":"@digitalcrafted/vue-scheduler@0.1.2","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"dist":{"shasum":"7c24794f0eee7743d426f859881763ed130b446e","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.1.2.tgz","fileCount":6,"integrity":"sha512-pSqA2JiVrPFDQHLtQwMi0wlc0XiGStQnYFETa9jGLBjRiXTEiOZ72oz3VcmcHPgbWFqUsMSms4b0RYR4AQN+sg==","signatures":[{"sig":"MEUCICLcPy5RxaUOoEVxZqAaWo1NZeur6BtfCOWtL1d5IO5zAiEA7r/+uxVebiwYdwVQLKYZN4OrpfsHNk/QYr7Cs0/Ev0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87427},"main":"dist/vue-scheduler.umd.js","type":"module","style":"dist/vue-scheduler.css","types":"dist/index.d.ts","module":"dist/vue-scheduler.es.js","gitHead":"2a38d5d02d3db678c411bff4f919cfb85c651caa","scripts":{"dev":"vite build --watch","build":"vite build","type-check":"vue-tsc --noEmit"},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"_npmVersion":"10.9.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","postcss":"^8.4.38","vue-tsc":"^2.0.6","typescript":"^5.4.5","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","vite-plugin-dts":"^3.9.1","@vitejs/plugin-vue":"^5.0.4"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-scheduler_0.1.2_1761994495006_0.3088703980455576","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@digitalcrafted/vue-scheduler","version":"0.2.0","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","_id":"@digitalcrafted/vue-scheduler@0.2.0","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"dist":{"shasum":"33f5a7a78bb168071bec0c6c2451073e1f9bc497","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.2.0.tgz","fileCount":6,"integrity":"sha512-Jy+9X1iY+7pKX/6ahnlsSHZlYpo9feH//RveeiLq0m9vJXy93W4NFWXdaakLOWeUeATjOc+Kt4p0X3iUg7l6Ig==","signatures":[{"sig":"MEUCIQCzmc/j8ipCpIaKSN/e7SUQlD3JjYIGaglOQ0TTibiEnwIgbXrM8LAGHdRRZmzhhozKxCizdcVYt90QJ83Iv4/BpmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88686},"main":"dist/vue-scheduler.umd.js","type":"module","style":"dist/vue-scheduler.css","types":"dist/index.d.ts","module":"dist/vue-scheduler.es.js","gitHead":"38a9d3601cd49f2d00de008dfb5c7cc6cd8969ee","scripts":{"dev":"vite build --watch","build":"vite build","type-check":"vue-tsc --noEmit"},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"_npmVersion":"10.9.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","postcss":"^8.4.38","vue-tsc":"^2.0.6","typescript":"^5.4.5","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","vite-plugin-dts":"^3.9.1","@vitejs/plugin-vue":"^5.0.4"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-scheduler_0.2.0_1761995745384_0.22322677554569093","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@digitalcrafted/vue-scheduler","version":"0.2.1","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","_id":"@digitalcrafted/vue-scheduler@0.2.1","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"dist":{"shasum":"c2eee585ba925c02a17d959ba3ce094bba0c79f9","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.2.1.tgz","fileCount":6,"integrity":"sha512-Hn27BfqcZyEVGt8zhFRoLtLauR6phdk9PRFqVtKcERSbX2iRzRHgHjdC5FDgHpiEViACXhrDSYSNCR7BtObfKA==","signatures":[{"sig":"MEUCIQCwgbbQxd++DYznmYVifz5lJDAW8PWZZWHa6IPBj2hNhgIgZr3Wo+Wlw6W3tCbJLcQuN3HqRw1wPrRxVx1yvGNTyHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92338},"main":"dist/vue-scheduler.umd.js","type":"module","style":"dist/vue-scheduler.css","types":"dist/index.d.ts","module":"dist/vue-scheduler.es.js","gitHead":"66ab7034365f6760fcb98aad719353a80e7beb9e","scripts":{"dev":"vite build --watch","build":"vite build","type-check":"vue-tsc --noEmit"},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"_npmVersion":"10.9.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","postcss":"^8.4.38","vue-tsc":"^2.0.6","typescript":"^5.4.5","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","vite-plugin-dts":"^3.9.1","@vitejs/plugin-vue":"^5.0.4"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-scheduler_0.2.1_1762206274724_0.7371181550192876","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@digitalcrafted/vue-scheduler","version":"0.2.2","description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","type":"module","author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"main":"dist/vue-scheduler.umd.js","module":"dist/vue-scheduler.es.js","types":"dist/index.d.ts","style":"dist/vue-scheduler.css","scripts":{"build":"vite build","dev":"vite build --watch","type-check":"vue-tsc --noEmit"},"dependencies":{"vue":"^3.4.21","dayjs":"^1.11.13"},"peerDependencies":{"vue":"^3.4.0"},"devDependencies":{"@vitejs/plugin-vue":"^5.0.4","typescript":"^5.4.5","vite":"^5.2.11","vite-plugin-dts":"^3.9.1","vue-tsc":"^2.0.6","tailwindcss":"^3.4.7","autoprefixer":"^10.4.19","postcss":"^8.4.38"},"_id":"@digitalcrafted/vue-scheduler@0.2.2","gitHead":"0885ad2bbeb3422eb663af49ff57a9f2e5fa11b0","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-bVUsp442uY4EICPivtFFLDXboHBXnNPjE2WJ6F7BaSX7beJzfLR7rqH8mpws+aU+lNx82LSMkuu1AkZcGY9vcg==","shasum":"6f7808979656416e25c7f2d41a71b7fff518e219","tarball":"https://registry.npmjs.org/@digitalcrafted/vue-scheduler/-/vue-scheduler-0.2.2.tgz","fileCount":7,"unpackedSize":93411,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCS5U1VYSQUCVrMJ1NbAw7suA40SGhi50iGvELmFROtTwIhAJUlHqIuEdeFZWF6l8xbtg670qcJ9E6RzsjVowaU3OCA"}]},"_npmUser":{"name":"digitalcrafted","email":"franconwu@gmail.com"},"directories":{},"maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue-scheduler_0.2.2_1762967780477_0.37115801451255437"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-01T10:23:55.681Z","modified":"2025-11-12T17:16:20.824Z","0.1.0":"2025-11-01T10:23:55.970Z","0.1.1":"2025-11-01T10:42:10.803Z","0.1.2":"2025-11-01T10:54:55.210Z","0.2.0":"2025-11-01T11:15:45.601Z","0.2.1":"2025-11-03T21:44:34.898Z","0.2.2":"2025-11-12T17:16:20.652Z"},"author":{"name":"Francis Onwumere","email":"https://github.com/digitalcrafted"},"license":"MIT","keywords":["vue","vue3","scheduler","calendar","agenda","planner"],"description":"A Vue 3 scheduler component with day/week/month/year views for displaying calendar events","maintainers":[{"name":"digitalcrafted","email":"franconwu@gmail.com"}],"readme":"# vue-scheduler\n\nA Vue 3 scheduler component with day/week/month/year views for displaying calendar events.\n\n## Features\n\n- 📅 Multiple view modes: Day, Week, Month, and Year\n- 🎨 Customizable event colors\n- ⚡ Support for static events array or dynamic event loading\n- 🌍 Internationalization support with dayjs\n- 📱 Responsive design with Tailwind CSS\n- 🎯 TypeScript support\n\n## Installation\n\n```bash\nnpm install @digitalcrafted/vue-scheduler\n```\n\n## Usage\n\n### Basic Example\n\n```vue\n<template>\n  <Scheduler :events=\"events\" />\n</template>\n\n<script setup>\nimport { Scheduler } from \"@digitalcrafted/vue-scheduler\";\nimport \"@digitalcrafted/vue-scheduler/dist/style.css\";\n\nconst events = [\n  {\n    label: \"Meeting\",\n    start: \"2024-10-08 10:00\",\n    end: \"2024-10-08 11:00\",\n    bgColor: \"#3498db\",\n  },\n  {\n    label: \"Conference\",\n    start: \"2024-10-09 14:00\",\n    end: \"2024-10-09 18:00\",\n    bgColor: \"#9575cd\",\n  },\n];\n</script>\n```\n\n### With Dynamic Event Loading\n\n```vue\n<template>\n  <Scheduler :events=\"loadEvents\" initial-date=\"2024-10-08\" view-mode=\"week\" />\n</template>\n\n<script setup>\nimport { Scheduler } from \"@digitalcrafted/vue-scheduler\";\n\nconst loadEvents = ({ dateRange, setEvents }) => {\n  // Fetch events from API\n  fetch(`/api/events?start=${dateRange.start}&end=${dateRange.end}`)\n    .then((res) => res.json())\n    .then((data) => setEvents(data));\n};\n</script>\n```\n\n### Hiding View Mode Selector\n\n```vue\n<template>\n  <Scheduler\n    :events=\"events\"\n    view-mode=\"month\"\n    :hide-view-mode-selector=\"true\"\n  />\n</template>\n\n<script setup>\nimport { Scheduler } from \"@digitalcrafted/vue-scheduler\";\nimport \"@digitalcrafted/vue-scheduler/dist/style.css\";\n\nconst events = [\n  {\n    label: \"Meeting\",\n    start: \"2024-10-08 10:00\",\n    end: \"2024-10-08 11:00\",\n    bgColor: \"#3498db\",\n  },\n];\n</script>\n```\n\n## Props\n\n### `events`\n\n- **Type**: `SchedulerEvent[] | Function`\n- **Required**: Yes\n- **Description**: Array of events or a function for dynamic loading\n\nEvent object structure:\n\n```typescript\ninterface SchedulerEvent {\n  label: string; // Event label/name\n  start: string | Date | number; // Start date/time\n  end?: string | Date | number; // End date/time (optional)\n  bgColor?: string; // Background color (hex code)\n  id?: string | number; // Unique identifier (optional)\n}\n```\n\nDynamic loading function signature:\n\n```typescript\nfunction loadEvents({\n  dateRange: { start: Date, end: Date },\n  setEvents: (events: SchedulerEvent[]) => void\n}): void\n```\n\n### `initialDate`\n\n- **Type**: `string | Date | number`\n- **Default**: Current date\n- **Description**: Initial date to display\n\n### `viewMode`\n\n- **Type**: `'day' | 'week' | 'month' | 'year'`\n- **Default**: `'week'`\n- **Description**: Initial view mode\n\n### `dateLocale`\n\n- **Type**: `string`\n- **Default**: `undefined`\n- **Description**: Locale for date formatting (e.g., 'en', 'fr', 'de')\n\n### `translations`\n\n- **Type**: `Record<string, string>`\n- **Default**: `{}`\n- **Description**: Translation object for custom labels\n\nAvailable translation keys:\n\n- `header.today`: Label for \"Today\" button\n\n### `hideViewModeSelector`\n\n- **Type**: `boolean`\n- **Default**: `false`\n- **Description**: Hides the view mode selector (day/week/month/year toggle) from the header when set to `true`\n\n## Event Format\n\nEvents support both all-day and timed events:\n\n```javascript\n// All-day event (no time specified)\n{\n  label: \"Holiday\",\n  start: \"2024-10-08\",\n  bgColor: \"#ff9800\"\n}\n\n// Timed event\n{\n  label: \"Meeting\",\n  start: \"2024-10-08 10:00\",\n  end: \"2024-10-08 11:00\",\n  bgColor: \"#3498db\"\n}\n\n// Multi-day event\n{\n  label: \"Conference\",\n  start: \"2024-10-08 09:00\",\n  end: \"2024-10-10 18:00\",\n  bgColor: \"#9575cd\"\n}\n```\n\n## Styling\n\nThe component uses Tailwind CSS for styling. Make sure Tailwind is available in your project, or import the default styles:\n\n```javascript\nimport \"@digitalcrafted/vue-scheduler/dist/style.css\";\n```\n\nYou can customize the appearance by overriding Tailwind classes or using CSS variables.\n\n## TypeScript\n\nTypeScript definitions are included:\n\n```typescript\nimport type {\n  SchedulerEvent,\n  SchedulerProps,\n} from \"@digitalcrafted/vue-scheduler\";\n```\n\n## Author\n\n**Francis Onwumere**\n\n- GitHub: [@digitalcrafted](https://github.com/digitalcrafted)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}