├── .env.testing
├── .env.production
├── .env.development
├── .browserslistrc
├── tests
└── unit
│ ├── setup.js
│ ├── coverage
│ └── lcov-report
│ │ ├── favicon.png
│ │ ├── sort-arrow-sprite.png
│ │ ├── prettify.css
│ │ ├── block-navigation.js
│ │ ├── src
│ │ ├── shared
│ │ │ ├── utils.ts.html
│ │ │ ├── enum.ts.html
│ │ │ └── index.html
│ │ ├── main.ts.html
│ │ ├── directives
│ │ │ └── index.html
│ │ ├── components
│ │ │ └── datepicker
│ │ │ │ ├── locale
│ │ │ │ └── index.html
│ │ │ │ ├── utils
│ │ │ │ └── index.html
│ │ │ │ └── index.html
│ │ └── index.html
│ │ ├── wrapper
│ │ └── index.html
│ │ ├── prismcomponent
│ │ └── index.html
│ │ ├── iconview
│ │ └── index.html
│ │ ├── datepicker
│ │ ├── locale
│ │ │ └── index.html
│ │ ├── utils
│ │ │ └── index.html
│ │ └── index.html
│ │ ├── sorter.js
│ │ ├── index.html
│ │ └── base.css
│ ├── .eslintrc
│ ├── jest.conf.js
│ └── specs
│ ├── PickerDay
│ ├── initialDom.spec.js
│ ├── changeMonths.spec.js
│ ├── mondayFirst.spec.js
│ ├── pickerDay.spec.js
│ ├── disabledDates.spec.js
│ └── highlightedDates.spec.js
│ ├── Datepicker
│ ├── inline.spec.js
│ ├── openDate.spec.js
│ └── restrictedViews.spec.js
│ ├── PickerMonth
│ ├── disabledMonths.spec.js
│ └── pickerMonth.spec.js
│ ├── PickerYear
│ ├── pickerYear.spec.js
│ └── disabledYears.spec.js
│ ├── DateInput
│ ├── typedDates.spec.js
│ └── DateInput.spec.js
│ └── DateUtils.spec.js
├── .gitignore
├── .husky
├── pre-commit
└── commit-msg
├── .editorconfig
├── src
├── vite-env.d.ts
├── main.ts
├── assets
│ ├── styles
│ │ └── css
│ │ │ ├── _settings.css
│ │ │ └── app.css
│ ├── calendar.svg
│ └── github.svg
├── components
│ ├── examples
│ │ ├── InlineView.vue
│ │ ├── CalendarIcon.vue
│ │ ├── YearView.vue
│ │ ├── HighlightedView.vue
│ │ ├── DayView.vue
│ │ ├── StringView.vue
│ │ ├── MonthView.vue
│ │ ├── DefaultValue.vue
│ │ ├── Typeable.vue
│ │ ├── Language.vue
│ │ ├── ProgrammaticAccess.vue
│ │ ├── VModel.vue
│ │ ├── Disabled.vue
│ │ └── Slotview.vue
│ ├── prismcomponent
│ │ └── index.ts
│ ├── wrapper
│ │ └── Wrapper.vue
│ ├── iconview
│ │ └── IconView.vue
│ └── datepicker
│ │ └── datepicker.css
├── style.css
├── directives
│ └── click-outside.ts
└── App.vue
├── .eslintignore
├── .prettierrc.json
├── tsconfig.node.json
├── index.html
├── postcss.config.cjs
├── vite.config.project.ts
├── .releaserc
├── tsconfig.json
├── vite.config.lib.ts
├── LICENSE
├── commitlint.config.cjs
├── public
└── vite.svg
├── CHANGELOG.md
├── package.json
└── .eslintrc.cjs
/.env.testing:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
--------------------------------------------------------------------------------
/.env.production:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
--------------------------------------------------------------------------------
/.env.development:
--------------------------------------------------------------------------------
1 | NODE_ENV=development
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/tests/unit/setup.js:
--------------------------------------------------------------------------------
1 | // import Vue from 'vue'
2 |
3 | // Vue.config.productionTip = false
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | .vscode
4 | dist/
5 | testumdbuild/
6 | demo/
7 | example/*.js
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | npm run precommit
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | npx --no -- commitlint --edit "$1"
--------------------------------------------------------------------------------
/tests/unit/coverage/lcov-report/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shubhadip/vuejs3-datepicker/HEAD/tests/unit/coverage/lcov-report/favicon.png
--------------------------------------------------------------------------------
/tests/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "jest": true
4 | },
5 | "globals": {
6 | "expect": true,
7 | "sinon": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tests/unit/coverage/lcov-report/sort-arrow-sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shubhadip/vuejs3-datepicker/HEAD/tests/unit/coverage/lcov-report/sort-arrow-sprite.png
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue}]
2 | indent_style = space
3 | indent_size = 2
4 | end_of_line = lf
5 | trim_trailing_whitespace = true
6 | insert_final_newline = true
7 | max_line_length = 100
8 | format_on_save = true
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
Value : {{ accessValue }}
17 |UpdateValue : {{ dateinput }}
15 |Below Date Input
9 | 10 | 11 |Custom Calendar Header
12 | 13 | 14 |{{ formattedDate }}
15 | 16 |55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || 1 61 | 2 62 | 3 63 | 4 64 | 5 65 | 6 66 | 7 67 | 8 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | | /** 75 | * Returns true if data is null or undefined 76 | * @param data 77 | */ 78 | export const isNullUndefined = (data: any): boolean => { 79 | return data === null || data === undefined; 80 | }; 81 | |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| Wrapper.vue | 77 |
78 |
79 | |
80 | 0% | 81 |0/6 | 82 |100% | 83 |0/0 | 84 |0% | 85 |0/1 | 86 |0% | 87 |0/6 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| index.ts | 77 |
78 |
79 | |
80 | 0% | 81 |0/18 | 82 |0% | 83 |0/10 | 84 |0% | 85 |0/3 | 86 |0% | 87 |0/14 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| IconView.vue | 77 |
78 |
79 | |
80 | 50% | 81 |1/2 | 82 |100% | 83 |0/0 | 84 |0% | 85 |0/1 | 86 |50% | 87 |1/2 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || 1 61 | 2 62 | 3 63 | 4 64 | 5 65 | 6 66 | 7 67 | 8 68 | 9 69 | 10 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | | import { createApp } from 'vue'; 79 | import App from './App.vue'; 80 | import clickOutside from '@/directives/click-outside' 81 | 82 | const app = createApp(App) 83 | 84 | app.directive('clickoutside', clickOutside); 85 | 86 | app.mount('#app'); 87 | |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| click-outside.ts | 77 |
78 |
79 | |
80 | 0% | 81 |0/46 | 82 |0% | 83 |0/22 | 84 |0% | 85 |0/11 | 86 |0% | 87 |0/32 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| index.ts | 77 |
78 |
79 | |
80 | 100% | 81 |20/20 | 82 |100% | 83 |0/0 | 84 |100% | 85 |2/2 | 86 |100% | 87 |20/20 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| DateUtils.ts | 77 |
78 |
79 | |
80 | 96.77% | 81 |90/93 | 82 |93.94% | 83 |93/99 | 84 |100% | 85 |20/20 | 86 |96.43% | 87 |81/84 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| index.ts | 77 |
78 |
79 | |
80 | 100% | 81 |20/20 | 82 |100% | 83 |0/0 | 84 |100% | 85 |2/2 | 86 |100% | 87 |20/20 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| DateUtils.ts | 77 |
78 |
79 | |
80 | 88.76% | 81 |79/89 | 82 |89.69% | 83 |87/97 | 84 |89.47% | 85 |17/19 | 86 |87.5% | 87 |70/80 | 88 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| App.vue | 77 |
78 |
79 | |
80 | 0% | 81 |0/13 | 82 |100% | 83 |0/0 | 84 |0% | 85 |0/10 | 86 |0% | 87 |0/13 | 88 |
| main.ts | 92 |
93 |
94 | |
95 | 0% | 96 |0/6 | 97 |100% | 98 |0/0 | 99 |100% | 100 |0/0 | 101 |0% | 102 |0/6 | 103 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || 1 61 | 2 62 | 3 63 | 4 64 | 5 65 | 6 66 | 7 67 | 8 68 | 9 69 | 10 70 | 11 71 | 12 72 | 13 73 | 14 74 | 15 75 | 16 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | | export enum ValidationMessages { 91 | required = 'Please enter this value', 92 | } 93 | 94 | export enum VALIDATORS { 95 | REQUIRED = 'required', 96 | } 97 | 98 | export enum KeyName { 99 | Enter = 'Enter', 100 | ArrowUp = 'ArrowUp', 101 | ArrowDown = 'ArrowDown', 102 | Escape = 'Escape', 103 | Tab = 'Tab', 104 | } 105 | |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| enum.ts | 77 |
78 |
79 | |
80 | 0% | 81 |0/10 | 82 |0% | 83 |0/6 | 84 |0% | 85 |0/3 | 86 |0% | 87 |0/10 | 88 |
| utils.ts | 92 |
93 |
94 | |
95 | 0% | 96 |0/2 | 97 |0% | 98 |0/2 | 99 |0% | 100 |0/1 | 101 |0% | 102 |0/2 | 103 |
| validations.ts | 107 |
108 |
109 | |
110 | 0% | 111 |0/35 | 112 |0% | 113 |0/25 | 114 |0% | 115 |0/3 | 116 |0% | 117 |0/33 | 118 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| datepicker | 77 |
78 |
79 | |
80 | 95.71% | 81 |446/466 | 82 |91.14% | 83 |329/361 | 84 |92.24% | 85 |107/116 | 86 |95.68% | 87 |443/463 | 88 |
| datepicker/locale | 92 |
93 |
94 | |
95 | 100% | 96 |20/20 | 97 |100% | 98 |0/0 | 99 |100% | 100 |2/2 | 101 |100% | 102 |20/20 | 103 |
| datepicker/utils | 107 |
108 |
109 | |
110 | 96.77% | 111 |90/93 | 112 |93.94% | 113 |93/99 | 114 |100% | 115 |20/20 | 116 |96.43% | 117 |81/84 | 118 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| DateInput.vue | 77 |
78 |
79 | |
80 | 0% | 81 |0/42 | 82 |0% | 83 |0/26 | 84 |0% | 85 |0/9 | 86 |0% | 87 |0/42 | 88 |
| Datepicker.vue | 92 |
93 |
94 | |
95 | 0% | 96 |0/148 | 97 |0% | 98 |0/62 | 99 |0% | 100 |0/36 | 101 |0% | 102 |0/148 | 103 |
| PickerDay.vue | 107 |
108 |
109 | |
110 | 0% | 111 |0/120 | 112 |0% | 113 |0/141 | 114 |0% | 115 |0/31 | 116 |0% | 117 |0/119 | 118 |
| PickerMonth.vue | 122 |
123 |
124 | |
125 | 0% | 126 |0/68 | 127 |0% | 128 |0/66 | 129 |0% | 130 |0/20 | 131 |0% | 132 |0/67 | 133 |
| PickerYear.vue | 137 |
138 |
139 | |
140 | 97.14% | 141 |68/70 | 142 |83.64% | 143 |46/55 | 144 |94.74% | 145 |18/19 | 146 |97.1% | 147 |67/69 | 148 |
55 | Press n or j to go to the next uncovered block, b, p or k for the previous block. 56 |
57 || File | 64 |65 | | Statements | 66 |67 | | Branches | 68 |69 | | Functions | 70 |71 | | Lines | 72 |73 | |
|---|---|---|---|---|---|---|---|---|---|
| DateInput.vue | 77 |
78 |
79 | |
80 | 100% | 81 |47/47 | 82 |93.75% | 83 |30/32 | 84 |100% | 85 |9/9 | 86 |100% | 87 |47/47 | 88 |
| Datepicker.vue | 92 |
93 |
94 | |
95 | 91.89% | 96 |136/148 | 97 |91.94% | 98 |57/62 | 99 |83.33% | 100 |30/36 | 101 |91.89% | 102 |136/148 | 103 |
| PickerDay.vue | 107 |
108 |
109 | |
110 | 97.66% | 111 |125/128 | 112 |93.15% | 113 |136/146 | 114 |96.88% | 115 |31/32 | 116 |97.64% | 117 |124/127 | 118 |
| PickerMonth.vue | 122 |
123 |
124 | |
125 | 95.71% | 126 |67/70 | 127 |86.36% | 128 |57/66 | 129 |95% | 130 |19/20 | 131 |95.65% | 132 |66/69 | 133 |
| PickerYear.vue | 137 |
138 |
139 | |
140 | 97.26% | 141 |71/73 | 142 |89.09% | 143 |49/55 | 144 |94.74% | 145 |18/19 | 146 |97.22% | 147 |70/72 | 148 |