{"_id":"@borderss/vue-calendar","_rev":"2-71992dd926379651fc634a10a94b3ff9","name":"@borderss/vue-calendar","dist-tags":{"latest":"1.1.7"},"versions":{"1.1.5":{"name":"@borderss/vue-calendar","version":"1.1.5","keywords":["Vue","calendar","TypeScript","VueJS"],"author":{"name":"borderss"},"license":"GPL-3.0","_id":"@borderss/vue-calendar@1.1.5","maintainers":[{"name":"borderss","email":"liepins01@gmail.com"}],"homepage":"https://github.com/borderss/vue-calendar#readme","bugs":{"url":"https://github.com/borderss/vue-calendar/issues"},"dist":{"shasum":"266455b11bfc58a61ecc596525afea8097f006b8","tarball":"https://registry.npmjs.org/@borderss/vue-calendar/-/vue-calendar-1.1.5.tgz","fileCount":20,"integrity":"sha512-u9RR7ziaemZJsLmaEUe80hIthTRPKc/5FjtuJuapeVxN1FhCt/BOHAy+nkBjSiTCvRyzjEIKOKDtO29rk5cKfQ==","signatures":[{"sig":"MEQCIAiLkUU46wU7bGNIlZh5FHNSdO87WV+XONafwa2VMnFBAiA9y33yXSenhv1R8SmEQ7mfir4m9MCJ7d15TwCYXKvVjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117972},"main":"./dist/vue-calendar.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-calendar.js","exports":{".":{"import":"./dist/vue-calendar.js","require":"./dist/vue-calendar.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"4d12564eeeae85080fac0f9d4ad31c78775a530b","private":false,"scripts":{"dev":"vite","lint":"eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore","test":"vitest","build":"vue-tsc && vite build","format":"prettier --write src/","preview":"vite preview","test:unit":"vitest","build-only":"vite build","type-check":"vue-tsc --build --force"},"_npmUser":{"name":"borderss","email":"liepins01@gmail.com"},"repository":{"url":"git+https://github.com/borderss/vue-calendar.git","type":"git"},"_npmVersion":"10.2.4","description":"I created this calendar as a part of another project under a private org repository. After the project was finished, I was allowed to make this calendar public, so if anyone needs a simple, responsive vue calendar, this could be a good option.","directories":{},"resolutions":{"strip-ansi":"6.0.1"},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ms":"^2.1.2","ws":"^8.16.0","ajv":"^6.12.6","cac":"^6.7.14","ini":"^1.3.8","jju":"^1.4.0","psl":"^1.9.0","ufo":"^1.5.3","chai":"^4.4.1","glob":"^10.3.12","keyv":"^4.5.4","levn":"^0.4.1","mlly":"^1.6.1","nopt":"^7.2.0","once":"^1.4.0","tr46":"^5.0.0","acorn":"^8.11.3","chalk":"^4.1.2","debug":"^4.3.4","execa":"^8.0.1","fastq":"^1.17.1","isexe":"^2.0.0","loupe":"^2.3.7","pathe":"^1.1.2","saxes":"^6.0.0","slash":"^3.0.0","tslib":"^2.6.2","which":"^2.0.2","abbrev":"^2.0.0","braces":"^3.0.2","cssesc":"^3.0.0","espree":"^9.6.1","globby":"^11.1.0","hasown":"^2.0.2","ignore":"^5.3.1","lodash":"^4.17.21","merge2":"^1.4.1","nanoid":"^3.3.7","nwsapi":"^2.2.7","parse5":"^7.1.2","rimraf":"^3.0.2","rollup":"^4.13.2","semver":"^7.6.0","uri-js":"^4.4.1","wrappy":"^1.0.2","csstype":"^3.1.3","deep-is":"^0.1.4","esbuild":"^0.20.2","esquery":"^1.5.0","esutils":"^2.0.3","find-up":"^5.0.0","flatted":"^3.3.1","globals":"^13.24.0","is-glob":"^4.0.3","js-yaml":"^4.1.0","mime-db":"^1.52.0","onetime":"^6.0.0","p-limit":"^5.0.0","pathval":"^1.1.1","pidtree":"^0.6.0","postcss":"^8.4.38","resolve":"^1.22.8","reusify":"^1.0.4","siginfo":"^2.0.0","std-env":"^3.7.0","synckit":"^0.8.8","tinyspy":"^2.2.1","yallist":"^4.0.0","argparse":"^2.0.1","asynckit":"^0.4.0","boolbase":"^1.0.0","cssstyle":"^4.0.1","deep-eql":"^4.1.3","dir-glob":"^3.0.1","doctrine":"^3.0.0","entities":"^4.5.0","fs-extra":"^7.0.1","has-flag":"^4.0.0","inflight":"^1.0.6","inherits":"^2.0.4","jsonfile":"^4.0.0","kolorist":"^1.8.0","mimic-fn":"^4.0.0","minipass":"^7.0.4","p-locate":"^5.0.0","path-key":"^3.1.1","punycode":"^2.3.1","react-is":"^18.2.0","tinypool":"^0.8.3","xmlchars":"^2.2.0","z-schema":"^5.0.5","acorn-jsx":"^5.3.2","callsites":"^3.1.0","commander":"^10.0.1","computeds":"^0.0.1","data-urls":"^5.0.0","de-indent":"^1.0.2","esrecurse":"^4.3.0","fast-diff":"^1.3.0","fast-glob":"^3.3.2","form-data":"^4.0.0","graphemer":"^1.4.0","is-number":"^7.0.0","is-stream":"^3.0.0","jackspeak":"^2.3.6","js-cookie":"^3.0.5","js-tokens":"^9.0.0","local-pkg":"^0.5.0","lru-cache":"^6.0.0","minimatch":"^3.1.2","nth-check":"^2.1.1","path-type":"^4.0.0","picomatch":"^2.3.1","pkg-types":"^1.0.3","stackback":"^0.0.2","tinybench":"^2.6.0","type-fest":"^0.20.2","url-parse":"^1.5.10","validator":"^13.11.0","vite-node":"^1.4.0","wrap-ansi":"^8.1.0","acorn-walk":"^8.3.2","agent-base":"^7.1.1","ansi-regex":"^5.0.1","color-name":"^1.1.4","concat-map":"^0.0.1","decimal.js":"^10.4.3","estraverse":"^5.3.0","fill-range":"^7.0.1","flat-cache":"^3.2.0","get-stream":"^8.0.1","iconv-lite":"^0.6.3","is-extglob":"^2.1.1","lodash.get":"^4.4.2","micromatch":"^4.0.5","mime-types":"^2.1.35","optionator":"^0.9.3","path-parse":"^1.0.7","picocolors":"^1.0.0","prelude-ls":"^1.2.1","proto-list":"^1.2.4","source-map":"^0.6.1","sprintf-js":"^1.0.3","strip-ansi":"^6.0.1","text-table":"^0.2.0","type-check":"^0.4.0","whatwg-url":"^14.0.0","ansi-styles":"^4.3.0","array-union":"^2.1.0","check-error":"^1.0.3","cross-spawn":"^7.0.3","emoji-regex":"^8.0.0","fs.realpath":"^1.0.0","glob-parent":"^6.0.2","graceful-fs":"^4.2.11","import-lazy":"^4.0.0","imurmurhash":"^0.1.4","js-beautify":"^1.15.1","json-buffer":"^3.0.1","locate-path":"^6.0.0","path-exists":"^4.0.0","path-scurry":"^1.10.2","rrweb-cssom":"^0.6.0","shell-quote":"^1.8.1","signal-exit":"^4.1.0","string-argv":"^0.3.2","symbol-tree":"^3.2.4","type-detect":"^4.0.8","yocto-queue":"^1.0.0","config-chain":"^1.1.13","editorconfig":"^1.0.4","eslint-scope":"^7.2.2","import-fresh":"^3.3.0","jsonc-parser":"^3.2.1","lodash.merge":"^4.6.2","magic-string":"^0.30.8","memorystream":"^0.3.1","merge-stream":"^2.0.0","npm-run-path":"^5.3.0","resolve-from":"^4.0.0","run-parallel":"^1.2.0","safer-buffer":"^2.1.2","string-width":"^5.1.2","tough-cookie":"^4.1.3","ts-api-utils":"^1.3.0","undici-types":"^5.26.5","universalify":"^0.2.0","color-convert":"^2.0.1","estree-walker":"^2.0.2","function-bind":"^1.1.2","get-func-name":"^2.0.2","human-signals":"^5.0.0","muggle-string":"^0.3.1","parent-module":"^1.0.1","pretty-format":"^29.7.0","requires-port":"^1.0.0","shebang-regex":"^3.0.0","source-map-js":"^1.2.0","strip-literal":"^2.1.0","wrap-ansi-cjs":"^7.0.0","balanced-match":"^1.0.2","delayed-stream":"^1.0.0","diff-sequences":"^29.6.3","eastasianwidth":"^0.2.0","is-core-module":"^2.13.1","is-path-inside":"^3.0.3","lodash.isequal":"^4.5.0","querystringify":"^2.2.0","strip-ansi-cjs":"^6.0.1","supports-color":"^7.2.0","to-regex-range":"^5.0.1","util-deprecate":"^1.0.2","assertion-error":"^1.1.0","brace-expansion":"^2.0.1","combined-stream":"^1.0.8","fast-deep-equal":"^3.1.3","natural-compare":"^1.4.0","path-browserify":"^1.0.1","queue-microtask":"^1.2.3","shebang-command":"^2.0.0","whatwg-encoding":"^3.1.1","whatwg-mimetype":"^4.0.0","fast-levenshtein":"^2.0.6","file-entry-cache":"^6.0.1","foreground-child":"^3.1.1","http-proxy-agent":"^7.0.2","path-is-absolute":"^1.0.1","string-width-cjs":"^4.2.3","https-proxy-agent":"^7.0.4","vue-eslint-parser":"^9.4.2","w3c-xmlserializer":"^5.0.0","webidl-conversions":"^7.0.0","xml-name-validator":"^5.0.0","eslint-visitor-keys":"^3.4.3","strip-final-newline":"^3.0.0","strip-json-comments":"^3.1.1","why-is-node-running":"^2.2.2","escape-string-regexp":"^4.0.0","json-schema-traverse":"^0.4.1","html-encoding-sniffer":"^4.0.0","vue-template-compiler":"^2.7.16","eslint-config-prettier":"^8.10.0","eslint-plugin-prettier":"^5.1.3","read-package-json-fast":"^3.0.2","is-fullwidth-code-point":"^3.0.0","postcss-selector-parser":"^6.0.16","prettier-linter-helpers":"^1.0.0","npm-normalize-package-bin":"^3.0.1","fast-json-stable-stringify":"^2.1.0","vue-component-type-helpers":"^2.0.7","json-parse-even-better-errors":"^3.0.1","supports-preserve-symlinks-flag":"^1.0.0","is-potential-custom-element-name":"^1.0.1","json-stable-stringify-without-jsonify":"^1.0.1"},"publishConfig":{"@borderss:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.1.6","jsdom":"^24.0.0","eslint":"^8.57.0","vitest":"^1.4.0","vue-tsc":"^2.0.6","prettier":"^3.0.3","typescript":"^5.4.3","@types/node":"^20.11.28","@types/jsdom":"^21.1.6","npm-run-all2":"^6.1.2","@vue/tsconfig":"^0.5.1","@vue/test-utils":"^2.4.5","vite-plugin-dts":"^3.8.1","@tsconfig/node20":"^20.1.2","eslint-plugin-vue":"^9.17.0","typescript-eslint":"^7.5.0","@vitejs/plugin-vue":"^5.0.4","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","vite-plugin-css-injected-by-js":"^3.5.0"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-calendar_1.1.5_1721171181881_0.7704282150521784","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@borderss/vue-calendar","version":"1.1.6","keywords":["Vue","calendar","TypeScript","VueJS"],"author":{"name":"borderss"},"license":"GPL-3.0","_id":"@borderss/vue-calendar@1.1.6","maintainers":[{"name":"borderss","email":"liepins01@gmail.com"}],"homepage":"https://github.com/borderss/vue-calendar#readme","bugs":{"url":"https://github.com/borderss/vue-calendar/issues"},"dist":{"shasum":"d7d8a35347f4455a85b754310b9dc0571c550a2f","tarball":"https://registry.npmjs.org/@borderss/vue-calendar/-/vue-calendar-1.1.6.tgz","fileCount":20,"integrity":"sha512-3veS3qEtnger8s47c8NxKjQC3wnVRBrvv676h1/5mLpOpV0k57fNCi/c9+35DiztarPLkeHFwC3cmbG5KZwjoA==","signatures":[{"sig":"MEUCIQCv9rr5lTHtUKA+SF7atRYSlblCUbDovoe3Q6ThV3F0PAIgFchsqfg2hfiuDWrvOMYkvA1JxTe0K0UVx5fKqgyUaVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110600},"main":"./dist/vue-calendar.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-calendar.js","exports":{".":{"import":"./dist/vue-calendar.js","require":"./dist/vue-calendar.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"c3d449233483a6b8e6fefd0d1240abbe7e1af2c8","private":false,"scripts":{"dev":"vite","lint":"eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore","test":"vitest","build":"vue-tsc && vite build","format":"prettier --write src/","preview":"vite preview","test:unit":"vitest","build-only":"vite build","type-check":"vue-tsc --build --force"},"_npmUser":{"name":"borderss","email":"liepins01@gmail.com"},"repository":{"url":"git+https://github.com/borderss/vue-calendar.git","type":"git"},"_npmVersion":"10.2.4","description":"I created this calendar as a part of another project under a private org repository. After the project was finished, I was allowed to make this calendar public, so if anyone needs a simple, responsive vue calendar, this could be a good option.","directories":{},"resolutions":{"strip-ansi":"6.0.1"},"_nodeVersion":"20.11.0","publishConfig":{"@borderss:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.1.6","jsdom":"^24.0.0","eslint":"^8.57.0","vitest":"^1.4.0","vue-tsc":"^2.0.6","prettier":"^3.0.3","typescript":"^5.4.3","@types/node":"^20.11.28","@types/jsdom":"^21.1.6","npm-run-all2":"^6.1.2","@vue/tsconfig":"^0.5.1","@vue/test-utils":"^2.4.5","vite-plugin-dts":"^3.8.1","@tsconfig/node20":"^20.1.2","eslint-plugin-vue":"^9.17.0","typescript-eslint":"^7.5.0","@vitejs/plugin-vue":"^5.0.4","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","vite-plugin-css-injected-by-js":"^3.5.0"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-calendar_1.1.6_1721171720743_0.8182431403222659","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@borderss/vue-calendar","version":"1.1.7","private":false,"type":"module","main":"./dist/vue-calendar.umd.cjs","module":"./dist/vue-calendar.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-calendar.js","require":"./dist/vue-calendar.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"publishConfig":{"@borderss:registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/borderss/vue-calendar.git"},"scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview","test:unit":"vitest","build-only":"vite build","type-check":"vue-tsc --build --force","lint":"eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore","format":"prettier --write src/","test":"vitest"},"peerDependencies":{"vue":"^3.4.0"},"devDependencies":{"@tsconfig/node20":"^20.1.2","@types/jsdom":"^21.1.6","@types/node":"^20.11.28","@vitejs/plugin-vue":"^5.0.4","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vue/test-utils":"^2.4.5","@vue/tsconfig":"^0.5.1","eslint":"^8.57.0","eslint-plugin-vue":"^9.17.0","jsdom":"^24.0.0","npm-run-all2":"^6.1.2","prettier":"^3.0.3","typescript":"^5.4.3","typescript-eslint":"^7.5.0","vite":"^5.1.6","vite-plugin-css-injected-by-js":"^3.5.0","vite-plugin-dts":"^3.8.1","vitest":"^1.4.0","vue":"^3.4.0","vue-tsc":"^2.0.6"},"resolutions":{"strip-ansi":"6.0.1"},"description":"I created this calendar as a part of another project under a private org repository. After the project was finished, I was allowed to make this calendar public, so if anyone needs a simple, responsive vue calendar, this could be a good option.","bugs":{"url":"https://github.com/borderss/vue-calendar/issues"},"homepage":"https://github.com/borderss/vue-calendar#readme","keywords":["Vue","calendar","TypeScript","VueJS"],"author":{"name":"borderss"},"license":"GPL-3.0","_id":"@borderss/vue-calendar@1.1.7","gitHead":"2bf92651005b14744250908eb38b2257fe924a83","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-ZbN1dCERX3kQiAGjVo6u+gni4+yjflT+3csxR2YJTaRS5i+TjNHY2iZ+lynHHIe9xU2fDbuYyhzV1Sm2uRSLlg==","shasum":"4a83f035f64e19ca635f98522067b6edb252494d","tarball":"https://registry.npmjs.org/@borderss/vue-calendar/-/vue-calendar-1.1.7.tgz","fileCount":20,"unpackedSize":110604,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxEsjj4gR3R/1sbhqFeDWPro2Wbcr6rks+igGJkT0McAiAJeO2XifYqVeY4Uy4QJf/u+l30ALuxc/VFvkXv3CIGfA=="}]},"_npmUser":{"name":"borderss","email":"liepins01@gmail.com"},"directories":{},"maintainers":[{"name":"borderss","email":"liepins01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-calendar_1.1.7_1721175176922_0.6935823311259417"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-16T23:06:21.783Z","modified":"2024-07-17T00:12:57.254Z","1.1.5":"2024-07-16T23:06:22.064Z","1.1.6":"2024-07-16T23:15:20.906Z","1.1.7":"2024-07-17T00:12:57.085Z"},"bugs":{"url":"https://github.com/borderss/vue-calendar/issues"},"author":{"name":"borderss"},"license":"GPL-3.0","homepage":"https://github.com/borderss/vue-calendar#readme","keywords":["Vue","calendar","TypeScript","VueJS"],"repository":{"type":"git","url":"git+https://github.com/borderss/vue-calendar.git"},"description":"I created this calendar as a part of another project under a private org repository. After the project was finished, I was allowed to make this calendar public, so if anyone needs a simple, responsive vue calendar, this could be a good option.","maintainers":[{"name":"borderss","email":"liepins01@gmail.com"}],"readme":"# vue-calendar@1.1.7\n\nI created this calendar as a part of another project under a private org repository. After the project was finished, I was allowed to make this calendar public, so if anyone needs a simple, responsive vue calendar, this could be a good option.\n\nThe calendar itself is fully typed, and pretty simple to use, with custom slots for event cards that allow you to implement custom functionality. All actions in the calendar emit an event that can be listened for if necessary.\n\n![image](https://github.com/user-attachments/assets/40d96915-48be-4d2e-ad37-89b1670ccea6)\n![image](https://github.com/user-attachments/assets/ae9b258d-82c7-44f5-ba18-0be9c1e11380)\n\n\n## Project setup\n\n```bash\nyarn\n\nyarn dev [--port <port>] # default port is 5173\n\nyarn build # runs typecheck and then builds the project\n\nyarn preview # lauches a server to preview the built project\n```\n\n## Usage in other projects\n\nTo use the pacakage in a project, you need to add a `.npmrc` file to the projects root directory\n\n```txt\n//npm.pkg.github.com/:_authToken=<token> \n@borderss:registry=https://npm.pkg.github.com\n```\n\nGo to <https://github.com/settings/tokens> and generate a new personal access token with the `read:packages` permission. Then replace `<token>` with the generated token.\n\nAfter this, you can add the package to the app with\n\n```bash\nyarn add @borderss/vue-calendar\n```\n\nIn the project, find your `main.ts` or `main.js` file and add the following lines\n\n```javascript\nimport calendar from \"@borderss/vue-calendar\"\nimport \"@borderss/vue-calendar/dist/style.css\"\n```\n\nIn the same file, find a chain of `.use()` calls on a `createApp()` object and add the following line\n\n```javascript\ncreateApp(App)\n  .use(store)\n  ...\n  .use(router)\n  .use(calendar) // add this line\n  .mount(\"#app\")\n```\n\nNow you can use the calendar component globally across the project without importing it\n\n```html\n<template>\n  <VueCalendar :options=\"calendarOptions\"/>\n</template>\n```\n\n## VueCalendar: Options parameter\n\nThe `options` parameter is of type `CalendarOptions` and can be used to customize the calendar component visually and functionally.\n\nThe comment next to each key is its default value\n\n```typescript\ninterface CalendarOptions {\n  events?: Event[]                            // []\n  defaultView?: ViewType                      // 'month'\n  showViewSelector?: boolean                  // true\n  showNavigation?: boolean                    // true\n  mobileBreakpointPx?: number                 // 768\n  forceMobile?: boolean                       // false\n  forceDesktop?: boolean                      // false\n  locale?: string                             // 'en'\n\n  // Custom color overrides\n  colors?: {\n    containerBg?: string                      // #ffffff\n    primaryBg?: string                        // #2f92df\n    primaryBgText?: string                    // #ffffff\n    secondaryBg?: string                      // #e9f5ff\n    textPrimary?: string                      // #000000\n    textSecondary?: string                    // #768B95\n    dateSelectedColor?: string                // #69b8ff\n    dateBackground?: string                   // #ffffff\n    dateBackgroundNotThisWeek?: string        // #f9f9f9\n    scrollbarColor?: string                   // #efefef\n  }\n\n  onEventClick?: (event: Event) => void       // Fired when an event card is clicked\n  onViewChange?: (view: ViewType) => void     // Fired when view changes\n  onNavigationChange?: (date: Date) => void   // Fired wehn user navigates in the calendar\n}\n\ninterface Event {\n  title: string         // REQUIRED // title of the event\n  date: Date | string   // REQUIRED // date of the event\n  startTime?: string    // Start time of the event, eg. \"12:30\"\n  endTime?: string      // End time of the event, eg. \"14:30\"\n  allDay?: boolean      // Whether the event is all day or not\n  color?: 'blue'        // Color of the event card. If not provided, uses `primaryBg`\n        | 'green'\n        | 'red'  \n        | 'yellow'\n  [key: string]: any          // allow extra attributes for custom implementations\n}\n\ntype ViewType = 'day' | 'week' | 'month'\n```\n\n## VueCalendar: Slots\n\nThe calendar component provides slots to allow custom implementations of the calendar. The following slots are available\n\n```html\n<template>\n  <VueCalendar :options=\"calendarOptions\">\n    <template #eventCard=\"{ event }\"> \n      <!-- Customn event card -->\n    </template>\n    <template #dataDisplay=\"{ date }\">\n      <!-- Custom data display -->\n    </template>\n  </VueCalendar>\n```\n\n`eventCard`\nslot provides event object, with type `Event`.\n\n![alt text](image.png)\n\n`dataDisplay`\nslot provides date object with the current date being displayed.\n\n![alt text](image-1.png)\n\n## Example implementation\n\n```html\n<template>\n  <VueCalendar :options=\"calendarOptions\" />\n</template>\n\n<script>\nexport default {\n  ...\n  data() {\n    calendarOptions: {\n      events: [\n        { \n          id: 1,\n          title: \"Event 1\",\n          date: \"2021-09-01\",\n          startTime: \"12:30\",\n          endTime: \"14:30\",\n          color: \"blue\"\n        },\n        {\n          id: 2,\n          title: \"Event 2\",\n          date: \"2021-09-02\",\n          startTime: \"12:30\",\n          endTime: \"14:30\",\n          color: \"green\"\n        },\n      ],\n      showViewSelector: false,\n      onEventClick: (e) => {\n        this.$router.push({ path: `/articles/${e.id}` });\n      },\n    },\n  }\n}\n</script>\n```\n","readmeFilename":"README.md"}