diff --git a/.github/workflows/presenter.test.build.code.yml b/.github/workflows/presenter.test.build.code.yml index 675110e6c..3f8f803f0 100644 --- a/.github/workflows/presenter.test.build.code.yml +++ b/.github/workflows/presenter.test.build.code.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.3.0 - name: Check for presenter file changes - uses: dorny/paths-filter@v2.11.1 + uses: dorny/paths-filter@v3.0.0 id: changes with: token: ${{ github.token }} diff --git a/.github/workflows/presenter.test.build.docs.yml b/.github/workflows/presenter.test.build.docs.yml index 7b74ca27e..05a4ec228 100644 --- a/.github/workflows/presenter.test.build.docs.yml +++ b/.github/workflows/presenter.test.build.docs.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.3.0 - name: Check for presenter file changes - uses: dorny/paths-filter@v2.11.1 + uses: dorny/paths-filter@v3.0.0 id: changes with: token: ${{ github.token }} diff --git a/.github/workflows/presenter.test.build.storybook.yml b/.github/workflows/presenter.test.build.storybook.yml index 57e502bc7..1ba3247cf 100644 --- a/.github/workflows/presenter.test.build.storybook.yml +++ b/.github/workflows/presenter.test.build.storybook.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.3.0 - name: Check for presenter file changes - uses: dorny/paths-filter@v2.11.1 + uses: dorny/paths-filter@v3.0.0 id: changes with: token: ${{ github.token }} diff --git a/.github/workflows/presenter.test.lint.code.yml b/.github/workflows/presenter.test.lint.code.yml index 41378aef1..4c56d74aa 100644 --- a/.github/workflows/presenter.test.lint.code.yml +++ b/.github/workflows/presenter.test.lint.code.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.3.0 - name: Check for presenter file changes - uses: dorny/paths-filter@v2.11.1 + uses: dorny/paths-filter@v3.0.0 id: changes with: token: ${{ github.token }} diff --git a/.github/workflows/presenter.test.unit.code.yml b/.github/workflows/presenter.test.unit.code.yml index 20afce763..f2961a08f 100644 --- a/.github/workflows/presenter.test.unit.code.yml +++ b/.github/workflows/presenter.test.unit.code.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.3.0 - name: Check for presenter file changes - uses: dorny/paths-filter@v2.11.1 + uses: dorny/paths-filter@v3.0.0 id: changes with: token: ${{ github.token }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 48fdaf785..72457a2b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,54 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.1.0](https://github.com/dreammall-earth/dreammall.earth/compare/1.0.1...1.1.0) + +- refactor(presenter): rename products to produkte [`#214`](https://github.com/dreammall-earth/dreammall.earth/pull/214) +- fix(presenter): proper social preview [`#212`](https://github.com/dreammall-earth/dreammall.earth/pull/212) +- feat(presenter): vike per-page title [`#207`](https://github.com/dreammall-earth/dreammall.earth/pull/207) +- feat(presenter): design pages [`#206`](https://github.com/dreammall-earth/dreammall.earth/pull/206) +- feat(presenter): scss refactor [`#204`](https://github.com/dreammall-earth/dreammall.earth/pull/204) +- refactor(presenter): make input fields and checkbox reusable components [`#180`](https://github.com/dreammall-earth/dreammall.earth/pull/180) +- feat(presenter): automatic slider [`#205`](https://github.com/dreammall-earth/dreammall.earth/pull/205) +- refactor(presenter): improve naming conventions and folder structures [`#197`](https://github.com/dreammall-earth/dreammall.earth/pull/197) +- fix(backend): brevo response call fixes [`#203`](https://github.com/dreammall-earth/dreammall.earth/pull/203) +- feat(presenter): double opt in [`#188`](https://github.com/dreammall-earth/dreammall.earth/pull/188) +- chore(presenter): update boilerplate presenter 22.01.24 [`#198`](https://github.com/dreammall-earth/dreammall.earth/pull/198) +- chore(frontend): update packages 20 01 2024 [`#61`](https://github.com/dreammall-earth/dreammall.earth/pull/61) +- feat(presenter): improved social preview [`#186`](https://github.com/dreammall-earth/dreammall.earth/pull/186) +- fix(presenter): design fixes [`#178`](https://github.com/dreammall-earth/dreammall.earth/pull/178) +- feat(presenter): improve stories [`#179`](https://github.com/dreammall-earth/dreammall.earth/pull/179) +- docs(other): include browserstack reference as required by that service [`#181`](https://github.com/dreammall-earth/dreammall.earth/pull/181) +- feat(backend): double opt in [`#168`](https://github.com/dreammall-earth/dreammall.earth/pull/168) +- chore(presenter): update presenter from boilerplate [`#176`](https://github.com/dreammall-earth/dreammall.earth/pull/176) +- feat(presenter): increase coverage presenter [`#169`](https://github.com/dreammall-earth/dreammall.earth/pull/169) +- docs(frontend): fix readme [`#55`](https://github.com/dreammall-earth/dreammall.earth/pull/55) +- feat(frontend): stories [`#54`](https://github.com/dreammall-earth/dreammall.earth/pull/54) +- chore(frontend): update packages 13 01 2024 [`#53`](https://github.com/dreammall-earth/dreammall.earth/pull/53) +- feat(presenter): test response messages [`#167`](https://github.com/dreammall-earth/dreammall.earth/pull/167) +- feat(backend): database for newsletter double opt in [`#166`](https://github.com/dreammall-earth/dreammall.earth/pull/166) +- feat(presenter): snapshot testing [`#165`](https://github.com/dreammall-earth/dreammall.earth/pull/165) +- feat(frontend): snapshot tests [`#47`](https://github.com/dreammall-earth/dreammall.earth/pull/47) +- feat(frontend): test vike button [`#46`](https://github.com/dreammall-earth/dreammall.earth/pull/46) +- feat(frontend): build server [`#45`](https://github.com/dreammall-earth/dreammall.earth/pull/45) +- feat(frontend): utilize vike-navigate [`#44`](https://github.com/dreammall-earth/dreammall.earth/pull/44) +- fix(presenter): fix unit tests [`#161`](https://github.com/dreammall-earth/dreammall.earth/pull/161) +- chore(presenter): update packages [`#160`](https://github.com/dreammall-earth/dreammall.earth/pull/160) +- chore(frontend): update packages [`#43`](https://github.com/dreammall-earth/dreammall.earth/pull/43) +- refactor(presenter): utilize vike's client-side navigation [`#125`](https://github.com/dreammall-earth/dreammall.earth/pull/125) +- chore(presenter): update boilerplate presenter [`#134`](https://github.com/dreammall-earth/dreammall.earth/pull/134) +- fix(frontend): deleted unused debug handlers [`#35`](https://github.com/dreammall-earth/dreammall.earth/pull/35) +- Bump actions/checkout from 3 to 4 [`#33`](https://github.com/dreammall-earth/dreammall.earth/pull/33) +- chore(workflow): dependabot support [`#32`](https://github.com/dreammall-earth/dreammall.earth/pull/32) +- chore(frontend): apply vike fix [`#31`](https://github.com/dreammall-earth/dreammall.earth/pull/31) +- chore(frontend): package updates [`#30`](https://github.com/dreammall-earth/dreammall.earth/pull/30) +- fix(frontend): optimization [`#29`](https://github.com/dreammall-earth/dreammall.earth/pull/29) + #### [1.0.1](https://github.com/dreammall-earth/dreammall.earth/compare/1.0.0...1.0.1) +> 22 December 2023 + +- chore(release): 1.0.1 [`#133`](https://github.com/dreammall-earth/dreammall.earth/pull/133) - fix(presenter): fix invisible hamburger menu on Safari iOS [`#132`](https://github.com/dreammall-earth/dreammall.earth/pull/132) ### [1.0.0](https://github.com/dreammall-earth/dreammall.earth/compare/0.9.3...1.0.0) diff --git a/backend/package-lock.json b/backend/package-lock.json index 4acf89053..3de066c3c 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "boilerplate-backend", - "version": "1.0.1", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "boilerplate-backend", - "version": "1.0.1", + "version": "1.1.0", "license": "Apache-2.0", "dependencies": { "@apollo/server": "^4.9.5", diff --git a/backend/package.json b/backend/package.json index e5543e59c..88458929e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "boilerplate-backend", - "version": "1.0.1", + "version": "1.1.0", "description": "The IT4C Boilerplate for backends", "main": "build/index.ts", "repository": { diff --git a/backend/src/api/Brevo.spec.ts b/backend/src/api/Brevo.spec.ts index 20408747f..c32afe4a5 100644 --- a/backend/src/api/Brevo.spec.ts +++ b/backend/src/api/Brevo.spec.ts @@ -17,12 +17,12 @@ CONFIG.BREVO_NEWSLETTER_TEMPLATE_OPTIN = 3 CONFIG.BREVO_NEWSLETTER_LIST = 3 const mockSendTransacEmail = jest.fn().mockResolvedValue({ - response: { statusCode: 200 }, + response: { statusCode: 201 }, }) const mockSetApiKey = jest.fn() const mockCreateContact = jest.fn().mockResolvedValue({ - response: { statusCode: 200 }, + response: { statusCode: 201 }, }) const code = '1234567890abcdef' @@ -81,7 +81,7 @@ describe('Brevo', () => { mockSendTransacEmail .mockResolvedValueOnce({ response: { - statusCode: 200, + statusCode: 201, }, }) .mockRejectedValue({ @@ -122,7 +122,7 @@ describe('Brevo', () => { beforeAll(() => { mockSendTransacEmail.mockResolvedValue({ response: { - statusCode: 200, + statusCode: 201, }, }) }) @@ -344,7 +344,7 @@ describe('Brevo', () => { jest.clearAllMocks() mockSendTransacEmail.mockResolvedValue({ response: { - statusCode: 200, + statusCode: 201, }, }) }) @@ -373,7 +373,7 @@ describe('Brevo', () => { jest.clearAllMocks() mockSendTransacEmail.mockResolvedValue({ response: { - statusCode: 200, + statusCode: 201, }, }) }) @@ -546,7 +546,7 @@ describe('Brevo', () => { beforeAll(() => { mockCreateContact.mockResolvedValue({ response: { - statusCode: 200, + statusCode: 201, }, }) }) diff --git a/backend/src/api/Brevo.ts b/backend/src/api/Brevo.ts index 9353878b3..52699b042 100644 --- a/backend/src/api/Brevo.ts +++ b/backend/src/api/Brevo.ts @@ -153,7 +153,7 @@ export const subscribeToNewsletter = async ( try { const brevoResult = await apiInstance.sendTransacEmail(smtpEmailToClient) - if (brevoResult.response.statusCode === 200) { + if (brevoResult.response.statusCode === 201 || brevoResult.response.statusCode === 202) { await prisma.newsletterPreOptIn.update({ where: { id: params.id }, data: { brevoSuccessMail: new Date() }, @@ -196,7 +196,7 @@ export const confirmNewsletter = async (code: string): Promise => { try { const brevoResult = await apiInstance.createContact(contact) - if (brevoResult.response.statusCode === 200) { + if (brevoResult.response.statusCode === 201 || brevoResult.response.statusCode === 204) { const brevoSuccessDate = new Date() await prisma.newsletterPreOptIn.update({ where: { id: optin.id }, diff --git a/package-lock.json b/package-lock.json index d1bc66892..1d9ebc3ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dreammall.earth", - "version": "1.0.1", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dreammall.earth", - "version": "1.0.1", + "version": "1.1.0", "license": "Apache-2.0", "devDependencies": { "@vuepress/bundler-vite": "^2.0.0-rc.0", diff --git a/package.json b/package.json index 71e22cb95..44cd592aa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dreammall.earth", - "version": "1.0.1", + "version": "1.1.0", "description": "Dreammall.earth website & product page", "main": "build/index.js", "type": "module", diff --git a/presenter/.env.dist b/presenter/.env.dist index fff6eecab..5775e2cb3 100644 --- a/presenter/.env.dist +++ b/presenter/.env.dist @@ -2,5 +2,7 @@ PUBLIC_ENV__ENDPOINTS__GRAPHQL_URI=http://localhost:4000/ # META -PUBLIC_ENV__META__DEFAULT_TITLE="DreamMall" -PUBLIC_ENV__META__DEFAULT_DESCRIPTION="DreamMall Client" \ No newline at end of file +PUBLIC_ENV__META__BASE_URL="http://localhost:3000" +PUBLIC_ENV__META__DEFAULT_AUTHOR="DreamMall Verlag GbR" +PUBLIC_ENV__META__DEFAULT_DESCRIPTION="Deine Reichweite Erweitern Alle Möglichkeiten Miteinander Ausschöpfen Lebensqualität Leben" +PUBLIC_ENV__META__DEFAULT_TITLE="DreamMall" \ No newline at end of file diff --git a/presenter/.stylelintrc.json b/presenter/.stylelintrc.json index db51c9303..6e188d5fe 100644 --- a/presenter/.stylelintrc.json +++ b/presenter/.stylelintrc.json @@ -1,7 +1,10 @@ { "rules": { "selector-class-pattern": "^([a-z][a-z0-9]*)((--?|__)?[a-z0-9]+)*$", - "media-query-no-invalid": null + "media-query-no-invalid": null, + "at-rule-no-unknown": null, + "scss/at-rule-no-unknown": true, + "scss/load-no-partial-leading-underscore": null }, "extends": [ "stylelint-config-standard", diff --git a/presenter/README.md b/presenter/README.md index 731026d40..3db248f92 100644 --- a/presenter/README.md +++ b/presenter/README.md @@ -138,11 +138,6 @@ Where `xxx` refers to the folder and product part you want to use the boilerplat This mechanic was taken from this [source](https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318) -## TODO - -- [ ] tests -- [ ] responsive design - ## Known Problems - [ ] [Image flicker](https://github.com/vuetifyjs/vuetify/issues/18772) diff --git a/presenter/package-lock.json b/presenter/package-lock.json index eea0ebacb..839463ab5 100644 --- a/presenter/package-lock.json +++ b/presenter/package-lock.json @@ -1,12 +1,12 @@ { "name": "boilerplate-frontend", - "version": "1.0.1", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "boilerplate-frontend", - "version": "1.0.1", + "version": "1.1.0", "license": "Apache-2.0", "dependencies": { "@apollo/client": "^3.8.8", @@ -14,7 +14,7 @@ "@mdi/font": "^7.4.47", "@types/compression": "^1.7.5", "@types/express": "^4.17.21", - "@types/node": "^20.11.5", + "@types/node": "^20.11.8", "@vitejs/plugin-vue": "^5.0.3", "@vue/apollo-composable": "^4.0.0-beta.12", "@vue/apollo-option": "^4.0.0-beta.12", @@ -32,11 +32,11 @@ "ts-node": "^10.9.2", "typescript": "^5.3.3", "validator": "^13.11.0", - "vike": "^0.4.158", + "vike": "^0.4.160", "vite": "^5.0.12", "vue": "^3.4.15", "vue-i18n": "^9.9.0", - "vuetify": "^3.5.0" + "vuetify": "^3.5.1" }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.1.0", @@ -50,12 +50,12 @@ "@storybook/vue3": "^7.6.10", "@storybook/vue3-vite": "^7.6.10", "@types/validator": "^13.11.7", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", - "@vitest/coverage-v8": "^1.2.1", - "@vue/test-utils": "^2.4.3", - "@vuepress/bundler-vite": "^2.0.0-rc.0", - "chromatic": "^10.3.1", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", + "@vitest/coverage-v8": "^1.2.2", + "@vue/test-utils": "^2.4.4", + "@vuepress/bundler-vite": "^2.0.0-rc.2", + "chromatic": "^10.6.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", @@ -70,7 +70,7 @@ "eslint-plugin-vue": "^9.20.1", "eslint-plugin-vuetify": "^2.1.1", "eslint-plugin-yml": "^1.12.2", - "happy-dom": "^13.2.0", + "happy-dom": "^13.3.1", "mock-apollo-client": "^1.2.1", "prettier": "^3.2.4", "react": "^18.2.0", @@ -91,7 +91,7 @@ "vite-plugin-checker": "^0.6.2", "vite-plugin-compression": "^0.5.1", "vite-plugin-vuetify": "^2.0.1", - "vitest": "^1.2.1", + "vitest": "^1.2.2", "vue-tsc": "^1.8.27", "vuepress": "^2.0.0-rc.0" } @@ -5147,10 +5147,114 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.4.1.tgz", - "integrity": "sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", "cpu": [ "x64" ], @@ -5161,9 +5265,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.4.1.tgz", - "integrity": "sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", "cpu": [ "x64" ], @@ -5173,6 +5277,45 @@ "linux" ] }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sideway/address": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", @@ -7540,9 +7683,9 @@ "dev": true }, "node_modules/@types/markdown-it": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.6.tgz", - "integrity": "sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==", + "version": "13.0.7", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", + "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", "dev": true, "dependencies": { "@types/linkify-it": "*", @@ -7605,9 +7748,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", - "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "version": "20.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.8.tgz", + "integrity": "sha512-i7omyekpPTNdv4Jb/Rgqg0RU8YqLcNsI12quKSDkRXNfx7Wxdm6HhK1awT3xTgEkgxPn3bvnSpiEAc7a7Lpyow==", "dependencies": { "undici-types": "~5.26.4" } @@ -7759,16 +7902,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", - "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", + "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/type-utils": "6.19.1", + "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -7850,15 +7993,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", - "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", + "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4" }, "engines": { @@ -7901,13 +8044,13 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", + "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -7918,13 +8061,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", - "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", + "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/utils": "6.19.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -7968,9 +8111,9 @@ "dev": true }, "node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", + "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -7981,13 +8124,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", + "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -8065,17 +8208,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", + "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", "semver": "^7.5.4" }, "engines": { @@ -8123,12 +8266,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", + "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/types": "6.19.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -8158,9 +8301,9 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", - "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.2.tgz", + "integrity": "sha512-IHyKnDz18SFclIEEAHb9Y4Uxx0sPKC2VO1kdDCs1BF6Ip4S8rQprs971zIsooLUn7Afs71GRxWMWpkCGZpRMhw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -8208,13 +8351,13 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", - "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz", + "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==", "dev": true, "dependencies": { - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "chai": "^4.3.10" }, "funding": { @@ -8222,12 +8365,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", - "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz", + "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==", "dev": true, "dependencies": { - "@vitest/utils": "1.2.1", + "@vitest/utils": "1.2.2", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -8263,9 +8406,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", - "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz", + "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -8309,9 +8452,9 @@ "dev": true }, "node_modules/@vitest/spy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", - "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz", + "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -8321,9 +8464,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz", + "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -8558,9 +8701,9 @@ "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==" }, "node_modules/@vue/test-utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.3.tgz", - "integrity": "sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.4.tgz", + "integrity": "sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==", "dev": true, "dependencies": { "js-beautify": "^1.14.9", @@ -8577,44 +8720,435 @@ } }, "node_modules/@vuepress/bundler-vite": { - "version": "2.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.0.tgz", - "integrity": "sha512-rX8S8IYpqqlJfNPstS/joorpxXx/4WuE7+gDM31i2HUrxOKGZVzq8ZsRRRU2UdoTwHZSd3LpUS4sMtxE5xLK1A==", + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.2.tgz", + "integrity": "sha512-bjkn0krtucciUkGGdckCkGGg+wlv3Pj7s1lO/ChACLQncDwc3GgMTuMm0JyaCDKzTXE8sufjHHGWMftRL8qFOg==", "dev": true, "dependencies": { - "@vitejs/plugin-vue": "^4.5.0", - "@vuepress/client": "2.0.0-rc.0", - "@vuepress/core": "2.0.0-rc.0", - "@vuepress/shared": "2.0.0-rc.0", - "@vuepress/utils": "2.0.0-rc.0", - "autoprefixer": "^10.4.16", + "@vitejs/plugin-vue": "^5.0.3", + "@vuepress/client": "2.0.0-rc.2", + "@vuepress/core": "2.0.0-rc.2", + "@vuepress/shared": "2.0.0-rc.2", + "@vuepress/utils": "2.0.0-rc.2", + "autoprefixer": "^10.4.17", "connect-history-api-fallback": "^2.0.0", - "postcss": "^8.4.31", - "postcss-load-config": "^4.0.1", - "rollup": "^4.4.1", - "vite": "~5.0.0", - "vue": "^3.3.8", + "postcss": "^8.4.33", + "postcss-load-config": "^5.0.2", + "rollup": "^4.9.6", + "vite": "~5.0.12", + "vue": "^3.4.15", "vue-router": "^4.2.5" } }, - "node_modules/@vuepress/bundler-vite/node_modules/@vitejs/plugin-vue": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.0.tgz", - "integrity": "sha512-XHuyFdAikWRmHuAd89FOyUGIjrBU5KlxJtyi2hVeR9ySGFxQwE0bl5xAQju/ArMq5azdBivY4d+D2yPKwoYWUg==", + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-component": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-component/-/plugin-component-2.0.0.tgz", + "integrity": "sha512-cTRxlocav/+mfgDcp0P2z/gWuWBez+iNuN4D+b74LpX4AR6UAx2ZvWtCrUZ8VXrO4eCt1/G0YC/Af7mpIb3aoQ==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-2.0.0.tgz", + "integrity": "sha512-/LrT6E60QI4XV4mqx3J87hqYXlR7ZyMvndmftR2RGz7cRAwa/xL+kyFLlgrMxkBIKitOShKa3LS/9Ov9b0fU+g==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "gray-matter": "^4.0.3", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-headers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-headers/-/plugin-headers-2.0.0.tgz", + "integrity": "sha512-ITMMPCnLEYHHgj3XEUL2l75jsNn8guxNqr26YrMSi1f5zcgq4XVy1LIvfwvJ1puqM6Cc5v4BHk3oAyorAi7l1A==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "2.0.0", + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-sfc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-sfc/-/plugin-sfc-2.0.0.tgz", + "integrity": "sha512-OXrMXOyk0iwdIou2jRoIHIbjskwghkO14C9/OjgVHXSSX+iM/WQ4l4yi1aWmNlbQNjtP8IXcVAyJB9K0DFYmLg==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-title/-/plugin-title-2.0.0.tgz", + "integrity": "sha512-eqBoETPVkMXNLvwFshz/A2+Cz81VB5HEkXDm0tt6RBW/rTvnoWmGJ1Z+mvcjR5ck5W4nYdIyT68oHxX2JI2M4g==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "2.0.0", + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/plugin-toc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-toc/-/plugin-toc-2.0.0.tgz", + "integrity": "sha512-PKQ8sZna3D5chTnt2lxL+ddpyXd++6Nyc0l8VXCeDgStlySQwiP9jaLeeC88oqY4BtRu4cAmILmxDrvuX0Rrdg==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "2.0.0", + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/shared": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/shared/-/shared-2.0.0.tgz", + "integrity": "sha512-PdxpQpbyTazeo2JT87qms6RPZIzyJd+gwuB+1jSwLDI7+0u5g79y2XgTAbZromSVgY2f3UU5HWdwaLbV9w4uOw==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "2.0.0", + "@types/markdown-it": "^13.0.7", + "markdown-it": "^14.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@mdit-vue/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mdit-vue/types/-/types-2.0.0.tgz", + "integrity": "sha512-1BeEB+DbtmDMUAfvbNUj5Hso8cSl2sBVK2iTyOMAqhfDVLdh+/9+D0JmQHaCeUk/vuJoMhOwbweZvh55wHxm4w==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/@vuepress/client": { + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/client/-/client-2.0.0-rc.2.tgz", + "integrity": "sha512-gQ4CfBhzWYOCW4OcAUd6S8Jr9m/8UkZZuN/70t12GltbX/cdm6zrGnf89GiVjgvoK8+OYoc7luoBuWbyc/X5sg==", + "dev": true, + "dependencies": { + "@vue/devtools-api": "^6.5.1", + "@vuepress/shared": "2.0.0-rc.2", + "@vueuse/core": "^10.7.2", + "vue": "^3.4.15", + "vue-router": "^4.2.5" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@vuepress/core": { + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-2.0.0-rc.2.tgz", + "integrity": "sha512-C/bHG0y+v5oeCrfaesy2yFa0dyCah05g1w7vArZk8ABsVECjZKAC5/ev39UFQm2dCdNzsj2E3KgLIxYWqpcKeg==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-rc.2", + "@vuepress/markdown": "2.0.0-rc.2", + "@vuepress/shared": "2.0.0-rc.2", + "@vuepress/utils": "2.0.0-rc.2", + "vue": "^3.4.15" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@vuepress/markdown": { + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-2.0.0-rc.2.tgz", + "integrity": "sha512-5/RmJnap+MGKxDhSO+Mv6zB8PoPHhhBujnNKKO3PnyfPrj0LyL0AuTm8m3Ea271wMp9956WINjw8jlpn+Z1sBg==", + "dev": true, + "dependencies": { + "@mdit-vue/plugin-component": "^2.0.0", + "@mdit-vue/plugin-frontmatter": "^2.0.0", + "@mdit-vue/plugin-headers": "^2.0.0", + "@mdit-vue/plugin-sfc": "^2.0.0", + "@mdit-vue/plugin-title": "^2.0.0", + "@mdit-vue/plugin-toc": "^2.0.0", + "@mdit-vue/shared": "^2.0.0", + "@mdit-vue/types": "^2.0.0", + "@types/markdown-it": "^13.0.7", + "@types/markdown-it-emoji": "^2.0.4", + "@vuepress/shared": "2.0.0-rc.2", + "@vuepress/utils": "2.0.0-rc.2", + "markdown-it": "^14.0.0", + "markdown-it-anchor": "^8.6.7", + "markdown-it-emoji": "^3.0.0", + "mdurl": "^2.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@vuepress/shared": { + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/shared/-/shared-2.0.0-rc.2.tgz", + "integrity": "sha512-2kmm0rw+WalRWrSC5pW0TXRz8Wyuh57XmOZEUOhPOflw4o8Dno+PcaWbdOZ/TLkTgTt3X1n7r1/c1ALtaLta8g==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "^2.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/@vuepress/utils": { + "version": "2.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@vuepress/utils/-/utils-2.0.0-rc.2.tgz", + "integrity": "sha512-g93yFJKtztpdXm4XyOIQ9QcUrKuvuWizvH3qWDQ5/WKlxa6VqE7nVNPlkudgGUIc7Bl4AGrlHcmgvkwaNoMcfA==", + "dev": true, + "dependencies": { + "@types/debug": "^4.1.12", + "@types/fs-extra": "^11.0.4", + "@types/hash-sum": "^1.0.2", + "@vuepress/shared": "2.0.0-rc.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0", + "globby": "^14.0.0", + "hash-sum": "^2.0.0", + "ora": "^8.0.1", + "picocolors": "^1.0.0", + "upath": "^2.0.1" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "peerDependencies": { - "vite": "^4.0.0 || ^5.0.0", - "vue": "^3.2.25" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/is-unicode-supported": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/markdown-it": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", + "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.0.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/markdown-it-emoji": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz", + "integrity": "sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite/node_modules/ora": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.0.1.tgz", + "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==", + "dev": true, + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@vuepress/bundler-vite/node_modules/rollup": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.4.1.tgz", - "integrity": "sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, @@ -8623,21 +9157,69 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.4.1", - "@rollup/rollup-android-arm64": "4.4.1", - "@rollup/rollup-darwin-arm64": "4.4.1", - "@rollup/rollup-darwin-x64": "4.4.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.4.1", - "@rollup/rollup-linux-arm64-gnu": "4.4.1", - "@rollup/rollup-linux-arm64-musl": "4.4.1", - "@rollup/rollup-linux-x64-gnu": "4.4.1", - "@rollup/rollup-linux-x64-musl": "4.4.1", - "@rollup/rollup-win32-arm64-msvc": "4.4.1", - "@rollup/rollup-win32-ia32-msvc": "4.4.1", - "@rollup/rollup-win32-x64-msvc": "4.4.1", + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", "fsevents": "~2.3.2" } }, + "node_modules/@vuepress/bundler-vite/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vuepress/bundler-vite/node_modules/uc.micro": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.0.0.tgz", + "integrity": "sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==", + "dev": true + }, "node_modules/@vuepress/cli": { "version": "2.0.0-rc.0", "resolved": "https://registry.npmjs.org/@vuepress/cli/-/cli-2.0.0-rc.0.tgz", @@ -9207,14 +9789,14 @@ } }, "node_modules/@vueuse/core": { - "version": "10.6.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", - "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.2.tgz", + "integrity": "sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==", "dev": true, "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.6.1", - "@vueuse/shared": "10.6.1", + "@vueuse/metadata": "10.7.2", + "@vueuse/shared": "10.7.2", "vue-demi": ">=0.14.6" }, "funding": { @@ -9222,18 +9804,18 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.6.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", - "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz", + "integrity": "sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.6.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", - "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz", + "integrity": "sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==", "dev": true, "dependencies": { "vue-demi": ">=0.14.6" @@ -9938,9 +10520,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", "dev": true, "funding": [ { @@ -9957,9 +10539,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -10587,9 +11169,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001571", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", - "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", + "version": "1.0.30001580", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz", + "integrity": "sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==", "funding": [ { "type": "opencollective", @@ -10737,14 +11319,26 @@ } }, "node_modules/chromatic": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-10.3.1.tgz", - "integrity": "sha512-IHczKH3K3vVeZGE3XyCy/T8EQH2mGUEyQ9QUuULrWlYCfo760cnzehdTjrpuIUetkHtv7noA5Hmn6joQlz3Ufw==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-10.6.1.tgz", + "integrity": "sha512-bd4C5sEEtN83uUmbc4Fu+x7+lJIPdMUdu4D6HRDQEIDl/Tatc8+By4bZluH1pzg/MbP9vllkL6Ua9vF4EEA7VA==", "dev": true, "bin": { "chroma": "dist/bin.js", "chromatic": "dist/bin.js", "chromatic-cli": "dist/bin.js" + }, + "peerDependencies": { + "chromatic-cypress": "^0.4.0 || ^1.0.0", + "chromatic-playwright": "^0.4.0 || ^1.0.0" + }, + "peerDependenciesMeta": { + "chromatic-cypress": { + "optional": true + }, + "chromatic-playwright": { + "optional": true + } } }, "node_modules/chrome-trace-event": { @@ -10808,9 +11402,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { "node": ">=6" @@ -14202,6 +14796,18 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-func-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", @@ -14555,9 +15161,9 @@ } }, "node_modules/happy-dom": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-13.2.0.tgz", - "integrity": "sha512-aeFD9M5d1sN618nOpWy/76IiU5/UJxdYydPdzpXxEn4r7MQByrmtoH1iU9v8v9bJJ0fMte6OAMy6rDD/mGawfg==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-13.3.1.tgz", + "integrity": "sha512-KIlztn+nRWstprUyI3Wzy1UJrg72uOaoo4SaBLNrV6xrn2Rq86eQruKOL7ZyDhkfou3nEZX6rgRYtvsqwMInvQ==", "dev": true, "dependencies": { "entities": "^4.5.0", @@ -17456,12 +18062,12 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/lines-and-columns": { @@ -21238,30 +21844,36 @@ "peer": true }, "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.2.tgz", + "integrity": "sha512-Q8QR3FYbqOKa0bnC1UQ2bFq9/ulHX5Bi34muzitMr8aDtUelO5xKeJEYC/5smE0jNE9zdB/NBnOwXKexELbRlw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 18" }, "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" + "jiti": ">=1.21.0", + "postcss": ">=8.0.9" }, "peerDependenciesMeta": { - "postcss": { + "jiti": { "optional": true }, - "ts-node": { + "postcss": { "optional": true } } @@ -21698,6 +22310,15 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/puppeteer-core": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", @@ -31336,9 +31957,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true, "engines": { "node": ">=14.0.0" @@ -32783,9 +33404,9 @@ "dev": true }, "node_modules/vike": { - "version": "0.4.158", - "resolved": "https://registry.npmjs.org/vike/-/vike-0.4.158.tgz", - "integrity": "sha512-/iSbqRI11iephkcgXZo46UOBZc4EaUzw6s2S98oG2S//bo6XwzFVSq9v3jFgfmrdTOcOt9cEx2Gxh0wjzbv+/A==", + "version": "0.4.160", + "resolved": "https://registry.npmjs.org/vike/-/vike-0.4.160.tgz", + "integrity": "sha512-sC+MR1gkY/wgPSbVOlc05PF429CSja3Cc5Ps7+vgccsIH5fhRTm8gS6TwmEK130stK0xauiS2hK9T7BvFTv5rA==", "dependencies": { "@brillout/import": "^0.2.3", "@brillout/json-serializer": "^0.5.8", @@ -32871,9 +33492,9 @@ } }, "node_modules/vite-node": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", - "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz", + "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -33127,6 +33748,90 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "devOptional": true }, + "node_modules/vite/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.1.tgz", + "integrity": "sha512-YaN43wTyEBaMqLDYeze+gQ4ZrW5RbTEGtT5o1GVDkhpdNcsLTnLRcLccvwy3E9wiDKWg9RIhuoy3JQKDRBfaZA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-android-arm64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.1.tgz", + "integrity": "sha512-n1bX+LCGlQVuPlCofO0zOKe1b2XkFozAVRoczT+yxWZPGnkEAKTTYVOGZz8N4sKuBnKMxDbfhUsB1uwYdup/sw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.1.tgz", + "integrity": "sha512-QqJBumdvfBqBBmyGHlKxje+iowZwrHna7pokj/Go3dV1PJekSKfmjKrjKQ/e6ESTGhkfPNLq3VXdYLAc+UtAQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.1.tgz", + "integrity": "sha512-RrkDNkR/P5AEQSPkxQPmd2ri8WTjSl0RYmuFOiEABkEY/FSg0a4riihWQGKDJ4LnV9gigWZlTMx2DtFGzUrYQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.1.tgz", + "integrity": "sha512-ZFPxvUZmE+fkB/8D9y/SWl/XaDzNSaxd1TJUSE27XAKlRpQ2VNce/86bGd9mEUgL3qrvjJ9XTGwoX0BrJkYK/A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.1.tgz", + "integrity": "sha512-FEuAjzVIld5WVhu+M2OewLmjmbXWd3q7Zcx+Rwy4QObQCqfblriDMMS7p7+pwgjZoo9BLkP3wa9uglQXzsB9ww==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.1.tgz", + "integrity": "sha512-f5Gs8WQixqGRtI0Iq/cMqvFYmgFzMinuJO24KRfnv7Ohi/HQclwrBCYkzQu1XfLEEt3DZyvveq9HWo4bLJf1Lw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/vite/node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.1.tgz", @@ -33151,6 +33856,42 @@ "linux" ] }, + "node_modules/vite/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.1.tgz", + "integrity": "sha512-ihqfNJNb2XtoZMSCPeoo0cYMgU04ksyFIoOw5S0JUVbOhafLot+KD82vpKXOurE2+9o/awrqIxku9MRR9hozHQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.1.tgz", + "integrity": "sha512-zK9MRpC8946lQ9ypFn4gLpdwr5a01aQ/odiIJeL9EbgZDMgbZjjT/XzTqJvDfTmnE1kHdbG20sAeNlpc91/wbg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.1.tgz", + "integrity": "sha512-5I3Nz4Sb9TYOtkRwlH0ow+BhMH2vnh38tZ4J4mggE48M/YyJyp/0sPSxhw1UeS1+oBgQ8q7maFtSeKpeRJu41Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/vite/node_modules/rollup": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.5.1.tgz", @@ -33179,16 +33920,16 @@ } }, "node_modules/vitest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", - "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz", + "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==", "dev": true, "dependencies": { - "@vitest/expect": "1.2.1", - "@vitest/runner": "1.2.1", - "@vitest/snapshot": "1.2.1", - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", + "@vitest/expect": "1.2.2", + "@vitest/runner": "1.2.2", + "@vitest/snapshot": "1.2.2", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "acorn-walk": "^8.3.2", "cac": "^6.7.14", "chai": "^4.3.10", @@ -33201,9 +33942,9 @@ "std-env": "^3.5.0", "strip-literal": "^1.3.0", "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.2.1", + "vite-node": "1.2.2", "why-is-node-running": "^2.2.2" }, "bin": { @@ -33882,6 +34623,40 @@ "vue": "^3.3.4" } }, + "node_modules/vuepress-vite/node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vuepress-vite/node_modules/@vuepress/bundler-vite": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.0.tgz", + "integrity": "sha512-rX8S8IYpqqlJfNPstS/joorpxXx/4WuE7+gDM31i2HUrxOKGZVzq8ZsRRRU2UdoTwHZSd3LpUS4sMtxE5xLK1A==", + "dev": true, + "dependencies": { + "@vitejs/plugin-vue": "^4.5.0", + "@vuepress/client": "2.0.0-rc.0", + "@vuepress/core": "2.0.0-rc.0", + "@vuepress/shared": "2.0.0-rc.0", + "@vuepress/utils": "2.0.0-rc.0", + "autoprefixer": "^10.4.16", + "connect-history-api-fallback": "^2.0.0", + "postcss": "^8.4.31", + "postcss-load-config": "^4.0.1", + "rollup": "^4.4.1", + "vite": "~5.0.0", + "vue": "^3.3.8", + "vue-router": "^4.2.5" + } + }, "node_modules/vuepress-vite/node_modules/@vuepress/theme-default": { "version": "2.0.0-rc.0", "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-2.0.0-rc.0.tgz", @@ -33916,6 +34691,73 @@ } } }, + "node_modules/vuepress-vite/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/vuepress-vite/node_modules/rollup": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", + "fsevents": "~2.3.2" + } + }, "node_modules/vuepress-vite/node_modules/sass-loader": { "version": "13.3.3", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", @@ -33956,9 +34798,9 @@ } }, "node_modules/vuetify": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.5.0.tgz", - "integrity": "sha512-zpZFZoJE9c8QlHc8s9zowKzMUTjytdzz2PQpZPezVENm0Jp+KBi+KooZGxvj7l+YfeFdKOcSjht7nEptSSMPMg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.5.1.tgz", + "integrity": "sha512-fkhU4UFnX/lBARXg+n9mBCDPTaEDHoYGx9SZ5A/1LlzM7LohoqldmrNgza4WgpPTLIWqr6NvYp2NvT2IrcTfhg==", "engines": { "node": "^12.20 || >=14.13" }, diff --git a/presenter/package.json b/presenter/package.json index c7e318ed9..052621d89 100644 --- a/presenter/package.json +++ b/presenter/package.json @@ -1,6 +1,6 @@ { "name": "boilerplate-frontend", - "version": "1.0.1", + "version": "1.1.0", "description": "The IT4C Boilerplate for frontends", "main": "build/index.cjs", "type": "module", @@ -66,7 +66,7 @@ "@mdi/font": "^7.4.47", "@types/compression": "^1.7.5", "@types/express": "^4.17.21", - "@types/node": "^20.11.5", + "@types/node": "^20.11.8", "@vitejs/plugin-vue": "^5.0.3", "@vue/apollo-composable": "^4.0.0-beta.12", "@vue/apollo-option": "^4.0.0-beta.12", @@ -84,11 +84,11 @@ "ts-node": "^10.9.2", "typescript": "^5.3.3", "validator": "^13.11.0", - "vike": "^0.4.158", + "vike": "^0.4.160", "vite": "^5.0.12", "vue": "^3.4.15", "vue-i18n": "^9.9.0", - "vuetify": "^3.5.0" + "vuetify": "^3.5.1" }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.1.0", @@ -102,12 +102,12 @@ "@storybook/vue3": "^7.6.10", "@storybook/vue3-vite": "^7.6.10", "@types/validator": "^13.11.7", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", - "@vitest/coverage-v8": "^1.2.1", - "@vue/test-utils": "^2.4.3", - "@vuepress/bundler-vite": "^2.0.0-rc.0", - "chromatic": "^10.3.1", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", + "@vitest/coverage-v8": "^1.2.2", + "@vue/test-utils": "^2.4.4", + "@vuepress/bundler-vite": "^2.0.0-rc.2", + "chromatic": "^10.6.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", @@ -122,7 +122,7 @@ "eslint-plugin-vue": "^9.20.1", "eslint-plugin-vuetify": "^2.1.1", "eslint-plugin-yml": "^1.12.2", - "happy-dom": "^13.2.0", + "happy-dom": "^13.3.1", "mock-apollo-client": "^1.2.1", "prettier": "^3.2.4", "react": "^18.2.0", @@ -143,7 +143,7 @@ "vite-plugin-checker": "^0.6.2", "vite-plugin-compression": "^0.5.1", "vite-plugin-vuetify": "^2.0.1", - "vitest": "^1.2.1", + "vitest": "^1.2.2", "vue-tsc": "^1.8.27", "vuepress": "^2.0.0-rc.0" }, diff --git a/presenter/renderer/+config.h.ts b/presenter/renderer/+config.h.ts index 5e4c76541..ceabba4d1 100644 --- a/presenter/renderer/+config.h.ts +++ b/presenter/renderer/+config.h.ts @@ -3,4 +3,14 @@ export default { clientRouting: true, prefetchStaticAssets: 'viewport', passToClient: ['pageProps', /* 'urlPathname', */ 'routeParams'], + meta: { + title: { + // Make the value of `title` available on both the server- and client-side + env: { server: true, client: true }, + }, + description: { + // Make the value of `description` available only on the server-side + env: { server: true }, + }, + }, } diff --git a/presenter/renderer/+onRenderClient.ts b/presenter/renderer/+onRenderClient.ts index 825c8c1e9..bf3c3573a 100644 --- a/presenter/renderer/+onRenderClient.ts +++ b/presenter/renderer/+onRenderClient.ts @@ -1,15 +1,18 @@ -import { createApp } from './app' +import { PageContext } from 'vike/types' -import type { PageContext, VikePageContext } from '#types/PageContext' +import { createApp } from './app' +import { getTitle } from './utils' let instance: ReturnType -/* async */ function render(pageContext: VikePageContext & PageContext) { +/* async */ function render(pageContext: PageContext) { if (!instance) { instance = createApp(pageContext) instance.app.mount('#app') } else { instance.app.changePage(pageContext) } + + document.title = getTitle(pageContext) } export default render diff --git a/presenter/renderer/+onRenderHtml.ts b/presenter/renderer/+onRenderHtml.ts index 6c1694014..531125a3c 100644 --- a/presenter/renderer/+onRenderHtml.ts +++ b/presenter/renderer/+onRenderHtml.ts @@ -1,14 +1,15 @@ import { renderToString as renderToString_ } from '@vue/server-renderer' import { escapeInject, dangerouslySkipEscape } from 'vike/server' +import { PageContext, PageContextServer } from 'vike/types' import { resolveComponent } from 'vue' import logoUrl from '#assets/favicon.ico' -import image from '#assets/img/dreammall-logo_social.svg' +import image from '#assets/img/dreammall-logo_social.png' import { META } from '#src/env' import { createApp } from './app' +import { getDescription, getTitle } from './utils' -import type { PageContextServer, PageContext } from '#types/PageContext' import type { App } from 'vue' // this fixes a warning which occurs when building @@ -24,9 +25,8 @@ async function render(pageContext: PageContextServer & PageContext) { const appHtml = await renderToString(app) // See https://vike.dev/head - const { documentProps } = pageContext.exports - const title = (documentProps && documentProps.title) || META.DEFAULT_TITLE - const desc = (documentProps && documentProps.description) || META.DEFAULT_DESCRIPTION + const title = getTitle(pageContext) + const description = getDescription(pageContext) const documentHtml = escapeInject` @@ -34,10 +34,23 @@ async function render(pageContext: PageContextServer & PageContext) { - - + + + + + + + + + + + + + + + ${title} diff --git a/presenter/renderer/app.ts b/presenter/renderer/app.ts index 1e6e3b9ed..21916c354 100644 --- a/presenter/renderer/app.ts +++ b/presenter/renderer/app.ts @@ -1,5 +1,6 @@ import { DefaultApolloClient } from '@vue/apollo-composable' import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' +import { PageContext } from 'vike/types' import { createSSRApp, defineComponent, h, markRaw, reactive, Component, provide } from 'vue' import PageShell from '#components/PageShell.vue' @@ -9,11 +10,9 @@ import i18n from '#plugins/i18n' import pinia from '#plugins/pinia' import CreateVuetify from '#plugins/vuetify' -import type { PageContext, VikePageContext } from '#types/PageContext' - const vuetify = CreateVuetify(i18n) -function createApp(pageContext: VikePageContext & PageContext, isClient = true) { +function createApp(pageContext: PageContext, isClient = true) { // eslint-disable-next-line no-use-before-define let rootComponent: InstanceType const PageWithWrapper = defineComponent({ @@ -52,7 +51,7 @@ function createApp(pageContext: VikePageContext & PageContext, isClient = true) app.use(vuetify) objectAssign(app, { - changePage: (pageContext: VikePageContext & PageContext) => { + changePage: (pageContext: PageContext) => { Object.assign(pageContextReactive, pageContext) rootComponent.Page = markRaw(pageContext.Page) rootComponent.pageProps = markRaw(pageContext.pageProps || {}) diff --git a/presenter/renderer/context/usePageContext.ts b/presenter/renderer/context/usePageContext.ts index 103e2bab3..abcb2fad9 100644 --- a/presenter/renderer/context/usePageContext.ts +++ b/presenter/renderer/context/usePageContext.ts @@ -1,13 +1,12 @@ // `usePageContext` allows us to access `pageContext` in any Vue component. // See https://vike.dev/pageContext-anywhere +import { PageContext } from 'vike/types' import { inject } from 'vue' -import { PageContext, VikePageContext } from '#types/PageContext' - import type { App, InjectionKey } from 'vue' -export const vikePageContext: InjectionKey = Symbol('pageContext') +export const vikePageContext: InjectionKey = Symbol('pageContext') function usePageContext() { const pageContext = inject(vikePageContext) @@ -15,7 +14,7 @@ function usePageContext() { return pageContext } -function setPageContext(app: App, pageContext: VikePageContext & PageContext) { +function setPageContext(app: App, pageContext: PageContext) { app.provide(vikePageContext, pageContext) } diff --git a/presenter/renderer/utils.ts b/presenter/renderer/utils.ts new file mode 100644 index 000000000..72833d5e3 --- /dev/null +++ b/presenter/renderer/utils.ts @@ -0,0 +1,19 @@ +import { PageContext } from 'vike/types' + +import { META } from '#src/env' + +function getTitle(pageContext: PageContext) { + // The value exported by /pages/**/+title.js is available at pageContext.config.title + const val = pageContext.config.title + if (typeof val === 'string') return val + if (typeof val === 'function') return String(val(pageContext)) + return META.DEFAULT_TITLE +} +function getDescription(pageContext: PageContext) { + const val = pageContext.config.description + if (typeof val === 'string') return val + if (typeof val === 'function') return val(pageContext) + return META.DEFAULT_DESCRIPTION +} + +export { getTitle, getDescription } diff --git a/presenter/scripts/tests/mock.IntersectionObserver.ts b/presenter/scripts/tests/mock.IntersectionObserver.ts index b6e3bdff9..037fec155 100644 --- a/presenter/scripts/tests/mock.IntersectionObserver.ts +++ b/presenter/scripts/tests/mock.IntersectionObserver.ts @@ -29,3 +29,4 @@ export function setupIntersectionObserverMock({ value: MockIntersectionObserver, }) } +setupIntersectionObserverMock() diff --git a/presenter/src/assets/img/dreammall-logo_social.png b/presenter/src/assets/img/dreammall-logo_social.png new file mode 100644 index 000000000..c50312462 Binary files /dev/null and b/presenter/src/assets/img/dreammall-logo_social.png differ diff --git a/presenter/src/assets/scss/imports/_config.scss b/presenter/src/assets/scss/imports/_config.scss new file mode 100644 index 000000000..ed87919bf --- /dev/null +++ b/presenter/src/assets/scss/imports/_config.scss @@ -0,0 +1,64 @@ + +$background-color-primary: #f5f5f5; +$background-color-primary-transition: #d8d8d8; +$background-color-alt: #fff; +$primary-color: #f09630; +$primary-color-transition: #4b5460b0; +$secondary-color: #3095d4; +$secondary-color-transition: #f9c4518c; +$color-blue-100: #35a3aa; +$color-blue-200: #2ca5b1; +$color-blue-300: #009dd9; +$color-green-100: #23ad5b; +$color-green-200: #008000; +$color-orange: #e47a24; +$color-red: #b00020; +$color-grey-100: #797979; +$color-grey-200: #767676; +$color-grey-300: #3d4753; +$color-grey-400: #3f454d; +$color-grey-500: #383838; +$color-grey-600: #404a5633; +$section-box-shadow: 0 5px 5px 0 rgb(0 0 0 / 25%); +$border-radius-default: 15px; +$border-text-default: 1px solid #fff; +$font-color-default: $color-grey-300; +$font-color-dark: $color-grey-500; +$font-color-card: $font-color-dark; +$font-color-headline-append: $font-color-dark; +$font-color-link-text: $color-blue-300; +$font-color-anchor-text-hover: $color-grey-400; +$font-color-anchor-text-active: $color-grey-100; +$font-color-section-subheadline: $color-grey-100; +$font-color-light: $color-grey-200; +$font-color-headline-transition-start: $color-blue-200; +$font-color-headline-prepend: $color-blue-200; +$font-color-headline-transition-end: $color-orange; +$form-info-color-error: $color-red; +$form-info-color-success: $color-green-200; +$main-button-primary-background: $primary-color; +$main-button-primary-shadow: $color-grey-600; +$main-button-secondary-color: $font-color-light; +$main-button-secondary-bg: $background-color-alt; +$main-button-third-bg: $color-grey-300; +$main-button-fourth-bg: $color-blue-200; +$main-button-fourth-bg-hover-transition-start: $color-blue-300; +$main-button-fourth-bg-hover-transition-end: $primary-color-transition; +$main-button-submit-bg: $color-green-100; +$main-button-submit-bg-hover-transition-start: $color-green-100; +$main-button-submit-bg-hover-transition-end: $primary-color-transition; +$main-button-download-bg: $color-blue-300; +$main-button-download-bg-hover-transition-start: $color-blue-300; +$main-button-download-bg-hover-transition-end: $primary-color-transition; +$mobile: 500px; +$tablet: 960px; +$layout-column-card-max-width: 375px; +$mobile-menu-icon-max-width: 35px; +$fixed-header-height: 95px; +$footer-max-width: 1200px; +$page-max-width: 1120px; +$section-max-width: 1140px; +$section-max-width-small: 960px; +$section-max-width-x-small: 650px; +$section-max-width-big: 1440px; +$section-max-width-x-big: 1248px; diff --git a/presenter/src/assets/sass/style.scss b/presenter/src/assets/scss/imports/_fonts.scss similarity index 100% rename from presenter/src/assets/sass/style.scss rename to presenter/src/assets/scss/imports/_fonts.scss diff --git a/presenter/src/assets/scss/imports/_mixins.scss b/presenter/src/assets/scss/imports/_mixins.scss new file mode 100644 index 000000000..4f016456b --- /dev/null +++ b/presenter/src/assets/scss/imports/_mixins.scss @@ -0,0 +1,111 @@ +// fonts +@mixin text-font-base($test-input-color: $font-color-default) { + font-family: $font-family-default; + font-size: $font-size-default; + font-weight: $font-weight-small; + line-height: $line-height-default; + color: $test-input-color !important; +} + +@mixin text-font-small($font-color-checkbox: $font-color-default) { + font-family: $font-family-default; + font-size: $font-size-small; + font-style: $font-style-normal; + font-weight: $font-weight-small; + line-height: $line-height-normal; + color: $font-color-checkbox; +} + +@mixin form-info-font() { + font-family: $font-family-default; + font-size: $font-size-default; + font-style: $font-style-normal; + font-weight: $font-weight-base; + line-height: $line-height-normal; +} + +@mixin footer-font() { + font-family: $font-family-default; + font-size: $font-size-footer; + font-weight: $font-weight-large; + line-height: $line-height-x-large; + color: $font-color-default; +} + +@mixin anchor-font() { + font-family: $font-family-default; + font-size: $font-size-default; + font-weight: $font-weight-small; + line-height: $line-height-large; + color: $font-color-default; +} + + +@mixin text-font-headline(){ + font-family: $font-family-default; + font-size: $font-size-headline; + font-style: $font-style-normal; + font-weight: $font-weight-x-large; + line-height: $line-height-larger; + text-transform: $text-transform-capitalize; +} + +@mixin slide-headline-font(){ + font-family: $font-family-default; + font-size: $font-size-large; + font-style: $font-style-normal; + font-weight: $font-weight-large; + line-height: $line-height-x-larger; +} + +@mixin section-content-headline-font() { + font-family: $font-family-default; + font-size: $font-size-x-large; + font-style: $font-style-normal; + font-weight: $font-weight-x-large; + line-height: $line-height-normal; + letter-spacing: $letter-spacing-negative-small; +} + +@mixin section-content-font() { + font-family: $font-family-default; + font-size: $font-size-default; + font-style: $font-style-normal; + font-weight: $font-weight-small; + line-height: $line-height-normal; + color: $font-color-default; +} + +// linear gradient for background effect +@mixin linear-gradient-btn-hover($startColor, $endColor){ + background: linear-gradient( + 98deg, + $startColor 8.53%, + $endColor 107.12% + ); +} + +// layout definition for SectionColumnCard Component +@mixin page-content-card-mixin(){ + font-size: 1.25rem; + line-height: normal; + background: $background-color-alt; + border-radius: 1.875rem; + + @media screen and (max-width: $mobile) { + font-size: 1rem; + } + + .card-header { + font-weight: 700; + + @media screen and (max-width: $mobile) { + font-size: 1rem; + } + } + + .card-content { + font-weight: 300; + list-style: none; + } +} \ No newline at end of file diff --git a/presenter/src/assets/scss/imports/_typo.scss b/presenter/src/assets/scss/imports/_typo.scss new file mode 100644 index 000000000..e4e5cd2f9 --- /dev/null +++ b/presenter/src/assets/scss/imports/_typo.scss @@ -0,0 +1,21 @@ +$font-family-default: poppins, sans-serif; +$font-weight-small: 300; +$font-weight-base: 400; +$font-weight-large: 600; +$font-weight-x-large: 700; +$font-size-small: 0.875rem; +$font-size-default: 1.25rem; +$font-size-large: 1.625rem; +$font-size-x-large: 2.25rem; +$font-size-headline: 3.875rem; +$font-size-footer: 1.623rem; +$font-size-card: $font-size-large; +$font-style-normal: normal; +$line-height-normal: normal; +$line-height-default: 1.7rem; +$line-height-large: 1.9rem; +$line-height-larger: 120%; +$line-height-x-larger: 125%; /* 2.03125rem */ +$line-height-x-large: 2rem; +$letter-spacing-negative-small: -0.045rem; +$text-transform-capitalize: capitalize; \ No newline at end of file diff --git a/presenter/src/assets/scss/style.scss b/presenter/src/assets/scss/style.scss new file mode 100644 index 000000000..f530a7586 --- /dev/null +++ b/presenter/src/assets/scss/style.scss @@ -0,0 +1,4 @@ +@import './imports/_config'; +@import './imports/_fonts'; +@import './imports/_mixins'; +@import './imports/_typo'; \ No newline at end of file diff --git a/presenter/src/components/menu/LogoImage.stories.ts b/presenter/src/components/LogoImage.stories.ts similarity index 100% rename from presenter/src/components/menu/LogoImage.stories.ts rename to presenter/src/components/LogoImage.stories.ts diff --git a/presenter/src/components/menu/LogoImage.test.ts b/presenter/src/components/LogoImage.test.ts similarity index 100% rename from presenter/src/components/menu/LogoImage.test.ts rename to presenter/src/components/LogoImage.test.ts diff --git a/presenter/src/components/menu/LogoImage.vue b/presenter/src/components/LogoImage.vue similarity index 100% rename from presenter/src/components/menu/LogoImage.vue rename to presenter/src/components/LogoImage.vue diff --git a/presenter/src/components/PageShell.test.ts b/presenter/src/components/PageShell.test.ts index 4733aea6a..5cf2665b5 100644 --- a/presenter/src/components/PageShell.test.ts +++ b/presenter/src/components/PageShell.test.ts @@ -1,12 +1,8 @@ import { mount } from '@vue/test-utils' import { describe, it, expect } from 'vitest' -import { setupIntersectionObserverMock } from '#root/scripts/tests/mock.IntersectionObserver' - import PageShell from './PageShell.vue' -setupIntersectionObserverMock() - describe('PageShell', () => { const wrapper = mount(PageShell, { slots: { diff --git a/presenter/src/components/PageShell.vue b/presenter/src/components/PageShell.vue index df3a5f571..3aa9bd931 100644 --- a/presenter/src/components/PageShell.vue +++ b/presenter/src/components/PageShell.vue @@ -1,10 +1,7 @@ - + diff --git a/presenter/src/components/menu/__snapshots__/LogoImage.test.ts.snap b/presenter/src/components/__snapshots__/LogoImage.test.ts.snap similarity index 59% rename from presenter/src/components/menu/__snapshots__/LogoImage.test.ts.snap rename to presenter/src/components/__snapshots__/LogoImage.test.ts.snap index 7b6d44dd9..398980171 100644 --- a/presenter/src/components/menu/__snapshots__/LogoImage.test.ts.snap +++ b/presenter/src/components/__snapshots__/LogoImage.test.ts.snap @@ -3,25 +3,14 @@ exports[`LogoImage > renders Logo 1`] = `
- - - + renders 1`] = ` class="v-application__wrap" > - Page Content diff --git a/presenter/src/components/inputs/MainButton.stories.ts b/presenter/src/components/buttons/MainButton.stories.ts similarity index 100% rename from presenter/src/components/inputs/MainButton.stories.ts rename to presenter/src/components/buttons/MainButton.stories.ts diff --git a/presenter/src/components/inputs/MainButton.test.ts b/presenter/src/components/buttons/MainButton.test.ts similarity index 100% rename from presenter/src/components/inputs/MainButton.test.ts rename to presenter/src/components/buttons/MainButton.test.ts diff --git a/presenter/src/components/inputs/MainButton.vue b/presenter/src/components/buttons/MainButton.vue similarity index 75% rename from presenter/src/components/inputs/MainButton.vue rename to presenter/src/components/buttons/MainButton.vue index b05e115e1..10fc7d021 100644 --- a/presenter/src/components/inputs/MainButton.vue +++ b/presenter/src/components/buttons/MainButton.vue @@ -95,9 +95,11 @@ const onClick = () => { diff --git a/presenter/src/components/inputs/__snapshots__/MainButton.test.ts.snap b/presenter/src/components/buttons/__snapshots__/MainButton.test.ts.snap similarity index 93% rename from presenter/src/components/inputs/__snapshots__/MainButton.test.ts.snap rename to presenter/src/components/buttons/__snapshots__/MainButton.test.ts.snap index 5d8719607..f6b733e86 100644 --- a/presenter/src/components/inputs/__snapshots__/MainButton.test.ts.snap +++ b/presenter/src/components/buttons/__snapshots__/MainButton.test.ts.snap @@ -3,7 +3,7 @@ exports[`MainButton > renders 1`] = `
diff --git a/presenter/src/components/inputs/__snapshots__/NewsletterForm.test.ts.snap b/presenter/src/components/forms/__snapshots__/NewsletterForm.test.ts.snap similarity index 95% rename from presenter/src/components/inputs/__snapshots__/NewsletterForm.test.ts.snap rename to presenter/src/components/forms/__snapshots__/NewsletterForm.test.ts.snap index 8c762fbeb..b59bf3b1f 100644 --- a/presenter/src/components/inputs/__snapshots__/NewsletterForm.test.ts.snap +++ b/presenter/src/components/forms/__snapshots__/NewsletterForm.test.ts.snap @@ -3,25 +3,25 @@ exports[`NewsletterForm > renders form 1`] = `