diff --git a/.gitea/workflows.publishToNpm.yaml b/.gitea/workflows/publishToNpm.yaml similarity index 94% rename from .gitea/workflows.publishToNpm.yaml rename to .gitea/workflows/publishToNpm.yaml index 61c704f..650d390 100644 --- a/.gitea/workflows.publishToNpm.yaml +++ b/.gitea/workflows/publishToNpm.yaml @@ -3,6 +3,7 @@ name: Publish to npm on: push: branches: + - main - dev jobs: @@ -26,7 +27,7 @@ jobs: id: package_name run: | if [ "${{ gitea.ref }}" == "refs/heads/main" ]; then - echo "PACKAGE_NAME=datenel-react" >> $GITEA_ENV + echo "PACKAGE_NAME=datenel-vue3" >> $GITEA_ENV echo "ACCESS_LEVEL=public" >> $GITEA_ENV elif [ "${{ gitea.ref }}" == "refs/heads/dev" ]; then echo "PACKAGE_NAME=@astrian/datenel-vue3-dev" >> $GITEA_ENV diff --git a/.gitignore b/.gitignore index a547bf3..17aba3b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +dist +dist_types diff --git a/package-lock.json b/package-lock.json index 3dfc3d6..b2ee8ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,12 @@ { "name": "datenel-vue3", - "version": "0.0.0", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "datenel-vue3", - "version": "0.0.0", - "dependencies": { - "vue": "^3.5.13" - }, + "version": "0.1.0", "devDependencies": { "@types/node": "^22.13.5", "@vitejs/plugin-vue": "^5.2.1", @@ -18,7 +15,11 @@ "sass-embedded": "^1.85.0", "typescript": "~5.7.2", "vite": "^6.1.0", + "vite-plugin-libcss": "^1.1.1", "vue-tsc": "^2.2.0" + }, + "peerDependencies": { + "vue": ">=3.5.13" } }, "node_modules/@babel/helper-string-parser": { @@ -922,6 +923,7 @@ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", "license": "MIT", + "peer": true, "dependencies": { "@vue/shared": "3.5.13" } @@ -931,6 +933,7 @@ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", "license": "MIT", + "peer": true, "dependencies": { "@vue/reactivity": "3.5.13", "@vue/shared": "3.5.13" @@ -941,6 +944,7 @@ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", "license": "MIT", + "peer": true, "dependencies": { "@vue/reactivity": "3.5.13", "@vue/runtime-core": "3.5.13", @@ -953,6 +957,7 @@ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13" @@ -1028,7 +1033,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/de-indent": { "version": "1.0.2", @@ -1818,6 +1824,19 @@ } } }, + "node_modules/vite-plugin-libcss": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-libcss/-/vite-plugin-libcss-1.1.1.tgz", + "integrity": "sha512-WAk6U9iYWMbcu7cdw4wACpVebZiLHMyyE9KTcBzzkTt1cnXj3a7loIoIGNblx+xMb9quPpO3iRbNTOnIFDzgmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^9.0.1" + }, + "peerDependencies": { + "vite": "*" + } + }, "node_modules/vscode-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", @@ -1830,6 +1849,7 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/compiler-sfc": "3.5.13", diff --git a/package.json b/package.json index ed2a41e..44eb3f4 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,15 @@ { "name": "datenel-vue3", - "private": true, - "version": "0.0.0", + "version": "0.1.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", + "prepare": "npm run build", "preview": "vite preview" }, - "dependencies": { - "vue": "^3.5.13" + "peerDependencies": { + "vue": ">=3.5.13" }, "devDependencies": { "@types/node": "^22.13.5", @@ -19,6 +19,20 @@ "sass-embedded": "^1.85.0", "typescript": "~5.7.2", "vite": "^6.1.0", + "vite-plugin-libcss": "^1.1.1", "vue-tsc": "^2.2.0" - } + }, + "exports": { + "types": "./dist_types/src/index.d.ts", + "import": "./dist/datenel-vue3.js", + "require": "./dist/datenel-vue3.umd.cjs", + "default": "./dist/datenel-vue3.umd.cjs" + }, + "main": "dist/datenel-vue3.umd.cjs", + "module": "dist/datenel-vue3.js", + "types": "dist_types/src/index.d.ts", + "files": [ + "dist", + "dist_types" + ] } diff --git a/playground/App.vue b/playground/App.vue index 7811519..b2c413b 100644 --- a/playground/App.vue +++ b/playground/App.vue @@ -1,14 +1,10 @@ diff --git a/src/components/SingleDatePicker.vue b/src/components/SingleDatePicker.vue index 15f6a99..13e6896 100644 --- a/src/components/SingleDatePicker.vue +++ b/src/components/SingleDatePicker.vue @@ -1,239 +1,251 @@ + + diff --git a/src/components/SingleWeekPicker.vue b/src/components/SingleWeekPicker.vue new file mode 100644 index 0000000..e6f2925 --- /dev/null +++ b/src/components/SingleWeekPicker.vue @@ -0,0 +1,276 @@ + + + + + + + \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 6be0d3d..642d542 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1 +1,2 @@ -export { default as SingleDatePicker } from './components/SingleDatePicker.vue' \ No newline at end of file +export { default as SingleDatePicker } from './components/SingleDatePicker.vue' +export { default as SingleWeekPicker } from './components/SingleWeekPicker.vue' \ No newline at end of file diff --git a/src/utils/calculateWeekNum.ts b/src/utils/calculateWeekNum.ts index 35e5428..034708a 100644 --- a/src/utils/calculateWeekNum.ts +++ b/src/utils/calculateWeekNum.ts @@ -5,7 +5,6 @@ export default (date: Date): { weekYear: number, weekNum: number } => { tempDate.setDate(tempDate.getDate() + 4 - (tempDate.getDay() || 7)) const forthDay = new Date(tempDate.getFullYear(), 0, 4) - console.log(forthDay) forthDay.setDate(forthDay.getDate() + 4 - (forthDay.getDay() || 7)) const diffInDays = Math.floor((tempDate.getTime() - forthDay.getTime()) / (24 * 60 * 60 * 1000)) diff --git a/tsconfig.app.json b/tsconfig.app.json index df2685c..d27b36e 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -13,7 +13,9 @@ "resolveJsonModule": true, "esModuleInterop": true, "lib": ["esnext", "DOM", "dom.iterable", "scripthost"], - "skipLibCheck": true + "skipLibCheck": true, + "declaration": true, + "emitDeclarationOnly": true, }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "playground/**/*.ts", "playground/**/*.d.ts", "playground/**/*.tsx", "playground/**/*.vue"] } \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 2f72f1e..810a715 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,11 @@ import { defineConfig } from 'vite' import { fileURLToPath, URL } from 'node:url' import vue from '@vitejs/plugin-vue' +import libCss from 'vite-plugin-libcss' // https://vite.dev/config/ export default defineConfig(({ mode }) => ({ - plugins: [vue()], + plugins: [vue(), libCss()], build: { lib: { entry: fileURLToPath(new URL('src/index.ts', import.meta.url)),