[READ-ONLY] Mirror of https://github.com/probablykasper/date-picker-svelte. Date and time picker for Svelte date-picker-svelte.kasper.space
calendar date date-picker date-time-picker datepicker package svelte time
0

Configure Feed

Select the types of activity you want to include in your feed.

Update svelte-package

Kasper (Apr 29, 2023, 12:36 AM +0200) 0aa9bb5b 0d25cccd

+266 -64
+9 -3
.gitignore
··· 1 - /build/ 1 + .DS_Store 2 + node_modules 3 + /build 4 + /dist 2 5 /.svelte-kit 3 - /package 4 6 /coverage 5 - /node_modules 7 + .env 8 + .env.* 9 + !.env.example 10 + vite.config.js.timestamp-* 11 + vite.config.ts.timestamp-*
+4 -8
README.md
··· 64 64 ``` 65 65 npm version --no-git-tag <version> 66 66 ``` 67 - 4. Generate the package 68 - ``` 69 - npm run build:package 70 - ``` 71 - 5. Publish the package 67 + 4. Publish 72 68 ``` 73 - npm publish ./package 69 + npm publish 74 70 ``` 75 - 6. Commit with a tag in format "v#.#.#" 76 - 7. Create GitHub release with release notes 71 + 5. Commit with a tag in format "v#.#.#" 72 + 6. Create GitHub release with release notes
+157 -16
package-lock.json
··· 9 9 "version": "2.3.0", 10 10 "license": "MIT", 11 11 "devDependencies": { 12 - "@sveltejs/adapter-static": "^1.0.6", 12 + "@sveltejs/adapter-static": "^2.0.2", 13 13 "@sveltejs/kit": "^1.15.9", 14 - "@sveltejs/package": "^1.0.2", 14 + "@sveltejs/package": "^2.0.2", 15 15 "@typescript-eslint/eslint-plugin": "^5.59.1", 16 16 "@typescript-eslint/parser": "^5.59.1", 17 17 "babel-jest": "^29.5.0", 18 18 "date-fns": "^2.29.3", 19 19 "eslint": "^8.39.0", 20 20 "eslint-config-prettier": "^8.8.0", 21 - "eslint-plugin-svelte3": "^4.0.0", 21 + "eslint-plugin-svelte": "^2.27.1", 22 22 "jest": "^29.5.0", 23 23 "mdsvex": "^0.10.6", 24 24 "prettier": "^2.8.8", ··· 1794 1794 } 1795 1795 }, 1796 1796 "node_modules/@sveltejs/adapter-static": { 1797 - "version": "1.0.6", 1798 - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.6.tgz", 1799 - "integrity": "sha512-gTus2jW6bEQAZoT1MdmPHWZZmcb6dfLWc0r6dFHnbzSDZ68kifqQ1E+dZDOMF7aXeRV91sgnPuAn2MtpinVdlA==", 1797 + "version": "2.0.2", 1798 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-2.0.2.tgz", 1799 + "integrity": "sha512-9wYtf6s6ew7DHUHMrt55YpD1FgV7oWql2IGsW5BXquLxqcY9vjrqCFo0TzzDpo+ZPZkW/v77k0eOP6tsAb8HmQ==", 1800 1800 "dev": true, 1801 1801 "peerDependencies": { 1802 - "@sveltejs/kit": "^1.0.0" 1802 + "@sveltejs/kit": "^1.5.0" 1803 1803 } 1804 1804 }, 1805 1805 "node_modules/@sveltejs/kit": { ··· 1835 1835 } 1836 1836 }, 1837 1837 "node_modules/@sveltejs/package": { 1838 - "version": "1.0.2", 1839 - "resolved": "https://registry.npmjs.org/@sveltejs/package/-/package-1.0.2.tgz", 1840 - "integrity": "sha512-VY9U+05d9uNFDj7ScKRlHORYlfPSHwJewBjV+V2RsnViexpLFPUrboC9SiPYDCpLnbeqwXerxhO6twGHUBGeIA==", 1838 + "version": "2.0.2", 1839 + "resolved": "https://registry.npmjs.org/@sveltejs/package/-/package-2.0.2.tgz", 1840 + "integrity": "sha512-cCOCcO8yMHnhHyaR51nQtvKZ3o/vSU9UYI1EXLT1j2CKNPMuH1/g6JNwKcNNrtQGwwquudc69ZeYy8D/TDNwEw==", 1841 1841 "dev": true, 1842 1842 "dependencies": { 1843 1843 "chokidar": "^3.5.3", ··· 3144 3144 "eslint": ">=7.0.0" 3145 3145 } 3146 3146 }, 3147 - "node_modules/eslint-plugin-svelte3": { 3148 - "version": "4.0.0", 3149 - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-4.0.0.tgz", 3150 - "integrity": "sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==", 3147 + "node_modules/eslint-plugin-svelte": { 3148 + "version": "2.27.1", 3149 + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.27.1.tgz", 3150 + "integrity": "sha512-mGnJmT7YRx5YGGHPN7X8XBf43kiyAOrLSBmTq7zdzPhWusN7ZXlXSkiUgTgJsUessnYtpQlwQo2O508XOnRzNA==", 3151 3151 "dev": true, 3152 + "dependencies": { 3153 + "@eslint-community/eslint-utils": "^4.2.0", 3154 + "@jridgewell/sourcemap-codec": "^1.4.14", 3155 + "debug": "^4.3.1", 3156 + "esutils": "^2.0.3", 3157 + "known-css-properties": "^0.27.0", 3158 + "postcss": "^8.4.5", 3159 + "postcss-load-config": "^3.1.4", 3160 + "postcss-safe-parser": "^6.0.0", 3161 + "svelte-eslint-parser": "^0.27.0" 3162 + }, 3163 + "engines": { 3164 + "node": "^14.17.0 || >=16.0.0" 3165 + }, 3166 + "funding": { 3167 + "url": "https://github.com/sponsors/ota-meshi" 3168 + }, 3152 3169 "peerDependencies": { 3153 - "eslint": ">=8.0.0", 3154 - "svelte": "^3.2.0" 3170 + "eslint": "^7.0.0 || ^8.0.0-0", 3171 + "svelte": "^3.37.0" 3172 + }, 3173 + "peerDependenciesMeta": { 3174 + "svelte": { 3175 + "optional": true 3176 + } 3155 3177 } 3156 3178 }, 3157 3179 "node_modules/eslint-scope": { ··· 5763 5785 "node": ">=6" 5764 5786 } 5765 5787 }, 5788 + "node_modules/known-css-properties": { 5789 + "version": "0.27.0", 5790 + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", 5791 + "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", 5792 + "dev": true 5793 + }, 5766 5794 "node_modules/leven": { 5767 5795 "version": "3.1.0", 5768 5796 "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", ··· 5783 5811 }, 5784 5812 "engines": { 5785 5813 "node": ">= 0.8.0" 5814 + } 5815 + }, 5816 + "node_modules/lilconfig": { 5817 + "version": "2.1.0", 5818 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 5819 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 5820 + "dev": true, 5821 + "engines": { 5822 + "node": ">=10" 5786 5823 } 5787 5824 }, 5788 5825 "node_modules/lines-and-columns": { ··· 6319 6356 "node": "^10 || ^12 || >=14" 6320 6357 } 6321 6358 }, 6359 + "node_modules/postcss-load-config": { 6360 + "version": "3.1.4", 6361 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 6362 + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 6363 + "dev": true, 6364 + "dependencies": { 6365 + "lilconfig": "^2.0.5", 6366 + "yaml": "^1.10.2" 6367 + }, 6368 + "engines": { 6369 + "node": ">= 10" 6370 + }, 6371 + "funding": { 6372 + "type": "opencollective", 6373 + "url": "https://opencollective.com/postcss/" 6374 + }, 6375 + "peerDependencies": { 6376 + "postcss": ">=8.0.9", 6377 + "ts-node": ">=9.0.0" 6378 + }, 6379 + "peerDependenciesMeta": { 6380 + "postcss": { 6381 + "optional": true 6382 + }, 6383 + "ts-node": { 6384 + "optional": true 6385 + } 6386 + } 6387 + }, 6388 + "node_modules/postcss-safe-parser": { 6389 + "version": "6.0.0", 6390 + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", 6391 + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", 6392 + "dev": true, 6393 + "engines": { 6394 + "node": ">=12.0" 6395 + }, 6396 + "funding": { 6397 + "type": "opencollective", 6398 + "url": "https://opencollective.com/postcss/" 6399 + }, 6400 + "peerDependencies": { 6401 + "postcss": "^8.3.3" 6402 + } 6403 + }, 6322 6404 "node_modules/prelude-ls": { 6323 6405 "version": "1.2.1", 6324 6406 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", ··· 6938 7020 "svelte": "^3.55.0" 6939 7021 } 6940 7022 }, 7023 + "node_modules/svelte-eslint-parser": { 7024 + "version": "0.27.0", 7025 + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.27.0.tgz", 7026 + "integrity": "sha512-x9cBbCZwLdCnNE3yPqGhvAqEl9FCILC6AaV2xRtwzaMCpvpqO7ceONXj9xka3fQFczSqLzkwOxP4Ln4cIQNqXg==", 7027 + "dev": true, 7028 + "dependencies": { 7029 + "eslint-scope": "^7.0.0", 7030 + "eslint-visitor-keys": "^3.0.0", 7031 + "espree": "^9.0.0" 7032 + }, 7033 + "engines": { 7034 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 7035 + }, 7036 + "funding": { 7037 + "url": "https://github.com/sponsors/ota-meshi" 7038 + }, 7039 + "peerDependencies": { 7040 + "svelte": "^3.37.0" 7041 + }, 7042 + "peerDependenciesMeta": { 7043 + "svelte": { 7044 + "optional": true 7045 + } 7046 + } 7047 + }, 7048 + "node_modules/svelte-eslint-parser/node_modules/eslint-scope": { 7049 + "version": "7.2.0", 7050 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", 7051 + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", 7052 + "dev": true, 7053 + "dependencies": { 7054 + "esrecurse": "^4.3.0", 7055 + "estraverse": "^5.2.0" 7056 + }, 7057 + "engines": { 7058 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 7059 + }, 7060 + "funding": { 7061 + "url": "https://opencollective.com/eslint" 7062 + } 7063 + }, 7064 + "node_modules/svelte-eslint-parser/node_modules/estraverse": { 7065 + "version": "5.3.0", 7066 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 7067 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 7068 + "dev": true, 7069 + "engines": { 7070 + "node": ">=4.0" 7071 + } 7072 + }, 6941 7073 "node_modules/svelte-hmr": { 6942 7074 "version": "0.15.1", 6943 7075 "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz", ··· 7523 7655 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 7524 7656 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 7525 7657 "dev": true 7658 + }, 7659 + "node_modules/yaml": { 7660 + "version": "1.10.2", 7661 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 7662 + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 7663 + "dev": true, 7664 + "engines": { 7665 + "node": ">= 6" 7666 + } 7526 7667 }, 7527 7668 "node_modules/yargs": { 7528 7669 "version": "17.7.2",
+66 -7
package.json
··· 5 5 "type": "module", 6 6 "scripts": { 7 7 "dev": "vite dev", 8 - "build": "svelte-package && vite build", 9 - "build:package": "svelte-package", 10 - "build:site": "vite build", 8 + "build": "vite build && npm run package", 11 9 "preview": "vite preview", 12 - "lint": "prettier --check src *.js && eslint src *.js && svelte-check", 13 - "format": "prettier --write src *.js && eslint --fix src *.js", 10 + "package": "svelte-kit sync && svelte-package && publint", 11 + "prepublishOnly": "npm run package", 12 + "lint": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && eslint src && prettier --check src", 13 + "format": "prettier --write src && eslint --fix src", 14 14 "test": "jest tests", 15 15 "test:coverage": "jest --collect-coverage --collectCoverageFrom=src/lib/**" 16 16 }, 17 17 "devDependencies": { 18 - "@sveltejs/adapter-static": "^1.0.6", 18 + "@sveltejs/adapter-static": "^2.0.2", 19 19 "@sveltejs/kit": "^1.15.9", 20 - "@sveltejs/package": "^1.0.2", 20 + "@sveltejs/package": "^2.0.2", 21 21 "@typescript-eslint/eslint-plugin": "^5.59.1", 22 22 "@typescript-eslint/parser": "^5.59.1", 23 23 "babel-jest": "^29.5.0", ··· 38 38 }, 39 39 "peerDependencies": { 40 40 "svelte": "^3.24.0" 41 + }, 42 + "exports": { 43 + "./package.json": "./package.json", 44 + "./DateInput.svelte": { 45 + "types": "./dist/DateInput.svelte.d.ts", 46 + "svelte": "./dist/DateInput.svelte", 47 + "default": "./dist/DateInput.svelte" 48 + }, 49 + "./DatePicker.svelte": { 50 + "types": "./dist/DatePicker.svelte.d.ts", 51 + "svelte": "./dist/DatePicker.svelte", 52 + "default": "./dist/DatePicker.svelte" 53 + }, 54 + "./date-utils": { 55 + "types": "./dist/date-utils.d.ts", 56 + "default": "./dist/date-utils.js" 57 + }, 58 + ".": { 59 + "types": "./dist/index.d.ts", 60 + "svelte": "./dist/index.js", 61 + "default": "./dist/index.js" 62 + }, 63 + "./locale": { 64 + "types": "./dist/locale.d.ts", 65 + "default": "./dist/locale.js" 66 + }, 67 + "./parse": { 68 + "types": "./dist/parse.d.ts", 69 + "default": "./dist/parse.js" 70 + } 71 + }, 72 + "files": [ 73 + "dist", 74 + "!dist/**/*.test.*", 75 + "!dist/**/*.spec.*" 76 + ], 77 + "svelte": "./dist/index.js", 78 + "types": "./dist/index.d.ts", 79 + "typesVersions": { 80 + ">4.0": { 81 + "DateInput.svelte": [ 82 + "./dist/DateInput.svelte.d.ts" 83 + ], 84 + "DatePicker.svelte": [ 85 + "./dist/DatePicker.svelte.d.ts" 86 + ], 87 + "date-utils": [ 88 + "./dist/date-utils.d.ts" 89 + ], 90 + "index": [ 91 + "./dist/index.d.ts" 92 + ], 93 + "locale": [ 94 + "./dist/locale.d.ts" 95 + ], 96 + "parse": [ 97 + "./dist/parse.d.ts" 98 + ] 99 + } 41 100 }, 42 101 "license": "MIT", 43 102 "homepage": "https://date-picker-svelte.kasper.space",
+3 -4
src/lib/DateInput.svelte
··· 1 1 <script lang="ts"> 2 2 import { fly } from 'svelte/transition' 3 3 import { cubicInOut } from 'svelte/easing' 4 - import { toText } from './date-utils' 5 - import type { Locale } from './locale' 6 - import { parse, createFormat } from './parse' 7 - import type { FormatToken } from './parse' 4 + import { toText } from './date-utils.js' 5 + import type { Locale } from './locale.js' 6 + import { parse, createFormat, type FormatToken } from './parse.js' 8 7 import DateTimePicker from './DatePicker.svelte' 9 8 import { writable } from 'svelte/store' 10 9 import { createEventDispatcher } from 'svelte'
+5 -6
src/lib/DatePicker.svelte
··· 1 1 <script lang="ts"> 2 - import { getMonthLength, getCalendarDays } from './date-utils' 3 - import type { CalendarDay } from './date-utils' 4 - import { getInnerLocale } from './locale' 5 - import type { Locale } from './locale' 2 + import { getMonthLength, getCalendarDays, type CalendarDay } from './date-utils.js' 3 + import { getInnerLocale, type Locale } from './locale.js' 6 4 import { createEventDispatcher } from 'svelte' 7 5 8 6 const dispatch = createEventDispatcher<{ select: undefined }>() ··· 300 298 class="cell" 301 299 on:click={() => selectDay(calendarDay)} 302 300 class:disabled={!dayIsInRange(calendarDay, min, max)} 303 - class:selected={calendarDay.year === value?.getFullYear() && 304 - calendarDay.month === value?.getMonth() && 301 + class:selected={value && 302 + calendarDay.year === value.getFullYear() && 303 + calendarDay.month === value.getMonth() && 305 304 calendarDay.number === value.getDate()} 306 305 class:today={calendarDay.year === todayDate.getFullYear() && 307 306 calendarDay.month === todayDate.getMonth() &&
+1 -1
src/lib/date-utils.ts
··· 1 - import type { FormatToken } from './parse' 1 + import type { FormatToken } from './parse.js' 2 2 3 3 export function isLeapYear(year: number): boolean { 4 4 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0
+1 -2
src/lib/index.ts
··· 1 1 export { default as DatePicker } from './DatePicker.svelte' 2 2 export { default as DateInput } from './DateInput.svelte' 3 3 4 - export { localeFromDateFnsLocale } from './locale' 5 - export type { Locale } from './locale' 4 + export { localeFromDateFnsLocale, type Locale } from './locale.js'
+1 -1
src/lib/parse.ts
··· 1 - import { getMonthLength } from './date-utils' 1 + import { getMonthLength } from './date-utils.js' 2 2 3 3 type RuleToken = { 4 4 id: string
+1 -1
src/routes/DatePicker.svelte
··· 1 1 <script lang="ts"> 2 2 import DatePicker from '$lib/DatePicker.svelte' 3 - import { localeFromDateFnsLocale } from '$lib' 3 + import { localeFromDateFnsLocale } from '$lib/locale.js' 4 4 import Prop from './prop.svelte' 5 5 import Split from './split.svelte' 6 6
+1 -3
svelte.config.js
··· 3 3 import { vitePreprocess } from '@sveltejs/kit/vite' 4 4 5 5 /** @type {import('@sveltejs/kit').Config} */ 6 - const config = { 6 + export default { 7 7 extensions: ['.svelte', '.md'], 8 8 preprocess: [ 9 9 vitePreprocess(), ··· 18 18 }), 19 19 }, 20 20 } 21 - 22 - export default config
+3 -3
tests/test.ts
··· 1 1 import { describe, expect, test } from '@jest/globals' 2 2 import { nb } from 'date-fns/locale' 3 3 4 - import { getCalendarDays, getMonthDays, toText } from '../src/lib/date-utils' 5 - import { createFormat, parse } from '../src/lib/parse' 6 - import { getInnerLocale, localeFromDateFnsLocale } from '../src/lib/locale' 4 + import { getCalendarDays, getMonthDays, toText } from '../src/lib/date-utils.js' 5 + import { createFormat, parse } from '../src/lib/parse.js' 6 + import { getInnerLocale, localeFromDateFnsLocale } from '../src/lib/locale.js' 7 7 8 8 describe('date-utils', () => { 9 9 test('getMonthDays', () => {
+8 -1
tsconfig.json
··· 1 1 { 2 2 "extends": "./.svelte-kit/tsconfig.json", 3 3 "compilerOptions": { 4 + "allowJs": true, 5 + "checkJs": true, 6 + "esModuleInterop": true, 7 + "forceConsistentCasingInFileNames": true, 4 8 "resolveJsonModule": true, 5 - "strict": true 9 + "skipLibCheck": true, 10 + "sourceMap": true, 11 + "strict": true, 12 + "moduleResolution": "NodeNext" 6 13 } 7 14 }
-8
vite.config.js
··· 1 - import { sveltekit } from '@sveltejs/kit/vite' 2 - 3 - /** @type {import('vite').UserConfig} */ 4 - const config = { 5 - plugins: [sveltekit()], 6 - } 7 - 8 - export default config
+6
vite.config.ts
··· 1 + import { sveltekit } from '@sveltejs/kit/vite' 2 + import { defineConfig } from 'vite' 3 + 4 + export default defineConfig({ 5 + plugins: [sveltekit()], 6 + })